Why Tools Are Important For Middleware?
In the first quater of 2009, we released first version of WSO2 Business Process Server(BPS). And we released WSO2 BPS with experimental BPEL4People and WS-Human Task support in first quater of 2010. But we did a big mistake by not releasing proper tools at both times. This lead to several problems, like usability issues for the users. And I strongly believe that if we could concern more about the tooling aspect of WSO2 BPS from the first release, usage of WSO2 BPS could be better than the current stage.
When we were doing first release of WSO2 BPS, Eclipse BPEL editor was there and we could do BPEL modeling using that to some extent. At that time Eclipse BPEL editor has some issues and as I remember it didn’t support Apache ODE deployment descriptor creation(This was added later by Tammo). Because if the resource constraints we had we decided to go with only the Eclipse BPEL editor. And at that time Netbeans BPEL editor was also there and we suggested it for users in some situations(User needs to create deployment descriptor manually in this case). But in 2010 we fixed some of the issues there in the Eclipse BPEL editor and we integrated it to WSO2 Carbon Studio.
But again we did a mistake by releasing first version of BPEL4People + WS-Human Task implementation without a proper tool for creating human task definitions. This was a major issue when it comes to usability and this also cause reduction of amount of testing we could do to test WS-Human Task implementation. In the 2nd half of the 2010, we were busy with Cloud version of WSO2 BPS and we couldn’t work on human task tooling.
Currently we are working on next version of BPEL4People and WS-Human Task support for WSO2 BPS and we are also working on tooling support for human tasks in parallel.
Because of the above experience I strongly believe that, when we are developing middleware we should always think about the tooling aspect from the beginning. This will not only make your product popular and will bring you more money.

