Review of Ontario Linux Fest 2009

Two weekends ago I went to Ontario Linux Fest 2009, held here in chilly Toronto for the third year in a row. And for such a young conference, it was quite good.  In fact good enough, that longer review of the event is in order:

Morning Keynote – Changes to the GPL

The day started with me rushing out the door in the morning, to catch a morning bus.  I made a bit later, missing the first part of Bradley Kuhn‘s keynote.   I rushed in, grabbed my conference package, put on my name-tag and rushed to hear the second part of the keynote.  Brad discussed the changes between versions 2 and 3 of the GPL (GNU General Public License).  As someone who followed the licenses and uses the GPL in my current project (justCheckers), it was pretty interesting to hear about why behind the changes.  The original GPL2 was quite brief for a software license, but not quite as understandable as the GPL 3.  The GPL 3 helped simplify the license, made it international and got rid of some icky loopholes.  After the keynote, I did a quick swag run even buying a fleece from the Eclipse guys from Redhat.  (And no Nick, I wasn’t there just for the swag I just haven’t gotten around to contributing to Eclipse just yet.)  I then quickly popped quickly back in for the first track of sessions.

Session 1 – Enterprise Content Management (ECM)

Cheryl McKinnon from Nuxeo did a talk on ECM.  I can definitely relate to having to hunt down information in the mess of Office documents and e-mails at the office.  I can just imagine what happens at larger organizations that have less rigorous guidelines to handling documentation.  So I definitely see the need software that handles such data, especially in terms of productivity and maintaining documents for regulatory purposes.  I can’t understand why every organization doesn’t have at least a wiki.  Interesting note that the concepts I learned in a university course on information science, really applies here.  Managing the capture, collaboration, review, publish, archiving and search-ability of information is really a science on to itself.  No wonder open source vendors like Nuxeo, Alfresco and MindTouch that provide ECM solutions in a flexible and low-cost way are such a big hit for enterprises.  There also was a neat discussion on how Nuxeo can do both centralization (bring documents into itself) and management of meta-data (like the locations and “tags” related to scattered documentation).  Really neat.

Session 2 – Ubuntu Moblin & Netbook Remixes

Jorge Castro from Canonical of Ubuntu community fame presented the Ubuntu Moblin and Netbook Remixes.  As with any live demo, the demo technology co-operated with Jorge like any demoed technology or self-conscious prima donna.  Still the Ubuntu Moblin Remix looks gorgeous.  It sports a nice, simple, elegant and understandable user interface.  However this remix qualifies as a tech preview more than something to hit the mass consumer.  Still I think people will be impressed when they change over from Windows to something like Moblin.  It looks a far bit of effort was put into making refactoring the UIs to fit a smaller, wider screen.  The Netbook Remix looks great too, and if you are reading this and running Ubuntu 9.10… switch over to the Netbook UI, you’ll love it even on your main system.

Lunch Chat 1 – Free Software and Its Impact on the Future of the Software Industry

I skipped out on the last session of the morning to pester Brad Kuhn with a few questions.  It started with an innocent question about his opinion about certain companies planning on moving from the GPL to the Apache licenses.  Brad figured out that I had read one of Matt Asay’s blogs on the topic, and went on a mini-rant.  Apparently Matt is one of Brad’s “nemesis” (not that they don’t get along rather their views on software freedom are quite different).  Brad envisions a future where software stops being a “big box” industry of packaged software products to more of a lawyery/consultancy profession.  I have to agree with him on that, and I don’t mind such a future being a consultant by trade.  However I did point out the difficulty one runs into with consumer-level products or projects.  Basically how does one sufficiently fund a project like Inkscape?  One way would be to sell a proprietary product, which defeats the purpose of going open source.  Another way would be to offer a service.  The heart of the problem is how to finance a regular development and enhancements (like usability) on a regular basis… and still get someone to pay for it willingly.  It isn’t an easy problem to solve… A problem that I plan on working on in my semi-stealth project… But Brad tried to convince it wasn’t as big of a deal as I think it is.

Lunch Chat 2 – Decoupling User Interfaces from the Application Backends

Feeling now famished for lack of a breakfast, I went out with Scott from the GTALug for pizza.  Scott is into user interface design both on a hardware and software level.  We both agreed that user interfaces should be loosely coupled to their backends.  In enterprise web application design the concept of different views for different users and environments comes to mind.  Scott introduced me to the concept of a framework that allows for completely decoupling the user interface with the underlying application, called Metisse.  It allows for building UIs at runtime using a widget palette or toolkit… brilliant!  That would let developers concentrate on what they are good at: application development and design.  And HCI/usability/graphics designer concentrate on what they are good at: design kick-ass usable user interfaces.

Session 3 – Building Business Applications Using SugarCRM

Right after lunch, I went to a more practical session by John Mertic, a developer at SugarCRM.  The session was naturally about developing applications using SugarCRM.  It looks a very nice application, and CRMs apparently can solve a lot of problems centred around customers.  Even just using SugarCRM to manage a client’s organizational contacts would save a lot of my time at work.  However since I work in Java and not PHP, thats not really an option.  But it looks like a neat application, the latest version SugarCRM 5 being all built in PHP and using the YUI (used to use ExtJS).  There is a vibrant community forge and marketplace around the application.  Neat.  Also neat that John just published an Apress book called: The Definitive Guide to SugarCRM.  See a pattern, yet? 😉

Session 4 – World Domination, Documentation and Ponies

OK, I admit it as a writer masquerading as a software developer,  (Or is it the other way around?) I actually enjoy writing documentation.  Some would even say, I enjoy writing documentation too much.  So I jumped at the opportunity of hear Emma Jane Hogbin talk about world domination through good documentation.  Actually I was disappointed by the lack of talk on world domination.  But there was much talk of ponies… oh and documentation.  I swear I’ve never heard anyone comparing documentation to wearing high heels.  I guess the analogy of it being sexy and painful makes sense.  But then again I’ve never (or do I ever plan to) worn high heels, so I’ll trust the ladies on this one.  Still it was an awesome and enlightening talk.  I’ve never consider all the various audiences (devs, users, marketing) and types of documentation.  I must agree with Emma’s statement, that if you are doing a lot of work documenting how to use your program… maybe reconsidering how the UI is done is in order.  The concept of automating documentation and using an XML source is new to me.  But I will have to look into technologies like pywebdoc, Mallard and DocBook.  Emma went through the Capture, Organize, Translate, Output, Review and Revise cycle, using the Status.net documentation efforts.  (Emma’s project on writing open source documentation.)

Session 5 – The Look at Introducing FLOSS into Education

Karlie Robinson of On-Disk did a talk about her experiences with connecting the OLPC, Fedora and RIT together.

Afternoon Keynote – How Linux is Like Music

The conference wrapped up with Joe ‘Zonker’ Brockmeier‘s afternoon keynote.  Zonker is an incredible speaker, and he also threw plush penguins at the crowd which instantly made the keynote awesome.  Alas I didn’t have any thing worthy to add to the conversation so I didn’t get another plush penguin. 🙁  But I’m getting ahead of myself…  Zonker talked about how we should move away from the tired analogy of choosing operating systems like cars.  Rather he suggested how choice of OSes and Linuxes should be compared to bands and musicians:

  • Fedora -> Frank Zappa
  • SuSE -> The Who
  • Ubuntu -> Duran Duran (Hurrah, I mean huh?!?)
  • Gentoo -> Write your own sungs in your own built studio (Damn right!  Sorry, ecstatic ex-Gentooer here.)

A bit zany, but with a nickname of Zonker… 😛 Ok, I’ll stop teasing.  But he did go into the problem of widespread Linux adoption: better self-marketing, pre-installed PCs (we are getting there slowly), market shift to the cloud and mobile (at least we have that one covered to a degree) and  the in-fighting that the F/OSS community seem to love (welcome to the new face of anarchy and things to come?).

The Pre-After Party

At this point most of the participants went out to either go home or wait out the time for the reception.  Having come alone, I felt like I’d love to mingle at the afterparty but I needed to do something while I waited.  Fortunately, the KDE 4 guys (Troy Unrau, Shawn Starr and Eugene Trounev) were quite welcoming and let me tag along with them.  Troy was pulled into the speaker’s dinner so I didn’t get to talk to him much.  But Shawn, Eugene and I chatted for a bit, grabbed a quick bite to eat at Burger King and came back to chill at the venue.  Shawn works on developing plasma, while Eugene makes graphics for KDE Games.  Actually if you count myself and Troy in, we each represent a different aspect of the KDE  project: Shawn – developers, Eugene – artists, Troy – marketing and myself – the humble user/wannabe contributer.

When Eugene found out about my semi-stealth project, he suggested I should join the KDE Games and look into the Gluon project.  I’m planning on getting involved, once I’ve hacked around with Qt, something I started on recently.

The After Party

The conference wrapped up with a reception sponsored by Google.  Actually I got a good amount of useful swag from Google, and the free booze was much appreciated.  At the reception I got to mingle with the presenters, organizers and participants of the conference.  I got to discuss the finer points of revision control systems (CVS, Subversion and Bazaar) with a Bazaar/Launchpad developer, Aaron Bentley from Canonical.  Also got to watch Brad Kuhn and Jorge Castro get into a heated but amicable debate about Mono, software patents and why Canonical should stop releasing and supporting proprietary software.  And I got to chill and talk about Apache Qpid (a reliable message queueing system, think something like IBM’s MQ) with Redhat’s Rajith Attapattu.

I left the reception really, really late.  And I got home around 2 in the morning, which just goes to show how awesome of a conference OLF2009 was.  After the conference I felt a lot smarter, enlightened and inspired to contribute back to the Linux and libre software community.  I’m almost sure I’ll be at OLF2010 whenever that comes around.

Links to what others had to say about OLF2009:

  • Troy Unrau [http://troy-at-kde.livejournal.com/23041.html]
  • Eugene Trounev [http://my.opera.com/it-s/blog/show.dml/4455292]

The Madness Subsides

I apologize for the silence of in the last few days.  Things really picked up at work, to the point of insanity.  Fortunately yesterday I managed to get the component I was working on out the door.  Still a good amount of overtime was required by the entire team to get our part done.  Hopefully the client will be pleased with my initial contribution.  I’m sure they’ll be satisfied with my latest work as I’m adding the final touches to that component.  Another reason for my silence, is that I’m transitioning to using my cellphone as my main computing platform.  It can feel cramped at times, but the portability is amazing.  I’m sure it will be even better if I get a nicer device like the N900.

Ok, well all I have time for today is a quick update.  I still have a good amount of work ahead of me, and very little time to do it in.

By the way, the new beta release of Kubuntu is A-M-A-Z-I-N-G.  Definitely worth the upgrade.

Crazy Busy

I’m going to have to keep these next upcoming posts short.  I am a bit overwhelmed at the moment, with the sheer amount of things going on at the same time.  I still want to try to keep going forward on the projects already in progress.  But I will not add anything new to my plate for the next few weeks.  I’m seriously planning a trip to Europe this year.  Planning this trip will take quite some effort.  Still a short update is in order.

I got meet up my university friend Rob yesterday.  Have not talked to him in ages.  I did spend a long time with him.  But it was great to talk to him again, and I needed someone in a similar position to my own to bounce ideas off of.

I started to compile some notes for my novel.  I wrote down most of the background of the novel.  Now I plan on completing my notes and sketching out the plot.  Then the serious work writing can begin.  As for programming, I’m working on a PHP powered website for justCheckers.  Also I am slowly reading through a book on coding C++ and Qt, along with a silly application I plan on writing to learn the Qt framework.

Kicking Tires

This week, I’ve started working on my delayed projects again.  I feel exhausted from the week.  But I also can not wait to play around with my projects.

Learning Qt

I’ve always admired the KDE and Qt developers.  They make some of the most innovative and interesting technology in the consumer-desktop-mobile land.  I’ve decided to pick up learning Qt and C++.  So far I’ve read the beginning of C++ GUI Programming with Qt 4 (1st ed).  I need to play around with C++, which I plan on doing it while using Qt Creator.  One of my first major Qt experiments might be getting the TEA text editor working on my Nokia 5800 XpressMusic.  I know that Nokia just released the tech preview  of Qt 4 for S60 devices.  But I’ll give it a shot.  Hopefully the GUI will port over nicely.

Completing justCheckers

Yes, the project that I left for dead still lives.  I want to work on it, as portfolio material.  I first plan on building a website in PHP (or maybe JSP?) that renders beautiful CSS and XHTML.  And then I need to give the project much love.  But I owe it to myself to finish this application.  I won’t build any crazy game servers.  But I want to make something totally configurable and fun.  And in the process I want to create something that proves that I am a strong Java developer.

Writing A Collection of Shards

I am going back to writing.  Unfortunately I need to start almost from scratch, since many of my written sections simply will not work.  The ideas are there.  I just need to get them down on paper.

Driving License

This one is the ultimate in the tire kicking sense.  I plan on getting my driver’s license really soon.  Aside from parking, I feel comfortable driving.  Once I figure out all this parking stuff, then I’ll be ready.  I’m exciting since this will give me a lot more mobility and flexiblity.  I’ll be able to solve a lot of problems and have even more time to do things in the day.  And I’ll be able to sleep and live in normal time periods.

Kubuntu Dev Tips?

Decided that I want to get more involved with the Kubuntu project. Filling bug reports and answering forum questions is one thing. Being involved with the desktop you will be using is another. Besides I want to get my hands dirty in some KDE coding. Maybe gleen off a few tricks on how to create an environment where developers, and the community in general contribute.

I am a firm believer that developers should eat their own dog food. So for starters, I am making room to install the new KDE 4 version on Hardy Heron. After that I guess I will try to become a Kubuntu developer. Any tips on how I should get started?

Calendars and TODOs Are Only Useful If You Use Them

You know those commercials for productivity suites/PDAs/etc. where the protagonist wants to go to an event… and then finds out it happened last week. Well that happened to me today. Just going through my “TODO” list, and wanting to check out when that expected event was gonna happen. And it already did.

The moral of the story, if you don’t want to look silly, check your todo list on a regular basis. And use a calendar. Sigh.

On a better note, KDE 4.0.1 came out yesterday. Upgraded today, works like a charm. Applications don’t crash and burn so far. But HAL is still kinda wierd. And not everything integrates as smoothly as one would expect of a Kubuntu release. I guess I will just have to wait until the Kubuntu 8.04 release. Just a few more days.

KDE & Linux: An Explanation for the Uninitiated

One of my friends after reading my last blog piece commented: “English please.”

So here is the English summary translation of my last blog post:

The short explanation would be:
I occasionally review new Linux software. KDE is a window manager for Linux. And the new KDE4 rocks my world!

Long explanation without too much techno-babble:
Linux is an alternative to Windows for computers. Now KDE is a window manager for Linux. A window manager handles the drawing of windows, various widgets, keyboard input, mouse input, etc. (Yes, KDE/Gnome users I know that window managers often do more than that.) Basically all the things you see (and hear) on a computer, are all handled (for the most part) by a window manager.

The KDE developers also make a number of additional programs (file browser, web browser, IM client, office suite, image viewers) that work closely with the basic KDE system programs. In the new KDE 4, the KDE developers basically rewrote most of KDE, letting them experiment with new and interesting ideas.

Now, you are probably thinking so what? Well unlike Windows or Mac OSX, Linux is free. KDE is also free. Free as in speech.

You see Linux, KDE and hundreds of other such programs are open source software or software libre. Software libre is a movement to give back freedom to both computer users and developers. (For the most part I use the terms free software, open source and software libre interchangeably. My apologies to RMS & the FSF for continuing the confusion.)

Open source software is licensed in such a way that you can download it legally, run it, look at the source code, whatever you want to do with it. The only restriction is that if you change the source code and plan on releasing it, you have to release your modified source code under the same license. (Extreme simplification here since I am talking only about the GNU General Public License version 2 or GPL 2. But nothing written as a binding legal document is simple. Fortunately GPL 2 is the most popular open source license.)

Now most people think that nothing of value is free. You might think no one would want to work on something that is free. Except there are probably a few hundred thousand open source developers including myself out there. Except that Fortune 500 companies such like IBM, Sun Microsystems, Adobe, Asus, Google, Dell, Sony, etc. often run their business on open source software, and pay developers to contribute back to open source software projects like Linux.

Case in point: Yesterday, Sun Microsystems bought out MySQL AB, a company that produces free open source and extremely popular database for $1 billion USD. Google, Yahoo, Facebook all use MySQL as their database platform.

Back to my last story, the new KDE 4 is cool. Cool because its open source. Cool because its beautiful to look at. Cool because it works. Mostly. Cool because it will only get better.

So I hope that explains why I get excited about things like KDE 4.

KDE 4: My Desktop Just Got Cooler

Tuesday, I decided to make the plunge and try out KDE 4.0.0 One word: amazing. So ever is my quick and unscientific review of KDE 4.0.0

Artwork
KDE 4 is a very sexy looking desktop. The panel is darker, the default wallpapers classier and artwork much more modern. The icon and widget theme Oxygen and the effects make the desktop stunningly pretty. The Oxygen window decorations don’t add much. I ended up switching to the Plastik. Also the artwork for the new KDE 4 games is simply beautiful.

Naturally artwork is a very subjective thing, but it does help with the user experience. If a user wants to look at a program, then he/she might want to work and experiment with it too. So far I am impressed by the Oxygen art team’s progress.

Stability

Older KDE 3 applications also work well. So the new KDE libraries are as stable as the KDE developers claim them to be. Unfortunately not all the KDE 4 programs are stable. I encountered a number of crashes with the new Plasma-able version of superkaramba. Other KDE 4 applications can seem a bit unstable at times too. Also interoperability between KDE 3 and KDE 4 applications is a bit weak too. The most stable apps so far the one related to systemsettings and the KDE games.

Again, since KDE 4.0.0. is a release directed towards developers and early adopters, I am not going to complain about this. I am sure other windows managers were less stable after such a massive API change. Things should get better with the next release of KDE 4. Probably by the time Kubuntu 8.04 Hardy Heron will be out, most of these bugs will be out of the way. Remember KDE 4.0.0 is just the first version in KDE 4’s lifecycle.

Integration
One thing I love and hate about KDE is the tight integration between KDE apps. As of KDE 4.0.0 many of the integration pieces are missing. I will not harp upon my two favourite KDE applications, amarok & kontact (part of KDE-PIM). In both cases, the developers are not ready to get the code in place to deal with the new APIs, and the new features they want to add. A straight port to the new kdelibs is one thing. A new release worthy of the KDE 4 title is another.

However some necessary parts of the KDE integrated experience are not there. Example: the Regional/Language settings work… barely. Also the new kickoff menu does not always find new non-KDE programs, something the old menu did. (That might be more of a Kubuntu/Ubuntu integration issue though). Plasma whose ultimate goal is to integrate the desktop, kicker and applets with the rest of the system, has a long way to go.

…And Everything Else!
To finish off this off-the-cuff review, I want to point a few other things I noticed.

The new kickoff menu takes some getting used to. At first I frowned upon the limited space this new menu system takes up. After a few uses, it grew on me. The Favorites and Computer parts let you quickly get to a favourite application or location. The Recently Used keeps track of your recent documents and applications used. Everything is nicely compartmentalized. The regular applications menu is the part that takes use to the most. Displaying only one menu at a time gives a lot more information about each application. Only problem is when there a large number of applications in a submenu. If the KDE developers come up with a natural way of categorizing applications and keep the maximum depth of submenus to 2 then its all good. Also please, please make it possible to scroll between menus without all that clicking.

The new okular document viewer is awesome. With all the backends in place, it really does become the universal text document viewer. Excellent work. Also KDE 4.0.0 sports a new revision of the gwenview image viewing program. A few more plugins to do slight photo-editing would be nice. But I guess thats what digikam is for. Dolphin also got an update in KDE 4.0.0. Dolphin’s breadcrumb file displayer is now easily editable to let you navigate the file system path. I found this very useful to enter hidden directories without displaying all the . files.

The new konqueror is now an actually usable web browser. Kopete for KDE 4 is nice, but I miss having easy one-click access to my accounts. Now I have to click twice to do the same thing because of the whole profiles thing. KGet also shows promise to be more useful than it once was, with bittorrent integration.

Wrapping up, KDE 4.0.0 brings a lot to the table. Its a sexy-looking desktop with a lot of potential. Once all of the KDE applications get fully ported, and the few nuisances straightened out, KDE 4 will be the most fun free desktop out there. For now KDE 4.0.0 just made my desktop look and feel a lot cooler.