Call CJT now on +44 (0) 0118 934 7909 or contact us
Wednesday 10th, March 2010

Shu updater

Posted by Jethro Grassie on March 12, 2009

Our most recent version of Shu allows a standard Adobe AIR application to have the same AIR install experience but with the benefits of extra commands missing from the AIR runtime.

With this new version, one thing we are often asked is:

“Can I update my Shu application like a normal AIR app?”

While the simple answer is “yes”, a little more explanation is needed to implement.

The first thing to note is that any new version of the application needs shipping as a new Shu Packaged application, not just an updated AIR file.

The application output via the Shu Packager is a installer which installs AIR (if not already present) followed by installing the AIR file. It then performs a little magic to enable the extra commands.
If you just delivered the new AIR file, the last bit of magic would not be performed and you would lose all the Shu commands.

The second thing to note is that in your update descriptor XML file, you need to point the <url> element to the Shu output installer, not to the AIR file.

Lastly its important that we prevent the air.update.ApplicationUpdater from actually attempting to install the downloaded update (after all, its expecting an AIR file not our native installer).
Instead, we want to do this bit ourselves, and luckily, because we are a running Shu based AIR application, we can execute the installer using shu.System.execAsync!

So, I have created a little class to deal with this last step.

It can be used as a direct replacement of ApplicationUpdater.
Whilst this class will be included in the next version of Shu, for now, download here.

New version of Shu

Posted by Jethro Grassie on February 5, 2009

We have finally got around to releaseing our brand new version of Shu!

It really does complete our product offering for Shu as it allows developers to add extra functionality to their AIR applications whilst still making use of the sanctioned AIR installation model.

Our previous versions of Shu are now renamed Shu SA (standalone) and Shu SA Lite (standalone Lite). These versions of Shu create standalone applications from AIR files.

The new version of Shu works within Adobe’s licensing model of normal AIR applications. We just add the extra power that the AIR runtime lacks (e.g. executing other applications amongst other things).
This also means that developers can sign up for Adobe’s standard AIR runtime redistribution agreement.

This new version also makes it a breeze to create custom installations of the AIR runtime and the AIR application.

So if all thats required is a standalone application with no extra functionality:

Shu SA Lite

If a standalone application is required but with extra functionality not offered in AIR by default:

Shu SA

If the standard AIR installation model is sufficient but extra functionality is required:

Shu!

Check out the Shu website for further details.

JavaFX and its future

Posted by Jethro Grassie on December 8, 2008

So, JavaFX v1.0 was released the other day and many people are quick to have a rant about it, so I may as well chip in too!

We have lots of commercial Java experience, both on the server and the desktop, so have kept a keen eye on JavaFX since it was first announced – which feels like ages ago, and its this point I will address first…

Its difficult to generate a community around a new technology which has been prematurely announced (i.e. before its even really in an acceptable beta) and delivered way later than first scheduled (approx one year behind schedule).
CJT are a company I can only imagine Sun would love to become an early adopter of JavaFX – cross-platform, multi-device, many on/off-line applications (and RIA’s) developed by us and of course lots of Java experience. But its been difficult to get behind the technology. We need to be sure it can deliver both technological advantages and user experience above its closest competitors (Adobe’s AIR/Flex and to some degree Microsoft’s Silverlight).
Since first announced, its felt very alpha in its development. We, the community, have been informed what it will be, but it just hasn’t yet delivered.

Now lets take a step back and address the points we like.

- The JRE.
The maturity of the underling technology (the Java Runtime Environment) cannot be overlooked. One of the biggest gripes we have with, for example, the Flex framework, is it is bug ridden. Start doing any kind of serious project with it and you cannot get away from this. The mx components have been completely re-written no less than three times now! And they are still buggy. This slows development, there is no getting around it. Ask any developer who has done any serious stuff with the Flex framework and they will be able to testify to this. Hopefully with Flex, this will improve now that the framework is open-source.
Java is very mature and so we shouldn’t see soo many issues in this department.
The JRE is also leaps and bounds ahead of the Flash Player in terms of functionality, along-side the fact there are tons more Java developers (and more experienced) out there than actionscript developers, which as an employer, is also a key point. Finding decent actionscript developers is tough compared to experienced Java developers and this isn’t because of demand, its because actionscript 3 (I pinpoint 3 because 2 was half-baked and the Flash Player AVM1 was pants compared to AVM2 – hence incomparable to Java and the JRE) is a relatively new language and most actionscript “developers” have come from a creative/design background as opposed to programming. We like designers to do design and hard-core coders to code and for the two teams to collaboratively work together to create great results.

- The delivery mechanism.
The fact JavaFX is part of the JRE, anyone with a recent JRE will already have the JavaFX runtime installed.
Sure, there are always going to be cases where a users JRE will need updating, but Sun have been making lots of effort to make this easy and a small download. As time goes by, this will just be less and less of an issue alongside Sun making the install experience easier and better. This is more a JRE issue than JavaFX as Sun have been overhauling the Java install experience anyway.

- The on/off-line capabilities and user experience.
Seriously overlooked is the ability to simply drag a running JavaFX application from the browser window to the desktop.
The coding of one application and the ability for end users to either run it from the browser like any other RIA or install it locally as a desktop application by simply dragging it from the browser window – this is cool. If the user does drag it to their desktop, you can leverage all the extra desktop functionality and thus create some great user experiences.
Adobe developed AIR to essentially fill this gap the Flash Player and Flex framework had, but they just haven’t thought this out as well as Sun in my opinion. If you take an Adobe route and want browser and desktop application, you end up writing two separate applications and have two separate end-user install requirements, the Flash Player for browser app and AIR for the desktop app.
Take the proposed Sun route, you have only one requirement, the latest JRE. You also have only one app to develop.

- Mobile.
Not yet delivered (though apparently in Spring 2009) is JavaFX Mobile.
Given that there is a JRE on practically every mobile phone in the wild, you can see where JavaFX plans to reach.
Compared to the Flash Player in this department, JavaFX would win hands down. Flash Player on mobiles, named Flash Lite, is years behind its desktop counterpart (Flash Lite is still the old AVM1 running actionscript 2 coded apps) and Adobe are only now starting to talk about AIR on mobiles in the future, no firm dates.
Even if Adobe updates Flash Lite (so AVM2 and actionscript 3), it will still seriously lag behind Java functionality on the devices.

Brining it all together, if Sun can deliver and then get companies to adopt, JavaFX is going to be a force to be reckoned with. Develop one application that can run through a browser, on the desktop, on mobile phones/devices… brilliant. But its a big ask. So far just delays and a beta-like release. I guess more will become clear how this is going to pan out over the next few months.
Many are quick to write Sun off – I am not soo quick.

AIR 1.5

Posted by Jethro Grassie on November 18, 2008

So AIR 1.5 has now been released.

Well, apart from the inclusion of the latest Flash Player (version 10) and updated WebKit, what does it really add to the previous version?

Very little in my opinion.

The single most developer requested feature is still surely that of executing external applications.
This really is a must piece of functionality for desktop applications, yet Adobe seem quite content not to add this functionality to AIR.
It is such a shame they are delaying – and I say “delaying” because I am confident they will eventually add this functionality.
I feel they have enough people working on AIR that remember the days of Macromedia Central – and anyone who knows about that technology will know what a flop that was!

Well… its OK for the developers who use our product Shu, as this does at least add this missing feature (among many others).

While talking AIR and Shu, we have a nice new addition coming soon. Watch this space.

Like what you see? Then get in touch;
t. +44 (0) 118 934 7909   e. contact us