Tuesday, May 25, 2010

Track the Desktop and UNE in Maverick


Ubuntu development happens in a very transparent manner. I won't cover the lead up and execution of UDS here, but I will discuss what happens after UDS for maverick.

First, you should know where we are in the schedule. The schedule is always available.

At UDS discussions center around blueprints. After UDS, the Ubuntu developers take the set of blueprints that they are committed to working on, and they break down the blueprint into "work items". A work item is roughly one half to two days of work that is a required step to accomplish the blueprint.

Work items are then mapped to a milestone, or work item iteration. Note that the Ubuntu developers only commit to workng on work items for the current work item iteration! The current work item iteration maps to Alpha 2. So you can see the work items that the desktop team is committed to working on on our Alpha 2 tracking page.

If you want to explore the whole release, you can see the landing page for all of Maverick.

But remember that work items that are not slotted to Alpha 2 are not committed to yet!

So, what exactly is the Desktop Team planning for Maverick? Here are some highlights.

Software Center
The software center will get many UI improvments. However, the biggie is that we are going to figure out how enable application developers to target the current stable release for new apps! This means new apps that don't modify the underling Ubuntu platform and libraries will be made available in software-center even if the app was written after that version of Ubuntu released. See the blueprint here.


Gnome Changes
We always decide at UDS what to take from new Gnome and how. We are very excited about Gnome 3.0, but due to tight release schedules, we are going to be cautious about Gnome 3.0 for Maverick. We will update to the current platform, and we will deliver gsettings and latest versions of apps as appropriate. As usual, we will make gnome-shell available to users who choose to use it. See the blueprint here.

Browsers and Apps
We're going to try for Chromium by default in UNE, though we are sticking with Mozilla as the default in the Desktop Edition.

We are also changing to Shotwell as the default image library application.

xorg-xserver
Interesting decision here is to hold off on promise of 3D support for -intel 8xx series graphics. If the -intel driver is not providing sufficient stabiliy we may support those chips with Vesa, and perhaps deliver an older intel driver for community support for those 8xx users who want to give it a go.

Social From the Start
We'll work on gwibber start up time and robustness, but also work bake more integration of social services into the desktop.

Everything Else
Of course, we'll be working to integrate the latest and greatest from all of our upstream projects, fix bugs as fast as possible, and generally do all the awesome stuff Ubuntu Desktop developers do everyday.

Monday, May 17, 2010

PyTask, written with Quickly and Quickly Widgets


On Saturday I received an email from a developer name Ryan. He was using Quickly and Quickly Widgets to create a task list application. CouchGrid seemed to suit, but due to the fact that there are no documents for it, he naturally had some questions about how to proceed. His project is called PyTask, and so far, I like it. It's a very simple set up, and just works in terms of data persistence and syncing across desktops.

Looking at the App, it was clear that there were a few more features that DictionaryGrid needs to really rock, though:
  1. It needs a DateColumn to handle the "due" column. Users would want to set this with a gtk.Calendar widget.
  2. It needs a ComboColumn to handle the "priority" column. Users would want to pick from a list of valid predefined priority values rather than free input text. This will be interesting to create a nice API for. I suppose application developers will want to pass in just a list of strings to the column. I think this is doable, but may take some refactoring as currently there is no intuitive way to get a hold of a column and set a property on it.
  3. Both of these will require new GridFilter functionality. In fact, I have been waiting for a reason to refactor this part of Quickly Widgets, as the GridFilterRows are hard coded to use specific widgets, and this should be flexible.

Anyway, as it is, I am using PyTask, I hope Ryan get's it into a PPA soon. I like the simplicity. Ryan and I are currently collaborating on creating the new functionality in DictionaryGrid that PyTask needs. Open Source FTW!