ARTICLE: Portland Project



As promised here is my article regarding the Portland Project.  Waldo
and I discussed this over a cup of coffee on Friday.  Waldo, please let
me know if I've been accurate in my description of the portland
project.  

If the rest of you can edit this (John?)  that would be great!  I would
have finished it on Friday but it took some amount of time to come up
with a decent style and content.

Thanks!

sri

-- 
Sri Ramkrishna <sri aracnet com>
                    The Portland Project 

I had the opportunity to spend a little time with Waldo Bastian, over a cup of coffee on the project he's leading the effort on called Portland Project.  The Portland Project has recently been in the news thanks to an OSDL press release and coverage at major Internet sites.  Waldo in addition to being one of KDE's chief architects works for OSDL (Open Source Development Labs) to bring Linux to the mainstream. 

Waldo's introduction to the project actually starts with 10x10, Jeff Waugh's rallying promise at GUADEC 2005 (GNOME User and Developer European Conference) a vision that Waldo agrees with and wants to see accomplished.  The fundamental question Waldo asks is "How do we get there?"  To do that Waldo believes that one of the things we need to look at identifiable usage models.

The usage models today can be broken down to categories.  Two types have been office and advanced office models.  Office models is your typical corporate user who needs calendaring, email, word processing and so forth.  There is then this notion of the advanced office user, who in addition to the office users need at least one other application that is unique to the job they are doing.  For instance, a dental office may require specialized software to track patient records.  

The other side of coin is the idea of application availability which plays a role in corporate and enterprise as well as home users.  It's not good enough to have a TurboTax like software if you can't keep it updated to keep up with existing tax laws in the country and locality you live in.  Free and Open Source software have historically been poor in positioning themselves to meet those deadlines due to the fact that they have only finite resources.  Unless, there is a company behind the project that is willing to keep tax software updated it's unlikely it'll be accomplished successfully year after year.

Waldo makes the argument that Linux needs to be able to address application availability and to support usage models like advanced office in order to make Linux a viable desktop alternative.  Lack of such applications is a deterrent to acceptance.  We have  interesting situations where when you meet with hardware and software vendors they acknowledge that Linux is a great platform and they would love to support it but there are not enough sales to justify investing a lot of money on it.  A classic chicken and egg problem!

In order to break out of this situation we need to think about Market Segment Share (MSS).  We need to present Linux as a single unified platform not as a diverse eco-system forcing ISV's to look at the various parts.  Vendors should not look at KDE or GNOME, but at the "Linux Desktop".  When we present Linux as a single platform we are creating a Market Segment Share that is measurable.  When we show a large percentage of MSS we have something to drive both hardware and software vendors to support Linux.  We should fight segmentation in Linux distributions and the desktop environments.  Creating strong standards is a key strategy to encourage third party software investment.  

I mentioned the fact that ISV's seem to have the most trouble with packaging since we don't have a package format that transcends all distributions.  Waldo acknowledges that standards in packaging is lacking and mentions that the Desktop Architects conference meeting in Frankfurt, Germany will be talking about issues like these.  The idea is to make recommendations to distributions to improve their products including packaging.

Waldo shifts his focus to a problem all of us are familiar with.  Which desktop should we develop for?  ISVs have the perception that if they have to write an application that they need to choose between one desktop environment over the other.  While there is a bit of truth to that, the reality is that 90% of the functionality an application requires comes from the X server.   5% of the desktop environment is window manager specific and we have to deal with the 5% that is the difference between the desktops.  Good examples are email programs, web browsers, or writing an application that runs as the root user.  Both GNOME and KDE provide the same functionality; the only difference is presentation and functionality.  Waldo asks "Can we define an interface that glosses over the difference and provide one interface and let you access those differences at one entry point?"

This is the basis of the Portland Project.  To provide a stable set of interface that ISVs can develop against that will work under any desktop environment.  

Waldo points out that Project Portland is not a widget set.  There are plenty of widget sets out there and we have the ability to use theme engines to be able to make them all look the  same visually.  Differences, like button ordering and dialog boxes can and willbe addressed by being able to apply policy across all applications regardless of toolkit used.

Project Portland will provide the interface and also reference materials for developers.  Application developers can use these interfaces to develop for both KDE and GNOME.  Linux developers will have the freedom to change how the interfaces are implemented in order to add more value to those interfaces.  For instance, if your application needs to use root access but the current implementation does not provide for a root dialog box, you're free to implement one for your platform.  The Portland Project wants to give as much flexibility in how Linux developers implement the interfaces.  At the same time, the interfaces need to be stable so that it can be relied upon.  Additionally, these interface can take advantage of other parts of Linux like SELinux allowing greater integration.

Some issues that Portland Project have been working on are default applications.  ISV's would like to have a way to register their applications to handle file types they support.  This feature can be open to abuse as we've seen with Windows.  But by directing applications to a single interface we can explicitly control that interface.  We also need to be aware that we should handle future problems like root kits and viruses.  If you're data is compromised or deleted it doesn't matter whether your OS is protected as you've lost your data.  We still need to be able to deal with these issues now before they become widespread.  With existing security systems in place like SELinux we can integrate them at a single point and be able to assert control over it.  When an application violates a security policy it will not have permission to do so.

Autostart is another vulnerability that needs to be addressed.  Malware can abuse this feature by inserting itself into the login process.  We need to be able to contain these problems through these interfaces.

The end state is that we move all kinds of functionality out of the individual tool-kits and instead move it towards the Linux platform by encouraging ISVs to using a standard set of interfaces.  By doing so we make room for all kinds of innovation across the Linux platform space instead of GNOME, KDE or other parts of the desktop.

As we finished our cups of coffee, and our conversation.  I had some time to reflect on what Waldo was trying to tell the desktop community.  We need to stop looking at our individual areas and see the Linux desktop as a whole.  The idea of MSS is a strategic way of getting ourselves out of the catch-22 we find ourselves with vendors and make real progress towards the Linux desktop as a dominant platform for ISVs.

Project Portland is only one of several projects that work towards building the Linux platform.  The other significant effort is the Desktop Architect meetings that seek to form standards in packaging, distributions and desktop technology.  Project Portland will work with popular desktop environments like GNOME and KDE to enhance it's interfaces in order to support the needs of ISVs around the world.

I'd like to thank Waldo Bastian for taking the time to talk to the GNOME community about Project Portland and his vision for the Linux platform.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]