The hackathon was super exciting for me and the entire team, working with so many excited developers. We had a ton of fun over beers, tacos and cupcakes, thanks to Cups & Cakes Bakery!
We learned a bunch about what’s working and what can be better, which we’ve taken to heart. As people went through the process of installing lockers and building connectors and applications, we discovered install issues we weren’t aware of and needs for documentation to make building easier and quicker. The team took the feedback to heart and has been working on documentation on the wiki and tarballs that come prepackaged with all dependencies intact!
Here are some examples of what folks worked on during the evening and since:
- The incredible Chris Faulkner made uninstalling application in lockers possible!
- Leonard Lin worked on a “geo viewer” application to get his contacts onto a map so when he visits a city, he can see on a map who lives there along with how to get in touch with them. He used the Locker Project’s Contact Collection to pull in his contacts along with the FourSquare Connector to pull in latitude and longitude for each contact and draw markers on his map view. He said he had to “blindly” go through the Contacts Collection to figure out what the geodata was, which was difficult. He said he wants geodata to be a first class Collection and so do we, so we are working on this!
- Steve Lloyd worked on building a Connector for Dailymile.com, which is where he gets his running workouts. He wasn’t able to get the Connector to sync data, but he does have it authenticating and pulling data over at: https://github.com/repeatingbeats/Locker/commits/dailymile. He’ll be sending a pull request once he’s complete with it! Steve does pretty heavy work in Node.js/MongoDB in his day job, so didn’t have problems getting started with the code. However, he did find that getting started on a connector was somewhat difficult. He said our documentation is very good in terms of what files we provide, but still thinks our documentation is light on concrete examples for common patterns such as syncing data, storing data, and passing events. He says he knows he’s supposed to do those things, but he doesn’t really know why (beyond the basic premise of the Locker Project) at this point. As a result of his feedback, we’ve created a step-by-step “How to create a Connector” using FourSquare as an example which can be found here: https://github.com/LockerProject/Locker/wiki/Create-a-new-connector.
- Paul Oppenheim spent time porting Slackulator, an application he had already made, over to work on the Locker Project. Slackulator tells you how many minutes per day you would waste (er take) to keep up with individual people you are following on Twitter. He was able to pull tweets in and was hoping to get to process them service side and then draw data once stored by got stopped.
- Sjors Provoost built a WakeMate Connector. He said the skeleton code was hard to work with, because it was too closely tied to specific ways of doing things (like connecting to APIs and dealing with OAuth). He got far enough to submit a pull request containing his WakeMate work.
- Jaisen Mathai: Tried to make a repository viewer for Github’s commits and diffs. They got confused because there isn’t a repository Collection so had to go to the Connector. Said it feels like you should never query the Connector directly, and that you should always query a Collection. It’s fine to get data from connectors in the absence of a collection, it’s just that collections are the preferred.
Finally, the hackathon went so well, that we’ve decided to have them monthly, so please keep your eyes peeled for news about this!