Eight Ways to Get Interactive Data on Your Site

One of the most confounding things about the permeance of Caspio is how totally unnecessary it is. Many news sites opt to shell out $8/database/mo. to this service, ignoring a myriad of better, cheaper alternatives.

Part of the rush may be attributable to the, ah, “me too” mentality of the industry. Part of it, I assume, stems from ignorance.

There’s not much mere mortals can do about tweens at the mall. But I can do something about ignorance. And so, without further ado, I introduce the Abolutely Incomplete, Horribly Biased List of Ways to get Interactive Data on Your Website. The entries are listed from easiest to implement to most complex, so figure out where your organization can make hay and do so. Please.

For the record, the example pages I made myself are quick and ugly. I’ve left in obvious errors and haven’t optimized anything. Almost all of them are capable of doing much more, and there is lots of documentation and help available on all of the options listed.

Abolutely Incomplete, Horribly Biased List of Ways to get Interactive Data on Your Website

Zero programming solutions:

1. Zoho Creator. Zoho has been impressing me since Day 1. If Caspio represents the closest you’ve come to programming, you’ll be right at home with these guys. They provide a friendly GUI that allows for embedding into any webpage. They offer a wide range of tools to make your data useful outside of the constraints of the database. An API and coherent documentation of their weird scripting language (Deluge) gives these guys a clear leg up.

  • Drawbacks. Cost, first and foremost. But Zoho’s pricing, IMHO, is more fair than Caspio’s bizarre cost-per-”datapage” method, instead charging for the amount of data you store. Like most of these options, Zoho also doesn’t reload the page every time the user performs a search. That’s better for the user, but if your expect the majority of your data traffic to come from repeat searches, it may result in a page view nosedive.
  • Example: Missouri State University salaries.

2. Google Spreadsheets. You knew they had to make an appearance, right? Google Spreadsheets allows for embedding a bunch of data-backed “Gadgets” into a site. One option is a simple table, complete with filtering and sorts right of the bat.They also offer other basics and not-so-basics, like maps, org charts, timelines, etc.

  • Drawbacks. It’s a table. A dang table. And that is all it’s going to be. The charts offer other opportunities, but this isn’t the sort of stuff you’re going to write home about.
  • Example: State populations.

3. Dabble DB. Their video can explain it better than me. It’s fast fast fast.

  • Drawbacks. Pricing scheme is still at work here. Again, it’s a cheaper, more reasonable setup than the datapage method. I have no experience with this system, but the web is mostly devoid of complaints. Tried it yourself? Tell me how it went.
  • Example: Couldn’t find one, but they say it’s embeddable. Watch the video.

4. IBM’s ManyEyes. This is kind of a departure, since they do NOT offer your basic embeddable-search-and-report table as an option. They do, however, offer a pretty extensive collection of data visualizations, including everything from pie charts to cool New York Times-like block histograms and wordles.

  • Drawbacks. One big pageview the whole time it’s loaded. Great if your shop is forward-thinking enough to charge advertisers by time-spent.
  • Example: Click the links above!

Psuedo-programming solutions:

5. jQuery. According to Wikipedia, jQuery is a “lightweight JavaScript library that emphasizes interaction between JavaScript and HTML.” It’s also the object of my undying affection. Javascript is one of the things that makes Web 2.0 so neat, allowing for all sorts of rich, interactive changes to a page (think Gmail, many facebook applications, etc.) It’s also hard for me to wrap my head around. No more. A variety of plugins abstract what used to be a time consuming job. FlexiGrid and Tablesorter make HTML tables interactive with little code. Once TableSorter is installed, for instance, you just drop a five-word javascript function at the top of a page, and the plugin takes over from there. Easy peasy, and good looking, too!

  • Drawbacks. Absolutely none. Out-of-the-box, some limitations may be that the table has to exist on the page, which would probably drag out load times. But jQuery is an open-source solution, which means if there are drawbacks (like the no-page-view-for-you syndrome) someone, somewhere, can edit them out (or in, as the case may be). Ludicrously apropos.
  • Example. The flexigrid link above, Example #3, shows what jQuery is capable of.

6. The Simile Project’s Exhibit. I’ve toyed around with Simile’s TimeLine offering before, but Exhibit was new to me. This is another great example of abstracting wonky code, leaving just the useful stuff. It only takes a handful of files to get up and running, and most of the work has been done for you. Because data is in one file, and formatting in other, Exhibit makes it possible to do just about any visualization of your records. Very slick.

Note: For me, the hardest part was understanding their data format. Luckily, they provide a tutorial for another tool, Babel, that takes care of even that.

  • Drawbacks. Quickly slows down as the record count mounts.
  • Example. How about a whole page?

And I’d be silly to leave out the heavy hitters. Actual Programming:

7. PHP (or any other scripting language). There are tons and tons and tons of templates that claim to be able to build searchable, sortable tables and web forms with ease. But honestly, they may be over complicating matters. PHP and MySQL go together like milk and cookies, and some good people have made local installation a snap. Why not just go pick it up yourself with one of the myriad of tutorials out there?

  • Drawbacks. PHP is plenty powerful. But the learning curve is the same learning curve any non-programmer faces when they first start dabbling with this stuff. I should know — I still barely understand what an include does. That said, there are some great “Getting started” resources out there, and most every community college offers an intro weekend course. Journalists are compulsive learners; put that compulsion to good use.
  • Example. Name something cool on the Internet. There’s a good chance it’s done in PHP. TechCrunch, Facebook, feedburner, iStockphoto, Vimeo, YouSendit… the list goes on and on. As for news databases using it, check out the Arizona Republic’s ASU Salaries and dog registration databases.

8. Django/Rails. My “sort by difficulty asc” might have these and PHP flipped, depending on your learning style. If you need to know how things work through and through, PHP/MySQL is your fit. If you just want to get things done, a framework is what you need. These guys are all the buzz in the news industry now for good reason. They allow for rapid development, which works well with the no-holds-barred news cycle. My own experience with them is limited to desktop installations and mucking around, but I’ve been plenty impressed. Friendly script repositories make it easy to stand on the shoulders of giants, further streamlining the process.

  • Drawbacks. Like PHP, this is real, live programming. And that has its own initial complications. But fear not! For Django/Python, there’s a handy guide called How to Think Like a Computer Scientist, available for free online in its entirety. I’m sure there’s a Ruby equivalent, too. Since they aren’t nearly as omnipresent as PHP, so finding local classes is probably going to be tough. IRE’s newest boot camp fills that void.

As the title implies this is by no means a complete list. I’ve missed a lot, and probably done an injustice to a few more. If you have anything you’d like to add, drop me a note and I’ll add it to the list or leave it in the comments.