Maemo And Modularization
Let's face it everyone, we all love the Internet Tablet and Maemo is a great platform to work with when creating the applications that help make it greater every day. But as we all know, there are some parts of the Internet Tablet OS that could use a little polish. To keep consistent with my thoughts in the Internet Tablet Talk forums, I'd like to expand on this topic and give some reasoning as to why it would be beneficial to Maemo developers, advanced users and end users alike.
Let us start with the built-in applications in Maemo. There have been users that would like the option uninstall the applications they don't use or don't plan to use in the future. Most of these applications have been replaced by installable apps that do a better job and sometimes combine the functionality of multiple built-in apps [Canola for example]. It would be one thing to further development of the built-in applications or to offer that same mash-up of features to users, but that's not happening. The ability to improve these apps aren't even available to developers, most likely due the apps being "closed source" by Nokia.
So it's not likely Nokia will free up their code for their contribution to the platform, but I think it would be rather trivial for them to give the option of at least removing the built-in applications just like you can with other applications developed for the platform. Why should we be forced to live with an application we no longer have a need for or has been replaced by something better? By giving more flexibility to users as to what goes and what stays, there is less clutter of similar applications. The lack of this option makes the mobile experience a bit frustrating, and in most cases defeats the purpose of working on mobile devices such as the 770.
By the way, this is not the only platform that has this issue. Ever try to uninstall Solitaire from Windows, or the Calculator app from Ubuntu?
Advanced OS Building
The customization features need not be limited to just the Internet Tablet applications. Why not give users the option to play with the Hildion user interface, or provide the tools to easily build their own? For instance, there should be options in the flasher application for Windows [or command line options for Linux or Mac] which allow one to choose alternative file systems, UI themes, or other OS components. This might disrupt the functionality of most "Hildonized" applications, but then again, the Hildon UI shouldn't have been the only UI option in the first place.
Of course this modularization of the OS would frighten off most users, but it would also give developers the greatest freedom to extend the platform in more directions. This would eventually provide less advanced users more options to choose from at the OS level. For example, a group of developers could produce a multimedia specific operating system that caters to children and teens where games, movies, music, and pictures are the focus of attention on the device. The possibilities for optimizing the OS to the needs of the different user would be of great benefit to the community.
This idea is not new to the desktop OS market, where there are variations of an OS [Ubuntu, Kubuntu, Edubuntu, etc.], so why not enable a mobile equivalent of this concept?
A Matter Of Time?
I sincerely believe these capabilities are possible to implement into Maemo, yet the question that remains is will it be done? And if so, when? Until Internet Tablet users can control every application that runs on the platform and developers can control how effective the OS is at running those applications, the Internet Tablet OS is not fully open and will eventually become quite difficult to scale as time progresses.