Confessions of a Meego Fanboy
The Web Dev Zone is brought to you in partnership with Mendix. Discover how IT departments looking for ways to keep up with demand for business apps has caused a new breed of developers to surface - the Rapid Application Developer.
Much has been written about the emerging Post-PC era, about the new possibilities it brings, and the limitations it imposes on developer creativity.
For a while I've been planning to record my own experiences of the mobile revolution through the lense of the Maemo mobile Linux ecosystem. This is much in the same spirit as Texrat's excellent piece. Today's news made this even more urgent, and so here it is.
New Hope, a Linux computer in every pocket
For starters it ought to be said that I'm not a newcomer to the mobile Internet. Back in 1998 I was already blogging on an Internet-connected Psion PDA, and by early 2000s we were routinely publishing our travel journals this way. But even after the Psion experiences, Maemo was something special.
Glimpse of a tablet future
The real mobile story for me started only with Nokia's Internet Tablets and Maemo in 2006:
I had the Nokia 770 web browser device waiting on my desk as I returned from South Africa. 770 is a nice, small, Linux-powered internet appliance that is able to utilize either a WLAN connection, or mobile phone's connection via Bluetooth.
The device is compact and lightweight enough to be basically carried all the time. It also has a screen good enough for reading almost any websites. These two factors serve to make web and RSS feeds ubiquitously available, opening interesting possibilities
No wonder we felt it to be the real-world Hitchhiker's Guide to the Galaxy:
However, Douglas Adams didn’t probably have in mind what would be really possible today, a joke that was written back then is now reality. What is 770 + Internet + Wikipedia? Quite much same as Hitchhiker’s Guide to Galaxy. An electronic device that can answer to all your questions anywhere anytime. It is not Sci-Fi anylonger, but Nokia 770 Internet Tablet...
Many of the things people associate with iPad were already common for us in the old Internet Tablet times. I was getting my morning news on the 770 with Google Reader just like I now do with Pulse on an Android tablet, and I was sharing my location with friends via Plazes like people now do with Foursquare. The only difference is that back then the tablets were for a bit more exclusive club of Linux enthusiasts.
Community jumps in
The early stages of Maemo were important learning experiences for how a big mobile player could interact with the free software community. While not everything went perfectly, the 770 very quickly gained an active community of developers around it.
Next software updates to the device brought VoIP and instant messaging to the device, and the community brought mobile maps (later on Maemo Mapper would go with the more legit option of OpenStreetMap). The instant messaging capability proved itself useful very quickly:
We spent the last two days driving from Helsinki to Poznan, Poland for the Midgard Developer Meeting. This proved to be a good field test for Maemo 2.0 as we needed to instruct people back home about some project details using Google Talk.
The media capabilities on the 770 also made it possible to watch movies on the tablet.
Helping to run the community
Until this point we had been just regular community members, using our tablets for various purposes, and even writing some simple pieces of software for it. But in late 2006 our involvement in the community deepened extensively, as our Midgard system was selected for running much of the community infrastructure:
We have conducted a study on migrating/integrating all existing services of maemo.org with the Midgard CMS framework. Based on the study we have decided to go ahead and setup the new environment ... Nemein is participating in the project as the Midgard expert organization.
For us this was a great fit: many Midgard developers were already fans of Maemo, and Nokia's plan was to run the community infrastructure in an open manner. This meant most of the code was made Open Source, and when possible contributed to Midgard and other upstream projects.
We were joined by excellent people like Niels, Ferenc, and Reggie, and have been running the community infrastructure ever since. In time we would introduce useful new services like social news aggregation, karma, brainstorming, and the hugely succesful Maemo Downloads of which I will talk more later.
Maemo becomes more mainstream
While the 770 had clearly been a hacker device, it was soon followed by the N800 with a cool 70s retro design. While I don't know the actual sales numbers, the N800 was advertised quite actively, and held the sixth place in Amazon sales rankings for all computers.
DeviceScape brought another feature: WiFi autologins to pass those annoying captive portals many public access points have. While iOS devices now automatically pop up the authentication dialog in such situations, it is weird that even now this isn't a common feature in mobile OSs.
Later on I gave my old N800 to my mother and she wrote about her experiences with it:
Our Internet tablet is present almost imperceptibly in our life from dawn till dusk. It wakes us up in the morning, and tells news in the evening. It is small and stylish, and it mixes well with the environment.
Its utilities include e.g. a browser for surfing the net, Skype for phone calls, and several radios. Its smallness allows it to be enjoyed together, not separately as often happens with our personal computers. Several times a day we look at weather information, and TV programme guides. Also we use it in looking for dogs in need of home, this being the most important project at the moment.
Sounds quite iPad-esque, doesn't it?
Since Internet Tablets were still a new thing, lots of experiments were happening with them. We ported the CouchDB NoSQL database to the device, and it wasn't uncommon to see robots driven by the device:
The Nokia N810 entered the picture in late 2007, bringing a hardware keyboard to the Maemo land. This would be the device I dubbed the Universal Communicator and would use as my primary computer on travels:
And I'm not talking about vodka this time, but instead about the latest internet tablet from Nokia, the N810. I've now had the device for some weeks, and it has really started to replace the laptop in many situations.
The idea of an universal communicator is a mobile device that can be used to connect with various communication networks including telephone, instant messaging and social networks. After the latest Internet Communications Software Update, the N810 fits the description quite well
Mozilla was also finding their mobile story with their Fennec browser on the N810, a development that would later on result in their highly promising Firefox OS effort. Again we Maemo users were getting a preview of the future.
Even with all this, the communication features of the N810 were a key. I still fondly remember having a N810-to-N810 video call from an Internet cafe in Amsterdam with my girlfriend after my phone had been stolen in the Gran Canaria Desktop Summit...
GeoClue and Summer of Code
Another big feature in N810 was that it had a GPS. Suddenly we would have Nokia Maps everywhere.
This was the time when I was very interested in location-based services. By knowing where it was, a device could act as a travel guide, help to sort out logistics, guide people through public transport, and much more.
Soon there appeared an opportunity to push these ideas forward:
I was a mentor in the maemo project of Google SoC 2007. The project I mentored was Jussi Kukkonen's work on porting GeoClue to Maemo. While in the end Nokia decided to go proprietary with their positioning framework, as result of the SoC project we got GeoClue into GNOME Mobile and Jussi got a job in the field. Via the GNOME Mobile stack, GeoClue is already in at least one device on the market
Step 4 of 5
Maemo 5 is a computer platform that happens to fit in your pocket: OMAP Linux Kernel, Xorg server, GStreamer, Telepathy, Tracker, GTK+ (Qt also available) and many more. The telephony stack is also there and SMS also works, but this doesn’t mean that Maemo is now transformed into a smartphone platform. Landscape mode by default, 800×480 amazing display, full qwerty hardware keyboard, a Mozilla based browser providing you the WWW as you are used to get it… We are just expanding the concept of what features a computer that is always with you is supposed to have.
If freedom is your concern then you don’t need to “unlock” or “jailbreak” Maemo 5. From installing an application to getting root access, it’s you who decide. We trust you, and at the end it’s your device. Nokia also trusts the open source community in general and the Maemo community particularly helping in getting casual users through the experience path. The N900 might just be a new and successful entry point for a new wave of open source users and developers.
While the N900 brought a rift into the Maemo community through the older Internet Tablets not being upgradeable to the latest software, it was also an amazing device. With it you would a always-connected device in your pocket with a desktop-grade browser and a full Linux system on it.
For the next couple of years, this would be the device I would carry everywhere, and do almost everything with. I had a full offline copy of Wikipedia to guide me, it talked to Qaiku, the social network we were working on back then.
And most importantly, it had a great camera. With the Frankencamera drivers the phone would often take much better pictures than my real camera. Or what would you say of the depth in this one?
Despite all the advances in smartphone hardware and software since 2009, I still know many people who couldn't consider using any other phone than the N900. This was and is the only smartphone that you could actually make your own.
The N900 was the time when Maemo Downloads really got the chance to shine. Here we had an excellent smartphone, but with a rather lacking official application offering. And so the community stepped in, and started producing a wide range of interesting apps for the device.
One innovative aspect of the Downloads service was how we did quality assurance:
We had a session about application QA in last weekend's GSoC Mentor Summit. I explained how the Maemo Downloads approval process works in a completely open, crowdsourced way. This differs from many distributions where approval of new packages involves obscure decisions and secret handshakes.
The service became quite popular, and by February 2010 we were able to celebrate serving 3.5 million downloads. And this was by far not the end. As of today, the total download count stands at 124 million, with the most popular apps standing around 1 million. Not bad for one device!
In February 2010 I was returning on an early flight from London. When we landed to Helsinki, an ominous SMS was waiting for me on the phone:
Get online. This will wake you up
While I had been traveling, Nokia and Intel had announced joining forces to form MeeGo, a new mobile Operating System. This was a time when nobody was sure what would happen. Would we shut down Maemo and migrate everybody to the MeeGo infrastructure? What infrastructure would MeeGo need? Would there be a common user identity?
Eventually much of these questions would get sorted out. MeeGo would largely run its own infrastructure, but with several of the good parts, like Social News and Downloads copied over.
One effect of the MeeGo transition was that conferences became more grandiose. Suddenly we were holding presentations in football stadiums and major hotels, with the conference parties having whole breweries booked for them. And conference handouts were getting better as well, with people getting tablets and MeeGo netbooks to develop with. The going joke was that next year we'll all get a MeeGo-powered car.
At the same time, MeeGo's wider focus meant that suddenly we were talking about adapting our software to very different environments, from big tablets to smartphones and in-vehicle infotainment systems. We even deployed MeeGo on interactive information displays:
The N9 is flawed and doomed, but you have to understand, I don’t care. The overriding experience of using this phone is one of delight and desire. Yes, it can get bamboozled and freeze up, and no, you won’t be finding an avalanche of awesome new apps for it, but those downsides fade in comparison to the abundance of positives. The Harmattan UI is fresh, slick, and as natural as anything the smartphone world has yet introduced, while the physical design is unmatched. Not even the shiny new iPhone 4S feels as luxurious in the hand as the N9. I started off by comparing Nokia’s latest handset to a supercar and the parallels run deep. Like Italy’s finest mechanical produce, the N9 won’t be found in many shops, has a tendency to break down, and inspires an emotional rather than pragmatical response. There’s an added underdog charm in knowing it has been discarded by its maker and deemed unworthy to carry the Nokia crown.
For much of its time, MeeGo was widely misunderstood as Android without Java. I sought to set the record straight in my Understanding MeeGo post from June 2011:
MeeGo is much more than just handsets or tablets. It is an attempt at creating a standardized industrial Linux distribution that can be used anywhere from in-vehicle infotainment devices to TVs to, indeed, handsets.
It is a true open and collaborative environment, managed by Linux Foundation. The governance model is there to ensure that MeeGo stays a vendor-neutral platform that anybody can build their products on top.
Empire Strikes Back, the mobile Linux winter
Tizen was launched on the ashes of MeeGo, with essentially similar plans and ambitions, but with every instance of Nokia and Qt replaced with Samsung and EFL, and obviously causing yet another costly rewrite. I can only imagine how industrial vendors like car manufacturers felt, with long-advanced MeeGo based product plans and the rug suddenly pulled from under them. However, the jury is still out on whether Tizen will succeed or not.
Ever since the open mobile ecosystems of were killed, I've been appalled of the direction this "Post-PC era" is taking us. Through patent wars and locked-down app stores, the world of mobile software is becoming a power play where some win big and everybody else loses.
This is largely the reason why I now carry a humble Symbian device instead of the current breed of smartphones. The existing mobile ecosystems are either too dystopic or in turmoil for me to get involved in any of them.
App Stores are the new record labels
As much of software is about disintermediation, of making the world run more smoothly through removal of middlemen, it is interesting that we software developers are now driving ourselves to a world full of middlemen. A world where we suddenly have to ask for a permission to do something new.
In a world where everything must go through the rules and regulations of an app store without any oversight we, the developers, will suddenly be in the same abused stage as artists are with their labels. We take all the risk and all the effort on building software for our users. The middleman then can invalidate all our hard work by arbitrarily making it impossible for their ecosystem to run the app. And even if they do accept the software, they'll take a hefty cut of the proceeds.
How can this make sense to an independent developer?
Many of us have started our programming careers in a free world. Whether we were building software for Linux, Windows, Mac, or the Web, we could largely do anything there. We could publish the software under a free license, charge license fees, or provide it as a rental service. And the only limiting factor would be whether our potential users liked the software or not.
As desktop and mobile are being locked up behind anti-competitive restrictions, often justified in the name of security, many developers are drawn to the last open frontier, the Web. I've addressed this in more detail in The Universal Runtime, but Y-Combinator's Paul Graham said it well already back in 2001:
How will it all play out? I don't know. And you don't have to know if you bet on Web-based applications. No one can break that without breaking browsing. The Web may not be the only way to deliver software, but it's one that works now and will continue to work for a long time. Web-based applications are cheap to develop, and easy for even the smallest startup to deliver. They're a lot of work, and of a particularly stressful kind, but that only makes the odds better for startups.
Return of the MeeGo
For supporters of free software, the last year has been looking quite grim. Desktop becoming irrelevant, mobile becoming more and more closed. Instead of quietly giving up, some saw this as an opportunity to fight back and build something new. In Where is the future for openness in mobile, I wrote:
The other is to take the matters in our own hands. There is precedent for this. Much of early Linux activity came from the efforts of the community, not on the initiative of corporate interests. And there have been OpenMoko and Mer, the latter an attempt to make a fully open version of Nokia's Maemo environment, suspended when MeeGo promised to bring the same benefits.
Well, now Mer is back.
In FOSDEM last winter I helped to organize a Open Mobile Linux track with the goal of bringing together the people involved in building an open version of the Post-PC future. I thought that with what had happened to MeeGo and webOS, there would be very little interest. Instead, the track was very lively, and we even had to turn people away to remain within the limits of fire safety regulations!
While the common view seems to be that the future is shared between Android and iOS, there have been some bold attempts at tablets powered by free software. And of course there is today's big announcement:
I had been hearing rumors of something happening in the post-MeeGo space for a while, and today it seems it was finally time to make things public. The JollaMobile Twitter account went live with the following announcement:
As can be expected, this brought a lot of notice on Twitter, as well as on Maemo forums and tech blogs. Much of the Jolla plans are still secret, and there isn't the kind of community infrastructure we from Maemo have been used to. But I'm sure these areas will become more clear as time progresses.
From Jolla's first press release:
Nokia created something wonderful – the world's best smartphone product. It deserves to be continued, and we will do that together with all the bright and gifted people contributing to the MeeGo success story.
Together with international investors and partners, Jolla Ltd. will design, develop and sell new MeeGo based smartphones. The Jolla team consists of a substantial number of MeeGo’s core engineers and directors, and is aggressively hiring the top MeeGo talent to contribute to the next generation smartphone production.
Indeed it appears Jolla has learned many lessons from the earlier stages of the MeeGo story. Instead of reinventing all the wheels, they're working together with many of the existing players, including the Mer Project. Carsten Munk explains:
And for the record, JollaMobile is not Mer. Mer is not JollaMobile. JollaMobile uses and contributes to Mer. Mer is a mobile core (without UIs and Hardware adaptations), usable and used by many different companies, with many different contributors.
Will all of this work? Who knows, the world of mobile is a difficult one, with many failed efforts in its history. The things going for Jolla are a the excellent technical base of Linux, Mer, and Qt, the battle-scarred people who were able to produce the excellent Nokia N9 phone, and hopefully the existing Maemo community.
I wish them luck in their endeavors, and look forward to the day when I can again proudly show my MeeGon:
I've been writing this story on a stormy Berlin weekend, wearing my Mer Project T-shirt, and watching my Twitter feed fill up with supportive comments on Jolla and Mer. Exciting times!