mike miller cs 526. general introduction hungry guide project introduction previous application...

13
Mike Miller CS 526

Upload: joan-strickland

Post on 12-Jan-2016

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Mike Miller CS 526.  General Introduction  Hungry Guide Project Introduction  Previous Application Workflow  Design Goals for new Workflow  Design

Mike MillerCS 526

Page 2: Mike Miller CS 526.  General Introduction  Hungry Guide Project Introduction  Previous Application Workflow  Design Goals for new Workflow  Design

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

Page 3: Mike Miller CS 526.  General Introduction  Hungry Guide Project Introduction  Previous Application Workflow  Design Goals for new Workflow  Design

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

Page 4: Mike Miller CS 526.  General Introduction  Hungry Guide Project Introduction  Previous Application Workflow  Design Goals for new Workflow  Design

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

Page 5: Mike Miller CS 526.  General Introduction  Hungry Guide Project Introduction  Previous Application Workflow  Design Goals for new Workflow  Design

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

Page 6: Mike Miller CS 526.  General Introduction  Hungry Guide Project Introduction  Previous Application Workflow  Design Goals for new Workflow  Design

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

Page 7: Mike Miller CS 526.  General Introduction  Hungry Guide Project Introduction  Previous Application Workflow  Design Goals for new Workflow  Design

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

Page 8: Mike Miller CS 526.  General Introduction  Hungry Guide Project Introduction  Previous Application Workflow  Design Goals for new Workflow  Design

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

Page 9: Mike Miller CS 526.  General Introduction  Hungry Guide Project Introduction  Previous Application Workflow  Design Goals for new Workflow  Design

PHP process provided preview and signoff

Ruby process compiled HTML pages and bundled assets for phone

Obj-C generic reader to parse HTML structure

Page 10: Mike Miller CS 526.  General Introduction  Hungry Guide Project Introduction  Previous Application Workflow  Design Goals for new Workflow  Design
Page 11: Mike Miller CS 526.  General Introduction  Hungry Guide Project Introduction  Previous Application Workflow  Design Goals for new Workflow  Design

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

Page 12: Mike Miller CS 526.  General Introduction  Hungry Guide Project Introduction  Previous Application Workflow  Design Goals for new Workflow  Design

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

Page 13: Mike Miller CS 526.  General Introduction  Hungry Guide Project Introduction  Previous Application Workflow  Design Goals for new Workflow  Design

Apache usage documentation

Apple development documentation

Thomas Fielding’s Doctoral Dissertation [related chapters]

Rails Acts As Attachment documentation