Archive for April, 2008

Congratulations and thanks are in order to everyone who managed to wake up early this morning for my presentation at this year’s FITC Toronto conference. Who knew that SQL and data synchronization could be so thrilling? As promised to those who made it, and for the benefit of those who couldn’t, I am posting the deck and demo code from my presentation below.

The deck is obviously not as valuable without a recording of my voice and on-stage antics, but it’s better than nothing I suppose. I’m using SlideShare, but you can also download a PDF version if you prefer.

As part of my presentation, I quickly demoed a sample AIR application that I built while on the airplane and waiting in the airport on my way to Toronto. The app, called Librarian, is a simple app that makes use of AIR’s built-in SQL database support to store and retrieve information for your personal library. It also features search capabilities similar to the “Spotlight” search functionality on Mac OS X.

You can download the Librarian AIR installer here. Once the app has been installed, simply right-click on it and select view source to view all of the source code. I attempted to comment the code as liberally as I felt necessary.

Feel free to post or e-mail questions.

At FITC

Just a note to anyone attending FITC this week to feel free to find me and say “hi.” (My picture is on the about page.) It appears that my presentation on SQL and offline data synchronization in AIR will take place at 9:00 AM on Monday, the same time as Mario Klingemann’s presentation, which is somewhat unfortunate because 1) I wanted to see Mario’s presentation and 2) 9:00AM in Toronto is 6:00AM my time, so you know what that means. I don’t drink coffee but I might have to start.

In all seriousness though, I do get kind of amped in front of a crowd, so the caffeine will probably be unnecessary. I will be talking about both the design and development of AIR apps that use data synchronization, because I think it’s important to have a holistic understanding of a project and process, no matter what your role. The first part of the talk will touch on design, and the latter half will be mostly code-heavy.

Also, on Tuesday afternoon, I will be participating in a taped, off-the-cuff conversation about the designer-developer workflow with Ethan Eismann of Adobe XD and Nico Lierman of BoulevArt. Should prove to be both interesting and enlightening.

Alright you hosers, I’m off to Canada.

Back to school

Did I mention that I am going back to school? No, I don’t think I did.

About a month ago I found out that I was officially accepted to the Arts Computation Engineering (ACE) program at the University of California, Irvine. Technically, I will be working on a master’s degree in information and computer science, but given that I will be a part of the ACE program, that strict designation is perhaps a bit misleading.

Most of the time, graduate studies center on specialization — choosing a field of study and becoming a specialized expert in that field. But ACE doesn’t fit that mold. A blend of art, computer science, electronics, cultural studies, HCI and cognitive science, ACE is designed for the unabashed generalist. The closest comparable program I can think of is the Interactive Telecommunications Program at NYU. Before applying to ACE, I actually looked into ITP, but the daunting prospect of moving to the other side of the country to live in the nation’s most expensive city (Manhattan) to attend an equally expensive school just didn’t make economic sense to me. Albeit its relative closeness to my hometown of San Diego, and its greater affordability (UC Irvine is a state school), ACE just seemed the better choice. It’s smaller, more intimate, and headed by some top-notch professors. (The most recognizable name to any reader of this blog would probably be Paul Dourish, a former researcher with Xerox EuroPARC.)

Why go back to school? It’s an important question to consider. In my field I certainly won’t make any more money with an advanced degree. I work as an independent contractor, and with the exception of a brief nine months as a full-time employee at a software company in Denver, I’ve essentially run my own businesses since high school. Career advancement through degrees doesn’t ever cross my mind. But I’m not in it for the degree, per se. I’m in it for the education and the opportunity.

Creating software for desktop and web-based computing is fun and challenging, but also has an inherent limitation for potential. The future of computing lies not on the desktop, but in ubiquitous computing, ambient systems, mobile devices and the like. The current computational paradigm, I believe, has transformed an entire generation of human beings into sedentary and disembodied minds that must interact with their machines — and by extension, other people — solely through the mouse and keyboard. It’s served us well in many respects, but has limited us in a myriad others. And, thankfully, something better is on the horizon. I want to research, build and discover that “something better.”

A life of researching, teaching and tinkering is something I feel I’m particularly well-suited for, as I’ve always been a bit of an academic and a hacker. The bureaucracy, hierarchy and egotism of academic life have been the only things keeping me away from going back to school thus far, primarily because I value my freedom of time above all else. We’ll see how it goes come September.

As for research interests, I can only describe them in the broadest sense: toys and informatics. I’m extremely interested in mining the vast amounts of raw data now available at our fingertips, and finding patterns — looking for pertinent and actionable localized information that can be made available to people as integrated facets of their environment. And as potentially pragmatic as that sounds, I’m also equally interested in what I’ll just call “whimsical devices” — toys and devices that inspire some sense of wonder, or connect the user to their environment or other people in unique and inspiring ways. One of the best examples to illustrate what I’m talking about here may be Tod Machover’s Toy Symphony project.

So, come September it’s back to school for me. With much more of my time spent reading, researching and exploring new ideas, hopefully this will also translate into more blogging in the coming months. The frequency of posting has been scant these days. No promises though.

Just a short note to let you know that the latest version of XIFF, the Actionscript library for XMPP/Jabber that I first released in 2003, is finally available. XIFF 3.0.0 Beta 1 is the first beta release of the new Actionscript 3 version to make it out of the Subversion repository, and it’s packed with all sorts of improvements and new features. The folks at Jive Software have taken over the project since I left off at version 2.0 (AS2), and Nick Velloff left after the initial port to AS3. I’m excited to see that this project is still alive and well, because I’m still convinced that XMPP and Flash make a powerful combination for real-time communications.

Download the library and try it for yourself.

(Note: This release of XIFF uses the ArrayCollection class, among other things, and thus requires the Flex SDK.)