When Runrev asked me if I would like to showcase Revolution at the U3 booth at the Internationale
Funkausstellung in Berlin I was all excited. First of all Berlin is an interesting city and second and most important the IFA is the worlds largest consumer
electronics show. WOW! So I didn't think twice and agreed. I got myself a U3 flash drive and started playing with it a bit. Installation of the stick went
flawlessly and a little U3 icon popped in my Taskbar. So what's next? I downloaded Revolution for U3 and installed it. That was the first moment it made click. I
wondered why Rev prompted me with the registration dialogue on install without me explicitly launching it from the drive. Didn't I just click Add program? After
entering my data Rev launched and now happily lives on my U3 drive. Launching takes a bit longer than from the Hard disc, but it is still fast enough to not get
annoyed. My favourite dev environment now sits on a portable stick, so what is next? Build a test app and compile it. That worked like a charm, I added my test
stack to U3's Launchpad and as previously Rev it launched when I added it. This was a one beeping button compile, a stack with a button and a
on mouseUp
beep
end mouseUp
script. Now I wanted to get rid of it, so I uninstalled it from the stick and Surprise Surprise!!! while uninstalling the stack launched. I really wondered why
that would be, so I took a closer look at the docs (which are well hidden BTW ) So if you want to play with U3 support it is a good idea to read the engine
change log (Note to myself: RTFM). After I did that I figured out that it is a quite handy feature. The engine gets launched with an additional parameter. You can
programmatically check if your app is installed on, launched from or deinstalled off a U3 stick. This gives you the opportunity to react on these actions. So on
Install you can prompt your users with relevant info, display a registration dialogue and say thank you when your app. is uninstalled. Nice!
So I wanted to do something serious. Have a stack that writes preferences to the U3 drive. This was a bit of a hassle. Thanks to the mothership I could come up
with the following script to store files in the apps data folder on the U3 stick:
on mouseUp
put $U3_APP_DATA_PATH into tPath
replace "\" with "/" in tPath
put "/test.txt" after tPath
put "this is a test" into URL ("file:"&tPath)
answer the result & cr & URL ("file:"&tPath) & cr & \
there is a file tPath & cr & tPath
end mouseUp
Now I can store relevant data tied to my app. Wohoo! And on uninstall all traces of my app are deleted from the stick. Just the way I want it to without the need
of providing a custom uninstaller.
Actually it is quite interesting which info one can gather from the drive with just a few lines of script. Revolution (and your compiled app) grant access to a list
of global variables that hold valuable info about the U3 drive and your app on it. The following script might be handy:
on mouseUp
repeat for each item theItem in the globals
if "U3" is in theItem then
put theItem && value (theItem) & cr after allU3Vars
end if
end repeat
put allU3Vars
end mouseUp
This will list all u3 related vars and their value in the messagebox. So why would I as a Rev developer want to support U3 apps? The technology is Win only and
most of the time I am a Mac addict - It is a marketing opportunity. The technology gets widely adopted by flash drive manufacturers. Many flash sticks come with U3
pre installed. There are not too many applications that explicitly support U3 until now. A chance to be 1.0. Rev is an ideal candidate to deliver portable apps.
It's true that you could run your App from any USB stick without much hassle, but the U3 launchpad is convenient. It is easy to "get" for users. It is
easy to develop for it. Just some additional lines of code to take care of correct filepaths, clicking a checkbox in the standalone builder and bob is your uncle.
And it is our chance to deliver the first "killer app" for a technology that comes bundled with a mass storage device. If you let your app get certified
you will get some nice extra promotion for free on the U3 pages. An opportunity I don't want to miss.
I am really excited to go to Berlin and talk to the U3 guys. If anyone of you is in Berlin during IFA Sep. 01 - 06 make sure to stop by at the U3 booth to have
some chat on Rev. Hope to see you there!
Malte
|