zaterdag 30 mei 2009

Salvo, the Eclipse based Newsreader

Version 0.2 for windows of the Salvo newsreader is available on http://wiki.eclipse.org/Newsreader. It has only the foundation of a newsreader but we have started to work on the fun stuff. If you want to give it a spin, please do.

vrijdag 29 mei 2009

Community is a superclass of Economy

The big scope

My personal "frustration" with Eclipse is that it is a technology focussed community and although I am a techie avant la lettre (yes I did program assembly on the Zilog Z80) I am also a business owner concerned to put food on the plates of my employees (I pause for a second so you can wipe your tears).

I want to bring Eclipse consumers and Eclipse providers together inside the Eclipse community so that we can create an Economy. With this I mean that there must be a place inside Eclipse where consumers can contact providers but providers can also make themselves visible for consumers and therefore Eclipse must know their consumers.

The first step

Since Eclipse is a community and all efforts arise from this community, there is no use barking against the Mighty Moon (MM pun intended) to make this happen. Instead I feel I/we have to do something.

I would like a "Community", "Collaboration" or "Community Collaboration" or "Community and Social Collaboration" top level project. In this project we place tools like Mylyn, the ECF collaboration projects and others (like a newsreader, read on) as a start and integrate this with the base Eclipse download.

The next steps

The next steps are to really focus on creating an Eclipse Economy after we have established the Eclipse Community; Community is a superclass of Economy. There are a lot of companies paying for Eclipse membership. We are a "$5000 a year" member.

Call us "the middle class".

Now that the times are hard, this middle class want to see some direct effect of this membership before we cancel and just take Eclipse like the rest of the world. My believe is that companies like ours must form the bigger part of the income of the Eclipse foundation just like the middle class is the base of any countries economy.

All bla bla?

Mostly, but I don't want to just talk about this. I am currently working an a newsreader project to give the community a voice from within the Eclipse workbench (see below if you want to give this Alpha project a spin).

The next project I want to work on is a (Google) map which is accessible from the Eclipse Help menu that shows where you can get Eclipse services in your region. The entries in the map are the companies that pay for Eclipse (like Remain, Industrial-TSI, Weigle-Wilczek, IBM and others :-).

I thank Bjorn Freeman-Benson, Eric Rizzo and Wayne Beaton for support and inspiration.

The newsreader project

Here is the RCP application of the newsreader project (windows). Remember, it is still Alpha software. You can read and reply but not yet post. This will be fixed in a couple of days.

Follow me on http://twitter.com/wimjongman for last minute info on the newsreader or check the Eclipse wiki for detailled info: http://wiki.eclipse.org/Newsreader


It is pretty simple but here is a five minute instruction without audio:

woensdag 29 april 2009

Getting more out of the Ecosystem (1) - Bugzilla

This is a series of suggestions on how we can grow the Eclipse Ecosystem. Now the economic situation is a bit slower, I get questions about our yearly $5000 contribution. Why don't we just _take_ Eclipse, like the rest of the world.

Who are our users?
I believe that we should know our users. It is great that we know that China is #1 with more than a billion downloads, but who are these guys and how are they using Eclipse? Can we get in contact with them so that we can do business together? No, becasue we don't know who they are.

Does Microsoft know who every Visual Studio user is? No, they do not have a clue (just joking haha, it _is_ a joke to think that Microsoft does not know their users.) Of course they do, our company is one of them and sure we get a lot of spam but every now and then we get some eggs and sausages.

Does Sun know the Netbeans users? I don't know but their download page attempts to reap the low hanging fruit.

A Bugzilla Account is Mandatory
I suggest to only allow downloads after the user has registered for a bugzilla account. In this registration we do like Sun does and ask these users if we may contact them. In Jax Germany I attended one of Wayne Beaton's sessions and he asked a group of about 40 people who had a bugzilla account, about 5 raised their arm. Now Jax Germany is a 1500-dollar-entrance-fee event. Why don't these guys have a bugzilla account? And why is it called a bugzilla account and not an Eclipse account?

With our known users we can do all sorts of things.

  1. Send them information about Eclipse Projects
  2. Send them information about the traning series
  3. Give Marketing information to the Members (us)
  4. Ask if they want to be an Eclipse Member
  5. your input here

People won't mind because they want to be part of Eclipse. They would rather hear from Eclipse than to be left alone. And remember, A bugzilla account is just one click away.

Eclipse Demo Camp in the Netherlands

Demo Camp in the Netherlands
Industrial-TSI will be organizing the third Eclipse Democamp in the Netherlands. We have compiled a little survey so that you can indicate what you want to see. The survey can be found here. 

Get a Bugzilla Account
In addition to this, Dutch Eclipse lovers, you can can submit a short talk about your favourite Eclipse related topic on the Eclipse Democamp Wiki. You need a bugzilla account to change the wiki. The bugzilla account can also be used to respond to bugs or report new ones. All Eclipse users should get one. A bugzilla account is just one click away. 



donderdag 19 maart 2009

The Super Pattern of Order

The Super Pattern of Order

Humans like to order stuff. This is done by putting it somewhere where (we think) we can find it again. We have houses with rooms and closets with drawers. We have pockets, briefcases, safes, bank accounts, wallets, shelves, etcetera. Each location is meant to store something that fits in that location. Socks go in drawers, closets go in rooms and money goes in wallets. 

There is also a place for electronic documents. These locations often have metaphorical names like directory, folder, archive, “zip”, library or cabinet, to name a few.

Enables us to Locate Stuff

To find socks, I got to my closet where I open the drawer that contains my socks.  To find this document, I go to my computer, open my home folder and there it is. To find stuff we need a way to address it. My document can be addressed by three parameters. 1, the computer, 2 the folder and 3 the document name, or, in more abstract terms, the platform, the location and the name.

So that we can Manage it

What we want to do with electronic documents is to move them around. This document for example wants to leave my computer.  And it has, apparently, otherwise you would not be reading this. The reason for moving it around is that I want to get it from the initial location where it was developed to our QA department where it was reviewed to the final location where you found it (to tell you the truth, it did not go through QA).

Just to make Sure

I could just simply type the document, e-mail it to QA and let them forward it to the final place on the location where you found it. This model is based on trust and although I fully trust our QA department (hi guys!) I would want to have some control over the fact that my document completes its lifecycle (i.e. ends on its final destination). 

That we don't Lose it

And then, after I have received lots of comments, I want to maybe change it to mask the fact that I am not a native speaker and replace it on every final location with the new version.


maandag 16 maart 2009

Package naming convention in a mixed Java and OSGi world

The "standard" before OSGi was to move all internal stuff into *internal* packages.

IBM uses the *internal* approach in the ready for rational program:

Requirement: General 2.5
a)      Provide a list of non-public Eclipse interfaces and the methods used by your offering...

This means that IBM exports *internal* packages and asks for a rationale if you use one of its internal classes. This approach enables you to:
  1. point the programmers to the correct way to use the software
         OR 
  2. move the class out of internal and into the official API.
In OSGi, if you do not export a package, the programmer cannot access it. However, this breaks the important aspect that programmers sometimes use your classes in ways you did not envision. So you also export packages that could be interesting and only hide the absolutely non API packages.

However, if you want to use the jar outside of OSGi then there is no way of hiding the absolute non-API packages and also no way of recognizing that the package is off limits. 

Conclusion: there should be a new naming convention providing for three levels of package visibility. 
  1. API,  dom.organization.soandso
  2. Not intended to be API dom.organization.internal.soandso
  3. Absolutely not API dom.organization.private.soandso