Intern Hackathon of 2011

 

Intern Hackathon of 2011 from Bump Technologies on Vimeo.

In the beginning of August, Bump Technologies hosted the Intern Hackathon of 2011. Instead of doing a typical blog about the great adventures that took place, I decided to do my post in the form of a video blog, or “vlog”. In this video, I talk to the founder of Bump about the philosophy of the hackathon and showcase many of the hacks themselves! I think the most important part about these hacks was the go-get-em attitude and “if you want it you can do it” mentality that both really energized me. It’s this mentality that makes Bump, the people and the technology behind it so special. Check it out now!

-Nathan Chan

*contact the filmmaker at support@bu.mp

 

Interns Rule!

You know what's great about the summer? Interns! As a new addition to the Bump family, I quickly realized how fortunate I was to join the company while our amazing interns were still in the house. I also learned that Bump has a rich history of interns, what with a couple of our current resident geniuses having first come to Bump as interns. 

So what's so great about them Hootan, you ask? Glad you asked.

Let's just say that it's NOT their ping pong skills, because I don't enjoy being defeated by them on a regular basis. No, what's amazing is their attitude. Our interns look at the Bump world through "anything is possible" lenses and sometimes, prove the maxim. Their work ethic is beyond reproach, their creativity is impressive, and quite frankly, their intelligence is actually kind of scary. The icing on this fantastic cake is that theirs is the perfect Bump demographic. So, when they have ideas for us, we listen intently.

Nowhere were all of the above qualities on display as clearly as during our recent hackathon. At precisely 5PM on a Thursday afternoon, a corner of the Bump Global Headquarters was converted into a skunkworks, replete with a Turntable.fm room blaring everything from bluegrass to trance. This Bump dude was tasked with going around and checking out the ideas, with the aim of helping direct the ideas to possible future products for Bump. Right at the outset, I was impressed with everyone's ambitious goals, so much so that I wanted to fast-forward the next 24 hours to see the final results.

The rest of it is lost in a haze of caffeine and an eventual visit to a sleeping bag....but mostly for me! Oh yes, several of the genus Internus Energizer-Bunnyus worked into the wee hours of the morning, while four members of this remarkable species worked for the full 24-hours without stopping! And to top it all off, they wowed the entire company with coherent presentations at the end. Oh, you think that's it? After the presentations, they celebrated with - wait for it - ping pong! Where did these people come from?!

The interns were there on my first day at Bump, so it will be hard to see them leave at the end of the summer. However, we here at Bump consider them a permanent part of the family and Bump history. We're looking forward to implementing their ideas, will cheer them on when they go back to their respective academic pursuits, and look forward to permanently welcoming them back to Bump when they are done with school. 

Interns, thank you for everything you have done for Bump!

- Hootan, product @bumptech

Bumping for beers... and other life lessons

As one of the few non-engineers at Bump, my post will include no snippets of code, talk of voltage levels, or anything too nerdy. Instead, I’ll talk about my experience this summer doing a ton of user research and helping the team gather data around understanding how users use Bump. And about happy hours in San Francisco. More on that later…

 

In my old job as a consultant, I spent a lot of time at large companies trying to figure out how to best navigate the layers of red tape and bureaucracy required to get decisions made. Thankfully, at Bump, product decisions are data-driven and backed up through A/B testing and user research, which is where I, as an MBA intern, come in.

 

During my first year at the Kellogg School of Management, I took a number of classes in marketing, such as market research, technology marketing and information and technology-based marketing.  These classes prepared me well for my research, which required me to generate surveys, analyze the results, and do some “in the field” research as well. And by “the field”, I mean “the bars”.

 

Over the past few weeks, I’ve been busy talking to strangers at different bars in San Francisco (during both happy hours and late at night), asking them about Bump, watching them use the app and buying them drinks in return for a few minutes of their time. Though all this sounds like a job that’s too good to be true (please don’t wake me), in reality I’ve also been discovering a lot of interesting insights about how Bump is used “in the wild”, and have been able to share these insights with the Bump team. These observations, in combination with the data-crunching abilities of our data team, have been able to provide our designers and founders with strong support for making big changes to Bump.

 

For example, though most people around the office are comfortable with the fist-bump motion, only 50% of people observed actually did this. Everyone else came up with a plethora of creative, but less efficient, ways of bumping hands/phones together. Some people tapped their phones together, some tried to beam information to each other, and the most creative rammed their phones together like bumper cars on the surface of a bar. This insight has led to a number of different ideas about how we can better educate and inform users about the bumping motion, and how we can correct users who aren’t bumping properly, to hopefully provide a better, more enjoyable experience for users, every time. 

 

Overall, I’ve had a great experience this summer – whether it’s working with the data and server teams to get the right data to support my case, or the design team to design amazing email marketing campaigns, or the development teams to understand the technical feasibility of different ideas, my time thus far has been particularly enlightening and informative as to how startups get things done. In combination with catered lunches, ping pong tournaments, never-ending popchips and a wealth of beanbag chairs, I can pretty confidently say that if any of my classmates are reading this, you can start being jealous, right…. now.

- Candice

Connecting the Dots

Remember back to when you were a kid. At one point, someone handed you a mysterious pattern of dots and integers and explained that by drawing lines between these dots in a certain order you would end up with a picture.  Like a lot of kids at that age, I thought it was pretty darn cool; that you could turn a mess of numbers into a refined image - something that actually meant something.

For the past two months I’ve been connecting the dots, albeit at a much larger scale, here on the Data team at Bump as an Intern. In essence, what we do on the Data team isn’t all that different from that Connect the Dots book I played with as a child. Sure, we might trade in that book for a multi-terabyte server of log files and our crayon for a text editor but the essential elements remain the same. We use data to create understanding and stories that shape how Bump and its underlying technology evolve.

I’ve always loved building things, understanding how and why things worked. Out of the gate on Day 1 I realized that Bump is very much data driven. We use data daily to build and iterate extremely quickly. If we make a change to our app, within minutes of release on the app store we’re able to tell if a feature is popular, causing confusion, or broken.

 Three Things I Love About Bump

Massive Scale: Obviously when you’ve building something for 45+ million users you have to have some consideration at the back of your mind of how things are going to scale. While this might be one of the most challenging aspects of what we do it is also makes it exciting.

Culture: One of the things that really drew me in was the amount of passion around building an app that people loved to use. Between our two week sprint cycles and Hackathons this quickly became apparent. An interesting side story: although I had already been using Bump for quite a while it was a post by Jake on Hacker News that got me to where I am today.

0image

The Team: One of the smartest and down to earth teams I’ve been a part of. I think one of Dave’s favorite quotes comes from a TED Talk Simon Sinek gave,  “It’s not what you do, It’s why you do it”. I think it sums up our company ethos quite well.

A World of Bump

Image

One of the (many) cool projects I’ve been working on is building interfaces for understanding the distribution of Bump users and how they use the app. We have millions of location data points that travels through our system on a weekly basis which I figured would make an interesting starting point to better understand our users and get my feet wet with our data.

There are dozens of ways to map geolocation data to a map with R, Fusion Tables, and Tableau just to name a few. I tested a few before settling on the Chrome Experiments WebGL Globe project for three reason: 1) It could handle 500,000+ location data points in the browser 2) It allowed dead simple mapping of distance in a visually interesting way 3) It was open source

 We use Redis for logging user events which then get pushed to log files.  We’re given the freedom to use whichever language makes us productive so for this task I turned to Python writing a parser for the log events that extracted location, distance of Bump (mapped to the magnitude), and platform information to a JSON file in the following format:

Despite Chrome being the only supported browser for now, it’s a really simple and visually interesting way to display multi-variable data sets. There’s something magical and humbling watching million of people, from all corners of the world, connect, meet, and share their lives.

After all, it’s all about connecting those dots...

- Ted

Bump: A Welcomed Transition

Bumpsign

I’ve always been interested in computers and technology, so when I
graduated college, I went to work for an IT consulting company, a
REALLY BIG IT consulting company. The kind where you walk in and all
of a sudden you don’t know where you are in the machine. After some
time I realized that just consulting about technology wasn’t enough -
I needed to be in the middle of the high-tech sector.

My first experience at Bump was a Skype interview with Michelle where
we talked about my background and ultimately I got invited over for an
interview. I came over and had been given some good advice to not wear
a suit - hello California, hello Bump! Immediately I realized how
different the environment was than what I was used to. The office is a
big open room and visions of cubicles were replaced with bean bag
chairs and couches, and the kitchen was filled with snacks and drinks.
It almost felt like we were hanging out at a clubhouse. I quickly
found that while everything was laid back, it was also fast paced and
productive.

The most glaring difference between where I was and the environment at
Bump is in how the company as a whole interacts. In large companies,
teams sit together (we do here too), but it's rare to be in a meeting
with people in other parts of the company or have consistent
interaction with them face-to-face.  At Bump the culture is such that
from the semi-formal weekly all hands meetings to having lunch, and
everywhere in between, you get a chance to talk to, to get to know,
and to build relationships with anyone on any team - easily. I
wouldn’t say that in large companies the feeling is individualistic,
but rather that Bump is so collaborative on multiple levels that it
really promotes working together and kicking ideas around. Some of the
people I work the most closely with are in different areas than I am
(and different from each other). Just from working with these guys
I’ve learned a lot more than what I would learn if I just interacted
within my own team.

At the end of my first month, I realized that I had already been given
more responsibility than I had with any other employer. I’ve also been
given a lot of latitude and the ability to take ownership of my
projects. Instead of the procedural check-boxes and task lists, I’ve
been given assignments and the instructions ‘get it done’. I’ve been
allowed to suggest and build tools to help make some of our internal
systems more efficient, easier, or more automated.  I feel empowered,
trusted, and important to the mission and outputs of the company. I’ve
been working with great people on a project that has a ton of
potential, and I’m only an intern. While Bump is still a machine, it’s
a different type of one. It’s a nimble, fast paced, and hard working
machine where everyone adds value and everyone has fun.

- Matt

Bump for a Beer

I was excited to receive a summer internship offer from Bump because they’re working to solve a really interesting problem:  How can we enable any two devices in the world to communicate with each other, regardless of the operating system, peripherals, and existing communication protocols installed?
 
I’m from Sacramento, California, and this fall I’ll be a senior in Electrical Engineering at the University of Pennsylvania.  I can’t say too much about what I’m working on at Bump, but I can say that I’m working to make Bump work with other devices besides smart phones. :)
 
Speaking of bumpable devices, on my second day of work, Will Moss asked me for some help finishing the Bump hackathon project he worked on with Jamie Turner and Jake Mintz.  Their project was a bumpable kegerator, or “The Bumperator” for short.  The idea is that you bump with a kegerator using the Bump app, and it dispenses a perfect glass of beer with just the right amount of head.  A website tracks the users with the most glasses of beer consumed, and users can even get updates from the kegerator by messaging it using the Bump app.

The particular problem Will asked me about was how to dispense the beer from the kegerator.  He had already purchased a solenoid valve that is closed by default and opens when you give it 5V, but unfortunately the controller board we were using can only output 1.8V.  Another issue is that the solenoid valve draws almost 0.5A, and our controller board can’t source that much current.

Ironically, getting our controller board to communicate with the solenoid valve is a lot like the problem I mentioned Bump is trying to solve.  Only there’s no Bump app for electric signals (yet?).

Luckily there are several ways to connect devices of different voltage levels.  It’s even simpler when the communication is one-way, like in this scenario.  One solution would be to use a transistor amplifier to amplify the 1.8V signal to 5V.  Will had already tried this before, using a high power transistor he had purchased at Fry’s.  He wasn’t able to get it to work, so we kept brainstorming.

There were two other considerations as well:  time and resources.  Bump was having its Magic Show in a few days followed by an open house at the new office, and the goal was to have the Bumperator operational in time.  So we were sort of limited to using parts we could buy at electronics stores nearby.

We ended up going with an LM324 (single-supply op-amp) in comparator mode connected to a reed relay.  The controller board’s GPIO pin conencts to the comparator, which switches between the 5V of the controller board and ground, but the controller board’s 5V supply can’t source the 0.5A the solenoid valve requires.  So the output of the comparator triggers a reed relay which can switch an external 5V DC power supply.  (See photos for the schematic I drew)
This circuit works pretty well, as our Magic Show guests discovered at our open house.  

It felt great to see so many people using and enjoying something I had helped to create.  I think that’s what I enjoy best about working at Bump.  The product I help create will be used immediately, whether it's by few hundred people at a recruiting event, or by several millions of people through the actual app. That really means a lot to me.

- Kevin

 

(download)

Location Is Everything

I love startups. I just finished my sophomore year in Computer Science at MIT, and despite the fact that MIT is an amazing place, I’ve never been anywhere that fits me quite as well as Bump. In this environment, everything you do is important, and people actually use the code you write. I started interning at Bump at the beginning of June. Two weeks later I had already built and released a major feature, Location Snapshot.

On my first day the Android team was busy finishing up an urgent project, so after some brief introductions, I was handed a 300MB zip file containing our entire Android codebase and told to explore. Three hundred megs may not sound like much compared to HD movies or even a handful of albums, but I have to tell you, 300MB of code is big. That’s an amount of source you can easily wander into and get lost for a couple of days, and I did just that. That block of source code and my goal from Dave, our CEO, of building Location Snapshot in the first week were plenty to keep me occupied.

For those of you who haven’t used it yet (it’s been out on iOS since October, and since early June on Android), Location Snapshot is exactly what it sounds like: it lets you message your location to a friend, who will receive a map of the GPS location you sent. It’s pretty great for figuring out where the friend you’re supposed to meet is waiting for you, and we’ve been wanting to support it in Android for a long time.

Since Location Snapshot already existed in the iOS version of Bump, all of the protocol and server-side infrastructure was already present, so I could focus on building the Android client for it. I dove right into adding support for the feature in our background service, which is in Scala. Since I had never written a line of Scala, I was pretty shocked when all my backend code worked the first time I ran it. Then I started on the frontend, which I assumed would be the easy part, since I’ve done similar things in Android before. However, there are always kinks. Long story short: ActivityGroups can be useful in getting around Java’s lack of multiple inheritance, but they’re also really poorly documented.

After a good bit of guidance from the rest of the team and a few obscure issues with Android, I had a version that worked. A little bit of polish, a couple of bug fixes, and localization for all the languages Bump supports and it was ready to launch. Dave sent an email to the company that evening congratulating me and the rest of the Android team on a successful release.

I haven’t quite gotten over the fact that every day there are people out there using code that I wrote. There aren’t many places where you can build a project in the first two weeks and immediately push it to millions of users.

But being at Bump hasn’t been all work, either. In a span of two days, I went down to the beach in Santa Cruz with a few other employees, hosted a cookout, went to a magic show (put on by Seth, another Bump-er), and stayed at a party at the Bump office until 3:30 in the morning. Most weeks end with a happy hour at Bump HQ. And as I write this, the semifinals of an office ping-pong tournament are happening next to me (Dave is winning).

This is so much better than school.

- Will