I'm just sitting in the train on the way back to Prague. This gives me precious few hours to look back and think about the last year...
Worked on HashPage
I started the year in a rush working on the HashPage project. This is a startup idea initiated by my friend Tomas. He proposed to create a web based service which enables people to build "live" personal homepages on top of their social feeds. Imagine it as a FriendFeed with a web based site creator, so people can aggregate, customize their web presence and centralize it on one place under their own domain name.
By the start of the January I had been working on this project for almost four months fulltime. You know, I'm a web developer and I clearly saw that for flexible customization we need really powerful tool. Don't forget that I was building it primarily for myself so I put all my programmer's expectations into the final product vision. I turned HashPage into a monster web-based website builder tool with drag&drop visual editor, code editor, components library, skins library, feed aggregator, coding environment, development sandbox, ... crazy stuff, but damn cool.
Tomas was proposing much simpler solution, but doing simple things could not possibly satisfy me. We decided to go apart and I've continued a few more weeks working on the project on my own. After eight months of day-night coding I simply burned out. It wasn't a good time.
In April I attended Prague's TechCrunch party to meet like-minded folks and possibly present the HashPage. For this occasion I registered binaryage.com and put some basic info there. The truth is that I presented HashPage with almost zero response from the audience, but there is a good side of it: I met Richard there.
Richard is an american guy who has been living in Prague for many years. He has been working for SF-based startup Transpond.com and presented their own product on TC party and gave me an opportunity to join them and help them build their web-based tool for creating Facebook apps. To be honest I didn't come to TC party to get hired, especially not by a Valley startup, so first time I talked to him I was just saying "no way! I have my own cool project. Do you see? I cannot let it die". But then I tested their advanced web based builder at iwidgets.com and I decided to get back in touch with him and get on board. It was because they are working on cool stuff. At least from technical point which definitely caught my eye. And as I found out later they are great guys too!
Applied to join Bespin team
Yeah, I'm the type of guy who has 300+ technical blogs in his news reader and you can bet on that I have there also personal blogs from Dion and Ben, the Ajaxian guys. Sometime by the end of August one of them wrote that Mozilla is looking for another guy to join the Bespin team with the link to application form. That evening it sounded like a great challenge for me, I got even so excited that I clicked the link and applied.
Man, I'm such a big Bespin fan that I wanted to join Dion and Ben to work on this cool thingy. And of course I have my own vision how Bespin should work and look like. Mozilla got back to me after month or so and I went through several Skype interviews. Finally I got to Mozilla's headquarters for the final row of interviews. It was during my Transpond visit in SF back in October. Unfortunately I didn't make it, but it was a great time anyway. I've talked to so many great folks I previously knew only from RSS and the web. And I spotted there also Brendan Eich. It was an exciting time!
The irony is that big part of the reason why I wanted to join Bespin was to work directly with Dion and Ben. But in the meantime they left Mozilla and joined Palm to help build their web platform, especially Ares - web-based app builder. Yeah, I'm telling you web-builders are hot!
Shared some open code
I consider myself primarily as a tools maker. I have been creating tools in my demoscene times, during my game development career and the same is true for my web development path. These projects are simply side effects of internal solutions to my own needs I had during my day-work. Fortunately, I was able to take some extra time to package them and share them with fellow developers.
During my work with App Engine, I needed a logging solution so I created FireLogger for Python. Later I extended it to work with PHP, so you can get FireLogger for PHP. The DryDrop project was my attempt to solve the need of hosting simple static websites right from GitHub for free. I love jQuery and did pretty complex jQuery UI stuff in HashPage. So FireQuery was just a logical extension to make my life easier. And I guess it is quite useful for other folks out there.
In February I adopted Visor by Blacktree. Visor is a great hack. One of those small things which greatly change your productivity workflows. In a good sense, of course! My original motivation was just to fix broken AppleScript support in Visor, because I wanted to automate some server luncher scripts in HashPage, but then I fixed few more serious bugs and the project turned to being adopted as my own baby. Alcor is probably busy doing other cool stuff so I've created fork on Github. Later he gave me access to Google Code hosted project, thanks a lot!
During September I was messing with Objective-C internals to make Visor work on Snow Leopard. You know reverse-engineering Terminal.app internals for SIMBL hacking and stuff like that. And at that point I figured out that Finder.app is a Cocoa application. I always thought it was an app from Carbon ages!? Did a quick google for it and found confirmation that Apple has silently rewritten Finder into Cocoa in Snow Leopard.
And a crazy idea quite hit my mind. SIMBL? What if? What if I can heal some of Finder's weak points and make it suitable as a programmer's file manager? Wouldn't it be huge? After few evenings of experiments and SIMBL hacking I got a visorized Finder SIMBL plugin workng. Satisfaction! I was feeling so powerful. One man can take Apple's own flag product and extend it to make it better. Later I named this project TotalFinder and you can definitely expect to hear about it more in the next year.
Well, my problem is that I have so many ideas and experimental projects on my shelf. It's very hard to decide what is more important to work on. Should I make browser extensions? web services? iPhone applications? Mac applications? SIMBL plugins? or is better to do some custom development, save some money and then dedicate fulltime to bootstrap something again? This is still an open question, but whatever I do I cannot afford to fail again.
I think the trend is promising. 2008 was pretty bad for me personally. 2009 was much better. And 2010 is going to be great. I strongly believe so. My long term goal is to turn BinaryAge into a small indie development company, to work on cool projects, to do some interesting contract work and possibly make a better living from it.
Thanks for your support and wish you all the best in the new year.