Windowbuilder from Instantiations: licence donated to Opereffa project

It appears that every once in a while, makers of really good software remember that there are projects out there who could have used their software, if only they had the resources. Instantiations has very kindly donated a licence for their WindowBuilder Pro product for Opereffa, and I am more than happy to have access to their excellent tool. For those who have not heard about them Instantiations is a company which produces great tools for software developers. Especially if you are using Eclipse, and you are developing desktop or GWT based web applications, their WindowBuilder Pro is pretty much the best tool that money can buy. WindowBuilder Pro does only let you create SWT and Swing forms, but it also lets you create SWT gui artefacts which are crucial in Eclipse plugins. Developing views and editors using WindowBuilder Pro is much easier compared to hand coding them, and guess what: we have lots of tooling to do around Opereffa’s Eclipse plugins.

Simply by filling in a form you can ask for a licence donation for your open source project, and if you are granted one like us, then you can enjoy really good tooling. Since WindowBuilder Pro does not generate any unusual artefacts, you can easily distribute your source code without any dependencies to propriatry resources or libraries. What more can you ask for?

You want mobile applications? Then please let us develop them!

I’ve had my eyes on the mobile market for years. I’ve started with j2me apps on a motorola phone, and I’ve developed c# based applications for both that phone and ipaq. In general I loved it. I thought the devices and their future held enourmout potential, and today’s mobile application market is getting close to what I had in mind, especially with IPhone.

The trouble is; developing mobile applications is expensive. Yes, you heard me. Capable devices which also has a market are expensive to buy, since you usually need a developer edition of the device. For Iphone, things are even harder, since you have to have a Mac to develop for it. Combine Mac mini (cheapest you can buy and use for the purpose) and a developer iPhone, and you’re looking at something above 1000$ already. For the slightly interested developer this a really high entry cost. Then there is the issue of distribution, where you have to go through a bunch of processes and get approval from someone (Appple, Google etc) to distribute your application.

If we had a platform like the common PC, for which you can simply develop with some open source tools (or free as in beer ones) the mobile market would be in a much better position. The cheapest combination at the moment seems to be to get an Android phone, somehow crack it (I wonder if that’s legal anyway), and develop for it. Still, I’m not sure if Android’s app store would simply let you publish your application if it was developed on a reguler phone, rather than a registered developer device.

Introducing such a barrier to mobile development may be working for the big names for the moment, but I am certainly not happy about it.

Small cloud vs big clouds

I’ve been thinking about a particular future business and its infrastructure for almost 3 years now. Cloud technologies are quite relevant to what I have in mind, and recently I’ve started to think about working on a set of open source cloud implementaitons.

However, there is a problem. It is not a technical problem, it is an economic one. Amazon, Google and probably MS will be in cloud business in a quite strong way in a couple of years. Amazon and Google do it already, and the cost efficiency of hiring their infrastructure vs creating mine is very, very relevant. Cloud loves hardware, in fact its advantage is at joining rather simpler models of storage and processing with very efficient scaling. So the advantage is about scalibility, and that is dependent on hardware. Now, knowing how to design and build a particular solution to a processing intentsive problem is a valuable asset, but what if your customers do not have the money to buy the hardware that can give the performance you’d like to provide? In these kind of situations hiring cloud capacity from these giants and putting your know how on top of if is more efficient in terms of cost, and many cases will make your services more affordable.

I can see a rough segmentation of market, where in some segments clients prefer rented cloud infrastructure simply for cost benefits, and in others they choose to buy their own farm, either because their data is very sensitive or simply because they have the money.

The other problem is, serious open source cloud technology comes from the giants, like Google who has given us the bigtable, and Yahoo who has improved and tested Hadoop. These companies have the ability to develop these kind of solutions since they need it, and they have to infrastructure and use cases to test it. Without these real life connections, how can a disconnected open source initiative develop alternatives to commercial offerings?

In short, cloud belongs to big names for the moment, and it is alive as open source because they want to keep it alive.  What if this changes in the future? I guess anyone in the field will have to know about these services quite well, just to make sure they can offer it as a lower cost alternative, at least for some cases.

Why on earth we don’t have open source proper terminology servers?

The competition amont different information models in healthcare will never end. Yes, I know that there are many out there who think that a particular piece of work is so much better than the rest, and it is the feature of healthcare informatics. Sorry, I don’t agree. There are many other reasons, which I’d like to outline in another post, but in general, I can’t see this competition going away in the future.

What is interesting is, use of terminologies is common in many information model standards, whether it be HL7, EN 13606 or openEHR. There are many open source tools for many aspects of healthcare informatics, but when it comes to terminology management, the choices are surprisingly few! Other than NCI’s LexGrid initiative and Apelon, I can’t see any serious terminology server work in the open source domain. These two have their own pros and cons, but in general, this sub domain is surprisingly deserted. Please know that I’m not considering projects which were updated 3 years ago for the last time as candidates for my work in Opereffa.

There is huge work around the concepts which will eventually get linked to terminologies, but there is not much effort in the terminology server area. Yes there are many browsers out there, but whatever you do in the modelling phase, you’ll have to have access to a proper terminology server during use of that model (be it a Snomed CT subset or an HL7 message with Snomed CT codes in it). So why I can’t see an interest in this? Is it because people are so focused at well known problems, that they do not bother to think about what lies beyond them? Did open source healthcare attack the problem of informatin model based solutions first, omitting terminology based solutions? Terminology based approaches are old, and they are well established, so I can’t explain the lack of open source decent projects in this field. If you know one, drop me a line, and I’ll buy you a beer/wine/{insert your favorite drink here}.

Eclipse vs Intellij Idea

Once I used to love Intellij Idea. At the time it was the most insightful java development environment. It was clearly created by people who knew about Java development. Then I started working with Eclipse, and at first, the switch was hard. At the time, Idea had so many nice features that I was used to, and I was quite frustrated to see that many of them did not exist in Eclipse.

In time I got used to Eclipse, and it introduced a huge amount of features. Yesterday, I had to download Idea to take a look at Apelon’s source code, and I’ve found it to be a really nice environment after all this time. (We are talking about 3, 4 years). However, Eclipse has come a long way, and I found out that I was now looking for things that I am used to in Eclipse. Idea provides a GUI designer, and this is one major problem where Eclipse is not providing any free solutions, but again, Idea is not a free IDE either.  The community and effort around Eclipse has grown so large that it is now able to compete with high quality commercial solutions, but seeing Idea still reminds me of the comfort of a polished IDE created only for software development. Eclipse is a platform, though most people do not need to go beyond its use as an IDE.

To be honest, if Eclipse can somehow deal with the SWT/Swing problems, it will probably be the king of the tooling and development arena. Of course till that time, we’ll all have to suffer.