I’m finding it very interesting how a number of articles in the blogosphere are attacking the Google Android platform. I guess it is easy to criticize given it’s only been in the public for 6 weeks. Yeah it looked like it would be vaporware until we got a hold of the actual running emulator and SDK. And yeah, the quality of the SDK could be better and there could be more for building native apps. But I think the Android team has done a great job of getting something in developers hands early so that they can start coming up with some money-making ideas and feedback any issues that they do run into.
The issue that I think people are getting caught in is the claim that Android is a fork of the Java standards. You know, I could really care less about that. If the Android platform is truly open with a commercial friendly license and is available on a lot of platforms, it will succeed. And if that means you’ll have to port your Java ME or even your Java SE apps to it, the market will tell you that you should invest in that. I’d rather see the community decide what the best platform for mobile should be, not Sun who has little experience with it.
And I’m sure many at Eclipse would feel the same. Believe it or not, Eclipse is a fork of the Java standards as well and for much the same reasons. The Java standards didn’t cut it when building great desktop applications. SWT and the Eclipse Platform have really kept Java alive where I thought it would never survive. It’s a fork for all the right reasons. And so is Android as an embedded platform.
One thing you will see though is that Google, or at least the Open Handset Alliance (OHA) of which Google is the most powerful member, will dictate what the Android standard will be, much like Sun does with Java standards and much like the Eclipse Platform team does with the Eclipse Platform. And there is nothing wrong with that. If you’re in the business of making money writing applications for these platforms, you want them to be as successful, i.e stable, as they can be.
But what it does mean is that if we want changes, we’d better the requests in now before we start debating whether there will ever be an Android 4.0…
It’s been a great first week at Wind River. I spent 3 of the first 4 hours there in conference calls which has given me a hint at how things are going to go. Wind is a very dispersed company and everything is managed over the phone, through IM and e-mail, and the occasional travel. It should be very dynamic and a really cool environment to insert myself into it.
And while that was going on, the debate raged in CDT-land over how to deal with projects sitting on top of file systems that may be spread all over hell’s acre. The good news is that we have a lot of momentum and all the right people in place looking at it and talking about it. I think EFS is the key and how well it works hiding away the details of the actually layout of the files and directories from the rest of the CDT and Eclipse in general will tell how well we succeed.
I’m going to spend some time over the Christmas holidays working on my flexible file system. I have a good idea of how to do it, I just need to sit down and get it done. Once I’m finished, I’m hoping it’ll work a lot like other major IDEs, Visual Studio included, and that you can add/exclude files and directories from anywhere your machine has access. And that should help us test all these other scenarios as well, including having your project distributed between machines.
It’s going to be cool stuff, and I’m sure other projects will be interested in it as well. Our challenge will be to engage them and make sure we come up with a solution that works well for all of the Eclipse community.
So I’ve started my new job. For those who haven’t seen yet, I am now working for Wind River as an engineering manager in charge of a small team. From the meetings I’ve already had this morning it’s going to be an interesting challenge and I have a lot of new technology to learn and people to meet.
On the Eclipse side, I will stay on as the CDT project lead. I’ve been very impressed with the team at Wind that is responsible for a lot of the good work that went into CDT 4.0 as well as the DSDP projects. And I’m excited to be able to continue working with them and the rest of the CDT community.
Of course, I am who I am, and none of my philosophies change with this move. I am still devoted to the grassroots of the open source world. You get them excited about your technology with a low barrier to entry, they become great customers in the future. And Wascana continues to play an important role there.
And I see Google Android filling the same role for embedded. It is an exciting platform for mobile devices (and not just cell phones) and I’ve been blown away by the energy of the community that’s growing around it. There are guys who have even figured out how to build native applications with out having any of the header files and compilers available to them.
It’ll be interesting to watch the parallels between Android and Eclipse. They look very similar in philosophy of commercialized open source and the power of community in making a successful platform and that’s something the mobile space really needs to bring it to the next level.
I have an announcement. Today is my last day at QNX Software Systems. Now, for the Eclipse CDT community, no worries. I won’t be going far and you won’t see much of a change from me. But I do prefer to hold off announcing where I’ll end up until I get there. Today, I want to pay tribute to QNX for whom we owe so much for where the CDT is today.
I’ll always remember the first CDT summit in 2002. It was held here in one of the larger meeting rooms. We had people from Red Hat, MontaVista, Rational, and of course QNX. I remember the QNX gang being giddy as if they were proud parents. It was that day that the CDT project was born (or more historically accurate, reborn, but anyway).
The CDT that QNX gave to us was exactly what I was looking for. Something that fit in well with the rest of the Eclipse plug-ins, and the JDT especially. Even then we considered mixed language development with JNI as the holy grail that we were seeking, which we still are seeking BTW. The whole thing was a tribute to the small band of great developers that were locked away in an offsite building charged with coming up with an Eclipse based IDE in 6 months. They made all the right choices and most of them are still in effect today.
QNX also had the vision of what a commercial open source co-operative could accomplish in the right environment. IDE’s are not QNX’s core competency, and that is true for most platform and tool vendors. Very few IDE’s have been successful in the market because they require a huge amount of investment to do right. But if we all banded together, put away our competitive anxieties, and focused on the common good, we could and did pull it off.
I also have to thank QNX for giving me the opportunity to “finish” what I started at IBM/Rational. When we lost the group there, we lost a hand full of really good developers, and friends, that were working on the CDT. But we clearly did not have a “successful” indexing strategy at that point and I really feared for the future of the CDT. I sincerely have to thank the management team here for talking me into coming over. It gave me the opportunity to set things right, and they helped me build my career as a leader in the Eclipse community.
I’m very happy with how the CDT and its community have evolved over the last two years. We owe a lot to QNX and QNX will always hold a special place in our community. I wish all the people I’ve worked here all the best and I look forward to continue working with them in the spirit of friendly co-opetition.
I got an note on one of the forums for Wascana, my packaging of the CDT and GNU toolchain and assorted libraries for Windows development. The question brought up again the need of the community to support the Microsoft toolchain, and debugging in particular. Unfortunately I’ve been busy with other things and really need to do a reset on this work to figure out the best way to proceed that will be the most successful. So not much progress has been made.
While I was on the Wascana site, I thought I would check to see how the download numbers were doing. It’s been three months now since I made the last release and it’s probably time to do another one, especially if the numbers had dropped to nothing.
But to my pleasant surprise, we have apparently passed the 3300 mark. The numbers have been strong with around 30-50 downloads a day but are now starting to dip below 20. So guess it is getting time. I need to figure out how best to package the boost library, and then get the latest Eclipse Platform and CDT. It would be really nice to figure out how to use the update manager to install these components nicely for you but I think that’ll have to wait until next summer when the new Equinox provisioning work is ready and I’ve figured out how to use it.
But it is good to see Wascana is still seen as an interesting alternative for Windows developers.
One issue we’ve always struggled with on the CDT is how to do GUI testing of the CDT’s UI components. A number of us looked at different open-source solutions that would allow anyone contributing to the CDT to also contribute GUI tests. Some community members do use commercial tools for their internal testing. But we’d prefer something generally available for everyone.
Two solutions seemed to come out tops, albeit a very low tops. AGR from TPTP and the SWT port of Abbot. However each of these had two severe problems that prevented us from using them.
First, the Abbot/SWT port has been progressing very slowly to the point where we’re not sure it’s even alive. We do have one committer, though, that is looking at supplying them with patches and maybe that’ll bring it back to life.
AGR also had one big stumbling block, it’s dependence on the TPTP test framework. The CDT releng test run is a simple JUnit setup and we wanted to run our GUI tests as part of that without having to spend the effort of integrating the framework. Bug 138369 was raised to see if someone in the community could make AGR work in such a simple environment.
Well, today, we were notified that AGR has gone into an As-Is state (i.e. dead) and the bug was marked won’t fix. I personally recommend against marking bugs in the CDT as won’t fix, because, who’s to say someone won’t come along and try and fix it. Why shut the door like that. At any rate, it does point out that the community hasn’t really rallied behind AGR as a GUI testing solution.
So what is the current state of open source GUI testing frameworks for Eclipse? Is there something else out there? Or is there still hope for either of these technologies? Is there an EclipseCon talk on this subject?