2010/01/05
Leaving Fotopedia
Why leaving ? I co-founded the company, and have been in this project for almost four years, and I’m really proud of what we built. We shipped, the encyclopedia is growing, the base is here, we’re improving the web app. And thus it’s a good time to go and explore something new. The decision to leave was a tough one, but I will definitively keep in close touch with the Fotonauts team, building the fotopedia has been an exhilarating experience.
Time for a quick look back.
I had a wonderful opportunity in mid-2001 to join Apple, after my Ph.D. Jean-Marie Hullot was founding the Apple Paris R&D office and we immediately started working on iCal (Bertrand, Sébastien & me on the engineering side, Manu on HI). The project was a wild ride: 10 months between the first line of code and the unveiling in MacWorld NYC. The team grew, we continued for a while on calendar and sync products, then on new projects.
In early 2006, some of us left Apple: Jean-Marie, Bertand, Seb, Manu and me - the usual suspects. We started drafting our ideas for a new generation photo application and web site. We had this feeling there was a missing piece in the photo landscape: iPhoto and Picasa are great client applications, and Flickr, Smugmug and others are really impressive on the web side. But Wikipedia was growing. Geolocation and collaborative tools were emerging. There was a whole new area to explore.
So we founded Fotonauts to give it a shot.
We started implementing our ideas: a multi-platform client app able to play well with the existing social tools and the rich metadata corpus already available, with a full-featured server backend & web app. What if, instead of just tagging a photo with user-entered words, we took advantage of Wikipedia, Maps and other content sources to automatically build rich content albums? And then automatically build a photo encyclopedia from it.
We spent some time prototyping this. Seb architectured the UI and wrote a high-level cross-platform toolkit, Bertrand coordinated everything, coded the core dynamic layer and a CoreData-like datastore, and I wrote the main networking classes and client Web API and some of the core classes, as well as the early web application and infrastructure code. After a few months work, with a convincing prototype in hand, we raised seed money and announced the project three months later at TC50. Fred, Aymerick, Jérôme and then Kali joined the team. Fred took over the client network part (and wrote a full synchronization layer, with offline support and so on - woah). I switched full-time on the server side, now with Aymerick & Kali helping.
In a way, our timeframe was perfect: we had the opportunity to take advantage of the cloud computing changes as we were developing the app: S3 was already here when we started, and we quickly switched our server infrastructure to EC2, then NoSQL came to fruition just when we had very specific storage needs. Chef arrived just at the right moment to finish automating everything. Hadoop helped us for wikipedia content processing (yay for Kali), and we implemented our own agent framework for asynchronous processing (yay for Aymerick). It has been a joy to lead the server software effort (and I still wonder how I found the time to write an ebook on REST - I hear V. saying “by giving up sleep”).
The Fotopedia infrastructure is an impressive beast, mostly driven by the level of features and the many, many details required to implement Jean-Marie's vision. It has been a wonderful opportunity for me to lead the effort on a modern server-side platform, especially within a top-level technical team.
What’s next ? I will be taking some time before exploring anything new. The last years have been frantic. But there are a lot of fun projects around. Tablets. Clouds. Automation. Big Data. Phones. Hybrid apps. New web frameworks. NoSQL. Woah. Isn’t it a good time to try new things? Must ... just... take... a... vacation... before...
2009/10/05
MacRuby
2008/09/10
Fotonauts is now public !
Labels: fotonauts
2008/02/19
The cat...
2007/01/23
S3 Browser 1.0.6
Labels: s3
2007/01/10
Famous last words
"We've learned and struggled for a few years here figuring out how to make a decent phone, PC guys are not going to just figure this out. They're not going to just walk in."Palm CEO Ed Colligan, last month, about a hypothetical Apple iPhone
2006/12/31
S3 Browser: source repository and auto-updates
I made a few changes to S3 Browser this week. Not exactly new features or impressive bug fixes, but changes in how I'm coding and releasing S3 Browser.
First I moved my source repository to the objc-s3 project on Google Code Hosting, I was waiting for svnsync support, to be able to import my own subversion repository without losing history. So you can now checkout source code for S3 browser. This also means that I might not do source release for absolutely every minor version, but I always tag released versions in svn.
I was already using the issues tracker in Code Hosting. However I will probably not use the downloads area, the fact that it is not possible to remove a download is immediate show-stopper for me. If I ship a version with a very serious security problem (not likely considering what the application does with the keychain, but you never know), I want to be able to remove it as soon as possible. Ditto for a version that would have a major bug, deleting local files etc. "Tagging as obsolete" is not enough.
The only things I'm really missing from Trac are: a good SVN browser, the project Timeline, and automatic links in ticket numbers, revisions and changeset.
Another important change: I now use the Sparkle framework to manage application updating. I released a 1.0.2 with minor bugfixes and auto-update support. At launch, it should check the appcast feed and propose a 1.0.3 (one minor change, it's only to check update is working). Expect more frequent releases.