A new beginning

After a nice relaxing thanksgiving week, with almost no e-mail to read (I can’t stress enough how nice this was) – I’m incredibly excited to start my first day at Firebase tomorrow! If you haven’t heard of them before, it’s because they’re a startup :) And they’re in the business of building a scalable, real-time backend for apps.

When I joined Mozilla, it was very hard for me to envision any better job than the one I had. In fact, I still think that’s true, but when I met and spoke with the folks from Firebase, I knew I had found another job that could be just as good! The team is small (7 including me), consists of really intelligent and likeable people, all of whom are engineers, and they’re working in a space I have a deep academic and professional interest in.

But why a startup? In the words of Cobb, from Inception:

What is the most resilient parasite? Bacteria? A virus? An intestinal worm? An idea. Resilient… highly contagious. Once an idea has taken hold of the brain it’s almost impossible to eradicate. An idea that is fully formed – fully understood – that sticks; right in there somewhere.

And somewhere along the way, the thought of what it would be like to work at a startup entered my head. Maybe it was the near constant buzz about startups around me, or my daily reading of hacker news. Maybe Cobb and crew planted the idea when I was unconscious on a plane. I don’t know. But there it was…

I normally ignore emails from recruiters, since most of them are poorly written and ill-researched (my friends have had similar experiences), but this particular email was well crafted and it had to do with start-ups. I was already pretty curious, and finding out more couldn’t hurt, right? Here we are!

I’m really looking forward to this roller-coaster ride, as one of the founders put it. In addition to writing code, which I love, I’ve also always enjoyed talking to others about my work. At Firebase, I’m going to be doing a bit of both, so you’ll most certainly hear more about my adventures as they unfold.

Wish me luck!

My last week at Mozilla

tl;dr: My last day as a full-time employee of the Mozilla Corporation will be Friday, November 16.

Almost 5 years ago at FOSS.IN, I met a group of friendly folks, who despite having to endure the effects of an extremely long journey into a crowded city with less-than-ideal weather, patiently explained how the one-of-a-kind world of Mozilla worked. I had no idea what kind of impact those few days would have on my life, or that it would lead to a rewarding career writing open source software. In fact, it still boggles my mind when I think about the series of fortunate events that had to transpire to bring me where I am today.

A lot of things had to happen for my first patch to be committed. Myk spent hours teaching me how to build mozilla-central, taught me how to make a patch and put it on a bug, and explained how the review process worked. Of course, I was a total n00b back then, but I was also extremely lucky to have bz review my patch. As you can see on the bug, bz is the epitome of patience and kindness.

I got very lucky again a few months later, when I interviewed for an internship at Mozilla, and despite my (in my view) somewhat mediocre performance during the phone screen, Mozilla decided to take a chance on me anyway!

I spent the summer working on Weave with Dan Mills and the rest of the Labs crew, and made my first significant contribution in terms of code to Mozilla. At the time Labs was led by the amazing Chris Beard, and consisted of Atul Varma, Jono Xia (his last name was still DiCarlo back then!) and Aza Raskin, who had all arrived from Humanized earlier that year, and Myk. Dan was instrumental in moulding me from an amateur enthusiast into a professional programmer. It wasn’t until the end of that summer that I really believed I could write code for a living. I owe much of my life today to Chris, Dan and Myk. I had a blast that summer with the most awesome group of interns, and left determined to come back and be a Mozillian for life.

I could go on and on about all my Mozilla memories (the two summits in Whistler, the numerous all-hands, office pranks, nerf ball wars, trip to Las Vegas, …) and all the cool projects I got to work on (Firefox Home, Jetpack, Rainbow, Apps, WebRTC…) but the gist of it is that my life has completely revolved around Mozilla for the last 4 years, and has fundamentally changed me as a person. I think it is very rare to find such a high concentration of splendid folks who are passionate, crazy smart, and have a sense of humour in one place.

The highlight of my stay at Mozilla has definitely been the fantastic opportunity to work with some amazing people. Authors of the very same books I read as a student, people whose technical prowess leaves me in awe, folks who wrote the software I use on a daily basis, people who invented technology in use by billions, people who have taught me more in a few months than all my previous teachers put together, and people who I could only dream I’d meet some day, let alone work with. That wasn’t all – I had the chance to work with so many unsung heroes – hardworking, humble and brilliant people who day-after-day managed to amaze me with their awesome splendid nature.

But I didn’t just have the chance to work with amazing Mozillians. Being a part of the organization also gave me the opportunity to meet other people with similar qualities from around the world. Through work with standards bodies like the W3C and IETF, and community events like MozCamp, I had the chance to visit various parts of the world to soak in different cultures and ideas. I learned so much about life, food, love, etiquette, physics and everything else worth knowing, just by being a part of the community.

And so, even though it is cliché, it could not be truer that the decision to leave Mozilla has been one of the hardest in my life. Thankfully, I will always be a Mozillian, which I think is the best perk of being part of an open, community-oriented organization. John Lilly (who I had the fortune to meet, again, thanks to Mozilla) has written about how a person’s first few years in their career goes on to define how they approach problems much later in life. I couldn’t be prouder or happier that my first job has been with Mozilla. A very high bar has been set, and there is no doubt that I will continue to carry their watermark with me wherever I go.

Thanks Mozilla, for the best 4 years yet.

As for what’s next, more soon!

MozCamp EU 2012: Mobilize Mozilla

A group of around 200 Mozillians gathered in Warsaw, Poland last week for the European MozCamp of 2012. My last MozCamp was the one in Prague back in 2009, so it was wonderful to be able to participate and meet with the European community after so long. There was a mix of familiar and new faces, a great sign of a growing and vibrant community!

The theme of the weekend was Mobilize Mozilla, which to me meant rallying the Mozilla community around our various mobile efforts which includes Firefox for Android and FirefoxOS. For years, Firefox on Desktop has been and still remains Mozilla’s flagship product, but there was never a doubt that Mozilla’s mission was much larger than Firefox. The opening keynote was by Tristan and Mitchell, which covered some general updates on various Mozilla activities around the world and specifically Europe, but also some inspiring comments on why our priorities at Mozilla are the way they are. I especially liked Mitchell’s emphasis on building quality products that people love to use. As Mozillians, we’re clear on what our values are, but no piece of software can perfectly represent them. Even Firefox isn’t perfect, which is why we’re improving the security and privacy it can offer with every release. What matters is that we’re taking small steps, each one bringing us closer to the “perfect product”. Now that we’re building mobile products, we’re going to be challenged with some decisions that may be hard to make. In times like this, it’s important to keep the big picture in mind; Mozilla can’t do any good if it becomes obsolete!

The second keynote was by Jay Sullivan, who gave us an overview of where we are with all our products currently, and what’s coming up in the future. There were some pretty cool demos as well, and I had the wonderful opportunity to showcase BananaBread, a 3D FPS built by azakai and several other Mozillians, using only HTML5 – no plug-ins. It uses emscripten to convert the open source Cube2 game engine “Sauerbraten” from C++ to JavaScript, and the performance is pretty smooth. As a gamer, I must say that I’m very impressed!

This was followed by a demo of the latest features in Firefox for Android by Wesley Johnston. He showed us how smooth scrolling is (no more checker-boarding!) and some of the latest WebAPIs and CSS3 transitions in action. My favourite new feature is the reader mode, now available on the Beta – go check it out! Andres Martinez from Telefonica then gave us a good look at the new FirefoxOS on a real device. The Gaia UI has come a long way, he showed us the task switcher, music player, the browser and a game. It was nice to see music still playing in the background throughout the demo. Gavin Sharp gave us a preview of the new Social API that’s landing in the nightlies. The Labs folks had been working on it for a while, and it’s very close to actually landing in Firefox, thanks to a bunch of effort by Gavin & team. We tried to follow that with a WebRTC demo, unfortunately, we ran into technical difficulties while on stage ;) Thankfully, we were able to successfully repeat the demo later in the day, during a session on WebRTC that Timothy Terriberry and I ran. Paul Rouget then took the stage and showed us some of the new developer tools hotness, including tilt and the command line.

The morning session had two more keynotes in store, David Slater gave us an overview of Marketing at Mozilla. He also revealed our top secret plan for marketing Firefox on desktop – more t-shirts! This was followed by caution that the strategy for mobile will have to differ, and a glimpse of what’s in store. Check out about:home in your Firefox for a cute little Android animation! He then invited community members to come forth with their crazy ideas, we’re going to need them to compete with other industry giants with piles of cash! Get in touch with Gen Kanai, he’ll patiently listen, no matter how crazy the idea :) The final keynote of the day was by Mark Surman, who gave us an update on various efforts by the Foundation, and like at CampusParty, made a case for building a generation of WebMakers. The Chad Vader Friday parody was played again, and good times were had!

We rounded off the morning session with a showcasing of the community quilt – a 90 second lightning talk by one representative from each community. I learnt a lot about how our community operates on the ground, what challenges they’re facing and what they’re most proud of. The rest of MozCamp was filled with sessions and fun activities, but I won’t get into the details of them all or this post will get way too long! However, I will mention that I loved the buddy program at this MozCamp. My buddy was Anas El Husseini, who does localization in Arabic, among other things; and we had a great time swapping stories. It’s just awesome to part of a community that’s so wide and diverse.

If you ever get a chance to attend a MozCamp, I’d highly encourage it – it’s a blast!

P.S. Slides from our WebRTC session are here, if you’re interested.

Mozilla at CampusParty ’12 and Berlin

I had the wonderful opportunity to participate at CampusParty Europe in Berlin over the last few days. I had never been to a CampusParty before, but I had a great time! It is definitely one of the more unique tech conferences out there, if you can even call it that. The most amazing thing about this event was that it was hosted at an old airport, Berlin Tempelhof, and a lot of the interiors are still intact. For instance, you can still see conveyor belts, signs like “Passport Control” and all the gate numbers. The talks themselves were located in a large hangar-like structure, which made for some odd acoustics, but the talks went surprisingly well considering 8 of them ran in parallel under a (very large) roof. Another adjacent hangar was reserved for a bunch of tents where participants chose to camp out through the entire event.

My primary focus at the event was to support the Firefox OS Challenge held by Telefonica. I spoke to a few developers on how to go about writing an app for Firefox OS, and some of the common pitfalls encountered when a website is converted into an app. I think the reception was pretty positive and it was great to meet folks who were pretty excited about Firefox OS. I was also extremely pleased that my Samusng Galaxy SII with FirefoxOS worked flawlessly through all the demos (yes, even the WiFi)!

You can find slides from my presentation here.

 

 

Mark Surman, the executive director of the Mozilla Foundation had a talk scheduled at the “free software” track.  His talk was about the Mozilla Foundation’s vision for promoting openness, innovation and opportunity on the web, with some interesting ideas on how to achieve that in the long run, over the next century. What I found particularly interesting was the notion of building a generation of Webmakers, i.e. ordinary people who know how the web works and are “literate” enough to write or hack a web page. This knowledge is mostly limited to computer programmers or engineers  these days, but Mark’s argument is that because the Internet is so vital and fundamental to human society, it is important that we educate the next generation about the web, just like we do with reading, writing and mathematics. The Webmaker project, along with tools like ThimbleX-Ray Goggles, and Popcorn are all steps in this direction. Chad Vader’s remix of Rebecca’s Black “Friday” was played at full volume during the talk, and at one point there was a caped man on stage. ’nuff said.

Next up was the charismatic Christian Heilmann, who spoke about Mozilla, the web and you. The talk covered a wide range of topics, with a focus on Mozilla’s latest efforts in the Mobile space, specifically Firefox OS. There was also a shout out to WebRTC, one of the projects really close to my heart, woo! Christian’s talks are always very entertaining, he has a blog post with links to slides and the recorded talk, which you should check out!

I also got the chance to visit the venue of our future MozSpace in Berlin. Mozilla Spaces is a project whose aim is to set up places around the world where the Mozilla community can come together to hack, design, research and all the other things Mozillians do to keep the web open. The tech scene in Berlin is pretty hot right now, and given the strength of our existing community there, it seemed like a fairly natural place to open up a MozSpace. The space is right on the historic Bernauer Straße, overlooking the memorial. There’s a lot of history behind the area, and the locality is filled with offices and co-working spaces for many other interesting startups. The San Francisco MozSpace has some serious competition with both the Paris and Berlin projects underway!

While strolling around Alexanderplatz, the city’s U-Bahn (subway) center and generally a very busy plaza, I was delighted to see Firefox Advertisements all over the walls. We did a small advertising campaign in San Francisco at the Caltrain station and the US-101 a few months ago, and this appears to be a continuation of that effort. Germany is known for its emphasis on Privacy (both Google & Facebook have had tussles with the German Government on such issues), so I hope the various messages resonated with the public. I don’t speak German, but I’m told the phrases were rather eloquent!

 

It’s been a while since I’ve been to a MozCamp (my last one was at Prague), and so I’m really looking forward to attending MozCamp EU in Warsaw. Tim Terriberry and I will be talking about WebRTC, and I hope to see some of you there!

Mozilla at Mobile World Congress 2012

The Mobile World Congress at Barcelona this year was the first trade show that Mozilla has participated in. This is new territory for us, but given that 2012 marks the year where mobile devices will far outnumber desktops & laptops, it was clear that Mozilla has to play a central role in promoting an open ecosystem for mobile devices. However, we’re a small, community-driven software company, so putting on a professional face at a trade show like MWC to tell the world that we’re serious about our enacting our mission in the mobile space can be very intimidating. Especially when you’re sharing the floor with established industry giants; Huawei, for example, had a whole city block reserved for their “booth”. Other carriers, OEMs, and hardware manufacturers had an equally large presence at the show. At the beginning of the week, what we mostly hoped for was to sneak in, show our wares and gauge interest. What we actually got exceeded our wildest expectations.

We setup our booth at App Planet to showcase many of our products that are relevant to the mobile space: Boot 2 Gecko, Firefox on Android, the Mozilla Marketplace, and Mozilla Persona. There was a continuous stream of people, on all four days, interested in checking out demos of our various products, which meant non-stop talking for booth staff! One of the things we’re really proud of is that our booth was manned by Mozilla staff who directly work on the very same products we were show-casing. This made for some very authentic demos, and we left no question unanswered.

Boot 2 Gecko

On the first day, we made an announcement that we would be partnering with Telefónica to release an open web device, a phone based fully on HTML5, powered by Boot 2 Gecko. This really resonated with almost everyone at the event, and set the tone for the following week. I had several people come up to me at our (rather modest, what I thought would be almost unfindable) booth and ask for a B2G demo, which kicked ass (and was only finished on Sunday night, most of us only saw the working phone on the first day of the show!). One gentleman from the press even commented that it was the only news worth writing about.

This is the kind of response that really energizes the entire team and validates a lot of our thinking in the mobile space. In a world that is dominated and controlled by vertical silos like those built around iOS and Android, our call for a more open eco-system is something that many at MWC were able to understand as being important, and potentially disruptive. Imagine being able to install apps from not just one marketplace, but several, or even just being able to navigate to a web page to install an app, without a gatekeeper or a middleman.

Everyone (including myself) was blown away with the performance of B2G on the demo phones, running apps like Cut the Rope (which was recently ported to HTML, CSS & JS, thanks to Microsoft) just as smoothly as the native counterpart. Our demo had a little view source button, which you could press when you were on the home screen, the dialer app, or anywhere else; and it always put a smile on the audience’s face. This is really a phone made of the web, for the web.

Mozilla Marketplace

The natural transition from the B2G demo happens when someone asks “how do users get apps on the phone?”. Mozilla is going to be running a marketplace for apps written using HTML5 technologies. Our marketplace is already open for developer submissions, and we hope to have a consumer beta ready sometime by the end of Q2 this year. We showcased some of our partner apps that have been submitted to the marketplace, running on a variety of different platforms: Android phones, tablets; Mac and Windows computers.

We’re going to have an awesome, community-driven app store (built on the same principles, and even the same code-base as our add-on marketplace), but it will by no means be the only HTML5 app store in town. We encourage, and even support, other companies wanting to setup their own stores; and developers are always free to self-publish apps on their own websites (adding an ‘install’ button to your website is really simple!). We’re going to be supporting paid apps on our marketplace, and also provide an in-app purchase API (credit cards supported via PayPal, and we’re also trying to support carrier billing in some countries); but because apps are built using the same web technologies used for building websites, developers are always free to setup their own payment systems.

It’s a really open eco-system, bringing the flexibility and distributed nature of the web to the app world. If you’re interested in the technical details of how this all works, I wrote a post sometime ago explaining it all. A very common question I received was “is there an SDK I can use?”, or “are there standard UI widgets we’re expected to use?”. The answer is that, this is not just another app store, developers will use the same technologies as they do today to build websites, with a few tweaks here and there (to support multiple screen sizes, and to support offline usage, etc.) to make an app. You can use any of your favorite JS frameworks, UI widgets and server side frameworks to build an app. Again, an app marketplace made of the web, for the web.

Firefox on Android

We also had lots of visitors to our booth who were either fans of Firefox and just wanted to say thanks (we love you all!) or were former Firefox users who now use a different browser (we love you too!).

The original version for Firefox on Android was built using the same front-end code (XUL) as on the desktop and had some performance problems. We’ve since re-written the entire UI to be much more smoother, and really focused on improving startup speed. We had some amazing demos of Firefox on Android phones and tablets that showcased all of these improvements, and more.

We also had a chance to demo some of the cool new WebAPIs that we’ve introduced (many of them driven by the needs of B2G!): such as camera access, accelerometer, vibration, etc. I think most of our visitors were very pleased with how far Firefox on mobile has come, with competitive performance and a smooth browsing experience. We look forward to pushing the latest nightly version into the Google Market on Android as soon as possible so everyone can get their hands on them! (If you’re an impatient daredevil, just head to the nightly page to download the latest & greatest).

That’s not all

Mozilla Persona came up a lot in conversations, as identity is the binding glue for all our projects. Enabling a really simple sign-in process on not just websites but also devices like B2G phones; while respecting user privacy and choice, is a high priority for us. We were able to do demos of a Persona based login to the Apps marketplace but also explain to everyone interested about how this is not just another login system like Facebook Connect, but rather a federated and distributed system for identity. Keep up with the latest developments in this space on the Mozilla Identity blog!

During the same week as MWC, Gary announced Collusion at TED U, an add-on that lets you discover who’s tracking you online. With the recent debate around user privacy, especially in the mobile space, it wasn’t surprising that there were quite a few people who were interested in Collusion at MWC. I was able to give a few demos of the add-on in action on the desktop computers, but unfortunately we didn’t have a version working on our Mobile browsers (something we hope to fix in the near future). It was awesome to be able to demo this at MWC and show to the world that user privacy comes foremost at Mozilla (Firefox was also the first browser to implement Do Not Track).

All in all, this past week has been pretty exciting for all of us. Firefox brought openness to the web almost a decade ago and played a key role in shaping the web to where it is today. However, as the world is changing and becoming more mobile, we’d like to bring the same values and principles with us into this new realm. At MWC, we showed the world that Mozilla is a serious player in the mobile space. We made a lot of promises, and we loved the response; now is the time to execute. I hope that at the next mobile world congress, we will have lived up to all our promises and have a pretty compelling demonstration of what we accomplished in 2012.

The web is the platform. And Mozilla is leading the charge. Onward!

PIPA/SOPA: Not good for anybody’s health

Wikipedia, Google, Reddit and several other major sites are protesting the PIPA/SOPA legislation by either completely blacking out their sites or by modifying their front pages to inform their visitors of this harmful legislation that the MPAA is trying get the U.S. Congress to pass. I’m proud that Mozilla will be also be participating in the ‘internet strike’ tomorrow!

I’ve rarely discussed politics on my blog, and as an Indian citizen I am particularly helpless to do anything about U.S. legislation. Mitchell and many others have already posted level-headed arguments on why PIPA/SOPA isn’t going to help anyone. However, this response from the MPAA’s chief executive Chris Dodd (who is, notably, a former US Senator) really irks me:

Only days after the White House and chief sponsors of the legislation responded to the major concern expressed by opponents and then called for all parties to work cooperatively together, some technology business interests are resorting to stunts that punish their users or turn them into their corporate pawns, rather than coming to the table to find solutions to a problem that all now seem to agree is very real and damaging.

It is an irresponsible response and a disservice to people who rely on them for information and use their services. It is also an abuse of power given the freedoms these companies enjoy in the marketplace today. It’s a dangerous and troubling development when the platforms that serve as gateways to information intentionally skew the facts to incite their users in order to further their corporate interests.

A so-called “blackout” is yet another gimmick, albeit a dangerous one, designed to punish elected and administration officials who are working diligently to protect American jobs from foreign criminals. It is our hope that the White House and the Congress will call on those who intend to stage this “blackout” to stop the hyperbole and PR stunts and engage in meaningful efforts to combat piracy.

The MPAA has, in the past, used its “power” to enact legislation that makes it illegal to manufacture DVD players that allow lawful, paying consumers to skip the FBI warning shown at the beginning of DVDs. The MPAA is now using that very same “power” and political clout to enact PIPA/SOPA. It is plainly hypocritical that the MPAA would call Google and Wikipedia irresponsible for displaying accurate information on their own websites.

Furthermore, the MPAA calls out for “co-operation” from technology companies on the matter of piracy. I am at a loss to understand why Google or any other technology company should spend even a cent of their hard-earned money on solving a problem for the MPAA. Why didn’t the MPAA use its enormous cash pile on technology that would enable them to profit from evolving technology instead of spending it all on lobbying a bill that threatens the Internet’s very existence?

The retort from the MPAA is that they’re not against the Internet, just piracy. However, that’s exactly where the problem lies. The PIPA/SOPA bills as currently drafted would give the MPAA (a private entity, mind you) the overarching power to shut down any website, without legal recourse, all in the name of combating piracy. Even if I trust the executives at the MPAA to not abuse that power, I do not fool myself into thinking that there will be no mistakes at all. Taking down a website for no real legal reason, even temporarily, is just not worth it – especially when the end goal is to let the MPAA make an extra million dollars.

Thankfully, the Internet is not designed to let any single entity obtain that much power (one could note that it is that distributed nature of the Internet that makes it so successful). Even if the bill is enacted, it will not prevent people from being able to reach these “rogue” websites that publish pirated content. Consumers will still be able to reach websites not hosted in the U.S. (as most of them are) via their direct IP address, and site owners can always be a step ahead by registering new domain names if they choose to. Not to mention, the Streisand Effect is likely to swing into action, further fueling the trend of people visiting rogue websites for pirated content. For example, it is trivial to write an add-on for Firefox and other browsers that would bypass the DNS “blacklisting” technique PIPA and SOPA propose to implement. There is no way that the MPAA, the U.S. Government, or any single entity for that matter, can stay on top of thousands of such work-arounds.

The technology companies and architects of the internet have openly informed the MPAA about the fallacies of the bill (something that they couldn’t figure out for themselves); for the MPAA to expect any more “co-operation” from them is futile.

Nobody in their right mind has ever said that piracy is not a problem. However, the benefits that the Internet brings to humanity is far too much to let a private corporation endanger it just so it can continue to profit. In the long run, for any corporation to stay in business, it must adapt to evolving technology. Digital goods are just not the same as physical objects, bits have no colour. The companies that realize this fundamental, unchangeable truth and try to capitalize on technology are the ones who will ultimately succeed, not the ones who try to fight it. In the physical realm, we don’t outlaw things that brings a lot more good to society even if you are able to do a few bad things with it (though increasingly governments seem to punish the masses in the name of fighting a few bad apples; which is also no doubt a very troubling phenomenon). I hope the MPAA will use its power and money to figure out how it can profit from technology in a way that preserves the founding principles of the internet, for its own sake, or it won’t be too long before someone who does replaces them.

Follow

Get every new post delivered to your Inbox.