Archive for the ‘litl’ Category

Hello Mozilla!

This is my first post aggregated on both Planet Mozilla and Planet Mozilla Mobile. I guess it’s a good time to introduce myself to the Mozilla community. I joined Mozilla about a month ago to work on Firefox  Mobile. I’ll be mostly focusing on UI-related bits and pieces of Fennec as part of the front-end group—which is in fact what I’m most passionate about.

Before Mozilla, I worked for three years at litl—a Boston-based startup—where I hacked on the cloud-based OS that powers the webbook. The litl OS is almost entirely written in JavaScript and it was while working on it that I really got hooked into the language. Before litl, I was part of Maemo’s UI framework team at Nokia where I worked throughout the entire development cycle of  the N810 internet tablet.

I’m also a long time GNOME contributor. I’ve done all sorts of things in the project such as being a member of GNOME Foundation’s Board of Directors, being part of GNOME’s release team, and maintaining a few official modules. I don’t hold any official positions in the project anymore but I’m still working on a cool spare-time project based on GNOME platform.

My first month at Mozilla has been great overall. To be honest, I felt a bit overwhelmed in the first couple of weeks. It’s a quite humbling experience to join such a large community full of extremely talented and passionate contributors. It’s a whole new world to me and I’m learning quite a bit everyday—which is the very reason I joined Mozilla anyway. I hope to be blogging soon about the latest news on Fennec development. For instance, there’s some really exciting work being done on the tablet UI for Fennec now! Stay tuned!

Leaving litl

After three years at litl, it’s time for me to move on. Writing a blog post to announce that you’re leaving is always a bit tricky. In this case, it’s because the experience at litl was so rich in so many ways that to it’s hard to know where start from.

Back in the beginning of 2008, I had already decided to leave the Maemo team at Nokia and started looking for my next gig. I heard about litl for the first time from OpenedHand’s Matthew. He said Havoc was working on something pretty cool there. I had started conversations with a couple of prospective employers but I thought it would be cool to talk to Havoc and get to know a bit more about the company’s plans anyway. I honestly thought it was very unlikely that litl would be my next thing mostly because I was under the impression that they were only hiring in the US.

Fast forward several weeks, I accepted an offer and started working at litl—a few months in Helsinki waiting for my UK work permit then finally in London. And I was not alone, the whole Maemo UI framework and toolkit teams—Tommi, Xan, Johan and I—got hired at the same time! Interestingly, this was not a collective move in any way. We only found out about each other’s interest in litl once we started having our first interviews. It was funny to see the rumors that were founding a Maemo-focused company of some sort.

The first two years at litl were quite intense! Each of us would be working on something totally different each week or month—cache management, webcam, photo app, contacts app, sync protocol, web browser, core UI, plugin framework, etc. All this while we were still trying to finalize the design and interaction model for the product. We finally released the litl webbook, our cloud-based computer, in November 2009. This is, by the way, long before Google actually released Chrome OS.

litl’s team is just awesome, full of extremely talented and generous people—quite a few of them are well-known for their contributions to GNOME and other F/OSS projects. Throughout those years, the team gradually grew on all fronts with people coming from Amazon, Novell, Red Hat, OLPC, US startups, and many others.

I’d like to make a special mention of a few people with whom a worked more closely since I joined. First of all, it was a great pleasure to work with Johan B. and Tommi for almost 5 years, both at Nokia and litl. I learnt a lot with them. Secondly, working with Havoc was an awesome experience. He has this huge talent for solving complex problems besides being simply a nice guy. Last but not least, I loved working with Marco. He is, with no doubt, one of the most passionate developers I’ve ever met.

A lot has changed in the company since the release of webbook. litl is now starting to explore new areas and markets. I feel that I have now ended an important career cycle and it’s time to move on to something new. All in all, I can only thank everyone at litl for the great time I had!

What I’ll be doing next? I guess that’s a topic for my next post :-)

Running Uninstalled

Back in 2008, when we started writing the initial infrastructure for the litl OS UI, Havoc added a way to run the whole thing using uninstalled files in the source tree. Back then, I was so blindly used to the “make → make install → run” cycles that I didn’t think this would be especially useful. I was obviously wrong.

litl’s UI shell is a relatively big component comprising our window and compositing manager, UI shell, plugin framework, a few highly integrated apps—online photos, video chat, settings, friends, etc—among other things. Having to install all that for every change in the code would be time consuming and utterly distracting.

I added support for uninstalled run in The Board a few weeks ago. It’s an separate executable that allows you to run the app using fonts, images, icons, plugins residing in the source tree. The only missing part is being able to use uninstalled translations from the source tree—any good ideas on how to do it? GNOME Shell also allows you to run it from source tree inside Xephyr using a wrapper script.

The bottom line is: any step between a code change and running the software is a distraction. If you can make your app run using only uninstalled files from source tree, do it! This is especially important in complex code bases using lots of different assets—icons, images, UI definition files, translations, fonts, etc. This allows you to test your code changes without much hassle. And it saves you precious time.

litl in the Event Boxes

webbook by litl (CC-BY-NC-ND)

The GNOME event boxes have been flying all around Europe and North America helping our community to promote the project, demonstrate the beloved desktop, and show off all the cools things that can be done with the GNOME platform in gadgets like the OLPC XO and Nokia N810.

litl is now donating two webbooks, one for each GNOME event box. We’ve already shipped one for the North American box. I’m still waiting for the European box to be found before sending the other one. The litl OS is fully based on the GNOME platform using GObject, GLib, Clutter, GTK+, Gjs, GStreamer, and others. The webbook is a good example of the strength of GNOME’s platform. We hope this is a useful addition to the event boxes. Enjoy!