Monday, August 19, 2013

Samsung Hackathon

This past Weekend I attended a Hackathon, my first, presented by Samsung, over at the PayPal Campus in San Jose.  It had a variety of sponsors, including Immersion Haptics and PayPal.

The website was on http://hackathons.splashthat.com/


I thought I would comment on what I thought done right, and what could have been improved in my opinion.

First of all, it was a large and successful event, where 21 teams presented.

They fed us 4 meals over two days, and had snacks, candy, and drinks to boot.  The food was plentiful, and there were vegetarian options, which was nice. There was plenty of food, and they didn't clear left overs away immediately, so I had a slice of pizza from lunch at 3 am, and mexican food from dinner after breakfast.

There was also keg of beer those over 21 could get a drink from with dinner.  I don't know what type of beer, but it was tasty.

They opened up a bunch of rooms on two floors for our use in the building.
In fact, the staff, both the PayPal employees and the event staff were wonderful and welcoming.  There were volunteers there, including one guy, I believe from Holland, who stayed the whole night and kept going.  People from the company who were helping with the API stayed until 8, and were there in the morning.

There were people there willing to help with the APIs, (but see below).

They gave us phones to work on, in exchange for Driver licenses, and later, credit cards (no charge), so that we could keep the devices over night.  This helped a lot, especially with the Chord API, since it is Samsung specific.

There were however a few things that I thought could have gone better.  They didn't prevent me from enjoying the Hackathon, but I think the sponsors could have gotten more engagement from us with a few small changes.

API issues, Rooms and Prizes

First of all, a large focus of the Hackathon was on the Samsung Chord API.  The Chord API didn't work over the PayPal wifi network.  That should have been tested to begin with, fixed if possible, or more widely announced otherwise.  We were able to get it working over wifi direct, but we could have been told to do that.

The Chord API was hard to use in projects in Eclipse, and the Technical Evangelist suggested to multiple people that they base their project on the sample code for the chord demo, instead of showing how to include it.  We ended up having to do that to get it working, and having to create a new repository to do so.

They also said that there were issues with the Emulator... this was true, since even on a separate wifi AP, we could only get the emulator to receive, not send.

The Chord API seemingly worked differently on different devices.  Our app would crash the Note Phablet we were given, but not other phones.  We also had issues with the same xml rendering certain items on one phone, and not on another, crashing depending on the order of devices, and updates triggered by Chord messages only running on one device.

Given that all the Phones were Samsung devices, this suggests app development across devices may require a lot of testing for idiosyncratic differences.  Given the short timeline of the Hackathon, and our lack of experience with Android we were unable to fix several device specific issues before final submission, which effected the appearance of our final work.

The Immersion Haptic API was fairly easy to use in Eclipse.  That said, there were no instructions for including it in the Android Studio beta, so we ended up switching to Eclipse from that.  I did talk to someone passing out Immersion swag later in the day (see below) and mentioned this, and they said they would find out if there were Android Studio instructions in the pipeline, but I never saw them again, even when I went looking.

Not a huge thing, and understandable, but something they may want to look at in the future, when Android Studio and it's build system become the default for new developers and official documentation.

Also, I believe the Immersion Haptic API License requires you to mention them.  It would have been nice if sample code/xml for this had been provided for the many teams who were new to Android.

They opened up rooms, which was good because there was a lot of crowding to start with, and the initial room had speakers playing music which a few of us found distracting.  We were able to spread out, move furniture around, and nobody got upset with us.  It's hard to find a room that will hold 700 + people, but I think they could have used video conferencing equipment in the rooms so that people didn't have to crowd into the initial room for announcements.  Alternatively, they could have removed the tables and chairs to fit more people, and split us up for development.

PayPal wanted people to try their APIs, and a few teams did, (including the overall winner, Split, who had an awesome check splitting app).
However, the prizes were all for the Chord API or Immersion Haptics API.  I think PayPal would have gotten more engagement if the prizes had mentioned using their API, or they had sponsored a prize themselves.  Unfair, given all they did for us, but developers are going to focus on what the Hackathon instructions say, and the PayPal API wasn't mentioned until the opening announcements.

I didn't attempt to use it, so I am not sure that there were people from PayPal to help, but I think so.  I did glance at the documentation, and it was very nice.

Swag

Swag, IMHO should promote the company to interested parties.    

Some swag like T-Shirts for the Hackathon and from Immersion was given out to people who came early.  But many people left after the first few hours meaning that the swag went to people who didn't necessarily engage with the Hackathon beyond showing up.

PayPal dumped a box of old swag on a table near the beginning of the day (10 am maybe?), and it went quickly.  I did get a sweet multitool.  But that could have been saved for people who engaged with the Hackathon, or even used as a Prize.

Immersion did give out cards with usb drives and copies of their software later in the day after many people had left.  That was the right thing to do, waiting.

I would note that at least one team demoed an app for using the Chord API to notify friends about swag.


Final Thoughts


I personally had a great time. I learned a lot about Android development, quick prototyping, git, etc.

You can see our project on https://github.com/bdettmer/RockPaperMonsterHack

I am interesting in using all three API's in the future. I appreciated the effort it takes to run a Hackathon, and the cost.  I only mention the above in the hope that
future Hackathons can be more productive for the companies.

#samsung #samsunghackathon #immersion #paypal