Engage Architecture meeting notes - 2009-04-30

Engage Architecture meeting notes - 2009-04-30

The Shape of Engage:

  • Mobile

  • WebKit + JavaScriptCore

  • HTML, CSS, JavaScript for all UI & logic

  • Start with iPhone, another platform too (Android or Nokia Symbian). Infusion FSS could be extended.

  • concern about iPhone's accessibility

  • another platform not decided on yet

  • are visitors expected to come w/ their own devices? will museums buy new equip (realistic?)?

  • Mapping & Visualization
    -visualizing relationships between objects & concepts. UI that work on desktop & mobile that can provide visitors w/ a sense of how the exhibit is organized in space

  • main tech:

  • HTML Canvas

  • Processing + Processing.js

  • parser for Processing code to be rendered in HTML canvas?

  • open web alternative to Flash

  • Service Layer

  • Foremost, ability to handle different data
    -how to work w/ data in many systems so data can be presented to visitors in interesting ways
    -how can visitors contribute to content (e.g. tagging, creating their own collections, connections w/ outside resources such as social networking)

  • Affordable to museums

  • Open and accessible to contributors

  • Two forerunners:
    1. Pure Python stack

  • CherryPy, SpringPython, etc.

  • write a new renderer when needed
    2. Server-side JavaScript

  • practically, backed by the JVM

  • potentially could move to V8 for speed

  • all server-side code in JS

  • ChangeApplier will be key

  • Model infrastructure shared across both the client and server (i.e. awesome)

  • main code to write:

  • request handling and path parsing

  • opportunity to share code directly with the CollectionSpace project

  • Persistence:
    1. CouchDB

  • flexible schema

  • museum catalogs tend to change - but SQL quite rigid

  • MySQL - highly dynamic queries over static schema
    Couch - queries static, schema more flexible, document-based

  • useful intro to Couch: http://books.couchdb.org/relax/why-couchdb

2. Solr/Lucene

*Role of Infusion in Engage
-prominent (e.g. FSS for handheld experience)
-Web good for allowing access by many different platforms (e.g phone, kiosk, browsers)