son of a gun

i knew i should have spent more time developing this idea.
Today the crew @ HappyCog released swfIR (swf Image Replacement).

this does some SICK stuff in comparison to mine, and my original intention was different but this direction is pretty awesome and the tool is very robust, making my fetus-like alpha script cower in comparison.

(via Zeldman.com)

another swfobject problem, deproblemed

flash/rich HTML coexisting is definately turning up a whole new, fun set of challenges. So far, some of my favorites are:
* having rich modal windows appear behind flash elements (fixable using the iframe shim technique)
* setting focus of various elements (fixed by creating a variable in our base page class that let me set the default focus to any elment by ID)
* today’s, having to do with the ExternalInterface.AddCallback method in flash, and its playing nice with swfobject.

In essence, we have a login function that pops up one of those nifty DHTML layers with a login box. Our top navigation is all flash, and has a login call to action…so having flash call javascript functions isnt hard, but getting javascript to “poke” at the flash and have it run an internal function is a bit trickier. Utilizing the aforementioned callback method, its fairly simple. The problem we had was, in Internet Explorer, order of operations was a bit out of whack.

we got an error on:
__flash__addCallback(coreLoader, "loginNav");
coming from INSIDE the flash…what seemed to be happening was the javascript that set up the object “coreLoader” wasnt running at the right time because of the time it took for swfObject to set up the embed. So, adding
coreLoader = $('coreLoader');
immediately AFTER
so.write("topNav"); set up the object again, this time not filling the object with a null (because swfObject had
correctly identified an embed with id=coreLoader), and allowing the internal flash “addCallback” function to work.

hm, technical writing is difficult. but i felt the need to document this problem (even if it wasnt very well) for my own future reference, and hopefully someone else will find it handy as well.

the more general moral of the story is: pay attention to order of operations, they may save your life some day.

click to activate? again?

ive been using deconcept’s swfobject for a while to remedy the IE Click to Activate box…along with simplifying the embedding of flash elements on the page. for one reason or another, the Click to Activate problem comes back if you leave the browser open for a little while, even though every flash element is embedded with javascript.

so while the IE bug is a strange, somewhat unpredicatble manifestation, one of my coworkers suggested this fix. I added it to the mix and everything is back to normal.

i tried to understand why, but really, it’s IE so all logic is out the window.

if anyone has any idea why this might happen, please, give a shout.

Y.A.S.W.

You guessed it, that stands for Yet Another Social Website. I stumbled across a very promising social website today, http://www.splicemusic.com/. Splice is doing a number of very cool things. First off, it’s providing a nice pile of sounds and samples…next, its providing a pretty slick multi track mixing console, a-la fruity loops (or a severly dumbed-down version of garage band). Then, once you’ve used all of these toys to mix up a sweet track, it ties in a social networking community for sharing and swapping new tracks. What’s the twist?

Creative Commons.

From their FAQ page:
Most amazing things were built For the sake of creativity, we think it's important to share. This is why Splice encourages and fully supports Creative Commons licensing. Creative Commons is a non-profit organization devoted to expanding the range of creative work available for others to build upon and share. All sounds on this site are protected with an Attribution Creative Commons license. This means that other people can use your sounds - but only if they give you credit. If you would like to read more about how this works, we recommend checking out The Creative Commons FAQ.

Sweet! So the guys at Splice know what’s going on. Not only do they give you everything licensed under CC, but they give you all kinds of cool tools for providing your own materials….both audio upload, and a recorder (mic or line in) built into the flash interface. Pretty hot.

splice

Oh did i mention this is all 100% FREE?

Sure, Splice has that snazzy “beta” nomer on it. But what web 2.0 (read “social” website) product wouldnt? This one really deserves it…there’s a solid base of samples to play with, a good pile of users to swap with already…the only real “beta” thing about it is some of the more rich features, which are to come according to their documentation, haven’t been fully tested yet.

This has a ton of potential, and I’ll definately be keeping my eye on it.

video-for-all

since youtube’s blown up, and a handful of other similar sites have followed in its footsteps, I’ve noticed a trend in embedded movie files on a large number of websites moving away from wmv and mov embeds, and instead using the flash .flv embeds, like youtube provides.

advantages?

  • no special codecs needed. just flash, which is easier to handle, and more compatable than wmv and quicktime. No flipformac plugin is needed on macs. quicktime doesnt crash the browser.
  • easier video loading: i find myself waiting for wmv preload all the time. “buffering: xx%” seems to constantly crop up, often for no obvious reason, and when you’d expect the number to get closer to 100% it goes back down. i dont know of anything more annoying. With flash preloading, a simple status bar shows the progress of the preload in relation to the playback cursor. simple. beautiful. perfect

disadvantages

  • saving files to your local machine. sure, there are firefox workarounds for this, but thats a bit of a pain in the neck. and then you need an FLV player/transcoder. all around, annoying. I guess, depending on who you are, this could be viewed as an advantage (mpaa, etc).
  • \

  • it is flash. I think some players (like myspace) require newer versions of flash than are supported on some non-windows platform (like flash9 beta supposedly crashes macs, so i have been hesitant to upgrade).

So I maintain that my personal preference is flash based video playback. I’m lucky enough to get to play with some of that technology for a project at work in upcoming months, and will be reporting back my learnings as they come.

calling all freelancers

the next 6 months have the potential for a lot of work to cross my keyboard…most of it, out of the scope of things that I can do on my own. I’m looking to team up with sharp, creative, driven individuals who are experienced but also are interested in learning new things. Designers shouldnt hesitate to contact me, though, most of the work is technology oriented. Skills needed include:

  • valid xhtml
  • css (tableless layouts
  • javascript
  • ajax
  • php
  • asp.net
  • actionscript
  • jsp
  • really…anything tech. cant hurt to try, and I’m always looking for smart folks to work with.

have any of the above in your portfolio? send resume/links/a friendly message my way. use my handy contact form.

the blind leading the blind?

I’ve had a tab open in firefox for the majority of my holiday weekend…for two reasons. 1, the influx of visitors I’ve had has left me staring at my google analytics page a bit more than it should have but more importantly, the contents of that tab were something i needed to take some time to think about. I discovered a small, open source project called Flash Aid. This project aims to use a small, 1px square flash embedded object to detect usability features of a users computer and use them in Ajax applications (such as a screen reader, as many other bloggers have pointed out).
I think my internal questioning started because of some of my own preconceived notions of Flash that flash is anything but accessible to begin with. So i turned to a friend/coworker Arthur Dickerson with the question: what does “flash accessibility mean”. From our brief conversation over IM, and a useful link he sent me, it seems that the big feature of the accessibility class for flash is screen reader interaction. While the methods of this class are static, that is, always available without instantiating the class, they seem to be more tedious than complicated to implement. From Macromedia - best Practices for Accessible Flash Design *warning..this is a “flash paper” document. Kinda like acrobat, but flash. ironically, my scroll wheel did NOT work which made reading it a chore :-)* this class seems to feature things like :a “motion alt text”, provide context, control reading order, enabling key access to various components, captioning, and providing control over audio playback.

Ok, fine. That’s a fair amount of good stuff to be including. But I guess I still don’t get how this is useful in AJAX application? Since Ajax is simply super dynamic content, but the structure of that content is (supposed to be) XHTML and css (which are, if built correctly, inherently accessible), how can access to this flash class be helpful?

I understand the need for usability and accessibility considerations in ajax design/development. I found this description of some accessablity considerations that should be taken when building ajax forms. It suggests notification of a lack of javascript support (and therefore an unusable form for that user), informing the user of dynamic page updates, update alerts, and highlighting of updated areas. These are all great ideas, and I agree fully with them, but once again…I don’t see where that flash class can do what javascript/xhtml/css can’t.

I always applaud people for trying to make things better for ALL users, but can someone explain to me what I’m missing here?

>More about Flash 8 Accessability features here


Clicky Web Analytics