Why free software applications are a priority on mobile platforms (not device drivers)

Bradley wrote about mobile software freedom, a field that I’m obviously deep into because of my work at Funambol. His quite long article Musings on Software Freedom for Mobile Devices contains an analysis of the situation, which mobile platforms are more freedom-promising and why (in short: Maemo/Moblin merged as Meego and Android/Linux). I only disagree with Bradley on the priorities he sets. He says:

The challenging and more urgent work is to replace lower-level proprietary components on these systems with FLOSS alternatives,

I don’t think that device drivers are really the first problem the free software movement needs to tackle. I believe that the most important issue is to have good applications, with superb usability and that are innovative in order to attract users, fast. Some of the tactics used in the GNU project will need to be adapted to the speed of mobile, while others are not applicable.

Stallman’s project started in a time when PCs were slowly becoming relevant in society. It took almost 10 years before they were cheap enough to be in the bedrooms of young, smart programmers for them to easily contribute to the project. GNU also started developing applications first, and it took almost 10 years to start working on kernel and device drivers. The early adopters of GNU were highly skilled users, in a world with few computers with a clearly winning platform (the standard/commoditized platform IBM/Intel x86). Stallman and the whole free software movement had a lot of time to develop a nice free-as-in-freedom operating system and applications on standardized hardware. They also had the Unix design to follow: how the system had to look was pretty clear, it only had to be ‘better’.

Compare those first ten years and the quantity of computers in the ’80s/’90s to today’s speed and the quantity of mobile devices in everybody’s pocket (not just in developed countries), without a clear plan to follow(like Unix was for GNU): the game is radically more challenging. Take Google’s G1 as an example: it’s only one year old but its operating system version is obsolete (and customers are complaining). With users changing phone every 18 months in the US, the lifecycle of a free driver is too short to justify the effort.

On the other hand there are many applications that need to be liberated, like social applications that respect freedom in the cloud, mobile email client that don’t suck, mobile music players with stores that are not defective-by-design. And many more need still need to be imagined.  Developer’s focus should be on what appears in freedom-giving mobile applications markets: we made the application market concept popular (apt-get repository anyone?), now we need to move to mobile and to fill them with good and free applications first. Device drivers can come at later stage, eventually after hardware manufacturers will have battled each other to the death and one winner will emerge (like it happened with x86).

Why that thing on Nexus One?

I can’t get my head around one feature of Google’s superphone: why did they put that scroll-click-button at the bottom of the phone? Shouldn’t the touch screen be enough to use the phone? Besides, being so close to the bottom edge, can it really be used? If anybody is still thinking that Google wants to become a hardware manufacturer, that detail alone shows how G still has lots of road to cover.

But I don’t think Google is going to compete directly with HTC, Samsung and all others. I agree with Fabrizio, Ars and HBR: Google is disrupting the mobile phone market in the USA introducing what us Europeans had forever: choice. In Europe we can choose the phone we prefer and use it with any carrier. In the USA carriers tend to make monopolistic agreements with phone manufacturers, so consumers that want a phone usually have only one choice of carrier. Think iPhone which is limited to AT&T in USA but in Italy you can buy it from three different carriers. For this Nexus One is like the iPhone: it’s a game changer. I think that other hardware manufacturers like Nokia could profit from Google’s move, too.

Mobile phone markets are designed to split our community

Apple’s iPhone biggest innovation is its mobile app store: for the first time it allowed installing software on the mobile device with the convenience of any modern GNU/Linux distribution. Like in Debian, Fedora, Ubuntu, installing software is just a matter of browsing a repository and click on a button. It’s such a good idea that now every mobile phone manufacturer has created its own mobile app store version. Nokia has Ovi Store, RIM/BlackBerry has App World, Android has its Market. I’m sure that more will come, also from the network operators.

Differently from GNU/Linux software repositories, though, these markets only allow non-free software. The manufacturers together with the network operators act as strict gatekeepers, allowing to reach the users only binaries signed with developers keys. Even if there are many free/libre software projects distributed on the mobile stores (Funambol, WordPress, and many other), the users cannot practically enjoy the freedom to modify the software autonomously because of tivoization.  So we have in our hands powerful computers, always connected to the network but its users are deprived of one significant freedom. The worst effect of these mobile stores is that they split our community, forcing free developers to choose between distributing their software while compromising their morality or not distribute at all.

Given the sad news about OpenMoko ceasing development of the new phone, it’s necessary to gather up and think of alternatives. Jailbreak and Cydia on iPhone is a start, and other phones will need similar liberation. But these are just short-term palliatives. In the long run, I hope we’ll have more OpenMoko-like devices, with full freedom attached.

Funambol engineers apply iPhone ergonomics to cars

Check this out: Funambol’s R&D department just released a prototype user interface for driving cars. According to my colleagues that drove it in Redwood City, it’s so easy to use, even a caveman can drive it. The vehicle smashes driving age limit with “snap” finger-powered steering; integrates cruise control with Google Latitude to automatically get friend.  See it in action:

Full press release

Cross-platform and interoperability is the key

When it comes to connecting people, the first thing you need to do is use the same language.’  That doesn’t mean force everybody to use your language, because that’s what dictators do (and dictators are wiped out by history). To connect people you have to adapt to people’s language, eventually learning many of them.

This post describes a user experience with new services launched by Nokia and he highlights the major issue I have seen with most, if not all, of the services offered by the big guys:

Nokia Chat I can appreciate because it’s cool new tech — but unless it’s going to support those cool features on a wide range of devices, including non-Nokia ones, it’s pretty pointless for me.

That’s hitting the nail on the head: how can somebody design a chat system that is not interoperable with the rest of the world? It’s the abc of networked economies. Like the fax machine or the telephone itself, more users more (squared) value.

Thinking that everybody will want to buy a Nokia (or Samsung or iPhone or you-name-it) to be able to chat with other that have the same system is arrogant, to say the least. Nonetheless, it’s a mistake that many incumbents are making and one that Funambol is trying hard to avoid. By releasing clients for all platforms Funambol demonstrates that it believes in cross-platform, open standards and interoperability.

Are Apple fans too cautious or is Apple evil?

Is Apple evil or do people fear them?
Is Apple evil or do people fear Jobs?

The iPhoneDevCamp was a great experience for me.’  Lots of developers, lots of new ideas, lots of fun. I found it surprising though how many people still develop on this platform despite how badly Apple behaves towards its community. In San Francisco at iPhoneDevCamp there were about 500 developers that played for two days delivering an incredible amount of software (46 projects, in total), some of it of incredible value and power.

For me, used to the open exchange of information between free software crowds, it was very surprising to see how much iPhone/Apple fans love their gadgets. Despite the tight NDAs they need to sign, they’re still happy to code for free and give lots of value back to Apple. It makes me wonder.