Ted Leung on the air: Open Source, Java, Python, and ...
I've been following the switch off the Mac conversations involving Mark Pilgrim, Tim Bray, John Gruber, and others. The major theme is around being data portability / lock-in, with open source applications being a minor theme. Like Mark, I've been through the data locked in proprietary application jail, both on the Mac and Windows. I don't like it, it doesn't taste good, and it's a real problem.
The thing that's bothered me as I've been reading is the focus on the data lock-in problem as the only problem. I expect my computer to help me work better and faster, and for that I need good applications, and some of the applications are one of a kind or in a category for which there are no standardized data formats. I'm just not going to stop using those apps and start managing that data as text files in Emacs. Sometimes in order to support the application, you need a richer file format. I don't think that is evil. But I agree that for common data types, Linux is ahead here.
I've been using Ubuntu since early 2005, and I've used Debian for many more years prior to that. When my Powerbook was stolen earlier this year, I switched to using Ubuntu as my desktop productivity environment (I was already using it as my primary development environment -- the Ubuntu box was the fastest in the house, at least until the Core Duo machines showed up). As I wrote previously, I just couldn't stomach it. I had access to most of my critical data, but I felt that I was significantly less productive on the Ubuntu box. Part of that was because I didn't attempt to port some of my productivity infrastructure to Ubuntu, but part of it was also the lack of applications and application integration infrastructure. I'm not averse to switching platforms. I went from Apple II to IBM PC to Classic Mac to Windows NT (while I was working at Apple, no less) and most recently to Mac OS X. I am averse to taking a major productivity hit, which is what happened for the months that I was on Ubuntu.
The fact that the operating system and (almost) all the apps that I was using on Ubuntu were open source didn't really make much of a difference. The last thing that I want to do when I am pressed for time is fix problems with my desktop apps, especially when there are superior alternatives. In theory, I would prefer my desktop apps to be open source, but unless I get really annoyed, it's unlikely that I am personally going to fix any problems with those apps. Many of the problems that I have with apps are issues that affect a minority of users, and for that reason, Apple, or any large vendor would prioritize those bugs way down. It's the same issue with long standing bugs with the JDK which Sun prioritizes way down. In either case, open sourcing the software would allow people outside the vendors to address the bugs. My experience on the Mac is that my problems getting bugs fixed is a large vendor problem. I use a lot of applications that are written by small independent developers or software houses. In general, I've found these developers to be as responsive or in some cases (Brent Simmons) more responsive than your typical open source project. It also is conveniently the case that the small developers are the more innovative ones. No, the apps aren't open source, but I get some (not all) of the benefits that I get from open source software.
What would it take to get me to switch to Linux/Ubuntu?
Fix the fonts - I run my monitors at microscopic. I was literally getting headaches from trying to use Ubuntu at the same resolutions.
I work on a laptop, with an external display. Undocking from the external display is a pain because all the windows move into stupid places. Same thing happens when I hook back up. Make the machine do something intelligent when this sort of thing happens. (No, OS X doesn't do this - but you're trying to get me to switch, right?)
Give me application integration/extension capability. Give me scriptable applications. Unix has plenty of scripting languages, but it has very few applications whose internal functionality can be accessed via those languages. I create custom workflows by using AppleScript and/or python to glue together GUI and command line applications to get the job done. This scripting capability allows me to use any application as a platform for developing my own custom applications using scripting. Also, OS X has services which can integrate into any application that uses the Cocoa frameworks. This means any Cocoa application can spell check or summarize text or look up the selection in the dictionary.
Color management. I never cared about this until I got serious about photography. Now I care about it a lot.
A system wide notification manager like Growl (I suspect this might already be in there). Make sure that those scripts can use it.
Working bluetooth synchronization between my phone and apps. When I can sync my address book and calendar to my phone and someone has written Sailing Clicker for Linux, you're done.
Lastly, give me good apps:
- Quicksilver - it works so well because apps are scriptable
- Aperture or Lightroom
- Equivalents to Mail Act-On!, MailTags - or a just plain better mail reader
- Good outlining and mindmapping
- An RSS Aggregator which provides a river of news style UI and can sync to a web based aggregator as well
- Ecto (none of the blog clients worked out of the box with pyblosxom) - integrated with the newsreader, so I can respond fast
- Rich del.icio.us client - integrated with the newsreader - so I can slam stuff into del.icio.us without messing up my browser state
- An IRC client with Snak style window/pane management
- Proxi - a good UI for taking actions based on system/hardware events
- Spell check in system supplied text fields
- A personal finance application that talks to banks and brokerages
- A small business accounting program that talks to the IRS directly
- Video IM
- Decent speech synthesis
* Growl -> KNotify -- almost all KDE apps use it. It's highly configurable, and scriptable - http://lukeplant.me.uk/articles.php?id=3
* QuickSilver - no direct equivalent I know of, but some people like Katapult, and you can use dcop to script most KDE apps (but probably not as easily as the things I hear about QuickSilver).
* Spell check in most text boxes in system apps and other KDE apps (not all, but every time I've wanted spell check it's been there - just right click)
KMail is also a great mail client -- feature full and it has dcop interfaces for scripting too.
As for other apps, I do know there are lots of apps available in many of the categories above (outlining, RSS, blogging, IRC, finance) - kde-apps.org is the place to look, if it's not in core KDE, or ubuntu 'universe' and 'multiverse' repositories, or freshmeat.
I mention these in case you have only tried Ubuntu with GNOME (as would appear from your post above). I have always found GNOME pretty disappointing when it comes to apps, and when it comes to a nicely integrated and powerful desktop. There is lots more I could mention about how great KDE is (network transparency via kio-slaves etc),
but I won't bore you. To try it out from a Ubuntu box, 'sudo apt-get install kubuntu-desktop' is literally all you need to do.
Posted by Luke Plant at Tue Jun 27 06:44:05 2006
Posted by Todd Blanchard at Tue Jun 27 11:23:03 2006
I sure hope they change their mind
Posted by Steve Freeman at Thu Jun 29 15:15:49 2006
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk