http://mementomap.net
We believe in the awesome potential of data to tell your story - so here are the numbers behind MementoMap development over the weekend!
In 45 hours we produced 3465 lines of code over 127 commits. This includes 1170 lines of Objective-C, 1123 lines of Python, and 248 lines of JavaScript. To fuel this insane effort, we had 2 order-in pizzas, an $89.00 Safeway run for snacks and beer, 5 bagels from Progressive Grounds, 1 delicious homemade zucchini risotto, and countless free foodstuffs courtesy of Singly.
Our commit breakdown by team member:
45 Author: Evan Stratford <evan.stratford@gmail.com>
30 Author: jverkoey <jverkoey@gmail.com>
19 Author: Valkyrie Savage <valkyrie@eecs.berkeley.edu>
18 Author: Travis Brooks <traviscb1998@gmail.com>
13 Author: Joe Blaylock <jrbl@slac.stanford.edu>
Note the substantial contributions made by our intrepid design/product team, who jumped in to help with frontend work on Sunday!
The breakdown by day really shows off our accelerating pace, especially since we only had 9 waking hours before the 5pm development cutoff on Sunday:
10 Date: Fri Jun 1
56 Date: Sat Jun 2
59 Date: Sun Jun 3
All of this code went in to building 4 main components:
1 Nimbus-powered iOS app
1 Django-based intermediate API layer
1 Django-based app for story creation
1 Django-based app to allow friends to upload content into your story
The first 3 were used for our Sunday demo. Due to time constraints, we decided early on Sunday to postpone development on the last 1.
We hit 4 bugs/quirks in the Singly API:
0) Providing a [since, until] range gets you the last 20 results in that range. This makes it difficult to iterate forward in time, which was something we wanted for the product - after all, that's the way you experienced your story in the first place!
1) As of this post, the Singly API docs still claim that they use UNIX timestamps. They actually use JavaScript-style timestamps, which are in milliseconds. This confused a few teams: "wait, why are these photos from two millenia in the future?"
2) On Friday night, the API was occasionally returning "misplaced" items whose timestamps were way out of order with everything else.
3) All Singly API requests go through the Singly applications on each service. Since users tend to have more content on Facebook than the other supported services, it was no surprise that Facebook started throttling the Singly Facebook app during the Sunday last-minute coding rush!
Thanks to the entire MementoMap team for an incredible amount of engineering, design, and marketing output!