In an effort to help Justin Timberlake bring sexy back, we are planning to give Forms a facelift in the 3.3 cycle and showcase the new look in the PDE editors.
Personally, I love Forms more than life itself. If you love Forms as much as I do, cc yourself on bug 152912 as the new prototypes will be posted there in the next little while.
A question remains though: Have Forms ever loved me back?
Go ahead, be gone with it!
Thursday, September 14, 2006
Thursday, September 07, 2006
Breaking News/Gossip
Labour Day marks the unofficial start of the new blogging season. Not to be outdone by Katie Couric, I decided to have a new format for my blog, whereby I focus on revealing breaking news in Eclipse 3.3 development.
My definition of 'breaking news' is that of CNN, so you may want to lower your expectations a bit :). Here is the first installment:
Work is under way in the Toronto offices of the Eclipse team on a new killer feature. When completed, this "feature" will help slash the Eclipse SDK download size by at least 30 MB. I do not want to give any more details at this time, as I do not want to jinx it; but if someone guesses correctly on where the 30MB can be trimmed, I will confirm the guess.
Another cool feature that we are working on is codenamed 'Command Conqueror'. It combines two of our favourite things: cool UI and the org.eclipse.ui.commands extension point.
So the 3.3 cycle is shaping up to be a very exciting one. Make sure to come to this blog to get the latest developments as they happen :)
My definition of 'breaking news' is that of CNN, so you may want to lower your expectations a bit :). Here is the first installment:
Work is under way in the Toronto offices of the Eclipse team on a new killer feature. When completed, this "feature" will help slash the Eclipse SDK download size by at least 30 MB. I do not want to give any more details at this time, as I do not want to jinx it; but if someone guesses correctly on where the 30MB can be trimmed, I will confirm the guess.
Another cool feature that we are working on is codenamed 'Command Conqueror'. It combines two of our favourite things: cool UI and the org.eclipse.ui.commands extension point.
So the 3.3 cycle is shaping up to be a very exciting one. Make sure to come to this blog to get the latest developments as they happen :)
Friday, August 25, 2006
A Talk From The Trenches
Eclipse usability is, and has always been, a very hot topic.
A working group has recently been formed to focus on usability across eclipse.org projects. There also is a very interesting thread on the eclipse.foundation newsgroup regarding the issue.
Yesterday, Julian Jones posted a historical review of usability in Eclipse containing a link to his EclipseCon 2005 presentation on Eclipse UI Best Practices. It's an informative read. Check it out.
A working group has recently been formed to focus on usability across eclipse.org projects. There also is a very interesting thread on the eclipse.foundation newsgroup regarding the issue.
Yesterday, Julian Jones posted a historical review of usability in Eclipse containing a link to his EclipseCon 2005 presentation on Eclipse UI Best Practices. It's an informative read. Check it out.
Saturday, July 15, 2006
Meet The Team
Last week, we migrated the PDE/UI web pages to the new Phoenix look. The process was quick and painless.
As far as PDE 3.3 development goes, we have posted a list of areas that we plan to focus on for the next year. Once the Eclipse 3.3 plan gets posted next week, we will elaborate on each point.
A highlight of the new PDE site is the addition of a committers page, featuring pictures of the handsome group of people who bring you the Plug-in Development Environment. Check it out and put a face to the names you see in Bugzilla.
It is obvious that, for the most part, the PDE/UI team likes leafy backdrops and/or backdrops depicting patio furniture.
As far as PDE 3.3 development goes, we have posted a list of areas that we plan to focus on for the next year. Once the Eclipse 3.3 plan gets posted next week, we will elaborate on each point.
A highlight of the new PDE site is the addition of a committers page, featuring pictures of the handsome group of people who bring you the Plug-in Development Environment. Check it out and put a face to the names you see in Bugzilla.
It is obvious that, for the most part, the PDE/UI team likes leafy backdrops and/or backdrops depicting patio furniture.
Saturday, July 08, 2006
France Defeats Italy 2-0
France defeats Italy 2-0 in the 2006 FIFA World Cup Finals.
That's my conjecture.
Tomorrow night, we will see if this headline comes true, or if I just pulled a "Chicago Tribune" with their infamous Dewey Defeats Truman 1948 headline.
I am unbiased either way. I cherish and congratulate our Eclipse fan base in both France and Italy.
That's my conjecture.
Tomorrow night, we will see if this headline comes true, or if I just pulled a "Chicago Tribune" with their infamous Dewey Defeats Truman 1948 headline.
I am unbiased either way. I cherish and congratulate our Eclipse fan base in both France and Italy.
Monday, July 03, 2006
Chris Wears Prada
Not a day goes by that I am not reminded by Chris to join the IRC community.
It has been months of incessant "Eclipse has a burgeoning IRC community" this and "IRC: it's good for the community" that.
Given that the development activity tends to slow down in July, I decided to give IRC a try this week and we will see how it goes.
Chris made me do it.
It has been months of incessant "Eclipse has a burgeoning IRC community" this and "IRC: it's good for the community" that.
Given that the development activity tends to slow down in July, I decided to give IRC a try this week and we will see how it goes.
Chris made me do it.
Saturday, June 17, 2006
The Road Less Traveled
I will be in Ottawa, our nation's capital, for some 3.3 planning on June 25-27. Being in Ottawa is always an interesting sociological experiment as I get to observe the Platform team in their natural habitat.
Accompanying me on the road trip will be Janek Lasocki-Biczysko; so by definition, it will be a fun ride. Although I'm not sure it's such a good idea to spend four hours in a car with someone who knows all the lyrics to the Black Eyed Peas' My Humps.
We have some free time on Sunday afternoon (June 25th), so if you're a PDE enthusiast in the Ottawa region and want to meet and talk plug-ins, drop me a line.
Accompanying me on the road trip will be Janek Lasocki-Biczysko; so by definition, it will be a fun ride. Although I'm not sure it's such a good idea to spend four hours in a car with someone who knows all the lyrics to the Black Eyed Peas' My Humps.
We have some free time on Sunday afternoon (June 25th), so if you're a PDE enthusiast in the Ottawa region and want to meet and talk plug-ins, drop me a line.
Thursday, June 15, 2006
An Inconvenient Truth
Over the past few days, traffic to my blog has more than doubled. What could be the cause of this sudden interest?
a. good word of mouth
b. better PR campaign: mentioning my blog in the Eclipse planning meeting notes
c. posting an entry referencing Leonardo DiCaprio
I just hope it's not c.
Wednesday, June 14, 2006
The Underdog
About a month ago, I solicited feedback on a list of potential PDE plan items for Eclipse 3.3. It was a good exercise, and I appreciate all the feedback that I received both in the form of blog comments and e-mail.
The votes were surprisingly evenly spread out. Each suggested plan item had its own fan base, which is a sign that our planning is hitting the right note and we are giving our users what they are looking for.
Before I published the list, I suspected that the User Assistance (UA) tooling item would be the underdog in this race. Not quite. Many respondents seemed very passionate about this item.
The User Assistance team has done a lot of cool work in the 3.2 cycle, so 3.3 seems like the right time for UA tooling.
I opened a User Assistance tooling feature request capturing the key areas where tooling is needed. Feel free to add your input if we missed something.
The votes were surprisingly evenly spread out. Each suggested plan item had its own fan base, which is a sign that our planning is hitting the right note and we are giving our users what they are looking for.
Before I published the list, I suspected that the User Assistance (UA) tooling item would be the underdog in this race. Not quite. Many respondents seemed very passionate about this item.
The User Assistance team has done a lot of cool work in the 3.2 cycle, so 3.3 seems like the right time for UA tooling.
I opened a User Assistance tooling feature request capturing the key areas where tooling is needed. Feel free to add your input if we missed something.
Sunday, June 11, 2006
Scream, Scream 2, Scream 3
After 3 years, the "PDE Does Plug-ins" article is in need of a major rewrite; so I volunteered to write a PDE trilogy over the summer. More accurately, "co-write"; I will bribe Mike Pawlowski tomorrow into co-authoring.
Titles are yet to be determined, but here are the suggested topics:
Titles are yet to be determined, but here are the suggested topics:
- Extending Eclipse: A full plug-in development lifecycle, including coverage of fragments and internalization.
- Creating Extension Points
- Creating an Eclipse product
If the articles ever get made into a movie trilogy, I want to be played by Leonardo DiCaprio.
Chris Aniszczyk will play himself, in a cameo, as the hyperactive blogger.
Saturday, June 10, 2006
Poland 4 - Ecuador 0
Poland may have suffered a devastating 0-2 loss to Ecuador today, but this score is reversed and doubled when it comes to new Eclipse 3.3 features.
In the inaugural 3.3 integration build scheduled for next week, Team Poland (Chris Aniszczyk, Janek Lasocki-Biczysko and Mike Pawlowski) will contribute 4 new features, all under the Ease of Use theme:
1. Hyperlinking
2. Field assists

3. Code folding
4. Source formatting
In the inaugural 3.3 integration build scheduled for next week, Team Poland (Chris Aniszczyk, Janek Lasocki-Biczysko and Mike Pawlowski) will contribute 4 new features, all under the Ease of Use theme:
1. Hyperlinking
2. Field assists

3. Code folding
4. Source formatting
Tuesday, June 06, 2006
Moment of Zen
Last March, I presented a full-day hands-on tutorial at SDWest 2006 in Santa Clara, CA. The tutorial showed how to use the Plug-in Development Environment to create a rich client application.
The attendees, who were new to Eclipse for the most part, got to develop a simple, yet cool, application. Some of the things they learned included menus, commands/keybindings, system tray integration and, of course, stupid view tricks. We ended by using the Eclipse Product Export wizard to create a branded RCP product.
There was so much joy in the room the moment the attendees saw that their exported product had a custom native launcher with a custom image and name. It had just dawned on them that what they worked on all day is not a plug-in that sits on top of the Eclipse workbench. It was their own standalone custom product.
If you want to try this at home, PDE now provides a cheatsheet that guides you through the process of creating, defining, testing and exporting a fully-branded rich client application. Custom launcher images included.
You can access the cheatsheet via Help > Cheatsheets... from the top level menu of the Eclipse workbench.
The attendees, who were new to Eclipse for the most part, got to develop a simple, yet cool, application. Some of the things they learned included menus, commands/keybindings, system tray integration and, of course, stupid view tricks. We ended by using the Eclipse Product Export wizard to create a branded RCP product.
There was so much joy in the room the moment the attendees saw that their exported product had a custom native launcher with a custom image and name. It had just dawned on them that what they worked on all day is not a plug-in that sits on top of the Eclipse workbench. It was their own standalone custom product.
If you want to try this at home, PDE now provides a cheatsheet that guides you through the process of creating, defining, testing and exporting a fully-branded rich client application. Custom launcher images included.
You can access the cheatsheet via Help > Cheatsheets... from the top level menu of the Eclipse workbench.
Monday, May 29, 2006
The Hottest Spot North of Havana
It's a very hot day in Toronto. So how hot is it? It's a couple of degrees hotter than hell, but surprisingly still cooler than Austin, TX (home of roller hockey champion Chris Aniszczyk).
Speaking of hockey, I am heading out to Edmonton tomorrow morning where the Edmonton Oilers are in the Stanley Cup finals for the first time since 1990. It will be a good time.
I will be on a week-long working vacation. It's a working vacation because it is RC7 week, and we, on the PDE team, decided to rewrite the entire PDE guide from scratch and give it a brand new format . It's a crazy task. How crazy is it? It's Paula Abdul-crazy.
The new guide is shaping up to be great though. It's very detailed and will take you behind the scenes to explain to you the rationale behind choices we made in the tooling.
Watch for it in the RC7 build coming out this Friday.
Speaking of hockey, I am heading out to Edmonton tomorrow morning where the Edmonton Oilers are in the Stanley Cup finals for the first time since 1990. It will be a good time.
I will be on a week-long working vacation. It's a working vacation because it is RC7 week, and we, on the PDE team, decided to rewrite the entire PDE guide from scratch and give it a brand new format . It's a crazy task. How crazy is it? It's Paula Abdul-crazy.
The new guide is shaping up to be great though. It's very detailed and will take you behind the scenes to explain to you the rationale behind choices we made in the tooling.
Watch for it in the RC7 build coming out this Friday.
Wednesday, May 10, 2006
The Road Ahead
Today, the topic of my weekly call with Jeff McAffer, Eclipse PMC and Equinox/RCP Lead, was 3.3 planning.
When planning for a release, we like to have high-impact items that are also fun to work on.
Here are some general ideas/themes that came up today in the very first session of PDE 3.3 planning.
In no particular order:
1. PDE having a broader mandate. Think beyond plug-ins. Think components.
2. Extreme Self-Hosting: Implement a Remote Agent that controls a running Eclipse/OSGi application. Test the dynamic behaviour of your plug-in and product. Update manifest files and see changes in the runtime workbench without restarting,...
3. Plug-in Dependency Visualization
4. OSGi/Runtime tooling, e.g. declarative services, new application model, and every etcetera in between.
5. Update Manager Tooling
6. User Assistance authoring tools (e.g. cheatsheets, context-sensitive help, tables of contents, ...)
I am soliciting opinions on this list.
How would you rate/prioritize this list?
Which item is your favourite?
Is there an item missing from the list that you would like to see addressed in 3.3?
If you have input on the subject matter, please send me an email.
My email address is wassimm at ca dot ibm dot com
When planning for a release, we like to have high-impact items that are also fun to work on.
Here are some general ideas/themes that came up today in the very first session of PDE 3.3 planning.
In no particular order:
1. PDE having a broader mandate. Think beyond plug-ins. Think components.
2. Extreme Self-Hosting: Implement a Remote Agent that controls a running Eclipse/OSGi application. Test the dynamic behaviour of your plug-in and product. Update manifest files and see changes in the runtime workbench without restarting,...
3. Plug-in Dependency Visualization
4. OSGi/Runtime tooling, e.g. declarative services, new application model, and every etcetera in between.
5. Update Manager Tooling
6. User Assistance authoring tools (e.g. cheatsheets, context-sensitive help, tables of contents, ...)
I am soliciting opinions on this list.
How would you rate/prioritize this list?
Which item is your favourite?
Is there an item missing from the list that you would like to see addressed in 3.3?
If you have input on the subject matter, please send me an email.
My email address is wassimm at ca dot ibm dot com
Monday, April 24, 2006
A Profile in Courage
Last Friday, Brian Bauman, of Austin TX, was granted his commit rights to the PDE component, making him Eclipse's newest committer.Unlike Lady Liberty who lets in just about anybody with a pulse to the NY harbor ("Give me your tired, your poor, your huddled masses yearning to breathe free, the wretched refuse of your teeming shore..."), we have a much higher standard for admission into the Eclipse committer club.
Incidentally, Brian becomes the second Eclipse committer to have run a marathon (3 hrs 46 minutes on his first attempt). Veteran committer/runner Darin Swanson's time is 3 hours and 1 minute.
Congratulations, Brian!
Tuesday, April 18, 2006
People Who Need People
At EclipseCon 2004, Kevin Haaland delivered the most memorable line I have heard at a conference anytime anywhere:
"Code is more important than process. People are more important than code."
"Code is more important than process. People are more important than code."
Sunday, April 16, 2006
4 Years and 60 minutes
This week marks my four-year anniversary working on PDE, so this calls for a stroll down memory lane.
Instead of enumerating all the New and Noteworthy features that went into Eclipse over the past 4 years, I thought it would be more interesting to look back at my first PDE task.
Picture it. April 2002. The milestone was 2.0 M6. The most important problem du jour was to find a way to enable the user to create and run his first plug-in in less than 10 minutes. Our solution was to provide customizable templates for the platform's more popular extension points in the New Plug-in Project creation wizard.
The first template that I wrote was the XML editor template, which became the starting point for many fine editors including the Eclipse Ant editor.
During the 3.1 cycle, history repeated itself and enabing the user to create and run their first RCP application in a few minutes was a top priority. Enter the Hello RCP and RCP Mail templates.
Templates remain one of the most popular PDE features and we can never have too many templates. Continuing with the tradition, the inaugural task for every new member to the Toronto Eclipse team is to provide a new template. More recently, Shaun Skelton, of the Platform UI team, contributed a few templates and chronicled the process on his blog. Shaun is PDE's new best friend.
Of course, at some point during the past 4 years, I got old and turned 30. The first sign of old age was during a workout when I complained to the manager of my local gym that the place was too cold.
Another sign of old age is unwinding on Sunday nights by watching 60 minutes. In addition to the show's hypnotic ticking stopwatch, I enjoy Andy Rooney's social commentaries. I find his nihilistic pessimism to be very uplifting. One of my favourite Rooney commentaries is when he cleared the good name of the used-car business after he successfully tracked down his old Lexus.
Instead of enumerating all the New and Noteworthy features that went into Eclipse over the past 4 years, I thought it would be more interesting to look back at my first PDE task.
Picture it. April 2002. The milestone was 2.0 M6. The most important problem du jour was to find a way to enable the user to create and run his first plug-in in less than 10 minutes. Our solution was to provide customizable templates for the platform's more popular extension points in the New Plug-in Project creation wizard.
The first template that I wrote was the XML editor template, which became the starting point for many fine editors including the Eclipse Ant editor.
During the 3.1 cycle, history repeated itself and enabing the user to create and run their first RCP application in a few minutes was a top priority. Enter the Hello RCP and RCP Mail templates.
Templates remain one of the most popular PDE features and we can never have too many templates. Continuing with the tradition, the inaugural task for every new member to the Toronto Eclipse team is to provide a new template. More recently, Shaun Skelton, of the Platform UI team, contributed a few templates and chronicled the process on his blog. Shaun is PDE's new best friend.
Of course, at some point during the past 4 years, I got old and turned 30. The first sign of old age was during a workout when I complained to the manager of my local gym that the place was too cold.
Another sign of old age is unwinding on Sunday nights by watching 60 minutes. In addition to the show's hypnotic ticking stopwatch, I enjoy Andy Rooney's social commentaries. I find his nihilistic pessimism to be very uplifting. One of my favourite Rooney commentaries is when he cleared the good name of the used-car business after he successfully tracked down his old Lexus.
Friday, April 07, 2006
Attracting a Younger Audience
Eclipse Top Ambassador 2006 nominee Chris Aniszczyk, who also happens to be the inventor of the term 'backie', writes from time to time on how important it is to have a strong Eclipse presence at universities and colleges. I could not agree with him more.
Case in point: Over the years, we have been very fortunate to have very talented committers under the age of 25 working on PDE. They tend to be very passionate about the technology and adept at learning the Eclipse Way.
I am no marketing genius, but here is a tip on how to easily attract younger talent: When posting jobs or advertising events and code camps, try to spell plural words with a Z instead of S. For example, "plug-inZ" instead of "plug-ins"; "skillZ" instead of "skills". Today's kids eat up crap like that :-)
Incidentally, not to be outdone by Chris, I have been trying to get the adjective 'buckety' to catch on, where buckety is defined as "of or pertaining to a bucket". Spread the word!
Case in point: Over the years, we have been very fortunate to have very talented committers under the age of 25 working on PDE. They tend to be very passionate about the technology and adept at learning the Eclipse Way.
I am no marketing genius, but here is a tip on how to easily attract younger talent: When posting jobs or advertising events and code camps, try to spell plural words with a Z instead of S. For example, "plug-inZ" instead of "plug-ins"; "skillZ" instead of "skills". Today's kids eat up crap like that :-)
Incidentally, not to be outdone by Chris, I have been trying to get the adjective 'buckety' to catch on, where buckety is defined as "of or pertaining to a bucket". Spread the word!
Monday, April 03, 2006
PDE, Harmony and the Foosball Prodigy
An exciting pattern that has emerged in the past year is that the Eclipse PDE (Plug-in Development Environment) has found a following among non-plug-in developers.
At EclipseCon, Tim Ellison showed how the Apache Harmony project (a compatible, independent implementation of JSE 5.0) uses PDE as a "module development environment".
Harmony developers are not developing Eclipse plug-ins, but they want to tap into the cool tooling that is available to Eclipse plug-in developers .
The Harmony code base is split into modules. Each module is self-describing and uses an OSGi bundle manifest to define its API (via the Export-Package header) and describe its dependencies on other modules (via the Import-Package header).
The use of OSGi bundle manifests in the Harmony modules automatically qualifies these modules for free classpath and target management by PDE.
By using the PDE container to dynamically compute the classpath, .classpath files become sharable and the developer does not need to update his project's classpath ever again.
Access rules are used in the manifest file to enforce API discipline among modules. PDE translates these runtime visibility rules into compiler access rules at development time, resulting in compiler warnings/errors when an API violation occurs.
By setting the target platform to the location of the Harmony JRE, developers free themselves from having to import all modules into their workspace. All they need in their workspace is the subset of modules they are working on; the rest can be referenced on the file system transparently via the PDE container.
So if you want to modularize your code base, PDE can help.
On a related note...
Also working on the Harmony project is a young man named Oliver Deakin. A fine developer in his own right, Oli also happens to be a Foosball prodigy. Take a look at a short video of some of his trickshots. The video will knock your socks off, so please have an extra pair of socks handy :-)
At EclipseCon, Tim Ellison showed how the Apache Harmony project (a compatible, independent implementation of JSE 5.0) uses PDE as a "module development environment".
Harmony developers are not developing Eclipse plug-ins, but they want to tap into the cool tooling that is available to Eclipse plug-in developers .
The Harmony code base is split into modules. Each module is self-describing and uses an OSGi bundle manifest to define its API (via the Export-Package header) and describe its dependencies on other modules (via the Import-Package header).
The use of OSGi bundle manifests in the Harmony modules automatically qualifies these modules for free classpath and target management by PDE.
By using the PDE container to dynamically compute the classpath, .classpath files become sharable and the developer does not need to update his project's classpath ever again.
Access rules are used in the manifest file to enforce API discipline among modules. PDE translates these runtime visibility rules into compiler access rules at development time, resulting in compiler warnings/errors when an API violation occurs.
By setting the target platform to the location of the Harmony JRE, developers free themselves from having to import all modules into their workspace. All they need in their workspace is the subset of modules they are working on; the rest can be referenced on the file system transparently via the PDE container.
So if you want to modularize your code base, PDE can help.
On a related note...
Also working on the Harmony project is a young man named Oliver Deakin. A fine developer in his own right, Oli also happens to be a Foosball prodigy. Take a look at a short video of some of his trickshots. The video will knock your socks off, so please have an extra pair of socks handy :-)