My "Flex Derby" Entry - Shakespeare Explorer
DIGG IT!
11
Comments
Published
Wednesday, April 19, 2006
at
9:00 AM
.
I decided to submit this application into the Flex Derby, I could always use a 2nd Xbox 360. The application contains the complete works of William Shakespeare, loaded as zlib binary compressed xml, displayed using E4X in Flex 2.0 Beta 2.
Shakespeare Explorer
Shakespeare Explorer Source

The application uses the zlib compression library built into the flash.util.ByteArray class to uncompress Shakespeare in XML. Once the data is loaded into the Flex 2 Application, I used E4X to dynamically display the information within. Simply select a Play, then an Act, then a Scene and you will see all the characters and their lines. Just click on the characters name to see their lines.
I also added a few dynamic links that are in context with the selected play and made sure all text in the application resized correctly.
I also went ahead and published the full source for the application so you can take a deeper look into what this actually does behind the scenes. For encoding the XML into Zlib binary, I used python to batch compress all of the XML.
What I think is really cool about the application is the size of the data:
Raw Shakespeare XML = 8.68 Mb !!!
ZLIB Shakespeare XML = 2.18 Mb !!!
That is allot of bandwidth savings any way you slice it. Go Zlib !
The best part is that I can use any server as the compression is portable across any type of web server and browser. The key is that zlib is build into the new Flash Player that will ship with Flex 2.
So why haven't you entered the Flex Derby?
Cheers,
Ted :)

Incredible. Simply incredible. Any chance to add a search?
Nice Job! About entering the Flex Derby: I might have, but I live in Europe...
Very awsome entry. I think that adding a search would be a good idea.
hmmmm....
Search...
How do you think search should be added?
1. Within a Play, search for a string and pull up a matching Act, Scene, Line?
2. Search accross plays?
My only issue with 2 is that it would require me to build a search index and a server to serve results.
Case 1 is feasable although I may need to dive deep into E4X to make that work.
hmmmmm....
BTW..Thanks for the comments on the app. zlib support in ByteArray is magic.
any thoughts?
Ted :)
Nice Work!
I would enter the derby, but I live in Australia!!
However, I have entered the RocketBoots competition with my entry here: http://graham.weldon.ath.cx/?page=projects
Where the hell was this in my third year of university? Would be interesting to incorporate search based on things like character names ( names repeat over the plays) year of play, etc. I like the fact that the data is there, but digging down and finding the connnections through a search of some sort (give me all female lead characters, all characters that are royalty, religous etc ) would really make this kickass. Nice work! Better yet, add community contributions for things like links, movies etc and you're flying.
I only rushed thru it but, seems like one cannot copy the verses ( they are not selectable ). That's definitely a must-have feature IMHO. Congratz and good luck!
Ok,
New features being worked on:
1. Search within Plays via E4X in realtime via keypress.
2. Selectable Text in List.
Keep the feedback coming this is giving me some great ideas and direction. Thanks.
Ted :)
kinda dorky but i'd like to have the speakers color coded-easier on the eyes as you scroll the box.
the link the to the demo and the source dont seem to be working.
any chance to update them? I'm really interested on see that working.
thanks