Friday, May 8, 2009

On Bodies at REST...

Newton got beaned by the apple good. So goes the lyric from another song by the band that inspired the name of this blog. Of course, Newton was probably most famous for his laws of motion, including the principle that a body at rest will stay at rest unless acted upon an external force. This rang especially true for me when my mother was recently diagnosed with breast cancer. For some time I had been looking for the motivation to become more active (yoga once a week just wasn't cutting it). Rather than "resting on my laurels", I decided to do something positive about my mother's prognosis (and my sedentary lifestyle) and signed up to participate in the upcoming Weekend to End Breast Cancer in Ottawa. As a participant, I have to raise a minimum of $2000 and walk 60 km over the course of two days in June. I've been training for about seven weeks now, but could really use your help raising the funds (I'm just about half way there). For details, please see my personal page.

On the subject of REST (the acronym) I finally received the speaker feedback for the EMF tutorial Marcelo and I delivered at EclipseCon back in March. As Ed and Michael have been observing lately, EMF is a complex topic, and considering how much Marcelo and I tried to cover in such a short amount of time, I think we did OK. By contrast, REST is actually quite simple; at its core, it is a set of architectural principles for defining, addressing, and manipulating resources in distributed hypermedia systems. The e4 resources team had an interesting discussion about REST during our bi-weekly meeting a couple of weeks ago and Doug suggested I blog about it (hey, better late then never!).

So, what does it mean to make resources more RESTful in e4? The important thing (and biggest challenge, in my mind) will be to look beyond the basics of resources and well-defined operations for manipulating them (which we undoubtedly need), and focus more on the distributed and hypermedia aspects of RESTful applications. After all, this is what we mean when we say we want to "bring the Web to Eclipse", is it not? We really have to free ourselves from the "traditional" ways of doing things and embrace new (and, presumably, better) approaches - indeed, we have to innovate. Much of the work that I've seen in e4 so far has been about how we will continue to do many of the things we've always been doing in Eclipse, but on the new platform. For example, there has been some exploration as to how the Project Explorer might work in e4. Wait a minute! Why assume we even need a Project Explorer (or projects themselves, for that matter) in e4? The new generation of workers (and the Web itself) doesn't rely on structural browsing the way we "dinosaurs" have in the past. They search for things they need now and tag things they want to remember later. Rather than a Project Explorer, why not provide a UI that is optimized for exploring sets of related (hyperlinked) resources and for discovering relationships between them?

I see e4 as an opportunity for integrated tool environments (for modeling, development, you name it) to take a giant leap forward into the future (or is that the present?) in terms of consumability. We just need to find the means and the courage to help Eclipse overcome the gravity of its legacy and launch it into the cloud (and beyond). Yes, this IS the time for change, in so many ways. Eclipse will remain "at rest" unless acted upon by an external force... and that force is you!