Archive for August, 2006

FlashForward Podcast Interview

I just saw that my FlashForward Podcast interview with Lynda Weinman is now on the FlashForward web site. Lynda and I discuss the rewards of blogging, my involvement in open source and OSFlash as well as iCommons, web standards, Flash and Flex.

I am going to be presenting two sessions at FlashForward Austin in September, starting on the 11th with a one-day Flex workshop. My second session is called Supercharging the Flash IDE and in it I'll be covering extensions and tools, both closed-source and open, that make me a happier person when using Flash.

Drop a comment if you're going to be attending FF Austin and make sure you come up and say "Hi" (or even better, "Yabadabadoo!") if you happen upon me during the event! :)

I Don’t Know Day

Lets make today a special day in which you are encouraged to admit that you don't know something. Anything, really. Perhaps that you don't know how many planets there are in the solar system (hey, it keeps changing and the count is apparently currently at eight) or how many arguments the Tween class in Flash takes in its constructor (the answer, according to Jen's tutorial, is seven and that's the reason why I keep wishing they'd used a parameter object instead).

Admitting that you do not know something is a very important step in the eventual road to knowing something. And, in this day and age, the road between not knowing and knowing can be a very short ride indeed thanks to the all-mighty wisdom of Google so you really don't have too many excuses for not eventually finding things out, even if you don't know them this very instant.

Personally, when I don't know something, I say "I don't know." I might follow this up with "but I'll find out" but I usually don't even bother as I personally take it for granted that that is implied. And I find that I expect the same of others, both in life generally and when working together. At the very least, I believe that it shows that you have respect for the other person by not wasting their time with hastily-constructed misinformation.

Misinformation sucks. I'd rather have less information than misinformation. In fact, in this age of information overload, I place great value on retaining a small pool of succint, precise knowledge that is well-organized. Instead of retaining an endless store of facts, I try to retain a carefully-selected set of processes and links; a conceptual map that I can apply to different situations. A map that I can zoom in on when necessary and use to gather detailed information for specific instances that I can later conveniently forget, while remaining secure in the knowledge that I retain the tools I need for finding it again should I require it. Keeping a blog is great for this, by the way. I usually blog things that I feel I may need later but which I do not want to commit to memory (hey, memory is expensive!)

But I diverge...

It all begins with admitting that there will always be more out there that you do not know than you do know and that's not a bad thing, or a good thing -- it just is. There's nothing to be ashamed of in not knowing something. The saying goes that "to not know that you don't know" is the worst thing. I would add to this that "not admitting that you don't know" is equally as bad.

So, as part of I Don't Know Day, I invite you to add to the comments something that you don't know (and then share with us what you find out about it.)

Best practices for client-side validation in Flex 2

When it comes to designing user interface behavior, there is definitely more than one way to skin a cat.

While writing the Validating Data Quick Start for Flex 2, I wanted to provide more than just the basics of using Validators in Flex 2. Although the default behavior of validators in Flex 2 works, simply binding a couple of validators to your form controls will not provide the most usable experience for your users. I won't go into detail on the reasons for this (see the Quick Start for that) but there are a number of design considerations that must be met to create usable validation.

The best practices for client-side validation section in the Validating Data Quick Start contains a Flex 2 example that follows the User Interface Design Principles for Web Applications that I published earlier. You can easily use the code in the example to help you create best-practices client-side validation for your own applications.

And before anyone asks, no, this doesn't in any way remove the need for you to do user testing! :)

New Flex 2 Quick Starts: Handling Data

Four more of my Flex 2 Quick Starts have just been released on the Adobe Flex Developer Center.

These four cover data handling in Flex with a focus on implementing Flex 2 applications that use the Model-View-Controller (MVC) design pattern.

The topics covered are Defining data models, Using data binding, Validating data, and Formatting data.

An interactive tour of 10 years of Flash

Adobe has just released an interactive timeline of the 10 years of Flash. It's lovely to see OSFlash featured!

Akismet update

I just saw that a new version of Akismet (version 1.15) is available. Akismet and Bad Behavior are invaluable if you run a Wordpress blog and want to keep it spam free without devoting your life to the pursuit of this goal.

See my earlier post on The growth of spam and vigilantism on the Internet for more information on both tools.

Jeremy on A Scanner Darkly

Andy, Richard, Paul, Jeremy, Jessica, and I went to see A Scanner Darkly on Wednesday.

I was really looking forward to the film, having loved the director's first rotoscoped feature, Waking Life, but was disappointed. Mostly due to the subject matter. I really don't need to sit through another film about junkies. I don't find them or their ridiculous/self-important/spaced-out banter interesting in the slightest. I'm probably biased because I had a girlfriend once who was very much into the culture and I grew to both learn and hate it.

Jeremy's written his thoughts on the film on his blog -- check it out! (He liked it!) :)

A visit to the RNIB

I visisted the RNIB last week and found the trip very interesting. I also received some additional insight into (and validation for) the advantages of using the Usability Approach to Accessibility.

Wizards of OS

I'm really psyched about the iCommons workshop I'm going to be presenting at in Berlin during the Wizards of OS conference next month.

The workshop is titled "Bridges or walls? Can free culture coexist with proprietary projects?" and I just saw that they now have the session description up on their web site:

This 'session' will be structured as a dynamic podcast interview featuring Lawrence Lessig from Creative Commons and Aral Balkan from OSFlash.org, with inserts by members of the iCommons community. The subject of the debate is concerned with the interface between proprietary, open source and free culture communities and the grey areas within so-called open communities, businesses, products and services, as well as some practical tips on how proprietary vendors/products can come to embrace openness in a variety of forms.

It's truly an honor to be sharing the stage with Lawrence Lessig, whom I met very briefly after his excellent presentation at FlashForward Seattle (not many people have a presentation method named after them.) Also present are going to be my good friend Pete Barr-Watson, who is the Director of Business Development for iCommons, and the delightful Heather Ford, the Executive Director of iCommons, whom I met recently during her trip to Brighton. Needless to say, I'm looking forward to hanging out with them in Berlin as much as I'm looking forward to the conference itself.

The only problem is that I arrive in Berlin just an hour and a half before the workshop starts so I will have to head there straight from the airport following a 15-hour flight from Austin and I will probably be very grimy indeed! Eeeeuw! I think I need a portable sonic shower! :)

Peek inside the home of the British Prime Minister

Aral Balkan creates a virtual tour of the Prime Minister's office in Flash 8 for 10 Downing Street.

In the past few months I've been working to create a virtual tour of 10 Downing Street — the home of the British Prime Minister — for the Prime Minister's office in the UK. I'm happy to report that the tour, which I developed in Flash 8, is now in public beta on the 10 Downing Street web site.

As some of you know, I stopped doing hands-on development and programming for clients at the end of last year to concentrate on my my community projects as well as my consulting and training work. However, when my good friend Andy Budd mentioned that the Prime Minister's office was looking to update their Quicktime VR-based virtual tour to something much more engaging and interactive using Flash, I thought it was too interesting a project to pass up. So I literally rolled up my sleeves and decided to take it on.

By all means, it has been an interesting project and looks like it will continue to be as we evolve it in some exciting ways in the coming days and months.

One of the unique aspects of the project was that it was actually built on a shoe-string budget (under £10K). This necessitated some creative thinking. The tour contains eight rooms and each room has several interest items (hot spots) that you can click on to get more information. I knew that the budget would not permit for a lengthy photo shoot so I had to fit it into a single day and mostly use available light. I hired photographer Caroline Malloy and panoramic photographer Rohan Perera — both of whom did a stellar job, working tirelessly and passionately under our pressing deadline. I ended up directing the eight-hour shoot in which we took a total of 1,259 photographs. They include 53 panoramic images, each of which is made up of 14 separate photographs. We used available light for the panoramas as lighting for each of the separate images would have easily taken up a week of production time and eaten up all of the available budget. This did mean, however, that I had considerable post-processing work to perform in Photoshop. (But, hey, any excuse to spend time in Photoshop, right?) We did do minimal lighting on some of the trickier detail shots (of which there were 742 shots taken on the day) but everything was done in strict triage. Once the initial post-processing of the images was complete, I went in a second time to visually color match the images with the actual rooms to make sure that they are as true-to-form as possible.

This project marks the first time that Flash is being used on the Prime Minister's web site and that, in itself, is quite exciting.

I decided to use Flash 8 for this project several reasons. The project brief called for an interactive experience and I wanted to push the boundaries a little on the virtual tours I had seen on the web during my research. Also, the bitmap features in Flash 8 made it possible for me to overcome a critical performance issue.

First off, I wanted the interest items to have soft glows around them. This proved to be harder than I first imagined due to performance reasons. The panorama component in the project handles real-time perspective correction on the images so you do not get fish-eye distortions. To do this, however, it slices the image up into about a hundred pieces and, in real-time, positions those images. (Actually, it makes about a hundred copies of the panoramic image and uses masking to display a little strip of each.) As you can imagine, this is terribly taxing for the CPU. When I added soft glows using the Glow filter in Flash 8, I found that the movie ground to a halt. (The glow itself was duplicated a hundred times in order to fit the perspective correction.) Instead, I was forced to render the glows as bitmaps in Photoshop and bring them in that way.

Also, I wanted to have the user interface be as invisible as possible so that users could explore the residence without the interface getting in the way. I decided to use a sliding panel to contain the room description, interest item details, and navigation neatly out of the way until needed. I didn't want even the tiny amount of real-estate that the panel took up when closed to block the panorama completely so I made the background of the panel slightly semi-transparent. When open, however, I didn't want the user to be distracted by the panorama in the background and I wanted to visually present to the user that the panel is modal. To kill two birds with one stone, I implemented a rack focus effect using the Flash 8 Blur filter. Again, however, I ran up against the performance issue due to CPU-intensive panorama component. (It is normal to grind the Flash player to a halt if you ask it to blur out a hundred 4,000 pixel-wide images, each with mouse event handlers active on them.) This led to me come up with an optimization. Basically, I decided to write a class using the Flash 8 bitmap features to take a snapshot of only the visible portion of the panorama, remove the panorama from the Stage and blur out this snapshot instead. With the panorama not taking up any CPU, I was able to animate the panel so that it bounces open smoothly.

As I mentioned earlier, this is the first time that Flash is being used on the Number 10 web site and, from what I've been hearing, they're very happy with the results.

The tour is scheduled to come out of beta sometime in early September and if you do notice any quirks, please feel free to email me or to leave a comment here.

There are plans to continue improving the tour and I would personally love to see accessible versions developed that make use of the multimedia capabilities of the Flash Player (the current version has an alternative HTML version for users with accessibility requirements -- this is, unfortunately, all that the budget for the first release allowed for.) Plans include the use of voiceovers and narration as well as alpha channel video in future updates.

Check it out here: 10 Downing Street Virtual Tour.






Bad Behavior has blocked 0 access attempts in the last 7 days.