Mike Miller CS 526. General Introduction Hungry Guide Project Introduction Previous Application...

Preview:

Citation preview

Mike MillerCS 526

General IntroductionHungry Guide Project IntroductionPrevious Application WorkflowDesign Goals for new WorkflowDesign Overview ImplementationOutcomesFuture IterationsSources

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

Recommended