Friday, May 26, 2006

Why I Love Eclipse

Let me tell you a story:

A few months ago I was concerned about a performance problem in my GEF application running under Linux. I spend most of my time using Linux, and it wasn't until I tried the application under windows that I noticed just how slow it was. I began to try and track down the problem and after a while I had dropped GEF and was simply drawing shapes to a canvas. I wrote a small profile tool for drawing filled shapes. Now all I had to do was measure the difference between Windows and Linux.

I booted a Windows box and went to download Eclipse. Internet explorer crashed. I swore! Just then nice little dialog box appeared asking me for some information. I filled it out and sent it off. After a little more fiddling around I finally got Eclipse installed and I ran my profiler. What did I find? This particular example ran about 10x faster on a much older Windows box! I Swore! No little dialog box appeared so I posted a note to the SWT newsgroup outlining what I did, just to make sure it made sense. Then I went home. (This was late on a Friday).

By Sunday night I was angry. No answer from Eclipse, No answer from Microsoft. I sent them the form on the same day! (Maybe I should have listened to my wife and not worked on the weekend. :))

By the time I awoke Monday morning (PST Time, late for all you EST people) there was a respond to my post on the SWT newsgroup. I followed up with a few more notes and by noon a bug was opened, I was cc'’d on it, my profiler was attached, and some suggestion of what to do was proposed. Hum… I should check my e-mail, maybe Microsoft, who has a lot more money than this, has followed up… nope!

Now, less than 1 business day after I posted a problem, my concern had been acknowledged and some suggestions proposed. Neither the Eclipse problem nor the Windows problem has been fixed, but guess which organization I am much happier with? I understand that we are in the endgame and exactly what this means and I understand how I can help contribute to fixing this problem. It is this community support, a high level of respect, and the openness by which Eclipse operates that has convinced me that this is the right model for software development.

Almost every question I ask on the Eclipse newsgroups has been answered (and *yes* I have asked some pretty stupid questions). I just wanted to use this post to say thank-you to all the contributors, not just for building Eclipse, but for supporting and helping out all the users!

By the way, I still haven'’t heard back from Microsoft!

Friday, April 14, 2006

3.2 Endgame

I'm not sure how everyone else in the community tracks these things! There is probably a announce list that I should subscribe to; but for those of you like me, who are not on Eclipse Announcement lists, the 3.2 endgame has begun. (See Here)

What does this mean? It means summer must be almost here because Eclipse 3.2 is almost ready for release. Eclipse 3.2 is into its final stages and you can check-out the latest and greatest features by downloading the Release Candidates. I won't link to any here because you should go through and select a proper mirror :)

Along with the Eclipse 3.2 release, the Eclipse community is planning on releasing 10 Major Eclipse projects simultaneously. For anyone moving forward with Eclipse based applications this year, and plan on staying up-to-date with the forthcoming stable release, you should be well aware of the Callisto Project!

Monday, April 10, 2006

Young Users ~= First User

Two blogs on the 8th of April complement each other nicely. Andre blogged about the importance of first impressions, and how perspectives can often confuse users (First Impressions). Right before this, Wassim talked about how we should be looking to attract a younger audience (Younger Audience).

I am currently spending part of my time teaching first year computer science at the University of Victoria, and some of my students are using Eclipse. I use it during lecture to show code examples, step through code, etc... I even supply the assignments as projects that can be directly imported into the workbench. Students are not required to use Eclipse, and sadly, most of them don't. We are currently running some studies to see what IDEs they use and why, but confusion is one reason that drives students away from Eclipse. Changing perspectives, an overly complicated debugger (for first year students) and *millions* of menu items are some of the reasons students were weary of our favorite development environment.

Because of this, some researchers I work with started to develop a simplified IDE built on Eclipse targeted directly at First Year Students (Gild). Features include, No Auto Complete (yes, I said No Auto Complete, would you give a calculator to a grade 1 when trying to teach them how to add?), a single perspective for everything (debugging, coding, etc...), a clear separation between Build and Run, simplified menus, and many more... The tool is still a research prototype, but hopefully it helps slowly introduce students to the wonderful world of Eclipse, without over complicating things.

Wednesday, March 22, 2006

Hello, World

I guess that title is not that original, but I would like to introduce myself.

I am a PhD student in B.C. Canada studying Information Visualization and Program Understanding. I am also interested in Model Driven Development and I am using these techniques to design and generate visualization for complex information spaces. I did a Master's and an Undergrad at the University of Waterloo in Ontario. I have also studied Reverse Engineering and I have an interest in language design and compiler construction.

I work with Eclipse pretty heavily. I run the GTK version of Eclipse on Debian and usually keep up with the latest milestone releases I hope to apply many of ideas to Eclipse. I currently have hacked or worked with the following Eclipse Technologies.
GEF/Draw2D, EMF, SWT, Workbench, Mylar, ATL, JDT, RCP, BIRT,
I have also used (but not extended or modified any code for)
VE, TPTP, WTP, GMF

I am also working on my own project called Zest. Zest is a set of information visualization components for Eclipse. Zest follows the same architecture as JFace and allows developers to quickly create graphical visualizations without any graphical code. Developers need only provide their content providers and we handle the rendering. This project is still very very beta, but we are getting there.

Other than that, I am really enjoying the West Coast! I enjoying camping, hiking, biking, running, and canoeing. I am teaching first year CS which is a treat. I really enjoy helping students understand complicated problems. While we may think that many of these things (trees, recursion, polymorphism, etc..) are easy, these students remind me of how so many people struggled with these concepts!

- Ian

Planet Eclipse Gone Crazy!!!

Boy have things changed on planet eclipse in a hurry. There is usually action (6 posts a day or so), but right now it seems we are getting 6 posts an hour! As one poster put it, planet eclipse on steriods. All the fuss is because of EclipseCon, the annual conference on Eclipse and Eclipse Technologies. I attended EclipseCon last year, and it was one of the best conferences I have ever been too. Due to teaching requirements and funding (I am a grad student teach my first course ever) I was not able to make it this year. I want to say *thanks* to all the planet eclipse bloggers who have kept me informed about the commings and goings at EclipseCon!