Apple forces bad user experience on Funambol

I installed Funambol on an iOS device to test it and all went well… until I tried to sync the pictures. I was greeted with the request to allow Funambol to access my location, request that I promptly denied. Why on the planet would Funambol want to know where I am? Smelling that Apple may have to do with this, I asked Funambol developers who confirmed that this is due to the nature of the ALAsset API from Apple.  Apparently I’m not the only one to think that iOS ALAssetsLibrary is broken.

What is broken is not only the user experience, but also the bad habit that Apple is spreading: users should pay attention to the permissions they grant to apps and deny to run those that make unreasonable requests. Mobile phones are computers and everybody should keep in mind that apps have access to personal data stored on the phone. Everybody should check that apps have permission only to access the minimum necessary to operate. Are you installing an app to sync addressbook and pictures? The app should ask permission to read/write addressbook and pictures. Not to read location!

The New Funambol Phone Sniper Program

After revisiting the Funambol Code Sniper, I thought it was time to adjust also the Phone Sniper program. Funambol Phone Sniper is the easiest way to contribute to the community: participants help by testing the compatibility of their device with Funambol sync and push services. It’s very easy to participate: you need a phone included in the list with an Internet data plan and about 30 minutes to execute a standardized test. Once you’re done testing, submit the report and you’ll be awarded a 12 months free account on myFUNAMBOL portal. If you test more than one phone you get $25 for each full report submitted. I want to build a Hall of Fame of Phone Snipers: don’t forget to let me know if you want to appear in it.

Eben Moglen’s Freedom in the Cloud Talk

I watched Eben’s speech but now I can quote it too thanks to the transcript done by the friends at Software Freedom Law Center. Talking about the problems of the cloud services, Eben hits Facebook hard with his rhetoric:

The human race has susceptibility to harm but Mr. Zuckerberg has attained an unenviable record. He has done more harm to the human race than anybody else his age. Because he harnessed Friday night, that is, ‘Everybody needs to to get laid,’ and turned into a structure for degenerating the integrity of human personality and he has to remarkable extent succeeded with a very poor deal, namely ‘I will give you free web-hosting and some PHP doodads and you get spying for free all the time’. And it works.  How could that have happened? There was no architectural reason. Facebook is the web with, ‘I keep all the logs, how do you feel about that.’ It’s a terrarium for what it feels like to live in a Panopticon built out of web parts. And it shouldn’t be allowed. That’s a very poor way to deliver those services. They are grossly overpriced at ‘spying all the time’, they are not technically innovative. They depend on an architecture subject to misuse and the business model that supports them is misuse. There isn’t any other business model for them. This is bad. I’m not suggesting it should be illegal. It should be obsolete. We’re technologists we should fix it.

As Nicole says, Facebook is Internet for the lazy people that don’t know or want to setup a blog on their own and learn how to use search, RSS or even email. And there are many of those.

So what do we need? We need a really good web server that you can put in your pocket and plug in any place. It shouldn’t be any larger than the charger for your cellphone. You should be able to plug it into any power jack in the world or sync it up with any wi-fi router that happens to be in this neighborhood […]
This is stuff we’ve got. We need to put it together … I’m not talking about stuff that’s hard for us. We need to make a free software distribution guys.[…]
Great social networking, updates automatically, software so strong you couldn’t knock it over if you kicked it, and you know what, you get ‘no spying’ for free. We can do that …

A small, personal, portable device, connected to the Internet with a simple and easy way to receive updates via a push mechanism and sync data between different sources. Something similar to what Funambol’s CEO said in Five Reasons To Care About Mobile Cloud Computing and I sketched earlier thoughts about the same topic. We’re facing interesting and busy times ahead.

Read there rest of Highlights of Eben Moglen’s Freedom in the Cloud Talk – Software Freedom Law Center.

Three reasons to follow Mozilla Thunderbird development

Since Mozilla Messaging launched Thunderbird 3 I started using it to see if this new version is better than GNOME Evolution, the email/calendar application I used in the past 4 years. Evolution is a decent email and calendar client and I love the integration in GNOME, but it stopped evolving and its GUI has many annoyances. I’ve used Thunderbird 3.0.1 for a couple of weeks and here are three reasons to choose it and why I decided to postpone the adoption.

Search and indexing: Thunderbird 3 indexing is fast and very good. The interface for searching and drilling your mailbox is fantastic, very well done and fast. Check the screenshot.

Tabs: I like to be able to read messages in different tabs. Lightning calendar and tasks conveniently open in a tab and it’s also possible to run Google Wave in one. This shows the power under the hood of this client: it has the potential to become a messaging hub for all services.  It’s annoying that Addressbook and compose new mail open in a new window instead of tab though.

Add-ons: just like Firefox, there are many ways to add functionalities to Thunderbird. The first add-on I installed is Funambol in order to test it and help its development. Then ThunderBrowse, in order to avoid opening Firefox only to check a link in an email and EnigMail to add GPG/PGP support. Nothing mind-blowing yet, but I hope somebody will develop a replacement of the Addressbook with more ‘social’ features. A topic for another post 🙂

Bonus reason: finally! There is an “Archive” button: once you’re done with a message or a thread, and you don’t want to delete it, you hit a button and the message goes into the archives (archiving criteria can be specified). A neat solution for Capo’s problem 🙂

The Addressbook, on the other hand, is pretty lame. It doesn’t contain enough fields, it still has space of a ‘pager number’ (anybody  still using them?), it opens in a window and not in a tab. I hope it’ll improve in next version.

I’m still using Evolution as my main source of data, especially address book and calendar. Even if Funambol add-on for Thunderbird 3 works decently, it’s still unstable and it has other small issues (if you want to help, Funambol offers Code Sniper grants).

Two Funambol community projects to monitor during holidays

There is an interesting movement around two Funambol community projects: the syncml clients for Thunderbird and for Palm WebOS.

Mozilla Messaging is rapidly pushing Thunderbird 3 out of beta and Funambol’s community is ramping up interest in its addon. Carlo Codega, the main developer, started working on a port to Thunderbird 3 of the plugin. There is a first build for Windows, but it has issues and it’s only recommended for developers to fix it. Since the Thunderbird plugin depends on Funambol’s C++ SDK the Thunderbird addon needs to be ported to Linux and Mac OS X. Funambol offered a bounty under the Code Sniper program to prepare the builds for these two operating systems. If you are looking for a way to fill the afternoons and evenings during the holidays go to Funambol addon for Mozilla pages and get the chance to win $50 or more.

Somewhat connected to Mozilla, is the community effort to port the Funambol Java SDK to javascript in order to build a syncml client for WebOS, Palm’s operating system. An informative discussion sparked on Funambol’s forum around the Code Sniper grant and the first attempt of the javascript port done by long-time contributor Mathew McBride. This project and Mozilla’s are connected because if Thunderbird’s addon used a javascript syncml engine instead of the  C++ libs, it would improve its multiplatform support. Anybody interested in helping please join the discussion and start planning the development of the Funambol client for Web OS.

Libreplanet, Android, Funambol, Symbian, Ubuntu, Gnome, Mozilla and more at OSCON

OSCON 2009 was as good as I thought it would be. This year there was no mobile specific track but lots of talks about cloud computing. I met very interesting people, attaching faces and voices to email addresses and identi.ca accounts. The BoF about mobile cloud gave me the chance to discuss ideas with Andy Oram and other smart people and I’ll start developing them in the next few months.

Award winning Evan Prodromou and other identi.ca folks liked the idea of integrating the FoaF network in your mobile and desktop addressbook. With Bradley Kuhn and others of FSF Libreplanet we talked about the free software version of the Android OS. Some people are already working to liberate the radio drivers (GSM and wi-fi) in order to have a fully free kernel while many applications are already free as in freedom. The group is also interested in the Funambol syncml client because that adds more autonomy for the user.

The session by Stormy Peters gave me a few ideas for Funambol community that I’ll start implementing as soon as next week (watch Twitter and identi.ca for announcements). We also talked about Funambol as a provider of grants for Gnome projects. With Louis Suarez-Potts we talked about code hosting platforms and ways for the Funambol and OpenOffice.org community to collaborate.

The Ubuntu team gave very interesting presentations. I talked with UbuntuOne developer Stuart Langridge about syncing data (see his presentation): I loved to hear about integrating CouchDB with Kontact/Akonadi and GNOME Evolution.  I followed also the presentations about Launchpad: interesting, especially the license, but I’ll have to dive deeper in it. I joined the Symbian Foundation workshop where I learned that Symbian^1, used in the latest handsets, has a Python interpreter installed by default. Sounds cool especially since it has less limitations than the Java VM.

The presentation of Mozilla Thunderbird 3 gave me hope that there can be an email client that doesn’t suck! And it was fun to follow Mako’s talk about ‘Antifeatures‘. The SourceForge Community Awards party was great, with free drinks, music, entertainment, a r/c car that runs on walls and tatoos. Great to be there, hope to repeat next year.

Thoughts on mobile cloud computing

Mobile cloud computing represents an opportunity for the free/libre open source software movement that is just as big and radical as cloud computing, maybe even moreso. This is part 1 of a post about it, part 2 will follow shortly.

By the end of 2009, 4 billion people will use mobile phones. By 2013, that number is projected to grow to 6 billion. That is many times the number of personal computer users. By definition, mobile phones that access the internet are performing mobile cloud computing: handsets need to borrow storage and computing power from the cloud because of their limited resources.

Just as Free/Libre Open Source Software played a major role in the growth of the Internet and cloud computing, sparking issues about openness and freedom, the Free Software movement has the potential to provide a similar yet different impact on mobile cloud computing.

To mitigate the power of the cloud computing vendors and reduce the risk of lock-in the free/libre software community and proprietary vendors are discussing policies and proposing standards. Various communities, from Open Cloud Manifesto to Autonomo.us think-tank, are searching ways to guarantee interoperability, security, privacy for users of the cloud services.

Mobile cloud services have similar issues, although the expected impact on the users is different. While a desktop user has the option to keep pictures in the cloud, on services like Flickr or use local storage, mobile user’s choice is limited by the device form factor.  Even if mobile devices are not exactly ‘dumb’ terminals, but they’re not ‘super-smart’ either. Usually the applications are resident on the device, but not all of the user’s data or the computing power can fit in there.  Therefore mobile cloud servicese ‘lend’ computing power to the handset when it connects to the service, which then can continue working ‘disconnected’. For example, a phone can use extra storage from the cloud for multimedia files, like pics or music. The mobile cloud service can then push to the device a special music playlist for a running workout when it’s needed.

Mobile cloud services are largely dominated by vendor specific walled gardens, and debate is not as intense as the numbers of cell phone users would suggest. Probably this is due to the fact that not only Free Software powered mobile phones are not easy to find, but also installing new software on phones was not an option for the mass market until recently. Now, after iPhone and with more and more ‘application stores’ emerging, the issue of mobile users’ freedom is showing up: billions of new handset users have the issue of freedom for the software on the device and freedom in the mobile cloud.

The Free Software community has to step in the mobile cloud debate or a large piece of digital citizens will not be able to enjoy the benefits that free software has brought to larger computer users.  The mobile cloud is pretty much an open territory where many vendors are already fighting to lock-in their users.

The birds of a feather session at OSCON is devoted to the idea of “open mobile” cloud computing. Some of the questions that we can discuss include:

  • What is open mobile cloud computing and what does it mean?
  • What components, solutions, technology, ecosystem and standards are involved?
  • What provisions are needed to safeguard everyone’s rights?
  • What tools are already available to build free as in freedom mobile cloud services?

If you would like to participate in this birds of a feather session @OSCON or this discussion, please contact me.

Locked devices, GPLv3 and the path to mobile freedom

iPhone lockedIn a recent discussion with friends I realized that tivoization is a sub-optimal world to describe the problem that the Free Software community has with freedom being controlled by those that control the hardware.  The word clearly targets one specific company, so the problem gets somewhat reduced in scope. The real issue is not limited to companies exploiting the hard work of free developers, removing with hardware constraints the very freedom that developers wanted to grant to all users. There is more than that, and this is especially visible in the mobile environment.

Almost all existing handsets require applications to be signed before they can be executed. Depending on the mobile platform, these signing keys can be cheap or expensive and given to all or only to selected people. All of them are personal and they’re not supposed to be shared with third party. GPLv3 and its sister licenses, Affero GPLv3 and Lesser GPLv3, require developers to release the full installation instructions which include the private keys to sign the application. This is not requested by the license only to the manufacturers of User Products, like the word tivoization seems to suggest, but to everybody distributing GPLv3 software on locked down devices, like iPhone or BlackBerry.

Free Software Developers that want to re-use or release new code under the GPLv3 licenses face a dilemma: decide not to support locked devices or circumvent the GPLv3 requirement to distribute the signing keys with an additional permission. Option one means that almost all of cell phone users out there (over 2 billion people in 2005) won’t get to know Mobile Free Software. Option 2 means surrendering to the power of AT&T, Verizon, Apple, Microsoft and the like. Funambol requires copyright assignment for all contributions, so it can distribute the source code of its mobile clients under the vanilla AGPLv3 license, and the binaries are under a different license. It’s a hack that works as long as developers trust the company not to breach the social contract and it has limitations.

On the other hand, the GPLv3 anti-lock provision is there to protect Free Software Users from the risk to be bullied by the network operators, since you can lose the warranty or be kicked out of the network if you run software that is not blessed by the gate keepers of the mobile cloud.

Is there a third option? Does relaxing the GPLv3 provision really mean surrendering to the powers of the telecom operators, who twist the arms of the proprietary manufacturers? How can the Free Software community change the broken rules dictated by the Evil Lords of the Wireless Cloud?

Liberating the cloud one block at the time

simpson-cloudThe issue is how to bring the values of free software community to the cloud. According to reports from Southern California Linux Expo (SCALE), Bradley Kuhn‘s speech has addressed the issue.’  I hope he will include it in the next episodes of the Software Freedom Law Show, the interesting podcasts he runs with SFLC counsel Karen Sandler.

The problems of the cloud range from data ownership and portability to service interoperability and ultimately to software freedom. There is no simple solution, but building blocks to build a liberated cloud are available. Bradley mentioned Laconi.cat in his speech, for its federate microblogging service. I add Funambol to the pile because I believe it brings freedom to the other (often forgotten) cloud: the cell phone networks. With Funambol you own your data and you can take them with you, when you change operator or when you change device.’  I like the MobileWe marketing pitch for Funambol: freedom is a ‘we’ issue, not just a ‘me’. You can’t be free if you’re allowed to do what you want only in a limited space, like you are now if you buy the Pear meCell from DudeMobile. It’s like saying that a lion in a zoo is free, because he can move around as he wants … within the boundaries of the cage. A society made of non-free ‘me’ makes a non-free society. WE have to be free for the MEs to be free, too.