April 2, 2010

Sales dashboard

It’s fun to sell tickets and all, but what if you actually want to know something about your overall sales numbers? Here’s a quick look at the first version of our sales dashboard. It’s like opening up the cash register, except you don’t have to count all those bills by hand.


View video in HTML5 at Vimeo →

We’ll be developing more detailed visualizations (sales per day, and so forth) as well. What would you like to see in this quick view, or in more detailed views?

If you’re interested in the technical details, read on…

Normally, these kinds of updates happen with AJAX polling: the web page sends a request to the web server every, say, 10 seconds, and grabs new data. There are two problem with this. First, it means you only get the latest data when your browser asks for it. Second, it means that every browser with this page open is bombarding our servers with requests.

As it turns out, HTML5 has a new feature called Web Sockets that lets the web server push notifications to the browser when there’s a change. The server part of this is a bit complicated, though. Lucky for us, there’s Pusher App. It’s a really clever service that manages all this automatically, plus they have a fallback technique for using Flash when Web Sockets isn’t available.

“But what about the iPhone and iPad?” you say. For browsers without Web Sockets or Flash, we stick to the usual AJAX polling method. In the screencast, you’ll notice that the iPhone updates after Chrome – that’s because Chrome gets an immediate push update using Web Sockets, but the iPhone doesn’t get the new numbers until it checks in.

In any case: it works!

6 Comments

  1. Cool dashboard. For the iPhone app, you guys might like this:

    http://github.com/lukeredpath/libPusher

    It’s an Objective C client library to Pusher.

  2. Thanks, Paul – that looks really useful.

  3. Would like to see shows sold totals for the day.

  4. Would be great to see a number out of total tickets sold for the day in the different catagories e.g General Admission 98/100 for each day, so it is really easy to just quickly check and report to people on sales by number of seats, not just money :)

  5. Great suggestion, Owen. Thanks!

  6. Oh, also feel free to send us suggestions while you’re beta testing by email at support@tixato.com — probably easier than posting them on the Sketchbook.

    Or you can also use the “Questions” tab on the right side of the page, and do it all from there.

    Thanks!

Leave a comment