Friday, December 15, 2006

Goodbye Janek, Goodbye Roach

After 20 months of amazing productivity and a long list of noteworthy achievements, today was sadly Janek Lasocki-Biczysko's last day on the PDE team.

Instead of joining the work force, Janek decided to take time off after graduation to travel and then go back to school for more knowledge.

In his fourth year at the University of Toronto, Janek has been working on a project called 'Interfacing with video games through a third party'. Janek chose the Madagascar hissing cockroach as the player in his experiment. The Madagacar cockroach is a bonafide movie star, having appeared in the movie Bug and all. So naturally, one would expect the roach to be difficult to work with. It is like trying to direct a demanding diva like Jennifer Lopez.

But Janek stuck by his star. They had their ups and downs over the past few months and the project finally came to an end.

Enjoy the world premiere of Janek's roach video.

All the best, Janek.

Wednesday, December 13, 2006

The Mother of All Panels

Ed Burnette seems to have suspended his obsession with Google and GWT, for now, and has become active once again in the Eclipse world. Welcome back, Ed :)

The latest cause Ed has been championing is the official expansion of the PDE mandate. Of course, he is not the first one to do so, but he is certainly the most skilled at mobilizing the base. Observe how within a couple of hours, Dave Orme was already talking escalating the matter to the Board of Directors. Even Karl Rove or James Carville are not as good as Ed.

Of course, not everybody is as much of a PDE enthusiast as Ed or Dave. Old-school OSGi developers are resisting to accept the wonderful world of PDE and are sticking to their old tools (ie. sticks and stones). Some Maven enthusiasts think that PDE places too many restrictions on their worfkflow.

Are we right or are they wrong? How can we come together to make Eclipse the best development environment for all plug-in/bundle/module/component programmers?

There is no better forum to address all these timely topics than an OSGi panel at EclipseCon 2007. So I submitted a proposal.

Our competition in the OSGi track is a panel about the "Future of OSGi". Give me a break. Sounds pretty boring. It will probably be a distinguished panel of OSGi-philes patting each other on the back and telling you that OSGi is "the best framework in the whole wide world, blah blah blah..." Who wants to see that? :)

Before we start talking about the "future of OSGi", let's talk about the present.

So if you like drama, if you like heated debates, vote for the fun submission. You will get your money's worth and more. People paid to see a fight on that stage, and I say let's give the people what they paid to see.

I am not going to reveal my most effective moves, but let's just say I used to be a huge 'Saved By the Bell' fan as a young teen.

Sunday, December 10, 2006

A Chicken in Every Pot

Last week, Mike Milinkovich sent an email to the eclipse.org committers mailing list announcing important dates for the upcoming 2007 elections of the Eclipse Foundation Board of Directors.

There are four coveted seats on the board of directors reserved for committer representatives to be elected by their peers for a one-year term starting April 1, 2007. This year, the nominations open Dec 17 and close Jan 13. Voting takes place from Feb 7 through Feb 21, and the winners are announced on Feb 28.

So I thought this may be a good time to take a look back at the accomplishments of the current elected representatives over the past year. Wait a minute. We can't, or at least I can't.

With all due respect, I, for one, have no idea what they did on behalf of committers. Not to say that they did not do anything, it is just that the communication was pretty much non-existent. As a result, I am not very well-informed.

There are so many ways and channels already available to the elected representatives (and us all) to communicate effectively with the rest of the committers. Unfortunately, these channels were not utilized well, if at all.

It would have been useful, for example, if the representatives published an interim report after each board meeting to the committers mailing list outlining issues discussed and conclusions reached. Blogging is another complementary and useful outlet to keep their constituents informed.

I also do not recall the representatives soliciting for input from the committers in a public forum on what issues are most important to them that they can bring it up to the board of directors. How do they know they are really representing our interests?

I hope the next class of freshmen and/or incumbent committer representatives take the time to communicate effectively with the rest of the committers and community.

Actually, what I am asking for is nothing new or groundbreaking. Bjorn used to do that when he was an elected member a few years ago, and the webmaster keeps us very well-informed on the issues that affect us the most.

We all appreciate that, and let's have more of it.

Incidentally, the title of this post is, of course, a reference to the famous 'A Chicken in Every Pot and a Car in Every Garage' slogan of Herbert Hoover's 1928 presidential campaign during the depression.

Trivia: The Simpsons had an episode about an election with a title that is very similar to that slogan. what was the title?

Monday, November 13, 2006

The Elephant in the Room

In the last installment of my EclipseCon2007 series, I would like to discuss the elephant in the room.

Let me start by quoting Jeff McAffer, a member of the EclipseCon2007 program committee:
"The job of the PC is to put together a program that attracts and informs the attendees. Lots of submissions in an area indicates a lot of interest in presenting on a particular topic, not necessarily in hearing about a particular topic.... Bu seriously, it is about the attendees, not the presenters." Very well articulated comment.

Now let's check the facts on the ground (i.e. the allocation matrix) to see how we are doing on the "let's give the people what they want" front.

The matrix seems to be very fairly distributed across tracks, suggesting that the program committee believes that the attendees are going to be equally interested in all Eclipse projects. Do the organizers really think that all tracks have the same appeal or are they trying to be politically correct about the allocations? Perhaps the answer is in point #1 in Bjorn's response, i.e. egos and politics play a part. The fact that the track chairs are project PMC's probably does not help when it comes to objectivity on how popular a track really is.

An objective decider, who has the task of coming up with an allocation matrix, should take a look at the EclipseCon2006 numbers to get a realistic and unbiased perspective on what sells and what does not, and use that information as a guide for the 2007 allocations.

In 2006, RCP/Platform sold well. WTP's numbers were very low. Modeling and GEF did well. CDT and DTP tutorials had a relatively low turnout, etc. etc.

Given last year's numbers, it is therefore incomprehensible to me why, for example, WTP and RCP should have the same allocations this year, or why the number of DTP tutorial slots was tripled.

Whichever subject matter did not sell well last year should have its tutorial slots decreased. If something sold well, let's have more of it. To the victor go the spoils.

I know those Santa Clara ballrooms fit up to 113 people, but let's not push it to the limit. It is better to have two tutorials of reasonable size on a popular subject, instead of trying to squeeze as many as we can into one.

If the RCP, Fundamentals or modeling tracks end up having many more tutorials than another technical track with this approach, such is life (as Bjorn would say). It's all about filling those tutorial seats and giving the attendees what they want. It's not about a politically correct "allocation matrix of fairness."

Friday, November 03, 2006

Where Are They Now?

I am looking forward to the Toronto edition of the Eclipse 5th birthday party. In fact, I am planning my whole week around it. I got a haircut. I am buying new clothes this weekend and I am getting my car washed on Tuesday.

As for party entertainment, I originally was hoping that Arthur would hire a ventriloquist. But after I saw the list of people who will be in attendance, I think we will have enough entertainment without the need for talking wooden puppets.

It seems that all past and present Install/Update committers will be in attendance. It will be fun to sit around to see what they are up to now and reminisce about the evolution of that component through the ages. Too bad Chris won't be there to ambush them :)

True dat, peeps!

Thursday, September 14, 2006

Bringing Sexy Back

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 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 :)

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.

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.

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.

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.

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.

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.

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:
  1. Extending Eclipse: A full plug-in development lifecycle, including coverage of fragments and internalization.
  2. Creating Extension Points
  3. 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

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.

cheatsheet

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.

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

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."

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.

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!

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 :-)