Well I guess it’s not really hidden, as much as it’s a tag along to unFocus.History Keeper. I’ve had an interesting (to me anyway) battle in my own head about whether to even continue maintaining SwfHTML and it’s companions SwfCommunicator, and FlashPlayerInfo, since there are many solutions to the problems they address out there already (including ExternalInterface for SwfCommunicator, which is actually built right into Flash Player 8 and up). I even decided a while ago to just stop, and start using SwfObject, UFO, or the new SwfFix (just found that yesterday, looks good!), yet, they are still here and I’m still working on them.
SwfObject, and now SwfFix, are just too integrated for my taste, too monolithic. That is not meant to disparage the work that has gone into those projects, those projects are quite mature, well documented, and widely distributed. It’s just tha tI like my code certain way, and have bent over backwards to keep interdependency down in my scripts, in the name of modularity. This was done originally so that the history portion could be used in combination with other SwfEmbed techniques (like SwfObject) and used with other plugins (Ajax came later, but it works for that too!). Examples of that modularity – History Keeper doesn’t rely on SwfHTML, and SwfCommunicator doesn’t rely on SwfHTML, SwfHTML doesn’t rely on FlashPlayerInfo, which as well as Patent Magic don’t rely on anything. A few of the above rely on unFocus.EventManager, but that’s because the subscriber pattern is just so darn useful.
History Keeper would work nicely right along side SwfFix as well. Wouldn’t complain one bit. 🙂
Anyway, I just wanted to make a quick (re)introduction to these infrequently mentioned tools, even if they are in a bit of rough shape. For simplicity, I’ll lump them all under the category title SwfHTML (even though SwfCommunicator, or FlashPlayerInfo could all be used without the SwfHTML object pretty easily).
Check it out.
The official Google Code name is unfocus-history-keeper. You can find the latest source in SVN. I will be doing development from trunk for now, until I can get to the tags and branches and whatnot to keep things organized.
For now, here is a snapshot. I’ll call it History Keeper 2.0 Alpha 1 for now. Let’s see where this goes from here.
For the first bug, the last state gets lost in some browsers, if you leave the site and then come back using the back button. I know how to fix it, i just need the time to implement that fix. That is the only known bug, so please feel free to leave a report in the issue tracker at Google Code if you find any more.
Also of note, you will find the source for the Swf Tools in there too (SwfHTML, FlashPlayerInfo, etc.) but if you are using ExternalInterface and SwfObject, you can safely omit those files when using History Keeper. You will not find any Actionscript code in there just yet. I’m still in the process of cleaning that stuff up (which basically means that the Communication stuff is incomplete in this release).
These were compressed using Dean Edwards’s Packer (included in above listed order).
There is also a QuickLoader Object in there, that may or may not have a bunch of quirks. Feel free to test it out. It attempts to begin working on the DOM as soon as it’s ready instead of waiting for the body’s onload event to fire.
Enjoy! 🙂 (Download here)
I just finished work on a new site for my place of work – adcSTUDIO. It’s not quite finished yet, as there are a lot of things missing, but it’s launched, and most importantly from an unFocus Projects perspective, it’s using the latest versions of all the unFocus scripts! Feel free to take a look at the source of the html to find the usage and links to the files. There is still quite a bit of clean up to do for a release, but at least there’s progress. 🙂
Well, here’s the new (sorta) blog. I’ll try to post here more frequently than I have in the past, but no promises. In the next few weeks, I’ll be getting things in order around here. I’ll eventually pick out a permanent skin, get permalinks working, install Atom 1.0 support, and maybe get maybe get around to housing the Flash projects. For now you can find the new home for History Keeper, at least until I move it to google code or someplace.
I’m going to finally get that elusive 1.0 release soon. Stay tuned! (just don’t hold your breath, it could still be a while.)