Thursday, March 20, 2008

EclipseCon: Wednesday

Sam Ramji announced project Supernova, a plan to buy the Eclipse foundation in order to acquire all the EPL software. A release for Visual Studio under EPL would follow soon. Why? Because Microsoft simply loves Java. Too funny.

He outlined Microsofts dabblings in open source since 2001. His open source lab was founded in 2004. He described Microsoft's interest in high performance dynamic languages. He also talked about Microsoft's OSI approved open source licenses and some of the technologies made available under those licenses. A focus on interoperability is a growing interest for Microsoft, e.g., the Linux interoperability lab. They've been working with Mozilla on Firefox optimization on Vista including improved support for the embedded Windows media player. And they've been working with folks at Apache, developer-to-developer, on http interoperability. MySQL, PHP, and Samba are also of interest to Microsoft.

So how will Eclipse and Microsoft work together? Higgins and Cardspace are focused on identity management. It's an important enabler for secure access in an electronic world. SWT support for Windows Presentation Foundation is something Microsoft is committing resource towards enabling. Our beloved Steve came up on stage to demo some of the problems on WPF that need some attention. Simple problems with colors or more annoying ones like window flicker during resize. He showed funky things like rainbow menus, spinning buttons and view, and jittering buttons followed by a quick tour of some horrible code (but since most of Steve's code is just so nice, it was hard to find any).

Mike came up to ask some hard questions. When will Microsoft join? Not yet. Does a C# IDE at Eclipse make sense? Sort of but no planned activity. Will Microsoft improve interoperability with Java? Certainly Microsoft is interested in being a platform on which Java applications can run. Will Microsoft have committers at Eclipse? Mostly they just want to help commiters rather than be committers. What is budget of open source lab relative to 50 billion dollars revenue? It currently has a 5 million dollar budget and that will hopefully grow. What factors have been important to get buy in on open source initiatives? Interoperability is the primary driving factor, i.e., making Microsoft's platform a platform of choice. Why did Microsoft define new licenses instead of using an existing one? The issues around intellectual property clarity, i.e., understandability to techical folks, were key concerns.

In the end, I think it was a fairly dry talk that didn't say many things that really gave me a warm fuzzy feeling. It was gracious of Sam to come speak to an audience that was likely to be skeptical.

After that, it was time for the e4 presentation, which attracted nearly the same number of people as the keynote. Nothing like anticipation of bloodsport to stir up interest. McQ reflected on why it's been hard to get the community involved. It's complex code that has grown baroque over time so it's hard to make changes without negative impact. Looking forward, we need to understand how will Eclipse respond to the growth of rich web-based user interfaces and REST communication to keep itself current and relevant. By doing cool new things, it's hoped that the community will get more involved and in fact that involvement will drive what actually gets done. Certainly there is a desire to make architectural improvements as well as the ability to target the web. He demoed the ability to alter the look of the IDE using a CSS-style model that controls the visual aspects.


Jochen talked about some of the cool things that have been done with RAP to target the web. Effectively the server is running the actual application and it's just being viewed by the client through their web browser. Many folks perceive there to be a mismatch between a widget-based API and what's actually available in a browser. RAP is a server-based design while folks like Steve have been experimenting with a client-based design, more like Google Widget Toolkit, where the UI really is running on the client. Each type of approach has different scalability issues. How many applications can you run on one server or how many widgets can you support running in a client's browser?

This was followed by dynamic dude Jeff. He explained that the 3.x stream will continue for many years to come, regardless of the 4.0 effort The established community need not worry about disruption, and successful 4.0 will feed back into the 3.x stream when possible. The different parts in e4 will move at their own pace with the expectation that they will be driven forward by various teams. The outlook for development is a two year plan with a checkpoint review next year. An e4 Summit is anticipated soon and I'm sure the e4 BoF tonight will be a good one.

After that I decided to attend some short talks, since there was quite a bit of modeling content. Kenn gave us a very quick helping of MDT acronym soup.


Steve Robenbalt presented on building an RCP application with EMF. He explained that the runtime was very useful and support for XMI serialization was key. It supported rapid prototyping. In his opinion, it's easy to get started with EMF because it has good tutorials to help get your feet wet. His RCP application comprised five models: facility recipe, process, operations, and visualization. He was challenged by incomplete initial designs, short deadlines, frequent focus changes, and remote firewalled access. EMF's support for rapid prototyping helped a great deal. Customers actually edit the serialized XMI instances to effect changes.


Jim van Dam presneted StUIML; it sounds similar to what Yves was doing. It lets you describe your user interface with a high level abstraction that can then be targeted to difference environments. You then bind your data model to that UI description. It's totally cool. He mentioned how much happier he was with xPand templates than with JET templates. That should increase the oAW pressures to use xPand in EMF's generator.


Hajo Eichler talked about ikv++'s interest in QVT. He demoed the editor support for helping you write your implementations. They support cool things like a debugger to help understand the behavior of your transformation as it executes; he showed that in action. Very cool!


Then David Sciamma presented the Ecore Tools project. The goals are to support a graphical editor for Ecore with interesting views in addition to a class diagram. They also want to provide integration with things like search and with the generator model. An improved outline, a richer properties view, and filtering are among the capabilities that are included. They're interested in Emfatic support (but Miguel's work on Emfatic seems to have stalled). He gave a very nice demo. It's awesome and has improved a lot since last I had time to look at it. I'll need to find some time again. It would be good to throw away my moldy old Rose 98 stuff.


I managed to convince Jim van Dam to come and have lunch with me. Mike Gerring, who has been helpful writing EMF recipes as a reward for my helping him joined as well. Jim is interested in writing a project proposal for his work. I encouraged him to hook of with Yves, because their work is very similar but also complimentary. I'm very encouraged. He also showed me more details about EMFTrans after lunch.

My effort to build up the modeling community one committer at a time was followed by a Ian's panel, Building Open Source Communities: One Contributor at a Time. How timely is that? The panel was fun and I hope the audience got some value from it.


After this it was time for my partner in crime, Rich Gronback, to give his talk about Eclipse Modeling Project as a DSL Toolkit. DSL stands for Domain Specific Language, for those people whose lives are sadly devoid of models. Of course no modeling project talk is complete without a healthy helping of acronym soup. Very hearty and nourishing! Rich outlined the components of the swiss army knife used to develop a DSL toolkit. Again, xPand gets a plug in terms of its superiority to JET. It's cool to know that it's possible to take the XHTML schema and convert it to an Ecore model that will allow you to support model to model transformation to generate HMTL. It was also cool to see a whole cross section of technology from the modeling project in action.


After that Rich and I got a demo of some of the cool stuff the Thales guys were doing. It was very slick though quite similar to the model workflow engine work, so we need folks to chat about the potential for collaboration.

This was followed by a demo from the Skyway folks. Notice that's Eric Rizzo on the far right. I'd wondered why he was asking EMF questions on the newsgroup. Now I know. Jared explained to me the design ideas and showed me a demo of their slick new software which they recently open sourced. They're very interested in what it would take to host it at Eclipse.


They're making heavy use of EMF and are effectively emulating much of the design behind Ecore and the generator for it, only they have their own DSL rather than Ecore and are generating code to support a web application specified using that DSL. They've really tapped into the potential of model driven development. They rearchitected their whole product in just six months with seven people using EMF and made comments like, we saved 500,000 lines of code by using EMF. And now they are exploiting the same principles so that their users can build specialized web applications far more quickly. They're a snappy bunch of guys with some great ideas and high energy. I love to see successful clients.


On the way down to the reception where they had food, drinks, and chocolate fountains, all free, I ran into Michael and Joel.

At the reception I chatted with Scott Schneider and Eric.


Until this mad woman showed up and beat Eric senseless.


On the way to the e4 BoF, I ran into Simon Moser, who I've helped on the newsgroups; I hadn't met him in person before.


Then Oisin gave me one of his patented looks.


The first half of the BoF was interesting but focused to a large extent on the need for backward compatibility. I think many folks don't have a good sense of the impact that breaking changes would have on Eclipse's huge ecosystem.


After that I went to Robert Fuhrer's the IMP BoF. IMP can generate a JDT-style IDE from a grammar and has a lot of potential application in the DSL space.


Finally I headed back to the bar, where the drinks were free thanks to Mike. I found Kenn at a table with the Topcased guys.


Given the drinks were free, there were many happy people, including Chris, Kevin, Lynn, Carlos, Andrew, and Jeff.


It was cool to meet Andrew Overholt in person. He lives in Toronto.


And of course Tom is one of my favorite community members.


Such a long day! Way past time for bed...

No comments: