News

It's nice that you've revamped Gmail's UI. The redesign is slick and addresses several of my complaints about the way things used to work. It seems snappier too.

However, it'd be nice if all of this didn't come at the expense of reliability. I use Chat in Gmail an awful lot, even more than I use it for mail, perhaps. In the older version this was as reliable as it could possibly be given the inherent limitations of running inside a browser. If I lost connection, switched my VPN on or off, hibernated and unhibernated my computer, or generally screwed around with stuff, it never seemed to miss a beat.

In the new UI, what I've encountered so far:

It NEVER recovers after hibernate. Anything I type or receive after hibernating is invisible to me until I reload Gmail from scratch.

Frequently I'll get something from a chat as an offline message, twenty minutes or more after it was originally sent. With no indication whatsoever to myself or the person I'm talking to that a message was lost in the first place. And without me ever having gone offline, or appeared so to the other party.

The deal-breaker for me was, in the middle of a conversation, several messages in a row simply disappearing into thin air - as if the person I was talking to hadn't said anything at all. But still showing as present and active through the whole of it.

Thanks for giving me the choice to switch back to the old UI - but it'd be nicer yet if you actually honored my choice! Every time I visit Gmail it switches me back to the new version until I can revert it again.

I really wanted to like the newer version. But you need to make it work right first! And in the meantime, don't keep trying to force my hand. I made the choice to switch back for a reason; do you REALLY think that pushing me forward again every time I load the page is going to do anything but annoy me?

I'd been using Gutsy for a few weeks and continued to have problems with it. My experience was so unlike everything I was reading from other Gutsy users - and there were so few reports of similar bugs that I could find in Ubuntu's bug tracking system - that I started to believe I must have hardware problems. This became all the more plausible when I realized that my CPU fan had stopped working a while back - although replacing it didn't help matters.

Once the crashes started to be consistently several times per day, I decided that this was no longer tolerable and asked my boss if a new computer could be spared. He found one that had been lying around, and today I did a clean Gutsy install on it.

WOW. It's like having a new computer. Exactly like that, in fact :) The computer I had before, I suspect, was very underpowered in the CPU department (Pentium III, although I never found out the speed) and had a Savage graphics card which seems to be entirely unaccelerated. The one I have now is hardly brand-spanking-new but it's definitely a step up - a 64 bit AMD processor and an nvidia graphics card of some sort that's considered "nvidia-legacy". I had some hopes that by installing the proprietary driver (yeah yeah I know :( ) I'd be able to get desktop effects enabled, but apparently not. Still, on the old machine everything from clicking buttons to typing in gmail was sluggish. Long web pages would take forever to load, as if I was on dialup. Now, everything seems to happen immediately, no lag.

So I take back all the criticism I had of Gutsy (although I reserve the right to re-criticize if I discover new issues after using it for more than a few hours :) ). There are a few niggles still - sound doesn't work in rdesktop, no matter what I do. I had to google for a workaround to the fact that installing the proprietary nvidia driver locked me down to 800x600. And we'll see if performance is still good after I get all my music off the old computer's hard drive, because Rhythmbox seemed to be one of the most consistent "machine-killer apps" on the old box. (My quirky choice of gtk theme might not have helped, either. I'll pay $25 for someone to take the old marblegtk GTK1 pixmap theme and turn it into a nicely optimized GTK2 theme, whatever that means[1]. Just getting it to work is easy, but I'm sure it's not ideal for best performance in the GTK2 world).

Anyway. Point is - loving the Gutsy experience now. And getting new hardware is awesome!

[1] I really mean that, but to qualify, you'll have to explain to me what it actually entails so that I can see the difference at a code or .gtkrc level, and understand what's changed and why. Because "hey look, it's faster!" applies to everything on my desktop right now :)

I'm not sure what the psychology behind this is, but it seems to be a fairly common reaction. I noticed it today on MJ Ray's blog where - as far as I can tell - he's upset that the Conservative party, whom he doesn't support, are advocating Co-ops, which he does support. (I know that's an oversimplification of mjr's position, but hopefully it's not an outright misrepresentation of it. UPDATE: Ok, yes, I did have his position wrong - see the comments).

I can only presume that it's the same thing that ensures that every time Microsoft does something pro Open Source / Free Software, there'll be a furious post on Groklaw about it.

Or why people who for years have hated the way the MPAA and RIAA treat their creative talent are now annoyed that the Writers Guild of America is standing up to them, because the WGA is a union and unions are baaaad.

I suspect that the temptation to react this way is similar to the temptation to flip the bozo bit on people. Instead of deciding that the person is an idiot and therefore can't possibly have anything useful to contribute - and so can be ignored - we decide that the person (or group) is evil and anything they do must be outright harmful and must be opposed.

In reality not even a single person is ever completely useless or completely "evil"; everyone will at some point have an idea that's worth considering or an opinion you agree with. And that goes double if there's more than one person involved - any large organization, in particular, will probably have some subgroups that you agree with more often than not. Recognize when you have common ground even with people you normally disagree with. That's a vindication of your ideas, not something to be upset about, surely?

So yesterday I upgraded my main work machine to Gutsy. The upgrade finished just as I was leaving last night so I've spent a limited amount of time using it so far, but enough to form some definite impressions.

The Good

The icons are much nicer. This is especially noticeable in Gaim, which has had a rather radical re-theming. It will take a little getting used to but I already appreciate the improved consistency.

Performance seems better, the display seems less glitchy, and my music (in Rhythmbox) no longer seems to cut out every time I do anything intensive like switch virtual desktops. (My video card driver can't handle the fancy bling though, so I don't have desktop effects).

The Bad

Not related to Gutsy as such but a longstanding pet peeve with the upgrade tool: the estimated download time remaining is based solely on the rate for the last 5 seconds or so of downloading, and this fluctuated for me between 20Kbps and 80Kbps - several times a minute. Would it really be so hard to take into account a rather longer period to get a more realistic estimate? I shouldn't be seeing the time go from 2 hours 30 minutes to just 45 minutes - and back - within a span of 30 seconds.

Also in the upgrade tool - there was a message saying the upgrade couldn't be cancelled once you started it, and then there was a cancel button that remained active during the download phase. I didn't want to cancel, but if I HAD, I'd have been very scared to click that button after being told I couldn't.

My virtual desktops no longer honor the setting that lets me arrange them in more than one row. The setting is still present in the user interface and the value is still saved - but it has no effect on the actual desktops. Since I use Brightside to enable edge-flipping, and frequently flip up and down, that's a BIG usability regression for my setup.

My gdm theme went rather strange. I wasn't using the default, but I was using one of the themes that are installed by default. Those shouldn't break on an upgrade!

I no longer get any kind of visual progress indication during login - just a blank screen until the desktop comes up.

The Ugly

When I arrived this morning my screensaver had activated. Good. And I like the new "leave message" button. HOWEVER, when I typed my password in (perhaps incorrectly), it went to "Checking..." and STAYED THERE. For at least ten minutes. Eventually I Ctrl+Alt+Backspace'd and as expected X died (this isn't exactly a good feature when the screen is supposed to be locked, but helpful in this situation), but it didn't come back up. Ctrl+Alt+F1 to get to a text terminal, login, sudo /etc/init.d/gdm restart ... nothing. In fact the terminal hung and things like Ctrl+C or Ctrl+Z to kill the command were ignored. Ctrl+Alt+F2, login again, sudo shutdown -r now ... same nothing, same hang. Had to hard-reboot. And now I'm rather scared about what happens next time my screensaver activates...

I really hope that at least the virtual desktop issue and the screensaver issue get solved quickly! The improved performance and nicer visuals would make this a nice and worthwhile upgrade for me, but those two issues make it a definite downgrade instead. For now.

(Disclaimer: I'm just observing all this from the sidelines; my opinion is almost entirely derived from Planet Classpath and the Classpath mailing lists. If I'm wrong on some salient point, please comment and let me know!)

I'm very pleased to see that the Classpath project seems to be picking up some of the steam it lost on the announcement of OpenJDK. I have mixed feelings about OpenJDK itself: on the one hand, Sun did exactly the right thing by releasing the JDK under the best possible choice of license as we'd all wanted for years; on the other hand, I've seen at least two blog entries on Planet Classpath in the past week that were variations on "hooray, the trivial patch I submitted to OpenJDK the week it was released has been accepted a mere three months later!"

IcedTea appears to have picked up some of this slack and last I heard had built a mostly-working Java implementation by plugging in Classpath code to fill the holes in OpenJDK. Haven't heard much about it lately though - has development stalled or are people just not blogging about it?

However, part of me feels that IcedTea is approaching the problem from the wrong end. The code that the Classpath developers have labored over for ten years deserves a higher place than being used as filler to patch the holes in an inferior, ex-proprietary codebase. I'm not trying to argue that Sun's code is "bad" or that Classpath's code is perfect, but I do know that code developed in the bright light of public view, with no schedule pressures other than "when it's right", is invariably [UPDATED: Jeroen points out in the comments that this isn't so invariable after all] higher quality than code developed inside a large, bureaucratic organization with constant pressure to ship to a deadline. The fact that these things have historically affected Java's development is apparent in the public API: public members whose types are nonpublic, public RCSID fields, serialVersionUID fields defined on interfaces.

The difference is apparent in the sheer size of the codebases - the JDK is several times the size of Classpath, despite Classpath providing the vast majority of the same level of functionality. (I'm actually considering sticking with an older version of IKVM for this reason - file size matters when you're building an installer that's being shipped over the network). It's apparent in the fact that Classpath has a clean API for targeting multiple VMs including VMs for which native code is unnecessary, where the JDK's VM interface is internal and relies heavily on native code.

It seems to me that there would be a lot of value in approaching an OpenJDK / Classpath merge in the same way the libgcj and Kaffe merges were approached: compare the code on a class-by-class basis, bring in whichever implementation is best, and change it if necessary to account for things the other implementation did better. My gut instinct says a lot more Classpath code would survive that process than is surviving today in IcedTea - and the end result would be significantly smaller, cleaner, faster and bug-free-er.

I don't know whether the copyright ownership issues have been resolved yet to make it possible to actually pull OpenJDK code directly into Classpath though.

Regardless of what approach ends up being taken, though, it's good to see work happening on Classpath again, and a new release being contemplated. I guess it means I need to get those darn Japi runs happening again though!