LinuxDevCenter.com

oreilly.comSafari Books Online.Conferences.
Sign In/My Account | View Cart   

We've expanded our Linux news coverage and improved our search! Search for all things Linux across O'Reilly!

Search
Search Tips

advertisement

O'Reilly Editors Debate "Havoc Pennington rant at Sun's strange strategy"

   Print.Print
Email.Email weblog link
Discuss.Discuss
Blog this.Blog this

Tim O'Reilly
Mar. 08, 2004 02:06 PM
Permalink

Atom feed for this author. RSS 1.0 feed for this author. RSS 2.0 feed for this author.

I recently decided to use my blog to share interesting tidbits from the O'Reilly internal editors list -- especially debates that I'd love to get customers to comment on. Here's a recent exchange between Edd Dumbill, the editor of xml.com, and a gnome/dashboard hacker, and Mike Loukides, our senior Java editor.

Edd forwarded a pointer to "Havoc Pennington's rant on Sun's strange strategy". Edd quoted from Havoc's blog:

Maybe everyone but me already saw this, but Sun rewrites Evolution in Java Swing. Yay, an "open source" mail/calendar client with a dependency on a proprietary JDK. Yay, let's rewrite a couple million lines of code and fragment the Linux desktop platform; clearly the way to beat Microsoft.

In other news, increasing dependencies on the proprietary JDK in OO.org, which forces the codebase shipped by Red Hat, Debian, and other companies who won't rely on a JDK license from Sun to diverge more and more from the mainline. Not to mention the StarOffice vs. OpenOffice.org delta.

Let's not talk about forking the Window system on a fundamental level - I'm curious how they plan to use this, because GTK+ and GNOME sure as hell aren't taking patches to use a proprietary window system. Oh, rewrite everything in Swing! ;-) Or fork the GTK+ API?

Of course, this is probably good for everyone else; Sun has to fund proprietary-size development teams while everyone else benefits from the open source model. Sun JDS - your nonstandard proprietary desktop solution. Buy it today.

Mike Loukides responded:
Oh, come on.

Write your apps in Swing, and they can run on Windows and OS X. It's true. With hardly any debugging, if at all, and certainly no platform-specific code. Too many people believed the Microsoft FUD. I've got a fairly complex GUI app that runs perfectly, without even bothering to debug, on Linux, all versions of Windows, OS X, and Solaris. And probably more OS, if I had them. People tend to forget that Linux is NOT the center of the world, and isn't likely to be the center of the world.

I wouldn't mind seeing Evolution run on my Windows machines. Or on OS X (yeah, you can run it under X, but that's really a step backwards.)

Tim O'Reilly is the founder and CEO of O'Reilly Media, Inc., thought by many to be the best computer book publisher in the world, and an activist for open standards. O'Reilly Media also publishes online through the O'Reilly Network and hosts conferences on technology topics, including the O'Reilly Open Source Convention, the O'Reilly Emerging Technology Conference, and the Web 2.0 Conference. Tim's blog, the O'Reilly Radar "watches the alpha geeks" to determine emerging technology trends, and serves as a platform for advocacy about issues of importance to the technical community. For everything Tim, see tim.oreilly.com.

So what do you think? Are you with Edd and Havoc or Mike?
You must be logged in to the O'Reilly Network to post a comment.
Post Comment
Full Threads Oldest First

Showing messages 1 through 5 of 5.

  • Standards and Desktop Linux
    2004-03-09 09:40:21  meik.langwald [Reply | View]

    I think, there's one major flaw in Havoc's opinion: there is no standard Linux desktop.

    Most distributions provide their users with a whole set of alternatives, from the basic desktop environments to the full chain of tools and applications, usually not very well integrated.

    JDS and Ximian Desktop (XD2) are the only two alternatives I know, that try to concentrate on one chain of tools, and integrate them tightly.

    Such diversity and choise have always been important priciples for the free/open source software community, but commercial companies have a different focus on this. They want one standardised, integrated environment and not a loose set of tools. (They even want to lock down their employees desktops, a worst case for many OSS folks.) Companies also want reliable and predictable support, and they are willing to pay for all that.

    So providing a tightly integrated desktop for companies looks like a good opportunity to earn money with Open Source Software.
    And both JDS and XD2 are available as commercial products with support.

    With these financial interests in mind, it becomes much less surprising, when Sun and Ximian get arguing about some parts of their standard desktop.

    From what I've heard, a major problem seems to be connectivity to Evolution, and Ximian being unwilling or unable(?) to support their Exchange connector on JDS. Even if both companies use the same sources, the binary-only Exchange connector is not compatible with JDS's evolution.

    So it makes sense from Sun's point of view not to rely on Ximian, but to write their own product.

    Besides those political reasons, I don't know many people which really like Evolution and prefer it over all the other alternatives. Most see it - as I do - as a bloated and unstable piece of software. I prefer Mozilla Mail+Calendar and even a Java calendar client could be the better alternative to Evolution for me.

    So if Havoc complains about Evolution not getting the most popular tool for it's purpose, he probably can't do anything about the Sun/Ximian issue. But he can listen carefully to all the people's arguments against Evolution and try to fix that.

  • Havoc's definitely correct
    2004-03-08 18:03:16  elanthis [Reply | View]

    First off, it has less to do with the app being in Swing than the fact that there are two apps. We don't need two different apps. Nobody wants two different apps. Third party support technicians and plugin vendors don't want to deal with two apps. Etc. It's needless duplication of technology not only on the UI side (GTK vs Swing), but the extension API and entire user experience.

    Second, on the face of Swing being portable, that's really quite worthless to anyone but "rapid" UI developers. Users *hate* multi-platform UIs, because they invariably look, feel, and act foreign. Your Swing app may be a great Windows app, but the behaviour of widgets, design choices, layouts, etc will be totally alien on GNOME or OS X. It results in an app that feels like a giant hairy wart on otherwise excellently consistent and well designed platforms. We don't even need to mention the lack of integration with platform specific technologies like the VFS layer, file formatting (extensions on Windows/Linux vs attributes on OS X) and so on.

    If you want a *proper* cross platform app, the real solution is to take a solution like Abiword's. Abstract the GUI from the app, and then write platform specific versions for Windows, GNOME (Java-GNOME bindings), and Cocoa. You can even include a Swing front-end for those "other" platforms. This way, each front-end can look, act, and feel correct for the platform they're running on, versus copying OpenOffice's or Mozilla's mistakes where the app either only feels right on one platform (OpenOffice/Windows) or feels like an odd-ball on ll platforms (Mozilla).
    • Daniel H. Steinberg photo Updating Swing biases
      2004-03-09 08:59:18  Daniel H. Steinberg [Reply | View]

      I must disagree strongly with your second point that "on the face of Swing being portable, that's really quite worthless to anyone but "rapid" UI developers. Users *hate* multi-platform UIs, because they invariably look, feel, and act foreign. Your Swing app may be a great Windows app, but the behaviour of widgets, design choices, layouts, etc will be totally alien on GNOME or OS X. It results in an app that feels like a giant hairy wart on otherwise excellently consistent and well designed platforms."

      This need not be the case at all. You can easily customize your Swing app to behave like a nearly native application. For example, on Mac OS X the menu bar can appear in the appropriate place at the top of the screen while remaining at the top of the document window. You can create your UI in such a way that the menu item is "Quit" on a Mac and "Exit" on Windows with the expected accelerator keys set correctly for each platform. You can interact with native libraries and widgets. You can have the installation experience be correct on both platforms.

      Of course, there are still issues that need resolving, but it is a shame to see these early views of Swing persist. We've come quite a ways since the early days of "Swing is slow" or "Swing is ugly". I've written articles on this for O'Reilly's MacDevcenter and for java.sun.com and Joshua Marinacci has, more recently, written a nice series on making your Swing apps feel more native for java.net. The point is that you can write a single codebase that runs nicely on many platforms but that you will have to add code that addresses the needs of these platforms.

      Daniel Steinberg, editor
      ONJava.com and java.net

      • Mike Loukides photo Updating Swing biases
        2004-03-10 07:38:05  Mike Loukides [Reply | View]

        I agree with Dan (mostly), and I think that Edd is missing several points.


        First, I really don't think users care a whole lot about consistency. Look at Linux applications; you have loads of different looks and feels all over the place, with no consistency at all. What I care about, as someone who uses Linux, OS X, Windows, and others, is that the same applications be available everywhere, and work the same way on every platform.


        But I think there are some bigger cultural points. Did anyone in the Java community cry "foul" when Perl developers decided to clone the Lucene search engine? Did anyone cry foul when Ant and JUnit were re-implemented in any number of different languages?


        Sun is rightly criticized for wanting the appearance of open source, but not the substance. But the same thing is going on here. If the developers of Evolution didn't want other people to see the source code, they shouldn't have released it. If they didn't want other people to reimplement it, they should have patented the ideas and copyrighted the user interface. Of course, that's anathema to the open source community, and rightly so. But if you're going to be in the open source community, you've got to live with the consequences.


        There's certainly an element in the Linux community that likes to consider itself "open source", but only if the right people are playing in the sandbox. Unfortunately, that's a recipe for failure. And if Linux is going to succeed as a desktop OS, it's got to get beyond that.


        Mike Loukides
        Editor, O'Reilly

    • Havoc's definitely correct
      2004-03-09 02:14:40  khakipuce [Reply | View]

      Whilst I agree in part about the look and feel issues (although swing offers 3 different look and feels which are dynamically selectable to address some of the objections), I suspect this is part of a strategy to complete open office with a decent groupware type app.


      That said they may be better off doing a deal with IBM to open up Lotus Notes for this purpose.


Showing messages 1 through 5 of 5.

Return to weblogs.oreilly.com.



Weblog authors are solely responsible for the content and accuracy of their weblogs, including opinions they express, and O'Reilly Media, Inc., disclaims any and all liabililty for that content, its accuracy, and opinions it may contain.

Creative Commons License This work is licensed under a Creative Commons License.



Advertisement

Sponsored by:

O'Reilly Media
© 2008, O'Reilly Media, Inc.
(707) 827-7000 / (800) 998-9938
All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.
About O'Reilly
Privacy Policy
Contacts
Customer Service
Authors
Press Room
Jobs
User Groups
Academic Solutions
Newsletters
Writing for O'Reilly
RSS Feeds
Other O'Reilly Sites
O'Reilly Radar
Ignite
Tools of Change for Publishing
Digital Media
Inside iPhone
O'Reilly FYI
makezine.com
craftzine.com
hackszine.com
perl.com
xml.com
Sponsored Sites
Inside Aperture
Inside Lightroom
Inside Port 25
InsideRIA
java.net