Las Vegas / MAX 2006 Conference
October 28, 2006 on 10:00 pm | In Bicycling, Flex, Programming | 5 CommentsI just returned from Las Vegas, where I spoke at MAX 2006, a conference sponsored by Adobe that covers a variety of technologies formerly branded as Macromedia, chiefly Flash, Flex, ColdFusion. My presentation was about a set of architectural approaches to building complex Flex applications; you can look at it here if you’re interested. I plan to write more about that architecture soon, so I’m not going to go into details right now.
Now Vegas is a weird and interesting place, and, of course, how could one contemplate visiting Las Vegas without a little… mountain biking? I took a bunch of pictures capturing various Vegas scenes of this and that, as well as part of our bike day trip with my buddy Jeff Vroom who works at Adobe (thanks to Chad and Escape Adventures for a great ride).
I stayed in the Venetian, an aggressive faux-Italian sprawl. Its architecture carefully funnels conference-goers through its small intestine, where clever organs named “the slot machine” and “the blackjack table” absorb their nutrients and cash into the hotel’s bloodstream. I saw a sign that said “When it’s no longer a game… PLAY RESPONSIBLY.” I ask this: in a bar, if you saw a sign that said, “When you’re blind drunk… DRINK RESPONSIBLY,” what would you think?
Anyway, apart from meeting lots of great people and giving my presentation, I found out a lot about Adobe’s new Apollo platform, which I think is going to enable people to build some really great new kinds of applications. Apollo directly integrates the Flash, Flex, DHTML and PDF platforms to an extent never before seen, and supports applications that can be installed by the user directly on the desktop with access to the file system, network, etc.. The apps appear as native application executables and are not Adobe-branded in any way. There is integration at the programmatic level (ActionScript and JavaScript can call each other’s code and see each other’s objects) and at the display level (HTML can appear as a display object in Flash with alpha, scaling, rotation, etc., while Flash can of course appear as an element in an HTML page). Furthermore, the HTML piece is a 100% fully functional browser based on WebKit, which also more or less powers Safari.
Safari deep linking now available in UrlKit 0.60
October 19, 2006 on 6:56 pm | In Flex, Programming | No CommentsAfter a couple of painful days of hacking JavaScript, Safari is now supported by UrlKit 0.60. Back/forward and bookmarking of Flex URLs now more or less works in Safari 2. Check out the sample app!
The 4 required incantations were:
- construct an inner-HTML form whose action is the #-identifier for the state, and submit it programmatically; this seems to be required in order to get Safari to add the navigation to its browser history. It’s not necessary or sufficient to change the location hash or to write an anchor into the page. (Thanks to David Bloom for publishing this tidbit.)
- poll history.length in a timer to see when back/forward has been pressed
- track an array of app state identifiers in an array indexed by history.length, since document.location.hash does not actually update when back/forward are used.
- do not wrap the <embed> tag inside an <object> tag, as seen in numerous examples of including Flash objects in the page for IE/FF.
I’ve also externalized all of the JavaScript into a single urlkit.js file to make it easier to hack the JavaScript when working on different browsers.
There remain a few minor Safari issues to be mopped up (mostly relating to the third point above), but I wanted to get this release out there as a demonstration that Safari 2 support is entirely feasible.
Of course, IE 7 would come out just now. I haven’t had time to look at that yet!
ReviewTube source code now available
October 15, 2006 on 9:03 pm | In Flex, Programming | 4 CommentsI’ve posted the ReviewTube source code here in advance of my talk at MAX 2006 on Flex Best Practices. Making this source available was, in fact, the main point of the ReviewTube project. Eventually I will post the slides from the talk, once I’ve delivered it.
ReviewTube: YouTube/Flex mashup adds your captions to videos
October 13, 2006 on 1:01 pm | In Flex, Programming | 6 CommentsReviewTube is a Flex 2 application that allows users to create time-based subtitles for any YouTube video, a la closed captioning. These captions become publicly accessible, and visitors to the site can browse the set of videos with captions. Think of it as a “subtitle graffiti wall” for YouTube!
I wrote ReviewTube partly because I think it’s a fun and potentially useful idea, but also as a sample application illustrating design patterns covered in my MAX 2006 presentation on Flex Best Practices, with a subject that’s squarely in the Web 2.0 realm and which leverages a lot of the strengths of the Flex/Flash platform. I’ll be posting the full source code for the client here around the time of that presentation, in late October.
(The server side of ReviewTube is written in Ruby on Rails. It’s something of a parenthesis to the rest of the project. I had very little time available, and I chose Rails because I wanted to check it out and see if it was as productive an environment as I’d heard. I got the server app written and running in about 4 hours, and have spent maybe another 4 hours total on the server, so I’d have to say the answer is a resounding “yes”. I’m not ready to endorse Rails as a platform for full-blown production systems, but it certainly is great for hacking a database/XML web app in no time flat.)
Entries and comments feeds.
Valid XHTML and CSS.
All content copyright (c) 2006-2007 Joseph Berkovitz. All Rights Reserved.