May 18, 2009

Ubuntu Developer Network

Since I have never written about this here before, here's a little background.  The Ubuntu Developer Network is an idea that I have been promoting for the past several weeks.  I came up with the idea while trying to package an application for Ubuntu.  Much of the documentation was available, but it was scattered across Ubuntu's vast wiki system.  Many of the pages, while well written, led me in constant loops where I was left to figure out how to do many things.  While it was a good learning experience, I thought it could certainly be better.  I also felt just a MOTU section in the wiki was to narrow a focus to be much use to a first-time programmer.  This sparked an idea for a developer network, a place that could help people not only package an application for Ubuntu, but write software for and on Ubuntu.  

I began to look around the many different developer networks. and found that they were quite helpful -- far more in fact than the loose wiki page system used by the Ubuntu community.   MSDN (I know, don't even say it...), SDN, and others all had different tracks, all built for either different skill levels or different topics.  As a starting programmer, I went to the Visual Basic guides at MSDN.  Within about 5 minutes of installing the software, I had already made a simple web browser.  Really, it should be just as easy to learn how to use the tools and learn the programming languages.  The great thing about a UDN is the fact that it does not have to be hosted on the Ubuntu site, and many things can be linked to tutorials, application info on the wiki, etc.

For an example of how UDN would work, let's say I wanted to do Python programming on Ubuntu.  I would go to "udn.ubuntu.com" or something similar and see a main page, with the Ubuntu Developer News, latest video from the Ubuntu Developer channel on YouTube, and see links for different tracks.  I would pick the one for Python programming, which would take me to a page with different options:  Beginning Python Programming, Packaging Python Applications for Ubuntu, etc. I would click on the "Beginning Python Programming" link.  A page would load listing prerequisites (e.g. to complete this track you must install x and use Python 2.6, etc.), with links to additional resources that can be used (such as the book "Learning Python" by O'REILLY publishing).  The tutorial would then continue by showing how to use different tools for Python programming on Ubuntu.  Similarly, "Learning to Package Python Applications on Ubuntu" would lead me to prerequisites for building a package, then to guides on how to do it.  

That's the Ubuntu Developer Network in a nutshell.  I plan to write a formal plan and present the blueprint on Launchpad soon.  If you happen to like the plan, vote for it on the Ubuntu Brainstorm site!

Click Here!