23 May 2013

Swapnil Bhartiya's picture
Posted by Swapnil Bhartiya on January 26, 2011

If it does, it will be a dream come true.

One of the greatest strengths of GNU/Linux based operating systems is their diversity. So many different technologies -- each with its own merit, offering users with choices, catering to their specific needs. This is something we need the most in today's world when computers play a 'dominant' role in our lives.

Collectively, GNU/Linux has more than 25,000 full-fledged applications or software packages*. This huge repository of applications means more choices for users to do their basic and advanced tasks easily under Gnu/Linux systems whether they be openSUSE, Debian, Fedora, Ubuntu or upcoming Mageia. Every distro provides its users with a unique way of installing applications. This is an area where there is a huge scope for distributions to work together to decrease duplication, use resources efficiently and improve user experience manifold.

Vincent Untz, openSuseVincent Untz, an openSUSE Booster, and the GNOME release manager, saw a window of opportunity here. Untz organised a meeting with support from Novell, Debian, Canonical and many other to discuss "How to create a great user experience for finding and installing applications. The goal is really oriented towards end-users, but the solution obviously involves some technical details." The meeting was attended by the representatives of major distributions and FLOSS projects including, Debian, openSuse, Fedora, Ubuntu, upcoming Mageia, etc.

The Focus & Benefits
The focus of the meeting was to synergise resources to make it easier for end user to find and install application. When I, as a user, try to install an application (I use Ubuntu), I go to Ubuntu Software Center and either enter the keyword -- music player, for example, --  or name of the application if I know.

Ubuntu Software Center offers an extremely rich experience where you can read about application, see how it looks and much more. This is possible due to the meta data that works in the back-end. This data has nothing to do with the actual software packages or their dependencies.

"Packages are not that interesting (that's from the PackageKit maintainer!) as they are just an implementation detail," Richard Hughes, who wears many hats, said, "No normal user has ever said "I want to yum install openoffice.org-writer", a user wants to either install the "OpenOffice" they heard about from a friend, or wants to open a .doc file that someone sent them. The fact that openoffice writer is split into multiple packages with a few common dependencies is just an implementation detail the user shouldn't have to care about."

Different distributions use different ways to allow user to find and install application. When I search Ubuntu Software Center shows me results which include the name and descriptions of the application, screenshot, and some more information. The same metadata/description of Amarok can be used in Fedora, Ubuntu, Debian  or openSuse. In a nutshell the meeting was organized to work together to collaborate on this metadata.

Samuel Verschelde, Mageia"The main goal is to improve the user experience when searching for applications and installing them. For that, a software center needs to use the concept of applications rather than that of packages. Moreover, nowadays many graphical package managers lack translated descriptions, screenshots, and social interaction such as ratings and comments. As many distributions want the same thing, we tried to find a way to avoid unnecessary duplication of work," said Samuel Verschelde, a Mageia contributor and mageia-app-db project lead.

The project will offer extremely pleasant and somewhat common experience for users across-distributions, without compromising the uniqueness of the distros. Even if a platform uses completely different technology to handle packages, dependencies and install you desired application, a user will still get similar 'finding & installing' experience across platforms.

If distros use something similar to Ubuntu Software Center it will make it easier for a user to search for the desired application by using keyword or the name of the package. Irrespective of the platform s/he will be able to access all the needed information about the application along with a pleasant screen-shot.

It appears to be one of the most ambitious projects of the FOSS world. Bringing together different distros to work on one issue in itself is a great challenge. Vincent took it and executed it well. The active participation from major distros and FOSS projects is good news for GNU/Linux users.

"The reason we did this meeting is that we realized that all distributions were interested in this specific topic, and the natural trend would have been to have everyone working on a different solution. Which would have resulted in slower and poorer results. By sharing the effort, we will achieve more. Everybody was enthusiastic about it!” Vincent elaborates,

“When Vincent Untz proposed to me this meeting I was very excited about it. The idea of getting people of several different distributions around the same table, share existing technologies, as well as design new ones to improve the software selection process, ... it just felt right,” said Stefano Zacchiroli, the Debian Project Leader.

Beyond Metadata: A Unified App Store?
Does that mean that we will soon have a centralized App Store like Apple's App Store or Android Market? No.

Vincent clarifies, “That's not our main focus at the moment: our first approach is to have an application center available for each distribution, based on the applications available in each of them."

Stefano said, “It is definitely too early to think about that. Let's not forget that a distribution is not just a collection of software; a distribution blends software together to form a coherent set of applications which adhere to some common quality standards. While initiative likes Free Desktop have gone a long way to produce cross-distribution standards, per-distribution packaging policies still differ and in that differences we find the distinguishing traits of individual distributions. Losing those difference will not necessarily be good for Free Software, so I think that a single "App Store" might still be a red herring."

There are technical reason for which makes it extremely difficult, if not impossible. Not to mention, there will be political challenges as well.

Michael Vogt, Ubuntu"In order to do that we need a common packaging format. That is a much bigger challenge than having a common way to describe existing packages. The exact way that packages are delivered are in the AppStream model a implementation detail. It does not matter to the end user. The meeting discussed a more limited scope, having shared data formats and a shared codebase in order to have a common experience. Having a central appstore was not on the agenda of this meeting as the repositories format of the distributions are very different,” said Michael Vogt, lead developer of Ubuntu Software Center.

"It might be feasible to have it for third party, sandboxed applications, but in order for them to rely on core packages the difficult problem of dependencies (whose semantics change from distribution to distribution) will need to be faced. I don't feel like making a wild guess of how it will turn out to be, but Debian will be around to collaborate with others on these topics," added Stefano.

Richard has similar opinion, "If we provide the application metadata and core social services API then actually writing a KDE frontend of an "AppStore" becomes a very easy problem. The hard part is defining the metadata and the social collaboration APIs. Different desktops have different focuses, and I think that's a good thing.I think it makes a lot of sense to share the application store, the metadata format but not the data itself. That's very distribution specific. It maybe even makes sense to share the screenshots, ratings and comments, although that gets very political and technical, very, very quickly."

However, Samuel gave me some hope, even a distant one. “We already agreed that we would like the current Ubuntu Software Center to be improved and used in various distributions. If this happens, then we will have the same software center in many distributions, but this doesn't mean that the available applications have to be exactly the same in every distribution. There are no plans to merge software repositories for now, nor package managers. It is perfectly possible that there would be several different software centers using the same back-end technology.

Outcome of the meeting & participation
"I agreed with nearly all the technical conclusions from the meeting. As part of Fedora I have already done a lot of work since the conference ended, and I will push the agreed metadata into Fedora as soon as possible. Fedora, as always, tries to work upstream, and we'll be working closely with the other distros on the common tools we can share," said Richard.

Mageia team is also going ahead to participate in the AppStream project. "For this project, it is obvious that I will participate in the AppStream project. It wouldn't be clever from me to implement things from scratch when they can be mutualized with other distributions. The first examples that come to mind are the application screenshots from screenshots.debian.net and Enrico Zini's debtags," told Samuel about mageia-app-db (a subproject of the Mageia distribution). AppStream project was presented in the weekly Mageia packagers IRC meeting and work on it is expected to begin soon.

"From the Debian point of view, I'm also quite proud to observe that we have had a chance to "give back" several Debian technologies, such as: screenshot.debian.net (by Christoph Haas), apt-xapian-index, and debtags (by Enrico Zini). I hope other distributions will be ready to give back their technologies, even when that imply lifting contribution barriers that might inhibit exchange of code among different open source companies,” said Stefano.

"I'm inclined to think that this meeting could mark a milestone in the way different distributions work together. To that end we need venues where to coordinate similar meetings and where we can be sure to reach out to as many distributions as possible. The "distribution" mailing list hosted by freedesktop is very good to that end and will be even more so if representatives of other distributions will join it," Stefano concluded.

Hypothesis, Mock-Up
I was tempted to take a plunge in fantasy and hypothesize if there can actually be a unified App Store for Gnu/Linux, despite all political and technical challenges (that's why I call it fantasy). It would be an ideal situation for users (and I mean desktop users) to use their favorite desktop and get an experience similar to the App Store when it comes to finding and installing applications.



I talked to our graphic artist to create a mock-up of what it might be an ideal situation for a desktop user. A common GLaap Store where a user can search for any app based on keywords or the name of the app. When you click on the desired application it opens a window offering description, install button and several screen-shots.

There will be options to of Facebook to see how many friends are using or have Liked the application (personally I don't like Facebook). User can recommend the application to other friends who are also using GNU/Linux. There will be an option to rate the app and also post review, comment on the app. This will create an amazing communicating between the developers and the users. If you choose to uninstall the app, you can always cite the reason.

It's my hypothetical mock-up of the ultimate Glapp Store or Universal Application Installer. I don't know how much of it is practically, technically, and politically possible, but it will sure help users like me.

As Richard rightly said, "We have to provide an easy to use, consistent and professional desktop experience to users, if we want to stay a serious alternative to Android, OSX and Windows 7."

Back to reality
Even if my dream is far-fetched, the project Vincent has initiated is more realistic and promising. It will have a deeper impact on the way distributions work together, it will change the GNU/Linux landscape forever in a way I can't even dream of!

Swapnil Bhartiya

A free software fund-a-mental-ist and Charles Bukowski fan, Swapnil also writes fiction and tries to find cracks in a proprietary company's 'paper armours'. He is a big movie buff and prefers listening to music at such high volumes that he's gone partially deaf when it comes to identifying anything positive about proprietary companies. You can follow him on Twitter, Google+ & Facebook. You can write to him on editor at muktware dot com