A REST API and Technical Solutions
We have now designed both the "persona editor" and the "project management" of our tool. The editor is a little unorthodox since it should allow to use the same content in different formats, and it has required some thought to figure out how the interaction with these should work, and what these interactions require from the underlying data structure.
A web app had been a requirement from the start. From there on we've been working from a top-down perspective, starting with the interaction design and from there defined the functions we need to implement the design. This functionality is expressed in a REST API.
We have settled on PHP based Drupal as the backend for our implementation. We believe that it is flexible enough to accommodate our needs. It already includes user handling, concepts for creating projects and personas and lots of nice extra features.
The WYSIWYG will be written in SVG. This way it should be a breeze to export to PDF using TCPDF. The interaction will be powered by the Javascript library jQuery, a popular AJAX library. Backbone.js will help us create some structure on the client side.
Since we need this application to be scalable we're going to host our application on a PHP incarnation of Heroku. PHP Fog looks the most promising at the moment, and since it's hosted on Amazon we'll use Amazon S3 for file storage. We'll need to push a lot of data to the clients (since this is to be a collaborative tool), and PubNub seems to be a cost-effective alternative for this. All these alternatives are scalable and practically free initially, leting us keep the cost to a minimum when developing while letting us scale quickly and without hassle when the time comes...
Since we're on a tight schedule we've prioritized technologies and services we're familiar with. The only things completely new to us is SVG and the TCPDF library, and both should be fairly easy to learn.















