Mike Miller CS 526
General Introduction Hungry Guide Project Introduction Previous Application Workflow Design Goals for new Workflow Design Overview Implementation Outcomes Future Iterations Sources
Business overview We produce a variety of iPhone applications Content generally comes from third parties iPhone development overview We write iPhone exclusively in Objective-C Supporting technologies include RoR, PHP and DHTML Apple’s DRM complicates distribution
Each book follows a predefined structure Contains venues for a specific location in a city LA client provides content COS location houses codebase and application development Client wants to produce over 300 guides
Assets and content come from LA Codebase, development tool chain and DRM in COS Current template is poorly designed Embedding content is tedious and error- prone
Enforce better defined workflow Allow for multiple projects to be created at once Remove tedious, error prone process of inserting assets into a template Streamline template-to-application process
Use a common backend Write a custom CMS for client input Allow client to input all assets and content Allow client to create associations between data models Create a process for generating a preview for client signoff Create a process for compiling iPhone applications after client signoff Create a generic reader application and bundle assets to package for it
MySQL chosen for backend CMS was written using RoR Workflow for uploading content and creating venues Workflow for creating books from a list of venues Acts as Attachment for Asset management CMS made heavy use of AJAX and REST
PHP process provided preview and signoff Ruby process compiled HTML pages and bundled assets for phone Obj-C generic reader to parse HTML structure
Production was finished Final product buggy on iPhone UIWebview issues Static HTML structure insufficient for dynamic app Overall process shows promise Process possible to refine to meet new demands Lessons learned Manage scope creep Look into a premade CMS solution Favor a native solution Keep the technology stack small
Adding to book creation workflow in CMS Implementing client preview in RoR instead of PHP Creating and bundling Obj-C source instead of DHTML Creating secure download server for Obj-C source
Apache usage documentation Apple development documentation Thomas Fielding’s Doctoral Dissertation [related chapters] Rails Acts As Attachment documentation