KEMBAR78
Adobe Air Application case study - nycoders.org 0509 | KEY
Adobe AIR iPad App
   Case Study
  “Unfortunately, we learned a lot!”
Project Background
New Role, New Company
History of Outsourcing at Company
Staffing Situation
Strategic Direction
An Opportunity!
Boasting Called
Client Crisis
Can you replicate this vendor’s iPad
platform and update the content?
An Opportunity?
Boasting Called
Client Crisis
Can you replicate this vendor’s iPad
platform and update the content?
in 8 weeks!
Show app to the nice
      people
now!
The App
Presentation builder
Asset Repository
Asset types: PDF, video, HTML5
Tracking (Flurry analytics)
Email sharing of assets
Problems
Staffing
Experience
Schedule
Pharma Weirdness
Options
Native obj-C
Appcelerator, PhoneGap, other
Adobe AIR


note: only for iPad 2
Options
Native obj-C
Appcelerator, PhoneGap, other
Adobe AIR       : you can always find a
way to hack it out with Flash
The Research Phase
Presentation builder
Asset Repository
Asset types: PDF, video, HTML5
Tracking (Flurry analytics)
Email sharing of assets
AIR workflow
Misconception #1
Adobe makes AIR, Adobe owns PDF
standard PDF, certainly PDFs will be
super easy!
(I vaguely remember that Adobe AIR has native support for PDFs...)




Is StageWebView the answer?
StageWebView
Displays HTML
Displays PDFs
Displays Video
Top of Display List, always!
No stacking?!
No animation...
Workaround for PDFs
Convert PDFs to SWFs (PDF2SWF)
Generate thumbnails from PDF
Display as SWF


Show results
Misconception #2
PDFs are hard, but videos will be easy!
Flash has always been good for video,
right?
Video playback on iOS
FLV playback
Using StageWebView with Video file
Using StageWebView with Video
embedded in HTML
Using StageVideo: why we didn’t use this
Video playback on iOS
You can have video auto play (SWV
video)
Or you can track video events (SWV
HTML w/video)
BUT YOU CAN’T HAVE BOTH!
Video playback on iOS
You can have video auto play (SWV
video)
Or you can track video events (SWV
HTML w/video)
BUT YOU CAN’T HAVE BOTH!
or can you? Stage Video is one option...
And what about Full screen?
Our super-duper
autoplay workaround
HTML-StageWebView Communications
Auto play AND video status!
Show Code
Our super-duper full
screen workaround
Same trick, just with a delay
HTML-StageWebView Communications
Auto play AND video status and full
screen!
Show Code
Native Extensions
extensionsforair.com


Flurry, Native Dialog used
Mail Composer considered


Wretched documentation: illustrate
Tricky!
Native Extensions
Need to be defined in 2 places!
Native Extensions - 2



                      SDK
                     may be
                    required
Email Sharing
Sendgrid is your friend!
AWS or Rackspace to ser ve files
Unexpected Problems
Keyboard/Text editing
Small user community
Crap Documentation
Mysterious build errors
Updating AIR runtime is complicated
What we loved
JSON!
Easy to staff
Good performance, overall
Familiar workflow
Rapid development
Correct Conceptions
Simple and quick architecture (show)
Easy to build UI
Able to adapt to schedule change (oops,
only 5 weeks after all)
Project ready on time as promised
Recommendations
Consider target audience
Learn platform first
Where do you need performance?
Work within limitations and you will be
very happy
Summary
Qualified success
Video and PDFs much harder than
expected
Full screen scaling/pinching vector art
problematic
Worth considering, especially with
cross-platform

Adobe Air Application case study - nycoders.org 0509