JAOO Conference day 2

October 1st, 2008 at 7:38 pm by Nicolai Buch-Andersen

I skipped the introduction of today’s program in order to write up my impression of yesterday instead. The long introduction is boring anyway. I already knew which sessions I wished to attend.

Today’s keynote was about Google Chrome and their V8 JavaScript engine. It’s as nifty piece of technology, but wasn’t a very interesting subject for me. I can’t help but to doubt that JavaScript will be any kind of long-term solution for developing web applications, no matter how much Google optimizes their engine. The browser is a perfect distributing platform, but a lousy execution platform. I believe more in RIA technologies such as Flex, Silverlight and JavaFx.

Session 1: Of Code and Change: Beautiful Software by Michele Lanza
One word: Amazing! The first thing Michele showed us was a first generation visualization tool running in an Eclipse plug-in. It visualized code as a 2D graph where classes where represented by simple squares. Different metrics was used to control the width, height and colours of the squares. It was impressive what could be seen at a glance from such a relative simple figure. But the second thing Michele demonstrated was really fantastic. It’s a tool developed by one of his PhD student and it’s called CodeCity. It draws an entire software system as a full colour-coded 3D model of a city. Packages appear as districts and classes as buildings in the districts. It gives a whole new way of visualizing the overall architecture of system, spot areas ripe for refactoring, identify areas of frequent change or stale code, and much more. Take a look at .

Session 2: The Times They Are A-Changin? by Sofia Svanteson
This was an interesting, at times funny, and quite inspirational talk about GUI’s for mobile devices. Perhaps it was not very rich on actual, concrete information. But I’m glad there’s room for these ‘softer’ subjects at JAOO too.

Session 3: Not your Grandfather’s Architecture: Taking Architecture into the Agile World by James O. Coplien
James had some surprising (for me!) insights about architecture. Firstly, he claimed that architecture was about ‘form’, not structure. That is, architecture was the basic form of your application, wherein you poured your material, or structure, in the form of methods and classes and packages. Secondly, he claimed that architecture should come from the business domain, not from the requirements. Architecture should capture aspects inherent in the business domain and therefore stable across varying user requirements. Unfortunately these interesting claims were drowned out in a general rant against OO which – according to the speaker – destroyed the clarity of the Fortran algorithms that went before; against the toy language called Java specifically, and the fact that all OO languages was missing the concept of ‘roles’ or ‘traits,’ without which architecture could not be expressed properly.

Session 4: Flex and Air by James Ward
This session had some good demos. But I’m not sure about the composition of the platform: A JavaScript ‘mutant’ is used to code the client and anything, apparently, goes on the server (as long as it can be presented as a webservice). It seems to me to have the potential to turn into a mess of different languages and standards. On the other hand, the combination of the Flash Player in the browser and the Air player for desktop application, which can pretty much share the same code, seems like a very good idea.

Session 5: Silverlight by Josh Holmes
In contrast with the previous session this one had rather lacklustre demos. Some of them looked impressive enough, but they were all just toy projects. I didn’t feel that Josh did a good job of “selling” Silverlight. The biggest strength of Silverlight is that it will run on Microsoft’s Mobile OS and that it utilizes the well-known .NET technology stack (C# + WPF).

Conclusion
For me, this day was all about Rich Internet Applications. I think Chrome is a good looking browser (I like the slick interface) but, as I said, I’m doubtful if JavaScript will continue to be the preferred language for web application in the face of the competition. Media codex’es aren’t build into the browsers but played through dedicated media players and plug-ins. I think we will see a similar trend for web application: They will use the browser as a distribution platform, but will run in dedicated ‘application players’ and/or ‘application player’ plug-ins. Whether these players will be build by Microsoft (Silverlight/.NET), Adobe (Air/Flex) or Sun Microsystems (JavaFX) I don’t know. Time will tell, I guess.

Popularity: 426 points

2 Responses to “JAOO Conference day 2”

  1. James Ward Says:

    Hi Nicolai,

    Thanks for attending my session! ECMA’s decision to not pursue ES4 right now has freed Adobe to make some changes to the core language of Flash - ActionScript. So I’m curious… What do you think we should do with the language which is used to code UI’s in Flash? Use Java? Use something else? Thanks.

    -James

  2. Nicolai Says:

    Hi James

    Java would be nice as the language for doing UI programming in Flash. Not because Java is inherently better than other languages, but simply because most server side programming is done in Java (at least for the projects I’ve been involved in). Using Java for both client and server side code would give developers a uniform development environment.

    On the other hand, I can understand why some would prefer a dynamic language for UI development. Perhaps the ideal solution would be to bind Flash to the Java bytecode instead of the Java language. Then developers could choose freely between Java, JRuby, Groovy and other Java bytecode compatible languages.

    The current solution (as I understand it) involves a ‘homegrown’ version of JavaScript. And that’s the worst possible choice, in my mind. Then you lack the IDE support, tools and communities available for more established languages.

    /Nicolai

Leave a Reply