Since I've been on a 'How I fix things' kick lately I thought I'd share a quick real world example. A reader wrote in stating that he had issues with ColdFusion's multi-file uploader. This is a Flash-based utility that allows you to upload any number of files. On the server side, you handle the file as you wish (copy it to a folder, upload it to S3, whatever), but you are responsible for outputting a JSON string back to the front end that is then interpreted by the Flash application.
My boss sent me this yesterday and I think it's one of the coolest examples of Flex/AIR I've seen in a while. Greg's Toolkit (I love the product, don't love the name so much) is a desktop/mobile application that let's you monitor your Amazon web service assets. It gives you a real time view of your instances. I don't have any great screen shots, but I'll steal one from his site:
His application essentially turns your Amazon assets into a virtual server room, allowing you to work with them in a much simpler, quicker fashion then heading over to Amazon's web site.
Greg's Toolkit is available for desktop, iOS, and soon for Android tablets.
By the way, if any of my readers are building cool AIR applications, drop me a line.
Adobe has been talking lately about the next update to Flex and Flash Builder, version 4.6. There's a lot of cool stuff planned, but some of the things that interest me most are the new UI components. You can read a good article on them here, What's new in Flex 4.6 SDK and Flash Builder 4.6. I thought it might be interesting to update one of my own application, the Death Clock mobile app, to use some of these new components.
As always, I'm making use of the excellent, ColdFusion-powered, SlideSix service for my presentation. You can get the attachment and recording url by clicking the menu. Note - you will have to have an Adobe.com username to get into the recording. That's free and takes 2 seconds (ok, maybe 3), so do not let that deter you from hearing the smooth silky vocal intonations of the Jedi himself, me. (Wow, that was about as egotistical as I can get... ;)
Next Tuesday, at 12PM CST, I'll be giving an online presentation titled "Flex 4.5 and ColdFusion." This is an Adobe e-seminar so please remember that you will need to RSVP in order to participate: Flex 4.5 with ColdFusion. This session will be a basic introduction to Flex 4.5 with a focus on using ColdFusion as the back end service for data.
Wow, that title sounds a lot more complex than it should. Basically, someone wrote me this morning asking about how to work with result data in Flex. I pointed out that simply debugging in the result handler would let you inspect the result object and see the structure of data. I decided to whip up a quick demo and record it. I'm fighting off a small cold so I apologize for my "1960s Jazz Singer" voice. Hope this helps.
On a web site, with good analytic software, it's possible to get estimates for how long the average user spends on your site. This week I was thinking about how one could do the same with a mobile application. In theory, it should be possible to get a precise figure. You know when your application starts and you know when it ends. Therefore, I just need to write the code to handle those events and persist the data somehow. I worked up a few examples here and I welcome any comments on them. I'd especially like to know if anyone is actually doing something like this with their apps now.
Today we published a few new Adobe AIR articles that I think my readers may be interested in:
What's new in Adobe AIR 3
A darn good, concise, list of everything new in Adobe AIR 3.
HTML updates in Adobe AIR 3
What's new in Flex 4.6 SDK and Flash Builder 4.6
Exciting stuff here - especially the new components. Check out the SplitViewNavigator built specifically for tablets.
Native extensions for Adobe AIR
Good round of native extensions. Many link to complete articles on them as well so it's not just a list of downloads. New extensions include support for the gyroscope and vibration.
Installation and deployment options in Adobe AIR 3
This has a good look at the new captive runtime feature. I.e., no need to install the SDK when installing your apps!
Quick question regarding Flex 4.5 and mobile. Do you know if there is any type of vpn type of solution?
We are in the process of evaluating some things and the question came up about security and flex. So basically if a mobile app was created for say some internal employees and we needed to have the data they access and submit to be inside the firewall is there a way to connect via vpn into the network or would we need some type of 3rd party vpn software on the device itself?
Also one last question on security, when you build a mobile app what is the best practice with flex to security data, would it be with some type of ssl?
So this is an area that I have not dived into so take what I say with a grain of salt. I talked it over with Greg Wilson and his advice was along these lines:
1) There are already VPN apps for mobile applications. Your application could simply try to access the VPN only URL (let's say 10.0.0.1) and gracefully handle it when the connection can't be made. It could even explicitly tell your employee "Hey run the VPN app first, dude!"
2) In terms of using SSL, when you define your URL in your remote object tag, you can simply provide a https url instead of a http url. Obviously your back end server has to be set up to support that, but on the client side it should be as easy as it is for the web.
Hope this helps - and if someone out there has some practical experience in this area I'd gladly take their comments!
After lunch today I decided to embark on a little test. Folks know - or should know - that ColdFusion ships with an incredibly powerful Server Monitor. If you haven't yet played with it, I highly encourage taking a look at Charlie Arehart's four part article over on the Adobe Developer connection for a review. One of the features he talks about is the Alerts system. For folks who don't want to spend all day staring at a computer screen (wait, people don't?), then the Alerts feature is a powerful way to have the monitor tell you when something is wrong as opposed to you keeping a constant eye on it. Alerts can do a variety of things, but when the built in functionality doesn't meet your needs, you can also have it run a CFC for you - and that's where this experiment began.