130 likes | 296 Views
Mike Miller CS 526. A Custom CMS for iPhone Application Development. Presentation Outline. General Introduction Hungry Guide Project Introduction Previous Application Workflow Design Goals for new Workflow Design Overview Implementation Outcomes Future Iterations Sources.
E N D
Mike Miller CS 526 A Custom CMS for iPhone Application Development
Presentation Outline • General Introduction • Hungry Guide Project Introduction • Previous Application Workflow • Design Goals for new Workflow • Design Overview • Implementation • Outcomes • Future Iterations • Sources
General Introduction • 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
Hungry Guide Project Introduction • 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
Previous Application Workflow • 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
Design Goals for new Workflow • 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
Design Overview • 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
Implementation • 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
Implementation II • PHP process provided preview and signoff • Ruby process compiled HTML pages and bundled assets for phone • Obj-C generic reader to parse HTML structure
Outcomes • 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
Future Iterations • 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
Sources • Apache usage documentation • Apple development documentation • Thomas Fielding’s Doctoral Dissertation [related chapters] • Rails Acts As Attachment documentation