Two weeks ago, I informed the EMO of my intent to propose a new “Eclipse Examples Project” (EEP! for short). I had tried to work out a name that would result in the acronym “EEK”, but I couldn’t make it work (but I digress).
The idea behind the project is to create examples of applications and plug-ins that use Eclipse technology that ideally spans multiple projects. I’ve used the word “ideally”, because I want to avoid excluding examples that might otherwise be useful and interesting. This is a natural extension of work that I do anyway: as part of my evangelism efforts, I use a handful of example applications that I’ve created to show off some of the great things that you can do with Eclipse (and in many cases, I use ’em to show how you go about actually implementing those great things).
The idea of turning this into a project came from the excitement generated by the Sudoku game I created sometime last summer. The code that I produced has been picked up by a few people and extended in some pretty cool ways. First, I received a plug-in that did a way better job of generating puzzles than I did (which, embarrassingly, I still need to make available). Then a plug-in was provided that allows multiple people to play the same puzzle using ECF. Then, it was enhanced to run on hand-held devices (this has actually resulted in the code being checked-into DSDP eRCP as an example for that project). There’s talk of extending the example into the RAP world. Clearly other people want to add their input into these examples, and making a separate project (where we can more easily manage additional committers) is probably the easiest way to make this happen. If you want to see how this evolved, check out Bug 145258.
The activity around the Sudoku game is exactly what I’m hoping for from the EEP! (I think that the exclamation mark has to be a necessary part of the short name). I have some other examples that I hope have similar potential, including an organizer application that I’m working on integrating Higgins into, an RCP application that can be used to browse EBay auctions, and a handful of generally-useful plug-ins.
I figure that each of these examples, in order to be useful, needs to be thoroughly documented and test infested (the natural result of the developers being test infected). Examples need to be implemented as extensible platforms. Above all else, the examples need to be as simple as possible so that they are as easy as possible to understand. I’m not sure if graduation makes sense for this project, so there may never be a version 1.0. At least this is what I’m thinking for now.
I have a few people on board with the project, but am looking for more. If you’re interested drop me a note (wayne_at_eclipse_dot_org). I’m planning to put the proposal together over the next few days, and I’d love your input into that process.