By Raghvendra Maloo
Over the years, All-in-One (AIO) computers have become a mainstay in both home and office delivering processing power and big-screen graphics capabilities along with sleek styling that saves on space. With Microsoft’s introduction of Windows* 8, AIOs have been building on traditional keyboard and mouse input with innovative touch capabilities that give end users new ways to interact with software and hardware. And now, a new form factor is emerging that will extend these capabilities even further — the Portable All-in-One (pAIO).
Portable All-in-Ones feature high-end technical specifications including large touch screens that can operate in lay-flat orientations, and a built-in battery that supports limited mobility. These capabilities make new use cases possible and open the door to development of applications and games that incorporate innovative features such as:
- Multi-user and multi-touch (MUMT) user interfaces
- Multi-modal interactions based on voice or camera-captured body gestures
- Multi-gadget scenarios such as using smartphones as game controllers
- The use of Intel® Wireless Display (WiDi) to provide additional game or application visuals on an HDTV
- Intel Rapid Start Technology for fast system resume
The ability to operate in a detached horizontal orientation offers both opportunities and challenges to software developers who will need to adjust their mindset to take advantage of the features that pAIOs bring. This paper presents four guidelines that can help guide software developers as they design applications that encourage touch interaction and deliver a memorable user experience on Intel® processor-based pAIOs.
Guideline #1: Understand the platform capabilities of Portable All-in-Ones
pAIOs bring unprecedented opportunities to application developers with large touch screens, light mobility with lay-flat orientations, and the processing power for demanding multi-touch multi-user applications
Portable All-in-One computers share many design elements with traditional AIOs; however, Intel processor-based pAIOs have several key characteristics that promise to bring new opportunities to software developers and new experiences to end users. Portable All-in-Ones support both stationary and adaptive computing experiences with a screen recline mechanism that allows for vertical, reclined, and lay-flat use cases with screen sizes from 18.4” to 27” (Figure 1). Multi-touch capability is delivered by touch panels supporting a minimum of 10 touch points, and light mobility is supported with an onboard battery. With light mobility and lay-flat capabilities in the picture, pAIOs open the door to developing innovative new software that takes full advantage of multi-touch, multi-user capabilities delivered on an immersive large-screen canvas.
Figure 1.High Level Development Environments for Windows 8 Apps
The visibly smart Intel® Core™ processor family delivers the incredible performance and stunning visuals required by full featured, multi-user, multi-touch pAIO applications in categories such as gaming, education, entertainment, health and wellness, business, content creation, and lifestyle. Application designers can count on Intel Core processors to bring their apps to life with brilliant imagery and seamless touch experiences (Table 1).
New, innovative technologies are also key to the capabilities of pAIOs. With the introduction of the new 4th Generation Intel Core Process, pAIOs are able to take advantage of new platform technologies including but not limited to: Intel Rapid Start Technology and Intel Smart Connect Technology. Intel Rapid Start Technology enables systems to quickly resume from deep sleep in about 6 seconds. Key benefits include:
- Less Waiting - A fast resume time that is more responsive than a fresh Start Up or Resume from Hibernate.
- A smarter Off/On experience - Instant on and ready to go, a fast and power friendly alternative to performing a full system startup and shutdown.
- Maintains user context - Similar to sleep or standby, a user can return to their previous work, resume Internet activities, restart paused movies, etc.
Intel Smart Connect Technology allows more productive sleep states by periodically waking your system to update all applications that are open. Once the content has been updated, your system will resume a sleep state.
|Feature||3rd Generation Intel® Core™ Processors||4th Generation Intel® Core™ Processors||Benefits|
USB 3.0 (5 Gbps)
USB 3.0 (5 Gbps)
More than 10X faster than USB 2.0
Media and Display
Table 1.Processor Comparison
Guideline #2: Choose your software development environment wisely
Windows 8 supports two different development environments that will define your development tool options, feature availability, compatibility with previous versions of Windows, and your distribution/sales model.
Windows 8 lets you build apps using a variety of programming languages and tools. You can even write components in one language and use them in an app written in another programming language. There is, however, an early decision that you must make, concerning the type of app you want to develop, either a Windows Store app or a Windows Desktop app (see Figure 2).
Desktop apps run in the Windows Desktop mode of Windows 8. This mode looks similar to the legacy Window environment; however, it is not a legacy experience. Touch and sensor based apps are supported in Desktop mode. Additionally, some hardware drivers and device features like Intel Wireless Display and OpenGL* are currently only accessible for apps running in Desktop mode.
Figure 2.High Level Development Environments for Windows* 8 Apps
Developers should be aware that some device features and technologies may not yet be exposed or developed for the Windows Store app environment. Because of this, your choice of Windows Store app mode or Windows Desktop app mode will determine such things as what development environment options will be available to you, what hardware features will be available, backward compatibility with previous version of Windows, and how your app can ultimately be sold and distributed (see Table 2).
The only way to distribute and sell Windows Store apps to the public is through the Windows Store. The Windows Store makes apps available to millions of customers around the world. Desktop developers have more options when it comes to selling and distributing their apps. In addition to traditional distribution and fulfillment options, some developers may be able to list their Desktop apps in the Windows Store (with a link back to a website for purchase).
|Feature/Toolset||Windows* 8 Desktop Mode Apps||Windows Store Mode Apps|
Yes (Browser Plugins may be required)
Programmable GFX – OpenGL*
Programmable GFX – OpenCL†
Programmable GFX – OCL*, CM*
Intel® Graphics Performance Analyzers (Intel® GPA)
Full tool functionality except: IE10, WinRT app analysis, and DX10 in Frame Analyzer (with 15.28 driver + new OpenCL SDK)
No (WinRT does not support instrumentation)
Intel® Performance Bottleneck Analyzer (Intel® PBA aka xIF)
Supports Desktop app analysis. Viewer works in Desktop.
Partial feature set works with WinRT.
Dev Environments (VS*, Eclipse*)
No (Some desktop apps may be listed in the Windows Store with a link back to a website for purchase)
Compatible with previous versions of Windows
Table 2.Feature Compatibility for Windows* Store and Windows Desktop Apps
Guideline #3: Implementing touch is critical in developing compelling apps for pAIOs
Windows 8 has you covered with flexible options for both Windows Store Apps and Windows Desktop Apps
Touch provides an intuitive, fun, and natural way for users to interact with your app. UIs for multi-touch multi-user applications on Intel Core processor-based pAIOs rely on the innovative use of touch as an inherent part of the overall design. Fortunately, Microsoft has ensured that extensive touch APIs are in place to support both Windows Store and Desktop app development.
Windows Store Apps
- Pointer events are used to get basic contact info such as location and device type, extended info such as pressure and contact geometry, and to support more complex interactions.
- Gesture events are used to handle static single-finger interactions such as tapping and press-and-hold (double-tap and right-tap are derived from these basic gestures).
- Manipulation events are used for dynamic multi-touch interactions such as pinching and stretching and interactions that use inertia and velocity data such as panning/scrolling, zooming, and rotating.
Windows 8 Desktop Apps
Desktop apps run in the Windows Desktop mode of Windows 8. The three ways to support touch input and gestures in Microsoft Windows 8 Desktop apps are:
- WM_POINTER is the easiest to code and supports the richest set of gestures, but only runs on Windows 8. WM_POINTERmessages receive touch input, and Interaction Context functions are used to recognize gestures from those messages.
- WM_GESTURE is easy to code and backwards compatible with Windows 7, but it comes with the most restrictions.
- WM_TOUCH provides the complete solution for backwards-compatible touch support for Windows 7. It notifies your app of every touch event, and your code must collect these events and recognize the gestures they represent.
A common misconception is that you cannot develop new Windows 8 touch-and sensor-based applications for Desktop mode. This is false. Additionally, some hardware drivers and device features like WiDi and OpenGL* are currently only accessible for apps running in Desktop mode.
Next generation applications and games introducing multi-modal interactions based on voice and camera-captured body gestures are also possible for Windows 8 Desktop mode applications. Developers should consider using the Intel® Perceptual Computing SDK to enable multimodal interaction on pAIOs. Additionally, developers can use Intel® Common Connectivity Framework (Intel® CCF) to enable a multi-gadget scenario where secondary devices like smartphones can be used as controllers for a game running on a pAIO.
Software Frameworks and Validation
Software designers choosing to develop Windows 8 Desktop games have the added benefit of a wealth of existing software frameworks and validation tools. These tools can help accelerate your development schedule, optimize performance, and maximize touch responsiveness for pAIO applications (Table 3).
Provides tools and libraries that promote platform portability while allowing developers to focus more on content and experience.
Adobe Flash*, AIR, Gaming SDK
Delivers a framework that supports rich UI, media effects, and web connectivity.
OpenGL and DirectX*
Provides access to graphics hardware features to optimize graphics intensive applications.
Windows* Presentation Foundation (WPF)
Provides a powerful GUI development framework with a higher level of abstraction over DirectX with elements that can be linked and manipulated based on events.
Provides a markup language for web-based applications that feature rich multimedia and graphics capabilities. Very suitable for online games development.
Supports debugging for GPU overload-related issues.
Intel® Power Gadgets
Measures scenario-based CPU power consumption
Visual Studio* 2012 Profiler
Monitors and profiles critical call stacks to isolate performance issues.
Measures frames per second (FPS) to ensure glitch free graphics rendering.
Table 3.Windows* 8 Desktop Mode Software Frameworks and Validation Tools
Guideline #4: Understand the User Perspective
Designing for multi-user multi-touch on large horizontal screens demands a different mindset — you’re not working with a phone screen!
The developer community has been designing compelling games and applications for touch screens like phones and tablets for some time now, but with pAIOs, many of the limitations imposed by these smaller screens are less of a concern, freeing the designer to incorporate more and better touch interactions and controls.
Successful designs will require an awareness of how users will typically interact with the app. Depending on the application, you may have up to four players on a single game, so understanding the perspective of multiple users is critical. Additionally, the placement of controls on the screen needs to reflect the expected usage patterns for the device (Table 4).
|Usage||Number of Users||Perspective Considerations||Application Example|
Multi-player with individual controls
Must be oriented for use depending on where the player is located. Best located on screen edges
Soccer game with player controls along opposite edges of the screen
Multi-player with shared controls
Several players located around the screen in no particular order
Shared controls in easily accessible locations
Traditional family board game with shared control (digital dice, penalty cards, etc.) located in the center of the game board (screen)
Multi-user collaborative apps
Supports several users collaborating around a screen
Shared controls, graphical in nature for easy understanding
Table 4.Multi-Player Usage Examples
Position of the User
New multi-user applications become possible when pAIO screens are detached and placed on a tabletop. For application developers, designing apps for multiple users requires a detailed analysis on how they will interact with the application and with each other. Understanding the user perspective is critical:
- Early design should clearly identify the number and type of users. Will each user need a set of controls (as in many games), or will a single set of controls suffice (collaborative multi-user apps)
- The easiest touch targets are going to be near the edges of the screen
- Multiple players may have multiple focus points at any given time
User Controls are Key
How you design your user interface can influence how easy your app is to use with touch input. To ensure that your app is touch optimized, consider these guidelines:
- Due to the large screen size of pAIOs, consider using larger icons and images so that minimum up-scaling is required
- Each user should be confident on what controls are available either by physical location, color, or shape. Image-based instructions are generally easier to understand from different angles
- Touch requires larger UI elements to ensure accuracy and prevent fingers from obscuring important information, but touch on a large screen affords the designer much more real estate to work with compared to tablets
- Make sure the UI is always visible and be aware of how the users’ hands may cover other controls or screen information
Keep the App Alive and Interesting
Large pAIO screens on tabletops give designers new opportunities to engage users with both visuals and intuitive touch interactions. Your app should feel alive and invite the user to engage, explore, and touch. The following tips will help you keep things “alive”:
- Always provide immediate, direct visual feedback for touch interactions. For example, you can use highlighting or tool tips to indicate the current touch target and prevent the accidental activation of other targets
- Tune the physics engine to manage the pace of play. Use physics effects such as acceleration and inertia to provide a natural feel in interactions such as panning
- Consider introducing next generation functionality with multi-modal interaction such as voice-based and/or hand gesture-based controls
Portable All-in-Ones are opening new opportunities for application developers with large touch screens, light mobility, and lay-flat orientations. Powered by Intel Core processors, these innovative new applications promise to deliver the brilliant imagery and seamless touch experiences that users crave. However, designing these new apps demands a different mindset and a clear understanding of the development options that exist, and here too Intel can help with a rich library of resources covering software design considerations, touch integration, and platform capabilities. For more information visit the links listed below.
About the Author
Raghvendra Maloo is a Senior System Software Engineer in the PCCG Innovation Development Vehicle (IDV) team. He is a Microsoft Windows Expert and currently working on Touch and Stylus software stack of IDV Reference Systems. Raghvendra’ s focus areas includes Multi User Multi Touch experience on the All-in-One Form Factor Systems. Before joining Intel, Raghvendra worked for Microsoft as a Software Design Engineer for its Office Mobile Products. Raghvendra owns multiple patents and publications in the field of Touch Sensors, New User Experiences and Parallel Computing. Raghvendra was also a speaker in Intel Developer Forum 2013 presenting Software Development Opportunities for All-in-One Systems
Design and Development:
- Designing for Ultrabook™ Devices and Touch-enabled Desktop applications:
- Developing with Desktop Natural User Interface APIs for Developers:
- Designer Tools for Windows Desktop Applications:
- Reimagining Apps for Ultrabook™- Touch Interfaces:
- Touch Design Principles: Postures and Touch Targets:
- Enabling Touch in Windows* 8 Style UI Apps with C#:
- The Human Touch: Building Ultrabook™ Applications in a Post-PC Age:
- Handling touch input in Windows* 8 Applications:
- Touch friendly control buttons:
- Touch reactive samples:
- Windows 8.1 dev center:
- Intel Rapid Start Technology User Guide:
Intel Smart Connect Technology:
- Comparing Touch Coding Techniques – Windows* 8 Desktop Touch Sample:
- Touch Samples:
- Ultrabook™ Desktop Applications Development on Windows* 8 – Photo Applications with Touch and Sensors:
- Windows Desktop Touch Camera Sample:
Copyright © 2013 Intel Corporation. All rights reserved.
Intel, the Intel logo, Core, InTru, and Ultrabook are trademarks of Intel Corporation in the U.S. and/or other countries.
*Other names and brands may be claimed as the property of others.
†OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
1 (Intel® Turbo Boost Technology) Requires a system with Intel® Turbo Boost Technology. Intel Turbo Boost Technology and Intel Turbo Boost Technology 2.0 are only available on select Intel® processors. Consult your system manufacturer. Performance varies depending on hardware, software, and system configuration. For more information, visit www.intel.com/go/turbo.
2(Hyper-Threading) Requires an Intel® Hyper-Threading Technology-enabled system; consult with your PC manufacturer. Performance will vary depending on the specific hardware and software used. Not available on all Intel® processors. For more information, including details on which processors support Intel HT Technology, visit http://www.intel.com/go/ht.
3(Quick Sync Video—3-year baseline) Video transcode claim using CyberLink* MediaEspresso 6 to render a 4-minute, 449 MB, 1920 x 1080i, 18884 Kbps, MPG2 video file for playback on an Apple iPod* with resolution of 640 x 360, H.264, and file format of .MP4. Speedup is 4X faster on 3rd gen Intel® Core™ i5-3450 processor (desktop) and 3rd gen Intel® Core™ i5-3320M processor (laptop) compared with Intel® Core™ processor (desktop) and Intel® Core™2 Duo E8400 (desktop) and P8600 (laptop).
4(Built-in visuals) Built-in visual features are not enabled on all PCs and optimized software may be required. Check with your system manufacturer. Learn more at http://www.intel.com/go/biv.
5 (Intel® Wireless Display) Requires an Intel® Wireless Display-enabled PC, tablet, Smartphone, compatible adapter, and TV. 1080p and Blu-ray* or other protected content playback only available on select Intel® processors with built-in visuals enabled. Consult your PC manufacturer. For more information, see www.intel.com/go/widi.
6 Viewing stereo 3D content requires 3D glasses and a 3D-capable display. Physical risk factors may be present when viewing 3D material.