Lily: Visual programming in JavaScript

I have an odd fascination with Visual Programming languages, and while I’ve gotten so far as sketching out some UI concepts and object models for a text-processing focused, web-mashing, visual programming environment, I’m a long way from having anything that works. Much to my surprise then when David Ascher dropped a link to the Lily project on his blog today. Holy cow this is sweet. Think PD or Max/MSP written in JavaScript, running in a browser, with modules for popular Web API’s and JavaScript frameworks (ex., “Amazon, Flickr, Wikipedia, Yahoo; UI modules that wrap widgets from YUI, Scriptaculous, JQuery, Google Maps….”)

Check out one of the demo’s here:

(Via: Lily: JavaScript, visual programming, fun.)

The PaperKeyboard project

Found another mobile-python hacking gem: The PaperKeyboard project is attempting to use an S60 phone’s camera to recognize character input on a printed, paper keyboard. The project includes proof-of-concept code using Python for S60. The author has opened a discussion on the PyS60 boards.

While we’re on the subject, the Guardian posted an opinion piece yesterday titled “Python: the full monty for mobile applications” which suggests that Python might be just what the mobile market needs to attract hobbyist hackers to mobile phones.

Google Spreadsheet Storage

I was pleasantly surprised that Google offered an API to Google Calendar, but I’m much more eager to hear whether an API will be available for Google Spreadsheet. The potential there seems huge! The “Hello World’s” could be “Web servers that upload traffic summaries nightly”, or “Screen scrapers that build price-comparison spreadsheets.” This is Grade-A mashup material!

Once you have an API you can also take this thing MUCH further by writing a database driver library or ORM that can map queries to rows and build spreadsheets per-table for your database. Obviously you’re not going to be replacing a large, loaded database with this, but think about swapping out “Google Spreadsheet Storage” for small tasks that you might otherwise use sqlite for. Especially if there’s a driver that integrates right into your web framework. For example, let’s say your new “In Private Beta” web app has a “Sign up to be notified about our launch” form on the front page. Where do you want those email address to go? You probably want it in a spreadsheet anyway, so why not have the web app just post it into a private Google Spreadsheet automagically? Having the web-based spreadsheet UI also means you can review, edit, and export the data in a slick, phpmyadmin-like way!