Eclipse 4.0 SDK

Woot! Eclipse 4 is out! Everyone involved put in a huge amount of effort to pull it together so that we could ship on time. WTG, all!

If you’re looking for more info, check out the rather lengthy blog post I wrote on my “official” Eclipse blog. There’s a good overview of the the cool features, and (of course) a plea for your participation. šŸ™‚

Now I’m going to go get some sleep…

iPhones and the need for responsiveness

There’s a pattern I fall for, about once a day, while browsing the web on the iPhone. It goes something like this:

  1. follow a link to a new page
  2. as the page starts filling in, read the first screenful
  3. do the “scroll up” gesture to make more content visible
  4. watch as the iPhone randomly does one of three things:
    • ignores the gesture completely.
    • waits about a second and then scrolls a few pixels
    • starts loading the page pointed at by the link you happened to be over when you started the scroll up gesture

Ok, so it’s not like I don’t understand what’s going on here: The poor thing is busy painting the page, and it just can’t deal with the added processor requirements of recognizing all of the events that make up the gesture. It either misses them all, or gets just a few of them, which leaves it either scrolling “a bit” or treating the gesture as a click on the link.

The thing is, it really doesn’t matter to me whether this is processor limited, or a bug in the OS (i.e. events get lost), or it’s just a bad design (i.e. input handled in the same thread that does the drawing), but the end result is that because I can’t trust what the phone will do in response to my touch, I have to wait until the page fully “settles” before I start scrolling. On pages that have lots of content and go off to ad services to fill in side bars, etc., this means I wait for a long time.

I mean, c’mon Apple; do I really have to tell you about the need for responsiveness?

Anyway, as frustrating as this is, the only real reason I started ranting about it is because it got me thinking about Eclipse, the UI thread, and the multi-core CPU trend. We’re pushing more and more work into multiple threads, drastically increasing the contention at the glass. The Jobs framework and UIJobs are interesting, but don’t address issues like recognizing when multiple jobs are attempting to paint conflicting (or even exactly the same) information in the UI… Anyway, there are aspects of the e4 “modeled UI” that are related to this, but it’s not clear that we’ve thought enough about it yet. Hm…

Eclipse 3.4

With a heartbeat that would make a pacemaker envious, another awesome Eclipse release is out. You can get it at the Ganymede home page.

I am very proud to have had the opportunity to work with such dedicated and absolutely professional people once again on this release, and I’m very much looking forward to getting started on our new challenges in R3.5 and e4.

I would like to call out the unrelenting effort of the p2 team in particular this year. They did everthing necessary to make p2 a successful part of R3.4, going above and beyond the call every day for many weeks. As a result, I believe we now have the basis for a truly world-class provisioning story, something that will help the whole Eclipse community.

I’m traveling next week.

Next week is EclipseCon 2008, and this year I’m going. Those of you who know me, understand how big a deal that is. I really don’t like to travel; I feel about travel pretty much the way most people feel about getting a limb amputated.

Despite that, if the prelude was any indication, I expect it will be a very exciting conference this year. I’m looking forward to talking f2f with many of the people who are active in the community that I know only from mailing lists and bugzilla.

I fly out Sunday, and will be back in the city on Friday. Wish me luck. šŸ™‚