robert hoekman, jr. / blog
Note: This is the old blog for rhjr.net. The new one is here.
The new Macromedia Edge newsletter
The new Edge newsletter is out, and aside from featuring my own article, titled "A First Look at Flash Professional 8", it also contains articles on the new Dreamweaver, the top 10 reasons to attend MAX 2005, and how to put the customer "up front" with Studio 8.
Check it out ...
Check it out ...
Flash 8: What's your favorite feature?
If you have chosen a favorite Flash 8 feature, add a comment to this post and tell everyone about it. If you haven't yet noticed all the new features, read about some of them here.
I'll start:
My favorite Flash 8 feature is ... hmmm ... I guess I'd say the new Video Import wizard. Import a video, edit and crop it, and choose a skin for the player, and in less than two minutes you've got yourself an FLV, a SWF for your content, a SWF for your player skin, and a source FLA. Now that's a great experience.
I'll start:
My favorite Flash 8 feature is ... hmmm ... I guess I'd say the new Video Import wizard. Import a video, edit and crop it, and choose a skin for the player, and in less than two minutes you've got yourself an FLV, a SWF for your content, a SWF for your player skin, and a source FLA. Now that's a great experience.
Free online seminar: You call it
Interactive Alchemy is organizing a short, free, online seminar, and you can vote for what subject you'd like to learn more about. Vote now!
A working example of what Moock blogged about
Moock blogged about the new Express Install earlier, and I just wanted to point out that I have a working example, which you can see at www.rhjr.net/eReader.
Best Possible Flash 8 Experience (again)
I just wanted to
point this out again in case you didn't catch it earlier.
point this out again in case you didn't catch it earlier.
Working Example of Flash Player Express Install
Another feature of my eReader page and application is a working example of the Flash Player Express Install. Downgrade your Flash plugin to Flash player 6r65 or higher (but not 8) and check it out. It's a great experience.
The Best Possible Flash 8 User Experience
To help celebrate the release announcement for Macromedia Flash 8, and the launch of my Macromedia Developer Center article, Best Practices for Flash Player Detection, I decided to create the best user experience I possibly could for Flash Player 8 by building an eReader application, currently being used to display an excerpt of a book I'm working on in my spare time titled "The Web Commandments".
While this may not seem like a big deal, take a close look at the elements that make up the page and application.
First, the eReader application features a drop shadow, compliments of the new "Expressiveness" API built into Flash Player 8, and is a wonderful example of the new text-rendering engine built into Flash player 8. But there are a lot of other features in the eReader page as well.
For example, I put the new Flash 8 detection scripts to work. If you have a version of the Flash plug-in older than 6r65, have no plug-in at all, or have JavaScript disabled, you see alternate content that asks you nicely to upgrade or enable JavaScript, links to other content on my site if you decide not to bother, and a screenshot of what you would be seeing if your plug-in was correct. In other words, I offer you a way to get the upgrade, a way to get out, and a reason to stay.
If you have an old plug-in that is version 6r65 or higher, I use Macromedia's Flash Player Express Install, so the plug-in itself prompts you to upgrade. If you decline the upgrade or it fails for some reason, I react to it and show you alternate content to get you back on track.
You can test all this by uninstalling your Flash plug-in and visiting the page, then installing Flash player 7 and visiting the page again.
The eReader page also has a working Back button. Even on Mac. And I didn't use a single named anchor. This was done by sticking the eReader page into a framset and loading a history.html file into another frame. Clicking the Next and Previous buttons in the application reloads history.html to generate browser history, so if you hit the browser's Back button, the application is updated and you see the previous state of the application, not the previous web page.
This technique is a spin-off of the one originated by Robert Penner, but I needed something a lot more flexible for my eReader application, so instead of creating one html file for each state of the application, I simply reload history.html with a new ID appended to the query string each time.
And because not all browsers update Flash upon reloading the contents of a frame, I also use the JavaScript-Flash Integration Kit to make this work. Every time history.html reloads, it calls the eReader application via the FlashProxy obkect to notify Flash of the update (I have a method in the eReader that reacts to this call), so the Back button works consistently in browsers on both platforms.
Of course, if you are using a browser that does not support framesets, I show you alternate content in that case as well.
Finally, I offer a description of the Web Commandments via a toggle link. Once the eReader application loads the XML used for its content, it parses the description from the XML and calls the setDescription() JavaScript function, which then generates the HTML for the description. The setDescription() function also creates the "About the Web Commandments" link and sets it up to toggle the description. The link does not show up in any other circumstance.
Assuming you have the correct version of the plug-in and JavaScript is enabled in your browser, you see a simple, clean interface in which the controls (Next and Previous buttons) are separated clearly from the content of the application. The design is crisp, clean, and simple, as it should be.
At no point does the tool get in the way of the content. And at every step, additional content is in place to keep you on track should something go wrong.
So, do you wanna see this thing? Check it out now!
To learn more about the Flash detection method used for the eReader application, see my article, Best Practices for Flash Player Detection.
While this may not seem like a big deal, take a close look at the elements that make up the page and application.
First, the eReader application features a drop shadow, compliments of the new "Expressiveness" API built into Flash Player 8, and is a wonderful example of the new text-rendering engine built into Flash player 8. But there are a lot of other features in the eReader page as well.
For example, I put the new Flash 8 detection scripts to work. If you have a version of the Flash plug-in older than 6r65, have no plug-in at all, or have JavaScript disabled, you see alternate content that asks you nicely to upgrade or enable JavaScript, links to other content on my site if you decide not to bother, and a screenshot of what you would be seeing if your plug-in was correct. In other words, I offer you a way to get the upgrade, a way to get out, and a reason to stay.
If you have an old plug-in that is version 6r65 or higher, I use Macromedia's Flash Player Express Install, so the plug-in itself prompts you to upgrade. If you decline the upgrade or it fails for some reason, I react to it and show you alternate content to get you back on track.
You can test all this by uninstalling your Flash plug-in and visiting the page, then installing Flash player 7 and visiting the page again.
The eReader page also has a working Back button. Even on Mac. And I didn't use a single named anchor. This was done by sticking the eReader page into a framset and loading a history.html file into another frame. Clicking the Next and Previous buttons in the application reloads history.html to generate browser history, so if you hit the browser's Back button, the application is updated and you see the previous state of the application, not the previous web page.
This technique is a spin-off of the one originated by Robert Penner, but I needed something a lot more flexible for my eReader application, so instead of creating one html file for each state of the application, I simply reload history.html with a new ID appended to the query string each time.
And because not all browsers update Flash upon reloading the contents of a frame, I also use the JavaScript-Flash Integration Kit to make this work. Every time history.html reloads, it calls the eReader application via the FlashProxy obkect to notify Flash of the update (I have a method in the eReader that reacts to this call), so the Back button works consistently in browsers on both platforms.
Of course, if you are using a browser that does not support framesets, I show you alternate content in that case as well.
Finally, I offer a description of the Web Commandments via a toggle link. Once the eReader application loads the XML used for its content, it parses the description from the XML and calls the setDescription() JavaScript function, which then generates the HTML for the description. The setDescription() function also creates the "About the Web Commandments" link and sets it up to toggle the description. The link does not show up in any other circumstance.
Assuming you have the correct version of the plug-in and JavaScript is enabled in your browser, you see a simple, clean interface in which the controls (Next and Previous buttons) are separated clearly from the content of the application. The design is crisp, clean, and simple, as it should be.
At no point does the tool get in the way of the content. And at every step, additional content is in place to keep you on track should something go wrong.
So, do you wanna see this thing? Check it out now!
To learn more about the Flash detection method used for the eReader application, see my article, Best Practices for Flash Player Detection.