Dietrich Banschbach, director of EMEA SSG Scale Influence at Intel, offers some advice on making the process as smooth as possible…
While some handheld devices hog the headlines, the unassuming netbook ambles along in the background, selling steadily and building its army of fans.
What the netbook lacks in glamour, it more than makes up for in utility. Its real keyboard and Windows compatibility make it ideal for those who want to work on the move, or anyone who wants to curl up on the sofa with a second computer.
ABI Research estimated there will have been 58 million netbooks sold last year alone, which represents a massive potential market for software developers.
Reaching that market is easier than ever. If the netbook has learned one trick from Apple, it’s that the App Store model works. It has transformed its software market, making it possible for bedroom coders to compete on the same terms as major software houses.
For users, the App Store makes it simple to find and install new applications, with confidence that the device manufacturer has vetted the software. It’s less hassle than buying and installing shop-bought products, and it’s less risky than downloading software from the internet.
For developers, getting boxed product into high street game shops bordered on the impossible, unless the game was backed with a massive advertising budget. Getting an app into an app store is relatively easy.
Asus announced that its new netbooks would ship with the Asus App Store starting back in autumn 2010, and other vendors are expected to follow suit. To reap early mover advantages, developers should plan now to port their apps to the netbook. Depending on the device you’re porting from, the first consideration will be how the user experience on a netbook differs.
Applications on the iPhone, for example, use multiple small steps because that’s the most efficient way to navigate the small screen. On a netbook, the larger screen size makes it possible to lay out a much wider range of options, and so dramatically cut the number of steps required to accomplish something.
The typical netbook may not have a touch screen or accelerometer, so new zoom and rotate controls might need to be coded for the netbook if the app requires those features. Every netbook is likely to have a touchpad or mouse, though, so it should be relatively easy to adapt touch-based pointing and selecting.
Because the mouse pointer can appear on top of things without selecting them (it can ‘hover’, in the jargon), the mouse button needs to be used to confirm a selection. Most of these adaptations will be relatively easy, but in the case of an action game that uses rapid touch controls, it might be better to consider alternative interfaces such as the keyboard.
Netbooks come in a range of different screen sizes, typically between 9” and 10.2”. Earlier netbooks had 7” screens, but these are becoming much less common now. The typical screen resolution is 1024 by 600. If your graphic assets were created for a smaller platform, you might need to recreate them to achieve the desired quality. For future applications, it’s a good idea to create larger assets than you need and to scale them where appropriate for smaller formats.
The UI elements should be scaled to take account of the available space, but with minimum sizes imposed to protect usability. Mike Kasprzak, CEO of Sykhronics, converted his iPhone app Smiles to the netbook. He recommends programmers scale their graphics using 3D hardware, even when the visuals do not need the third dimension.
“Everything is 3D-accelerated, these days,” he said. “If you’re not using it, it’s just performance going to waste.”
Where the aspect ratio differs between the source device and the netbook, he suggests using a tiled background to fill in any blank space on the netbook screen.
Moving code from the iPhone to the netbook will require code modification, although it is not too big a leap to move from Objective C to C++. If you already have a desktop PC application that runs on C++ or another environment in x86 Windows, you should be able to move your app across with minimal modification to take account of the different hardware features. If your app runs in Flash, you can port your app easily because the Flash player also runs on netbooks.
If you’re porting your app from a desktop computer, the screen is likely to be smaller than you are used to. There isn’t usually room for applications to be comfortably used side by side on a netbook, so you should plan for your app to run full screen. Not only does this maximise the space available for the interface and content, but it also delivers performance improvements in Vista and Windows 7.
Any icons in the app should be positioned relatively, rather than hardcoded to a particular point on the screen. The availability of mouse hover means that minimal icons can be shown, with tooltips displayed when the mouse floats over them.
To achieve the best possible performance, it’s a good idea to learn a little about what goes on under the hood too.
The Intel Atom Processor enables up to two threads using Hyper-Threading Technology and supports SSE3 for fast floating point maths.
Instructions are processed in order, which can result in load stalls if the application is not optimised, slowing down app performance. Using some simple flags in the Intel Compiler (/QxL /QxSSE3_ATOM), it is possible to automatically optimise the code for Atom. This has achieved a speedup of 1.3 times on one graphics-intensive demonstration program. Games that already support threading and SSE will run with excellent performance on the netbook.
The netbook presents new creative opportunities too. You’re almost guaranteed to have a good camera and a microphone, and the technology and usage model means that the netbook is usually connected. Wi-Fi and Bluetooth come as standard, and WiMax is available on some models. Battery life can be as long as ten hours, making more immersive games and applications possible, as well as the more casual apps that users might want to dip in and out of.
Porting applications to the netbook is a great way to broaden the market reach of your software. The most successful apps, though, might prove to be previously undreamed-of applications that make the best use of the available hardware, and the usage model of computing while connected and on the move.