For years, the idea of developing software for the Ubuntu desktop has largely fallen into two distinct camps.
The first camp is for the enterprise space. Often there are specialized needs here, where companies will spend the money needed to get specific software developed. Sometimes this means funding an existing project, other times creating a new one themselves.
The second camp for software development, historically, was hobbyists who simply wanted to make software for the Ubuntu desktop. The motivation varied from developer to developer. For the most part, however, individually designed applications were created because the developer felt it was a niche that needed to be filled.
These days, the skills needed to develop software on Linux have blurred. New and exciting open source development solutions have changed the way we look at software creation for Linux distributions such as Ubuntu.
In this article, I'll look at the tools available for casual software creators, plus development trends that may dictate where the future of software will end up.
There are a ton of great tools out there for Linux software developers. But it has been only recently that the level of difficulty has been greatly reduced.
The idea is to attract newbie and advanced developers into building worthwhile applications for the various distributions out there. Most successful in this space has been Ubuntu, with a new development tool called Quickly. The Quickly software builder provides Ubuntu users with access to a development tool that can easily build out software based on Python and GTK.
So how easy is Quickly to use? Well some users might not like running Quickly from the command line, yet any fear of using the tool should diminish once the GUI appears. The biggest challenge with using Quickly for newbies is learning the commands to launch items of interest, such as the design UI.
Overall, Quickly is pretty good, especially for those who have developed software on other platforms. It's going to be a little trickier for newbie Ubuntu users, though. Not because of the software, rather because they've never developed software before. Overall, it's a powerful tool that provides decent documentation.
Another tool that I have been watching closely is called Illumination Software Creator. It has gone through a number of changes since its creation, from adding new levels of functionality down to its licensing, which has evolved from proprietary to open source.
Where it differs from other newbie friendly tools such as Quickly is that it's cross platform and allows you to developing once, across a multitude of operating environments from the desktop to the mobile space. Where things might be confusing is that the official site for the software indicates that there is a paid version of the software. This is because the software creator is in a state of transition, evolving into something that is compatible with the GPL license.
In the end, the software is going open source and will be freely available to all. The software's creator is trying to make a living off of donations, so throwing some money his way would do wonders to make sure that Illumination will be updated frequently in the future.
Illumination Software Creator is without question easier to use than Quickly for people who have never created software. Unlike veteran software developers, newbies to the developer space haven't the slightest idea how to lay things out so they work in a usable manner. Therefore using Illumination to "connect the dots" can do wonders to steer newbie developers away from first-time development frustrations.
Another added bonus, that I touched on earlier, is being able to create software for Ubuntu, then export it to run on practically anything. Android, iOS, OS X, Windows, whatever – anyone at any skill level can make software for these platforms.
The downside to Illumination is a lack of how-to information. Bryan Lunduke, the developer, does try his best to make himself available. He's there to help whenever he has time, usually through his help forum.
Despite Illumination not having the community numbers that Quickly has, Illumination does have a number of download and tweaksample newbie-level programs you can try out right now.
So at the end of the day, finding which solution is best for you may come down to trying out both programs. Illumination doesn't require any command line usage, unlike Quickly. So for some users, this may be what gets a newbie into developing their first application.
Development trends for Ubuntu
With all the developments being made possible for easier software creation, regardless of skill level, it's not surprising to see commercial software vendors jumping into the Linux space.
Commercial video editor LightWorks, is slowly making its way onto the Linux desktop. There is also movement within the video game arena as well, since Electronic Arts began releasing games into the Ubuntu Software Center.
More now than ever before, big brands are beginning to take Ubuntu Linux very seriously. And while there is still a long way to go before we see applications such as Photoshop or Microsoft Office on the Ubuntu desktop, suddenly the idea doesn't sound as far-fetched. Don't think Microsoft would ever offer desktop software to the casual desktop Linux enthusiast? Think again – they updated Skype when the old guard at the company didn't.
New commercial applications joining established community-based software choices only serves to strengthen the list of choices for end users. It's an exciting time to be using the Ubuntu desktop and Linux in general. Finally, after many years of "making due," we're seeing fantastic applications come forth to makeup for the shortcomings that come from using a desktop that is largely ignored by commercial software players.
Not to be outdone, however, newer community-based applications such as OpenShot, Kazam, and Jitsi, among others, have made using Ubuntu full time easier than ever. Compared to a mere few years ago, I find that I don't need to run Windows for anything any longer.
Don't get me wrong, there is still room for improvement, but overall, Ubuntu and Linux as a whole are gaining serious traction among users and developers alike.
Keeping the ball rolling
In order to keep the momentum building among developers and potential developers, the Ubuntu team is running a contest in which the best software wins a brand new notebook from System76. The rules are fairly simple, and the development options appear to basically come down to developing software in Python and GTK.
For obvious reasons, the Ubuntu team is using this event to promote their Quickly development tool. Yet I have heard that using alternative methods of development are welcome. This means tools like Illumination Software Creator or more advanced development methods are allowed.
So the contest may garner attention from advanced developers, not just newbies. The results will be interesting, to say the least. We should know how it all pans out by July 9th.
When the dust settles, this contest will be a strong indicator as to whether the momentum that Ubuntu has seen on the development front will continue. There is no question that the software center has proven to be fairly effective in gaining attention from video game developers. It will be interesting to see if any new and exciting enterprise applications also make their way into the repositories anytime soon.