Last time we checked in on Art on Call, the Walker’s upcoming cellphone-based audio tour project, we were still fleshing out the API and locking down features - and dreaming of iPod integration. Last week I started more intensive design on the actual classes, data structure, and the web-based app to enter data into the system. Coding began Thursday morning, and I’m happy to announce I have working versions (I think) of all the basic classes and data abstraction layer. Because of the need for speed I seriously considered some pre-packaged data modeler tool like Alzabo, which the Walker has previously used with good success, but I was unfamiliar with.
I opted instead to write the classes largely from scratch - I felt good enough about my design work and data structures that I wanted to streamline things and really push the inheritence aspect of the classes. (Probably this could have been done with Alzabo, but I didn’t think I had time to learn a new tool.)
Sure, there’s a million pieces still to write and test, but a big chunk of the code is written…
Yesterday I wrote about XMLHttpRequest, and how we can use it to pull XML data from our servers dynamically into our pages without refreshing. The flip side to this is pushing content to the server. To do this we need remote scripting.
Apple once again has set up an informative page on the subject, detailing how to use iframes to accomplish this. Lately, people have come to coin this “new” technology (it’s not exactly new, the method for doing this has been around for years) as AJAX, or Asyncronous Javascript and XML. Interesting buzzword, but the entire idea of this is not limited to Javascript or XML. As Apple elequently says, the method here is called (and has been called for a long time now) RPC, or Remote Procedure Call, which is a general term used to describe the exchange of data between remote computer systems.
RPC can be done with Flash, or the like-named XML-RPC. In fact, we are using one facet of this on our Calendar, pulling dynamic data into Flash movies. Another way of accomplishing this is through iframes with Javascript. It’s nothing new, I remeber doing this with regular framesets circa ‘98 or so. The difference for us now is that iframes are standard in browsers, you can get and parse XML with XMLHttpRequest, and some browsers (Mozilla, IE, etc) even have XSLT processors built into them to help with translations and to cut down on server load. Basically the technology has finally caught up to what we want to do with it.
It’s a very interesting technology that I look forward to working with. The best part about it is that it takes existing features and standards and uses them in a new and exciting way. We know Javascript and XML aren’t going away, and we know this has been built into every browser for the last several years. It’s something we can build on and feel confident about doing.
I’m currently working on adapting something called XMLHttpRequest into our Web Admin. XMLHttpRequest is used by Google in their new Google Suggest. The basic premise is to pull data from an XML file and load it into the current page without refreshing said page, all using Javascript. It’s super slick and can really help what now is a mess of iframes and page refreshes in our Admin.
Apple has been kind enough to provide a use case example of XMLHttpRequest in action. The functionality of this is almost exactly the same as what we are doing with the media in our admin. The code is fairly stripped down and reusable, which is great. Going through the code, the functions are called in this order:
Select Pulldown
loadDoc()
loadXMLDoc()
processReqChange()
clearTopicList()
buildTopicList()
appendToSelect()
Select Field
showDetail()
getElementTextNS()
I’m still playing with it, but intend to make it a little more universal (Apple’s implimentation has a few hardcoded variables in it that we should probably fix). I’ll post an updated version of this to our NMI Wiki for others to use when I have it done.
While this solves the Pull side of things, we still would like to solve the refresh on Push from a few things in our Admin as well. Luckly there’s something for us here, and it builds on XMLHttpRequest. It’s called AJAX. I’ll be looking into this shortly.
Please note that blogs may look pretty funny as i am messing with the CSS for them right now and for the next few days.
Well the new homepage is up and running and what appear to be the last bugs with it seem to be worked out.
As part of the coming Art on Call cellphone-based audio tour and information system, we’ve discussed the option of making equivalent content available on the web and possibly iPods. We’re not the first to think of this.
Even cooler, apparently there’s an API for putting the iPod into “Museum Mode”, or notes mode, which lets users browse text in a folder hierarchy with links to audio or playlists.
We totally need to do this, and design with this in mind - web interface, iPod interface, plain audio interface.
Brent keeps asking me why people at the Walker would want to blog. I found a pretty good explanation in this Economist article that is similar to what i was thinking but far more articulate.
If you don’t have the patience for the whole article Pasta and Vinegar (where i found the article link) has clipped out the good parts for you.
**Edit**
Brent doesn’t remember saying anything like that so i guess i made it up.
While i was cleaning up some of my XSL for the new homepage i documented a couple of the neat XSL things I used on our the WIKI.
I started a list of bugs and CSS fixes that I come across as I work on the Walker website. Right now it just has things that came up while I was working on the new homepage but hopefully we can keep documentation of these CSS hacks so we don’t have to keep looking them up.
Seems pretty obvious but here are some pages with tips for Chroma Key lighting. The general tip is to evenly light the backdrop so there are no heavy dark areas that show as black on the video but don’t light the backdrop to heavily or you will get green bleed on the edges of your actor and possibly you will get white spots on the image.
As we know from our hours of work in post production on the Dialog Table those shadows are a killer.
John Jackman’s Green Screen Tips
Owens Originals
Seanet Bluescreen page
The inaugural post in the new blogs.walkerart.org domain.