« August 2007 | Main | November 2007 »

October 2007

October 29, 2007

Adobe AIR bus tour, Toronto stop

I recently attended the Adobe OnAIR Bus Tour when it passed through Toronto. The tour was an event dedicated to teaching developers more about the new Adobe Integrated Runtime (AIR), which is currently still in beta. It was an interesting day of presentations, as well as forays into the realms of Halo 3 and Guitar Hero II.

The day started with a long line (doesn't everything in a big city involve long lines?), but we were eventually herded through the front doors of the Guvernment nightclub and given our loot bags. In addition to the standard bundle of marketing material, there was a t-shirt, a CD containing Adobe AIR, documentation and numerous example applications which ran on AIR (along with source code), plus a paper copy of the Adobe Integrated Runtime (AIR) for JavaScript Developers Pocket Guide. Once in the main room, a good breakfast awaited us (fresh fruit, good muffins, and assorted other things) and after we had a chance to grab our food and seats, the show began.

The first presenter, Mike Downey, greeted us and apologized in advance for being tired - Halo 3 had been released a few days before while the AIR bus was in New York, and the conference team had stayed in line until midnight to grab one of the first copies. He then gave us an overview of AIR, and discussed it's place in the Flash platform. The next presenter was Mike Chambers, and his presentation described in a bit more technical detail what AIR was, and also showed how to create a simple, Hello World application with Flex. This was followed by a similar presentation by Kevin Hoyt which dealt with creating an AIR application with HTML and Javascript, as well as going over his stopwatch example. He also did a second presentation which discussed how to get at the Flash APIs from inside of HTML via JavaScript. It was quite interesting and means that you can do Flash transitions on HTML elements. During lunch, several people took advantage of the upstairs video game room to play some WiiSports and Guitar Hero II.

After lunch, Daniel Dura gave a presentation about the AIR APIs - there seems to be quite a bit there! There's an embedded SQLite database, support for multiple operating system window types (e.g. standard and dialog box), full file system I/O with native dialogs, access to the system clipboard and drag-and-drop operations, online/offline autodetection, and a bunch more things. It was during this presentation that I finally understood what was meant when Mike Chambers said that AIR was a full-fledged application development framework. I came into this presentation thinking that AIR was primarily a presentation layer and was a competitor to Silverlight or JavaFX. It's actually more of a competitor to the .Net Framework and the Java SDK, and is meant to be a cross-platform application development framework.

The next few presentations were by Adobe partners, the first was by Rick Greenwald of SalesForce.com. Rick showed off an application which uses the SalesForce Apex API. The application had automatic online/offline handling, and would synchronize its data automatically when connectivity was restored (very slick). Then, a fellow from Akamai discussed a free video player that they've released for the community. Reading the documentation makes me think that it's designed to stream Flash videos from Akamai's Content Distribution Network (CDN), but that's not much of a surprise. Then, a fellow from Yahoo took the stage and showed us sample applications built on AIR, such as Flump (Flickr Dump), which pulls publicly available images for a given user from Flickr.com through the Flickr web services API. Finally, a fellow named Grant Skinner talked about his company and some of the things they've done with AIR and Flash in general.

After the dinner break, we wrapped up the day by discussing creating desktop applications with AIR. Lee Brimelow talked about features such as automatic application icon generation from PNG and managing drag and drop between the operating system and the AIR application. We also learned about the AIR Bus API (Yes, the bus has an API) which allows you to get assorted information such as location, Twitter feeds and pictures from the bus through web services. We also learned that AIR beta 2 would be coming out at Adobe MAX, and that AIR 1.0 is expected to be released early next year, along with Flex 3. The official conference was then adjourned, and 4-player Halo 3 was set up on the projector - a good end to a busy day.

October 19, 2007

QCon San Francisco coming up!

I'm very excited about QCon San Francisco, which is now less than 3 weeks away - I'm going to be hosting the Java In Action track, and we've secured an excellent set of speakers and presentations. There are going to be five sessions in all, with the first four being presentations:

  1. Rod Johnson will be doing a presentation on Spring
  2. Alexandru Popescu and Cedric Beust will be doing a presentation on designing code for testability
  3. Brian Goetz will be doing a presentation on models for developing multithreaded, concurrent programs
  4. Adrian Colyer will be doing a presentation on using AOP in enterprise applications

The fifth session will be a panel talk which will deal with the future of Java development, and as the abstract says:

The Java of today bears little resemblance to the 1.0 Java release in 1995 - Swing, Java EE, Java ME, Generics, Annotations, and Dynamic languages are a few examples of major changes or innovations which have occurred to the base Java platform. Over the course of the last 12 years, the Java language and the associated APIs have grown and adapted to match a wide variety of applications.

This panel discussion with several influential leaders of the software development community will discuss and debate how the Java language and APIs will look in the future based upon the lessons we have learned from the past. In particular, it will focus on how application development will change, and the variety of enabling features that we can expect to have available to us as developers in the next few years, starting with Java 7.

I'm really looking forward to this talk, as I believe that it will be a fascinating glimpse into the future of software development in general, and Java development in particular. We have speakers from a very diverse set of backgrounds and experiences to ensure that we have a rich and vibrant discussion - the list of speakers (and the aspects of the Java ecosystem that I feel they represent) are:

  • Rod Johnson, who has a lot of industry experience with a successful, portable application development framework (Spring)
  • Charles Nutter, who has a lot of experience with dynamic languages, and is the project lead for JRuby
  • Joshua Bloch, who is a renowned expert in the intricacies of Java and who has been involved in the platform's development almost since the very beginning
  • Chet Haase, who is an integral part of the Java 7 development team
  • Erik Meijer, who is a .Net platform developer and creator of the Language Integrated Query (LINQ) extension to the .Net Framework

By introducing someone from outside of the Java ecosystem, we hope to benefit from the parallel but distinct experience of a similar framework to Java - for example, some of the places that Java hopes to go, .Net has already experimented with, and this will allow Erik to be able to say "We tried that, it failed for this reason and we had more success with this".

The speakers are ready, the stage is set, and the countdown has begun - but what questions should they be asked? This is where you come in. What questions do you want to hear this panel debate? I want to know what you think, and there's a good chance that any questions which are posted here will be asked of these five experts during this panel discussion - so, ask away!

October 01, 2007

Another opinion on the OSGi/JSR 277 debate

I recently posted an article about the debate surrounding JSR 277 and OSGi. Some quick background on the debate is:

  • OSGi (a.k.a. JSR 291) is a successful technology for packaging up Java software in a modular manner, and it has over 8 years of development behind it. It is also used in popular products like Eclipse and WebSphere
  • Sun is trying to develop a technology for adding components in a modular manner to the JVM - this is being handled as part of JSR 277, which is expected to be in Java 7
  • There are two OSGi experts on the JSR 277 expert group

At this point, the rest seems obvious - Sun will utilize the experience and learning of the OSGi experts, and create a modular system based off of OSGi.

Well, that's incorrect. Reading the JSR 277 mailing list has given people the impression that the two OSGi experts are being ignored, and that the bulk of the JSR 277 expert group appears to be making the same mistakes OSGi did at the beginning. There is also speculation that the expert group wants to do everything by itself, and doesn't want to use a technology that was developed by an external organization (referred to as "Not Invented Here syndrome"). This has caused a furious debate in the Java community around JSR 277, and there does not appear to be a resolution in sight.

The idea behind JSR 277 is a good one - it is an excellent idea to make the JVM itself modular, as this will allow it to be far more flexible in many situations. For instance, Java is used a lot on the server side - for those applications, you don't need Swing or any of the Java graphics libraries in your JDK - they can be removed. Conversely, if you develop an application and it wants to use several open source libraries e.g. Hibernate and Spring, then under JSR 277 there is a repository that the JVM would automatically look up those libraries in, and it would be able to dynamically install that capability into the JVM. That is a feature with a ton of potential (I've used Maven 2.0, it's amazing to not have to manually find libraries), and I'd hate to see it become unmanageable or broken due to political bickering. In my opinion, the JSR 277 expert group should start with JSR 291 as the basis since it is a proven, industry-accepted technology, and then explicitly change whatever is necessary to support the new requirements like ClassLoader handling and the JSR 277 repository mechanism. This is Glyn Normington's dream solution, and in a non-political, technology-centric world I believe it is the best possible solution.

-->

October 29, 2007

Adobe AIR bus tour, Toronto stop

I recently attended the Adobe OnAIR Bus Tour when it passed through Toronto. The tour was an event dedicated to teaching developers more about the new Adobe Integrated Runtime (AIR), which is currently still in beta. It was an interesting day of presentations, as well as forays into the realms of Halo 3 and Guitar Hero II. The day started with a long line (doesn't everything in a big city involve long lines?), but we were eventually herded through the front doors of the Guvernment nightclub and given our loot bags. In addition to the standard bundle of marketing material, there was a t-shirt, a CD containing Adobe AIR, documentation and numerous example applications which ran on AIR (along with...read more

Categories: Web/Tech

October 19, 2007

QCon San Francisco coming up!

I'm very excited about QCon San Francisco, which is now less than 3 weeks away - I'm going to be hosting the Java In Action track, and we've secured an excellent set of speakers and presentations. There are going to be five sessions in all, with the first four being presentations: Rod Johnson will be doing a presentation on Spring Alexandru Popescu and Cedric Beust will be doing a presentation on designing code for testability Brian Goetz will be doing a presentation on models for developing multithreaded, concurrent programs Adrian Colyer will be doing a presentation on using AOP in enterprise applications The fifth session will be a panel talk which will deal with the future of Java development, and...read more

October 1, 2007

Another opinion on the OSGi/JSR 277 debate

I recently posted an article about the debate surrounding JSR 277 and OSGi. Some quick background on the debate is: OSGi (a.k.a. JSR 291) is a successful technology for packaging up Java software in a modular manner, and it has over 8 years of development behind it. It is also used in popular products like Eclipse and WebSphere Sun is trying to develop a technology for adding components in a modular manner to the JVM - this is being handled as part of JSR 277, which is expected to be in Java 7 There are two OSGi experts on the JSR 277 expert group At this point, the rest seems obvious - Sun will utilize the experience and learning of...read more

Categories: Web/Tech

Privacy Policy| Sitemap| Contact Us

Copyright 2002-2007 Codesta LLC. All rights reserved.