Adobe Flex and Apollo for Elections

I’ve had a busy couple of weeks putting together some intranet pages for the 2007 Local Election coverage. The pages are used by the journalists covering the event and had to show a deailed view of the constituency results. I started off with Expression and ASP with some Ajax thrown in, but later decided that it would be an ideal test for a Flex application. It’s a one night only situation, so if it doesn’t work well it would only matter for a day or so. We served it with prebuilt xml files of the results, which are transferred to the client with regular updates. The flex app at the client end can then make various filters and selections from the list to create the separate displays. We had designed the system to be driven from a web service but, in the end, there was much debate and jostling around with database interfacing and we didn’t want to be delayed. We decided to start with the xml files and move later if we had time. Of course, we didn’t. Now that the database is finalised, we can move to the web service option for the General elections when they arrive later in the year.

The Flex app was extremely easy to put together. I used several of the built in components: accordions, split boxes, charts, repeaters etc and I also put together the result bars as mxml components. This is the page,
Local elections intranet

Click on the picture to see the final results; it may take a few seconds to download the xml files as they are over 200k. The bars were all setup as mxml components and were able to take their colouring from a css file. All I had to do to get a list was to give a repeater control and tell it the filtered data source. Flex was then able to display the list with all items fully coloured. So easy. The charts were useful. They were given the same data source and just produced a basic display straight away. To get the histos individually coloured, I had to write a custom renderer, but that was again, surprisingly easy to add in. The components seem to be written with the idea of programmer modification, and I think that will be sufficient for most people. If you need to , then the Flex interface controls have recently been made open source so you can go right back to the code. This is so easy that there must be a downside. I think that performance might be something to be aware of. By making it easy to combine controls together, nest controls within other controls and have many of the sizes controlled from bindable variables the novice programmer could put together a complex interface that takes a large part of your processing power. In this system, it was quick and easy to get data from xml files, but they grew in size as the evening went on, which slowed down the refresh proportionally. We need to plan to hold result objects on the client so that we only need to get the new results each time. We shall do this for the General Elections. I think that it was a valuable experience to see how quickly developments can be done in Flex and what the problems might be.

In the same vein, I wanted to try Apollo and we had an ideal small job for it. On the night we had to get figures from the database into our vizRT graphics system. As the evening progresses, the prediction for the colours of the seats in the Parliament changes, so it’s handy to have an automated way of keeping the model up-to-date without the operators having to deal with the depths of the model. It’s easy to get things wrong in the heat of the moment. The graphics machine is controlled through a TCP socket and this is easy to setup in Flex. We had already read the results from the xml so there wasn’t much more than a few calculations to do. Because we were now a desktop app, we took advantage of saving various defaults and settings onto our local drive as a file that any user would be able to see. The installation of the Apollo runtime was less than 5Mb and was simple to do. The building of the install file, (called an air file) allowed us to bundle in some icons and a style sheet. It installed very quickly. It doesn’t give a choice of where the install should go yet. This is coming later apparently, but I’m not sure whether we would want to put it anywhere other than the default. Our corporate IT lockdown will probably dictate where they install in the end. Updates also installed over the top with no problems. The whole operation was easier than I’d imagined. I must try to do the same on a Macintosh. In theory it should be identical. As more of the designers are sitting with Macs, it might be a way to help them automate some of their day to day tasks.

All in all this was a pleasant experience from Adobe and goes some way to balance their appalling upgrade prices on the CS3 software. I’m still angry that it will cost us almost as much to update our Photoshop Creative Suite and Production Studio bundle as we paid for them less than six months ago. I do want the new technology, but the feeling I get from the Flex software is much more positive.

NAB Las Vegas highlights

I’ll just put down a few words on the stories that I found of interest this week. Technology is changing fast but sometimes it’s difficult to see where the real breakthroughs are. At Las Vegas there is so much hype and marketing material that sometime the products that are announced a little way ahead of time can have a brief, but important lead in the marketing stakes. Autodesk have done that by delivering the Max 9 and Maya 8.5 releases a month ago, but having parties at NAB to promote them.

Other companies such as Apple use the tension before the announcements to heighten awareness. They certainly had some good news to speak about. Maybe it’s only new releases but it is the company that you keep which sometimes adds to the story. Sony suits were around for the Apple keynote. Everyone was waiting for the new FCP version and it does look good. Final Cut Server is announced: with workflow management, automation, automated encoding of 100 file types and proxy generation. Final Cut Studio is using the newly announced ProRes422 as an uncompressed production format. It’s compressed, but is more along the lines of the older lossless compression that came from Matrox. That worked well for Matrox in the Digibeta world, but I would have hoped that it might be a 4:4:4 format in the modern day. Apple say uncompressed, but it’s 4:2:2. There’s a loss there already. Colours are compromised on vertical edges. It is 1080p and 10-bit so it will be good for me, but for film makers, I’m not so sure. Apple are aiming at high resolution but still managing compression to under 20Mbps for HD footage. Very impressive.

The timeline now has mixed formats, mixed resolutions, mixed framerates even. They are bringing in Motion templates and features from Shake such as SmoothCam. There are now 3D particles. The audio system, Soundtrack Pro 2 brings in similar features to Audition with Fourier transform type facilities to make it easy to edit out clicks and bumps or unwanted frequencies. The compression will produce MPEG2, h264, wmv and flv with the options of animated watermarks and timecode overlays. Colour grading is so much more straightforward. It is making life easier for the operator who is continuing to cover more aspects of the job in a multitasking environment. The ease of use is very important and has been done well. Amazing that they can do all this and still keep the price low. FCS is only $1299. This is less than it will cost me to upgrade my Production Studio Premium package. It will certainly make me think of moving. I might just rush out and buy a Mac.

The Red button appeared on the screen when high rez footage came into view. I’m not sure if they were showing footage from the Peter Jackson tests. He has been trying out the cameras in New Zealand. They have an impressive spcification and I hope home cinema systems will be coming this way in ten years time. The cameras have 12Mpixel sensors, up to 60fps, and 12-bit colour in RAW format or 10-bit oversampled HD, 66db signal to noise ration, Canon lens mounts. All for around £20k. Wonderful.

To get the material in and out, Blackmagic Eclipse is an upgrade of the current Multibridge Extreme range and adds a 3Gbps SDI channel to get 4:4:4 down a single BNC connection. Truly ready for film editing. Being an external box, it allows Blackmagic to add other facilities such as HDMI and the use of the box as a standalone video standards converter. It also uses the DirectShow interface to allow live previews from Adobe and Apple software. AJA have announced a similar external offering with their external Io HD box. Both are around $3500 which is a good price for HD interfacing. I think I prefer the Multibridge for its flexibility but the AJA box is smaller.

Quantel have their new teamwork system called Genetic Engineering. They’re hoping to make their Sam server the hub of the DI workspace. The DPX (and SMPTE) format files it uses are slightly more flexible than the older Cineon standard with a variable length header and format blocks for both film and television data. Other manufacturers seem to be falling in line to use the same format and fit into this shared production workflow. It will be interesting to see how it fits with Final Cut Server in some of the bigger post houses. Omneon are also active here with MediaDeck, their latest video server.

On the compression front, the BBC is pushing the next version of their Dirac Pro algorithms. It will compress 1080p into the same bandwidth as 1080i so that it can use the current HD routing and distribution hardware. This is important for those with a big investment in equipment. They are forming licensing agreements for their open source, wavelet based compression algorithm.

Of course Adobe and Microsoft were in Las Vegas with new announcements. Adobe announced their new EXPENSIVE video suites. It will cost more for my upgrades than I paid for the software less than six months ago. Disgraceful. Adobe also showed their new standalone Media Player with no Adobe branding. Not simply no branding, but it will even skin itself dynamically according to the video that is playing. It’s based on their Apollo framework, so should work well on all platforms. (They showed it playing on Intel’s new handheld internet device). Microsoft announced their Silverlight product, which is really only a new name for WPF/E. Flash 9 has passed the 75% installed figure and is really dominant, but Microsoft will have Silverlight installed on Windows so it should be quite a battle. Apollo has an enthusiastic developer following and being cross platform, it might prove to be what swings the battle toward Adobe. Microsoft seem to have been going backwards on the Mac front recently but they have a lot of weight to put behind their new developments. This is just the start of the battle.

Flash and Apollo

Went over to the Barbican, for the FLASH User group to hear what Mike Downey had to say about Apollo.We had the usual CS3 run through before Mike and he ended up taking the flak for the disgracefully large upgrade prices on the software. We spent over two grand buying the Photoshop suite and the Production Studio Premium less than six months ago. Now we’re being asked to spend almost as much to do the ugrade. Adobe moved down a point in my estimation and lost some of the positive ground they’ve made with AS3. Had to get that out of the way first; I just think it’s appalling and I can’t afford the new toys.

What’s new in CS3? A couple of interesting features for Bridge. An API could produce some interesting automation products, so I’d like to look at that. Bridge can also play back swf’s in the interface which is a bonus. Well done them. Photoshop now has the ability to read in 3D models and do some simple texture mapping. This should be useful. It can also do the cut throughs, similar to SketchUp with buildings, so that you can see cross sections of the models growing into the final image. Very neat. I should look at what formats are being used. How are the developments here linked to the 3D display within pdf files etc? Non destructive filters and multiple photo alignment are another two features of interest. The improved magic wand looks impressive. Let’s try it in the real world; I remember the CS2 demos.

Flash CS3 has now got Photoshop layers import, with an interface to decide what gets converted to movie clips etc. They are also using the Fireworks jpeg compression rather than the Photshop offering. Looks like the Fireworks compression will be the algorithm of choice for future Adobe software. (A few non-quotable comments about the lack of future for GoLive at this point…) Some improved handling for cubic beziers are now in there and the ability to save out some of the animation keyframes. This sounds similar to getting the frames out of AfterEffects but may be even better. It might be one reason for me to go back into using the Flash interface, as I have become more used to doing everything within the Flex programming environment nowadays. They have persuaded Robert Penner to put some of his work into the animation facilities. Robert has pulled together some examples of the easing equations needed for lots of common animation situations and his site is definitely worth a look if this is what you’re into. Adobe have done well to bring him into the team. The excitement for me though, is that the animations can be saved out as xml, into an e4x class for use while programming directly. Sounds similar to the Tweener library (which has now been ported to AS3 and can be found on the Google code pages here). What else? Deinterlacing, better cue points, and full screen skins for Flash video. All positive steps. Export as Quicktime, with alpha channel. Maybe alpha channel is going to be the buzz this summer.

Mobiles have a boost as well. FlashLite3 is here. AdobeDeviceCentral will allow developers to look at the different facilities of different mobile phones and it offers emulators for most of the popular handsets. A neat idea from the emulator is to allow it to run at the correct handset speed and also to use a version that shows what the screen display would look like when used outdoors in less than optimal conditions. All very useful, if you’re in that area. I think I shall wait for a bigger screen tho’. The emulator can be used to display output directly from Photoshop, which will speed up designing layouts considerably.

On the web front, Dreamweaver has had more Ajax built in. Adobe seems to be putting in some effort to add facilities using the Spry library. This is an excellent library that I’ve tested on the Happy Tuesdays web site. Easy to insert into pages and much more lightweight than the JSON equivalent. Dreamweaver now gives more of an interface to using this library and it also has some more xml import facilities which will be useful. Spry can be used separately very easily and it’s a free download at the site. I’m more into Expression at the moment, if I’m using a web page builder. It fits in with Visual Studio much better, which I use half the time, but it also has some neat CSS handling in it as well. The Spry toolkit I’ve used when building PHP pages, so Zend is more use to me then, or the neat, free HTMLKit if I’m feeling brave enough to edit the live pages! (I know I shouldn’t!)

Apollo alpha

Oh yes, and there was Mike Downey talking about Apollo. The alpha is on the labs, and I shall try it for a small project early next month. The webkit html renderer is used, with Adobe putting their improvements back into the OpenSource domain, so we should have no problems rendering on Macs. Version 1 will be English with other languages following on in quick succession. It can run swf and pdf files. Html can drive the Apollo contents and the Apollo programs can drive the DOM and html. Works both ways. Local file access will also be in version 1. Mike showed the eBay app which must be the direction that many of the larger companies are going. Domination of the desktop will be another battleground but not just between Mac and Windows. Large corporates are able to join the fray and put in some competition. With this and the battle between portals it will be an interesting area. Maybe Apollo will have the edge by being able to split applications across several windows, they will certainly take the battle across operating systems.

Other neat things from Apollo: you’ll be able to regiter filetypes to open with your app; custom chrome or use the windows setup; local storage options; drag and drop; DRM in various layers; socket support (UDP later); easy version updates over the net; system notifications to the app when it’s in background mode; There will also be an extension to the Flex environment to help build these apps. Hardware acceleration will come later, but maybe not primarily for 3D cards. The games market is not neccessarily where the big money is. Adobe appreciate the open source areas like Papervision and the Artemis project for database interfacing, but they are keeping their distance. Future plans will obviously change to suit what ever is best for them, but it’s still an exciting area.

A couple of beers, a few conversations, an interesting evening. Andrew Shorten of Microsoft (ex-Adobe) was at the back with a wry smile. They’ve just renamed their WPF/E to Silverlight at NAB this week. It rolls off the tongue better but how similar to Flash is that name.

Apollo arrives

Well, the long awaited Apollo has now arrived in alpha form. I shall be interested to see whether it lives up to its initial hype. We had a go with the WPF dotNet extension and that looks pretty cool. Trouble is that there’s a lot of learning to do, to get your head around all the Visual Studio environment. I’m sure that it will take off but it will be some time before the large corporates have Vista on their desktop so it will need a special instal of WPF when you install the app. WPF/E, although a cut down version, might be the one to bring more pressure to bear on Adobe and the Flash player. It should be a small download of 1Mb and installs without user intervention. However, Apollo will compete for sure with the dominance of Flash. eBay is one of the sites being quoted as developing a desktop version. I’m sure that there will be many others.

Apollo alpha

Let’s download it and have a play. There’s a lot of documentation, around 13Mb, and the sdk another 18Mb. But the biggest download is the extension for the Flex2 environment, at 40Mb….wow! Better go and have a look.