About Me

My photo
Santa Clarita, Ca, United States
I work as a Technology Manager in the Entertainment Industry. My first film was Disney's Dinosaur and have been credited on several films since. I love working on old electronics, especially old radios. I am also passionate about technology and education. I have 4 kids and you can read about us on our family blog.

Friday, September 9, 2011

Apple Seminar: In-House Application Development for iPhone and iPad

I attended an Apple seminar in Irvine titled : "In-House Application Development for iPhone and iPad". It was a good high level overview discussing all things iPad/iPod/iPhone for the Enterprise. 

Agenda  (Also See Attached):
  1. Exploring Possibilities in the Enterprise
    • How are enterprise customers using mobile applications?
  2. Design Best Practices
    • What makes a great app?
  3. Getting Started with the Platform
    • Developer programs and training materials
  4. Development Overview
    • Web App Development Overview
    • HTML5/Javascript/CSS3 - What is  possible with web technologies?
    • Demonstration - Building a web app 
    • Native App Development Overview
    • Frameworks and integration options  available for native apps
    • Demonstration - Building a native app      
  5. Distribution and Deployment
    • Channels and methods for application distribution
Notes:
  • The class was given by Allen Braham of Apple. He flew in from New Jersey. Attendees came from as far away as Las Vegas.
  • Case Studies:  Links are to pages explaining the apps, not company links.
  • Deployment
    • You can deploy up to 100 devices through a developer license. If you need more, you need a enterprise license.
    • Each enterprise license has an single "Agent" who names "Admins". Admins can invite developers.
    • The Agent is the only person who can do distribution. The Agent must have legal ability to bind the company in a contract with Apple.
    • Admins or the Agent must approve development certificates.
    • All three positions, Developer, Admin, and Agent can be the same person if necessary.
    • Universal Apps:  One binary for both the iPhone and the iPad.
  • Design:
    • Allen stressed making sure you focus on functionality first. Don't try to cram your desktop app into an iPad. Instead, think about the essentials and do the minimum first.  Worry about graphics after you have a working app.
    • A successful IOS project will have more design than coding. Think about what your users are doign that can be mobilzed to make their life easier.
    • Emphasis is on "Bite Sized Apps", not large ones. "Many Bite Sized Apps make an entire meal".
    • A lot of $$$ is spent doing training. You want small, easy apps so training becomes trivial.
    • Do paper mockups. Mockups should not look too real. There are apps like "App Layout" or "iMockups" you can also look at.
    • It's important that things not be polished because folks won't give feedback on a digital prototype like they will with a paper based one. (I agree!)
    • One major pitfall is to make a screen a certain way because of aparticular API they are using.
    • Every app that is developed internally starts with a User Mental Model: Objects, Task, and Concepts.
      • Object: What are we working with . (Clendars, Days, Weeks, Appointments, Reminders)
      • Tasks: What are the things we need to do. (Scheduling, Create, Edit,    Search)
      • Concepts: What are the high level conceptual things. (Searhching, Search, Filter)
  • Development
    • Web:
    • Web apps can be done in HTML5, CSS3, and Java Script.
    • WebKit is    the engine behind Safari.  Google Chrome uses WebKit. Blackberry and    Android use it as well.
    • There is a 5MB limit to SQL lite for saving offline data which is useful in "Airplane Mode".
    • You can use "Configuration Profiles"  They are generated using the    iPhone configuration utility.
    • Web Clips are a "Chicklet"  which links to a web page. You get a safari window with an optionally    hidden broswer bar.
    • Dashcode : Used for making web apps. Use for iPad/iPhone as well.  (Demo)
    • Native:
    • Done in XCode.  (Demo)
    • Hybrid apps:
    • UI Web view within an app.  You can take advantage of    native applications.
    • You can exceed 5 MB of data storage.
  • Multitasking:Added iwth ios4.  Only allows certain things:
    • Voice over IP (Skype)
    • Location
    • Notification
    • Task Finishing
    • Fast App Switching.
    • Playing audio in the background.
  • Push Notifications. Push notifications are available in the    enterprise as well.  
    • Don't send sensitive information over alerts.
    • You can ship a custom sound for notifications.
    • Your server has to maintain the id # of the devices you are pushing    towards. You push a JSON payload to the apple cloud notificaiton    service.
    • Only the last message is delievered. If you miss the message,. you    will only get the latest.
    • Push Notifications and Local notifications are only available    through native apps.
  • Accessories
    • To build an accessory, you have to join the Made For iPod program.
    • Bluetooth Glucose meter.
    • Infinite Periferels Sled. Uses 30 pin connector.  Infinite Periferals gives you an SDK.
  • Location Based Services:
    • GPS takes more power than cel tower.
    • Think about Precision, Power, and TIme
  • Local Storage:
    • SQL lite. (Core Data)
    • Property Lists : an Apple Standard. They can be serialized or    de-serialized to/from data strucutres very quickly.
    • Parsing Speed for the same data: 
      • JSON 416ms
      • XML 812 ms
      • Ascii Property List 140ms
      • Binary Property List 19ms
  • App Security
    • Hardware Encryption: There is hardware encryption on the iPhone, iPad. etc. 
      • AES 256 bit encryption
      • Always on for all data.
      • Instantaneious remote wip
    • Data Protection: All data at rest is encrypted using hardware encryption.
    • There is no shared memory between applications.
    • To brick the system, you just have to throw away the encryption keys.

No comments:

Post a Comment

If you would like to reach out to the author directly, please email mschnitt@gmail.com