September 28th, 2006


About time...

It's always neat to see one of my blue-sky ideas come to fruition. (A little frustrating to see that they went and *patented* the damned thing, but that's what I get for not going to the effort myself. If I ever care to invalidate the patent, I can investigate whether I ever really talked about it publically.)

Anyway: one of the points I've been making for, oh, probably six or seven years now is the killer app for Internet to the car: a truly smart navigation system, with up-to-the-minute information. Well, it looks like it's finally happening: the Dash Express is almost exactly the device I designed all those years ago, and have talked about occasionally since then. It's a standard GPS system, but is Internet-connected to their servers. This is key in two ways. First, it uses current traffic information to build its route suggestions -- rather than simply going for the *shortest* route, it will automatically take you around traffic. Second, it uploads and anonymizes the GPS position and speeds from its users to build up seriously accurate traffic info. Once enough people in a given area have the system, it ought to wind up with the most accurate traffic picture out there.

They're apparently in alpha now, but the reviews are starting to trickle in, and it appears to be *very* nearly my ideal device. It fails on only one front: I would have preferred to separate the hardware and software equations. If the front end device was a general-purpose Internet terminal, with the Dash navigation software as just a single app on it, they would have opened up a much bigger (if slightly riskier) opportunity for themselves, to become the cornerstone of a whole new industry. I may yet write to them and suggest that...

Suggestions on Eclipse Guts documentation?

Another technical question, although looking for a different audience this time.

We're starting to use Flex Builder quite a bit at work -- that's the new Flash development platform, based on Eclipse. We need to get our hands deeply into this, so that we can start automating our systems properly. So I'm looking for documentation.

The thing is, there are lots of books on Eclipse -- for Java. Whole series of books about Eclipse, all of which assume that you're doing bog-standard Java development using it. Given that the whole thing about Eclipse is that it's this open platform for any language (and indeed, even for non-programming environments), I find this ruefully amusing.

So the question is: does anyone have recommendations for good documentation -- either on dead trees or electrons -- about the *guts* of Eclipse? Specifically, clear descriptions of what's going on under the hood, how these plugins all hang together, where all the pieces are located, and so on? Not necessarily quite at the "how to write plugins" level, but at least describing the overarching principles of the system, rather than focusing in on the details of how the Java instantiation works.

An example of the kind of problem I'm trying to deal with: we need to automate our build process. As part of that, we want to compile our Flash programs in the same way that Eclipse does so interactively. I strongly suspect that that interactive process is being driven by Ant, somewhere deep under the hood, and that there's an Ant script that describes exactly what the Eclipse build is doing. But damned if I can figure out where that script is located. Hence the desire to figure out how this system hangs together...