Mobile Web vs. Native Apps Apps. What is Right for You?
Todd MarksPresident & CEO
[email protected]@mindgrub
2
Native vs. Mobile Web
3
Native vs. Mobile Web (Facebook)
Facebook’s move to a native app• Faster
performance• Use of native
controls• Offline storage
About Native Apps
5
Why Native?
• Uses native libraries such as: Speech Recognition, Open GL For Graphing, Location Services, Camera and Microphone
• App needs to work in offline mode• Uses a lot of data that needs to be stores locally• Much more polished and can access GPU directly• Great for games and highly interactive Apps
6
What Does It Take?
• Serious skills are required. Need iOS, Java or .NET developers.
• Need to publish to the various stores and develop separate versions per platform.
• Must download and access app after fully installed.• Bigger budgets needed.
Mobile Case Studies That Beg For Native
8
Case Study :: DELL Customer Support
9
Data Visualization :: Total Baby
10
Location Services :: JHU
11
News Media
12
Mobile Gaming :: Scuba Adventures
13
Mobile Gaming :: B&O Railroad
14
iPad Applications :: GEICO Glovebox
About Mobile Web Apps
16
Why Mobile Web App?
• App is largely “brochure” in nature• Want to get the most bang for the buck. i.e. right it
once in HTML5/CSS/JS and reach the most number of platforms possible
• You have Web Developers but not iOS, Java, or .NET developers
• You don’t need the app to work in offline mode• You don’t need to store and synchronize a lot of data
on the device
17
What Does It Take?
• HTML5 / CSS / JS Developers• Need website hosting• App is accessed by going to URL, no need to submit
to App stores• Smaller budgets needed then Native Apps
18
Some Cons of Web Apps
• HTML5 is not a uniform standard. Development of Web Apps has a long tail to cater to all the different types of devices.
• Doesn’t work in offline mode.• Yahoos say they can build Web Apps but have
delivered some sub-par products.• Lacks Digital Rights Management (DRM)• Does not support background processing.• Does not provide native look and feel.
Mobile Case Studies That Work Well as Mobile Web
20
Army - GoANG
21
IdyllwildARTS
Cross – Compilers“Best of Both Worlds?”
23
GEICO – Federal Leave
24
Phone Gap
25
Titanium
26
Flash
Captivate Android or iOS via Flash
28
Workshop: Android Apps
1. Open Captivate and create or open your Captivate presentation.
2. Create an SWF from your captivate presentationa. Click File->Publishb. Name "Project Title" something significant.c. Choose the "Folder" location so you remember, and
click "Publish To Folder", this will put the SWF in a folder with the same name as the Project Title.
29
Workshop: Android Apps
d. Change the save to the folder created in step 1e. Check "Enable SWF for conversion to iPhone app" if
you're planning on that.f. Click "Publish" in the lower right side of the publish
windowg. Choose "yes", and "OK" on the next warning, to
preview the SWF. (or choose no to skip)3. Close Captivate (to conserve resources)
30
Workshop: Android Apps
4. Open Flash Professional5. Click File->New...->AIR for Android (Or select the
same from the splash screen that pops up)6. Click File->Save, navigate to the captivate project
folder, and name and save the .FLA file here. Save with a name that is different than the name of your published swf file.
31
Workshop: Android Apps
7. On the bottom half of the screen, click the "Actions - Frame" tab, and in the blank box, paste the following:
var myLoader:Loader = new Loader();var url:URLRequest = new URLRequest("presentation.swf");
myLoader.load(url);addChild(myLoader);stop();
32
Workshop: Android Apps
8. Change presentation.swf to match name of your captivate swf file that was published.
9. Click File->Publish Settings...10. Make sure Player drop down is set to AIR for
Android11. Make sure Script drop down is ActionScript 3.012. Under "Included Files", click the +, and find the
captivate swf and add it.13. Click the wrench next to Player drop down
33
Workshop: Android Apps
14. Select a directory for the output file and choose the same folder everything else is in (Sometimes it will output to a my documents location, so make sure you set this even if it looks like it's already set)
15. Click the deployment tab16. On Certificate, Click "create..."17. Enter information, it doesn't matter, but you must
remember your password.
34
Workshop: Android Apps
18. Under save as... save it to the same folder as everything else.
19. When generated, enter your password again in the "password" box below certificate location.
20. Click "remember password for this session".21. Under "after publishing" click both checkboxes to
allow the android app to run after publishing.
35
Workshop: Android Apps
22. Make sure your android is plugged into the computer.
23. Click "Publish" in the lower right of the window. A warning will be generated about
permissions. this is OK.24. After publishing, the android app will be installed
and run on the android device.25. The app can be found in the captivate folder, it is
the file with the .apk extension.