Date post: | 24-Dec-2015 |
Category: |
Documents |
Upload: | shanon-murphy |
View: | 213 times |
Download: | 0 times |
Design Considerationsand Best Practices
for Mobile ApplicationsDavid E. Figley, Jr
Programmer, C2 Technologies, Inc.
Patriot Missile System Training Apps
• Connecting Soldiers to Digital Applications
• Deployed on iPhone 4 and desktop web browsers
• Runs on iPad 2, new iPad, select Android devices
• Developed in Unity
Considerations
• Platform (iOS, Android, Blackberry OS, etc)• Different development environments• Device diversity
• Device Limitations• Memory and storage• Accelerometer, gyroscope, camera, multitouch
Considerations (cont.)
• Target Audience• ‘App’titude• Accessibility, 508 Compliance
• Deployed Environment• Network availability• Device management / updates
• Predictable hardware configurations
• Relatively few resolutions and aspect ratios: (480x320, 960x640, 1024x768, 2048x1536)
• Closed platform
• Diverse hardware (CPU, GPU, memory, storage)
• Numerous device resolutions and aspect ratios: (240x300, 320x240, 320x480, 360x640, 480x640, 480x800, 480x854, 540x960, 640x960, 800x400, 800x600, 1024x600, 1024x768, 1280x720, 1280x800)
• Disparate UI experiences & limitations
Development Approach
• Core Framework• Base classes (UI screen, controlled obj, utils)• Interaction behaviors (character controls)• Content management (Scenarios, activities)
• Bundled assets• Externalized content
Framework
• Modular design• Reusable chunks• Encapsulated behaviors (independent code)• Objects inherit attributes• Applies to graphical assets
Framework (cont)
• Interactive elements• Character controls (joystick, touchpad, hybrid)
• Touches and collisions• Camera controls (followers, look at objects)
• Create realistic models, figuratively and literally• Open-ended, immersive environments
Asset Workflow
• Bundled assets• Core framework separate from scenes• Load as needed, reduce load times• Scalability• Reusability
Asset Workflow (Cont)
• Future-proofing for new devices• Scaling assets• Levels of detail• Working in percentages, not pixels
• Polygons vs. Textures
Content
• Externalized, editable, extensible• Runtime content building and testing
• Push & pull content from a database• Create an activity and test without rebuilding• Eliminate guesswork