Hadas Nahon and myself have been working on a project for a couple of months last year, with the intention of building a generic UI for “throwing stuff on a page and sharing it.” It runs without plugins in any modern browser. Due to previous commitments (and family-related considerations) we’ve never had the chance to really finish the project, so I decided to release it as it is. It’s running at PopSimple.com and the full source is at github for your forking leisure.
- Content tools – allow you to place content on the page:
- Rich text
- and even drawings (as far as your mouse-based artistic talents can take you)
- Free-form: rotate, scale and drag content on the worksheet to visually arrange your content
- Share an editable link or a read-only “view” link to the page you created
A few technical details about the nature of the project follow.
How to write a big fat rich web client?
Did I mention it runs on Google App Engine (GAE)? There are only two things we need the app engine for: saving and loading pages. Everything else the application does is completely browser based. We have some conclusions about the pros and cons of GAE, but I’ll leave that for another time. The main reason we use GAE is because it made deploying our site much easier (and it was free).
For a nicer-than-metal interface to GAE we use Twig, a nifty library that provides an object-level persistence API to the app engine data store.
Modern browsers, please
We decided to assume that the browser you’re using is fairly modern – taking advantage of CSS3 and even a teeny bit of HTML5 (for the drawing tool – uses a canvas, and for dropping image files onto the worksheet).
I hope to blog again about how we built PopSimple, I’m trying to decide which of the problems we tackled could be interesting to write about.