Problems with Ubuntu's Software Center and How Canonical Plans to Fix Them

Ubuntu has received a lot of flack from the community for some of its commercial projects. Placing Amazon ads in Unity's Dash is a classic example of a poorly planned move that flies in the teeth of the community's ethos. A community built on the concepts of freedom and software that empowers the user (instead of some commercial concern) would never take that well.

But, although most Linux users will bitterly fight any effort to force them into accepting commercial software, most still want to have the choice to use it if they want to. For instance, the availability of Steam on Ubuntu was greeted with open arms by many community members, even if it is a commercial store specializing in closed-source commercial software.

As Google, Apple and Steam have proven, the app store is a successful distribution strategy for small apps and games. It creates a simple marketplace that connects vendors and customers. It facilitates the sale of indie apps and creates a relatively level playing field where small teams and individual developers can succeed against giant competitors.

For this reason, Ubuntu's software center should have been a very popular feature. It offers a single place to explore and manage open-source packages and commercial apps. It gives users choice. They are free to select the software installed on their machines, with full knowledge of the license. User feedback is built in to the system, so quality is rewarded.

However, the majority of Ubuntu users aren't happy about the software center. The biggest complaint is that it's slow to start (really slow). Developers aren't happy with the situation either, although they have their own reasons for being upset.

When a new version of Ubuntu is released, commercial packages in the software center must be thoroughly checked for compatibility issues (the major open-source packages in the repos are audited before the distro version is upgraded). This introduces a bottleneck, with some applications waiting for months before they can be included in the store.

Meanwhile, users who have bought the software must wait before they can download it. Although it can be irritating to wait for a new release of an open-source program, it's a lot worse for commercial packages. When users already have paid for software, they expect to be able to use it! In this case, it's the commercial software developer who receives the brunt of the criticism. Michal Rosiak, an indie game developer, has felt obliged to give complaining users the .deb packages for his games, with no way to be sure that they're really paying customers.

Clearly this is an issue Canonical must address if it wants to attract a thriving community of independent commercial software developers. Running a successful app store takes a lot of work. Applications must be vetted to ensure that they comply with the rules. Users' security and privacy must be protected, and developers must be supported too. In other words, running an app store is a large undertaking and can backfire when it's under-resourced.

Failing to appreciate the number of hours required to review software leads to unrealistic delays, and this stifles interest in developing for the platform (or at least for distributing through the Software Center). Canonical hopes the new Snappy package manager will solve these issues. Snappy includes all of an app's dependencies in a single compressed package, so in theory, there should be no compatibility problems.

But, there is some skepticism from the community. Developers point out that technology is not the only issue, and that the problem will never go away until the review team places a higher priority on fast reviews. Others within the community are worried that the increased redundancy in Snappy packages will open the door to lingering bugs and security holes.

When a library or another dependency used in a Snappy package is updated, the onus will be on the package author to update the app with the new version of the dependencies. If they lag behind, users will be stuck with the outdated software, security holes and all.