Canonical has recently announced the creation of the Ubuntu Developer Portal. The portal’s goal is fairly straight forward: it's basically been designed to get more mainstream developers creating software for Ubuntu.
In this article, I'll look at the motivation, tools and resources that will be made available to those using the Ubuntu Developer Portal. I'll also look at whether this is an effort that is going to be a "game changer" for Ubuntu or merely a weak publicity stunt that backfires on everyone involved.
Developers, apps and applications
When comparing the Linux desktop with operating systems like OS X or Windows, it's worth noting that Linux software fragmentation is a real problem. Some Linux enthusiasts have mentioned that the diverse nature of free and open source (FOSS) software is a strength for Linux. To a certain degree, there's truth in that belief.
Yet despite the strength coming from FOSS software, the problem of software fragmentation remains and isn't showing signs of getting better. Much of the problem is that too many FOSS software titles are just copies of one another to be applied to different ways of seeing the same task.
To make matters worse, any proprietary software alternatives that are available come across as poorly done in Linux. Those proprietary applications that are considered worth using require you to "cross your fingers" in hope that there will be continued development as time goes on.
I realize that duplication also happens within the proprietary software space as well. But one must remember that it's the Linux desktop that is coming under scrutiny when being tried for the first time. So why not leave the software duplication issue with the previous platform and free Linux from this problem altogether?
Well, the opportunity for a positive change is here, thanks to the launch of the Ubuntu App Developer Portal. With the right decisions being made early on, it's entirely possible that the Ubuntu Developer Portal could be a smashing success.
But simply catering to anyone that wants to be a developer isn't enough. There must be a real benefit not just for the developer, but an opportunity for giving the end-user a great experience as well.
Ubuntu App Developer Portal as a solution
Another benefit to the Ubuntu Developer Portal could be the ability to sync up the software the user has already installed, then allow them to replicate this software list on another PC.
While there are software tools that allow us to do this now, none of them are web-based. This web-based option would make bug tracking much cleaner, in addition to allowing beta testers to try the latest "in-development" apps without having to bounce from site to site.
The current Ubuntu bug tracking tools are beyond useless for the casual user. Visiting the dentist is more pleasant than the "circus act" that mirrors what most users face when reporting bugs. With any luck, this new app portal can help change this. Common sense bug reporting shouldn't be so difficult.
Making development accessible
One area I was impressed with is how the Ubuntu Developer Portal is working with its developers to create new cross-platform software. Using a simple command line application creator called Quickly, developers can use their existing skills to create software that is compatible with Ubuntu. Quickly even makes short work of any perceived packaging headaches, which is definitely a pleasant surprise.
The provided developer tutorials on the Ubuntu Developer Portal are also impressive. They range from simple videos to get you started down to fairly extensive explanations on how to get things setup successfully.
Everything with the Ubuntu Developer Portal is laid out in such a way that you don't need to have experience developing for Linux to create software for Ubuntu users. Because of this smart design, I'm inclined to give the Ubuntu Developer Portal creators a big thumbs up in the area of design.
In addition to addressing many of the big programing languages used today, the portal highlights the use of what's called the Ubuntu developer stack. This is what makes notifications, widgets and other integrated aspects of Ubuntu software development possible.
Where I became disappointed, however, is with the focus on more "light-weight experiences" than anything of real merit to the end-user. Much of the documentation highlights supporting multimedia, social networking, multi-touch, widgets and so on. My grievance with this is that it merely encourages amateurs to create overly simple software which further feeds the issue of fragmentation I mentioned before.