Mobile - - By Elio Qoshi

Firefox OS post-mortem – Interview with Andre Garzia

Open Source Week

It’s Open Source Week at SitePoint! All week we’re publishing articles focused on everything Open Source, Free Software and Community, so keep checking the OSW tag for the latest updates.

I am happy to be joined today by Andre Garzia, a Mozilla Tech Speaker, Firefox OS book author and contributor at Mozilla for the past few years. At SitePoint we tend to cover cutting edge topics and keep developers in the loop about the latest happenings around the web. This time however, we will have a look back and talk about Firefox OS, which as you might have heard, was discontinued earlier this year. We will learn about the things it stood for, what impact it had on the web, and what lessons we can learn from it.

Andre Garzia

Elio: It’s great having you here Andre! Also thanks for taking the time to cover a few things about Firefox OS, which might be a rather difficult topic, as we have all been so passionate about it.

Andre: It’s my pleasure. After all this time we can have a look at Firefox OS in a less biased way, I believe.

Elio: I suppose. It would be great if you could tell me more about yourself at Mozilla and how did you get involved with Firefox OS in the first place?

Andre: I was participating in a hackathon, on a brazilian campus party. They had these huge hackathons there lasting for many days. People basically camp there with activities 24/7. I went to that event alone, I didn’t have a crew to hang out with and a couple of days before that event, I went to a Firefox OS app day, where they explained the system and the API-s.

When I arrived at the campus party with no one to hang out with, I saw the Mozilla people there. I was not a Mozilla volunteer back then so I decided to join. The thing is that I had a somewhat unfair advantage: I was in the app day a couple days before the event, so I already knew the API’s and everything. People were making so many mistakes around me. I started helping people instead of focusing on my own entry. A couple of hours later I totally forgot about my entry and I was helping out everyone with the API and how to do stuff in JavaScript. Suddenly one of the volunteers slapped me a VIP bracelet on my hand and said: Welcome to Mozilla! With that I could at least get coffee and snacks from the VIP room. That’s how I became a volunteer with Mozilla and Firefox OS.

Developing for Firefox OS Quick Guide by Andre Garzia

Elio: Crazy story! Later you also wrote a book about Firefox OS, how did that happen?

Andre: Actually, in the end I wrote 2 books, in Portuguese and English, so it was almost like 4 books. The 1st book happened because many Brazilian developers don’t speak English and Mozilla didn’t have material in Portuguese. Mozilla documentation is spread everywhere, like GitHub, Wiki etc. There is no single center of knowledge that people could say, okay, this is what I need to develop. The closest thing we had was a page in English.

We had a Firefox OS hack day planned in the south of Brazil back then. However, I was deeply worried that people would not have access to documentation, and I had trouble sleeping, so I was already awake when I had this idea: I want to write a book.

So during the weekend before the event I wrote the full book, it was like 60-70 pages in Portuguese, serving like consulting reference material to a hackathon. The book became a success and I entered Google Summer of Code to translate it into to English and expand it further.

Elio: How did Firefox OS differentiate itself from other mobile platforms? What would make Firefox OS special from your perspective as an insider?

Andre: The idea that developers could reuse code for their web apps and use it to deliver on other platforms; that was very empowering because Firefox OS was extremely easy to develop for. Even if you were not shipping Firefox OS code, it was easy to develop under Firefox OS, test everything and pass it to Phone Gap and deliver to Android. From a developer perspective (especially newcomers) Firefox OS was much more approachable. The open nature of Firefox OS allowed everyone to join and that lead to people developing from their own market or their own needs, that’s important. Another thing that really resonates with me, which is something we lost, is that Firefox was developed in the open: you could join, help influence the
platform forward or even backwards, but the idea that everyone could join was a powerful thing.

Elio: Back then, we had many different launch teams coming from the community and for every specific country we would launch Firefox OS in the market. Could you please explain how that Firefox OS project governance worked out in rough terms?

Andre: Actually, I probably can’t (laughs), because things changed. Mozilla sometimes feels like Hogwarts, with the moving staircases (laughs), and you would be like: okay, what is this thing called again? All I can say is that the community launch teams were all volunteer-based and they were supporting the launch on their respective countries.

This idea, that community people could start playing on the same field as major telecom operators and marketing agencies, that was also powerful.

Elio: It was exciting for people, I guess.

Andre: Yes, exciting, demanding, and sometimes hard to justify the amount of effort devoted to it. The one thing that I can tell about governance was that, even as an outsider, you could have a contact to talk with. You could join the conversation and the processes, which I doubt you could find anywhere else at this scale.

Elio: In the last year, the focus would switch from low-end devices to upper-tier devices. The only segment people could see Firefox OS being successful in was the lower-end market and now, that was removed. What happened there?

Andre: Smartphone markets are brutal, if you are trying to fight in the low-end market, your margins are quite small. It is really hard to win, especially because technology keeps advancing, what is mid-range today would be a low-end device in a couple months, so it becomes hard to keep moving forward and we need to remind ourselves that Mozilla didn’t make devices, Mozilla made the system and hardware partners made devices.

Elio: I see your point, but I would say that Mozilla always had a hard time identifying itself with something other than the desktop browser, so with Firefox OS it has been an exciting time for developers to work on something else and to have an alternative mobile operating system. After it was being discontinued, what did you think was the perception of the developers of Mozilla, how did developers react and what do you think that impacted upwards?

Andre: The thing is, the cancellation of Firefox OS was very polarizing, there were people in Mozilla, both staff members and volunteers, who think that the cancellation was a great idea. They justify it basically by saying that the system and the project was a sinkhole for money. We kept pumping money into it and nothing came out. That’s the justification, and it is really hard to argue with it. Other parts of Mozilla, both staff members and community contributors think that it was a terrible decision. I was one of the few people who thought that it was a bad decision. I remember explaining why I thought so, it was well received by some, not by others, but something still polarizing people. I think that if you have more than 4 Mozillians in a discussion, they will start fighting.

Elio: Having said that, what would you think was the impact of Firefox OS on the JavaScript technology? Has it left any footprints?

Andre: It proved to people that the web platform was capable, that we could access hardware controls, we could build native apps, and that was awesome, that was really impactful. Many ideas about new APIs and stuff came out of it. What bothers me now is that this whole idea that we could move the web forward as a platform, that the web platform could compete with native, is that people moving or backpedaling things, like Mozilla and Google are removing APIs out of place. Mozilla especially is removing lots of APIs and that bothers me, because when you remove an API you are making the web platform less capable.

Elio: It makes people think that the web cannot do things that native apps can do.

Andre: Exactly, when we know it can. So something like removing the Battery API bothers me. If we remove those APIs, we are never going to create an API like that again. I want the web platform to compete with native, but if Mozilla and the others keep removing APIs that allows us to branch outside of the web, then it will be never able to compete, and that bothers me.

Elio: Back then, it was said that Firefox OS would jump into connected devices, which would become the foundation for the Internet of Things, and very soon after that it was announced that it would die. I personally have the feeling that this was all planned and Mozilla just wanted to give us a little bit of griefing time after that to drop the whole bomb. How do you see that?

Andre: I understand why some decisions were made in private, because deciding with commercial partners is not something you can discuss in public, there are lots of contracts and money flowing around, but the way we dealt with community members was wrong. I think we lost an opportunity there. We decided to throw everything to the wind, and right now, we don’t have a product, we have projects in the Connected Devices space, we like some projects more than others, so people have their favorite, but we don’t have an offer for the developers, for makers, for creators. We are completely ignoring the maker community.

Elio: I understand that. It doesn’t seem too enthusiastic, but how would you see Mozilla as a player on mobile platforms or IoT in the future?

Andre: I don’t think it can right now, it can’t influence the market because it has no foundation. But if you want to build something in the IoT space, there is nothing that Mozilla does that can help you. There is no solution, no technology framework, operating system, or anything that you could leverage. I think that we lose a chance of influencing people because we need to focus more on developers, because end-users go where developers lead them, and if all the developers are using solutions by other vendors, then we lose our influence.