Many people believe Ubuntu revolutionized dpkg package management with its Ubuntu Software Center. And there is no question, Software Center is certainly user friendly by most people's standards.
But is it truly good enough for the masses?
In this article, I will look at the current state of Ubuntu software management, how far software management has come since Ubuntu first came out, plus where I think Ubuntu software is headed.
It all starts with apt
The purest form of software management for Ubuntu utilizes the apt packaging tool, which was first built by the wonderful, yet often underrated, Linux distribution known as Debian,. I can use apt to install, remove or simply update the software on my Ubuntu installation. Using apt also gives me command line access for purging software completely, as well as for repairing the software installation should things become screwed up somehow.
On the GUI side of things, Synaptic takes apt to the next level. Synaptic provides Ubuntu users with a solid tool for visually managing software installation. Synaptic is also helpful in that you can add, remove and tweak existing software repositories without a lot of guesswork. I've also been a fan of showing Ubuntu users how to back up their software installation(s) with Synaptic's "Save Markings As" functionality. This provides you with a portable text file from which you can duplicate software lists onto a new system.
The downside to using Synaptic for newbies, however, is the lack of recognizable software discovery. Despite its ease of use, Synaptic is better suited for intermediate to advanced Ubuntu users who know which software package they're looking to install. It also lacks the ability to install deb packages individually.
Installing deb packages
When it comes to installing one-time software, the binary package known as the deb package allows a Ubuntu user to run a simple command from an assigned directory to install the software title bundled into the package itself. For example, one might install a software package from the command line using dpkg -i packagename.deb. This command would then install the software automatically, while using the Debian package management system to resolve any potential dependency issues.
Previous to the Ubuntu Software Center, Ubuntu users were also able to run a program called GDebi to install deb packages and visually discover if there were any possible dependency issues before the actual application installation took place.
Today however, the Ubuntu desktop no longer comes installed with GDebi by default. These days, Ubuntu users are expected to do all of their software management via the Ubuntu Software Center.
The Ubuntu Software Center
Despite what others may have told you, Ubuntu wasn't the first distribution to introduce the concept of a software store to desktop Linux users. Others tried it before and experienced mixed success. The most famous among the distros to use a software store of sorts was Linspire with their Click-n-Run Warehouse (CNR). This is when things really become interesting, because Canonical actually hired folks away from Linspire, to help build what is known today as the Ubuntu Software Center.
It's important to remember the difference between classic CNR and the one that offered software to a wide variety of distributions. Classic CNR was more effective and easier to use than today's Ubuntu Software Center. However, both classic CNR and today's Ubuntu Software Center suffer from bloat.
In my opinion, the Ubuntu Software Center is one of the most bloated applications on the Ubuntu desktop. If you happen to be running a PC with reasonably decent specifications, this issue isn't likely to be seen as a big deal. But for users running PCs with slightly older specs, the bloat from the Ubuntu Software Center makes itself readily apparent when you first start up the program.
Despite these negatives, I've found that the Ubuntu Software Center is useful for new software discovery. Sometimes simply browsing through the various software categories can tell you a lot about a software title before it's installed. Also, the Ubuntu Software Center ratings system is a tidy way for applications to be rated. This provides all of us with insights on various software titles before we go to the trouble of installing them.
Overall, the Ubuntu Software Center isn't used all that often on my desktop -- not because there's anything wrong with it, rather because I'm more inclined to simply use apt via a terminal as it's much faster for me, personally. Another more effective way to discover new software titles is by simply visiting apps.ubuntu.com. This is the same exact interface you'd find with the actual Ubuntu Software Center, but with the benefit of being able to use AptUrl instead of the Software Center client itself. Plus, you can also decide which browser you'd prefer to use! Short of an alternative software manager, AptUrl is a really great way to install software.
Ubuntu Software Center Alternatives
For those of you not bothered by bloat who wish to take what Ubuntu is offering to the next level, allow me to introduce you to the most fully functional Software Center-like application I've ever used – Deepin Software Center. This software manager was originally designed for the Linux distribution Linux Deepin. Yet as I discovered recently, you can actually install this utility onto your Ubuntu desktop reasonably easily.
To point out that Deepin has a better, cleaner and more logical environment seems painfully obvious to me. It has the same benefits of the Debian software system we've all come to know and love, but with a real twist of actually being user friendly. Deepin Software Center provides super-simple tabs at the top of the application for Repository, Upgrades, Uninstall and Download.
The first tab we'll look at is called Repository. This isn't a place to tweak your repository settings; rather, this is where you can experience software recommendations or browse software based on category.
Next up, we have Upgrades. The Upgrades section is great in that you are presented with a clear view of each upgrade component and then asked if you'd like to go ahead with the upgrade or not. I love the fact that Deepin Software Center also provides you with an ignore button. This is something you'd normally need to do from Synaptic as the Ubuntu Software Center lacks this ignore functionality. Besides, how slick is it to be able to manage your upgrades with a single button push?
The last tab that's worth mentioning in the Deepin Software Center is the Uninstall tab. Without a doubt, this is the crowning jewel missing from the Ubuntu Software Center. Laid out in clear view are all of the software titles you've installed yourself. The Ubuntu Software Center's history tab comes close in keeping track of what has been done to your system, but compared to Deepin's efforts, there is simply no contest in ease of use and functionality.
Despite all of the benefits of the Deepin Software Center, it too, is lacking a key feature for those of you who run a lot of software titles: PPA repository management.
Y PPA Manager
One of the things that bring folks to Ubuntu from other distros is that the PPA repositories contain newer versions of their favorite software. Sure, folks running Arch and other more advanced distributions might scoff at the PPAs having any benefit to the end user. But one must remember that Arch isn't appealing to Windows converts or those who don't require a highly customized installation. Folks such as myself value being able to get a hold of bleeding-edge software titles without spending a whole weekend customizing their Linux install. With this in mind, Ubuntu PPAs can be the perfect cutting-edge software solution.
The problem, however, is that adding PPAs is easier than managing them in the long term. For example, countless times I've found that I just added a PPA repository that had previously been added. Usually, this happens because I uninstalled the software from the repository, only forgetting to re-add it again later on. This is where Y PPA Manager comes into play. Using Y PPA Manager, I can edit, remove or add new PPAs as I see fit with minimum hassle.
Ubuntu software management is pretty sweet. And as I stated previously, Ubuntu can thank Debian for making this happen.
But despite all of the success Ubuntu has had with its software management, there is still room for improvement. The software center for example, is in dire need of a design refresh. Compared to alternatives like Deepin's Software Center, Ubuntu's option leaves a lot to be desired. Another thing I'd love to see integrated is better support for PPA handling.
As things stand now, one must run Y PPA Manager to truly have an intuitive method for working with PPAs as Ubuntu's current setup,only allows us to add or remove them. Having Y PPA Manager functionality would allow me to search out which software is PPA dependent and which isn't, plus it would allow me to list the related packages as they correspond to each PPA. Options like that would go a long way towards making Ubuntu software management even better.