Conceptualizing Your Ported Application on the Netbook Platform


Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Conceptualizing Your Ported Application on the Netbook Platform

  1. 1. beta Intel® Atom™ Developer Program Part of the Intel® Software Network Originally published as a blog by Brian Burrows at : Conceptualizing your ported application on the netbook platform “What will my application be like on the netbook?” This is the question posed by iPhone* developers around the world as they begin porting to the Intel® Atom™ SDK. When porting an application from one platform to another, the first item we as developers tend to think about is the programming language. Let us set that aspect aside and have a look at the hardware differences and how they affect the overall user experience. While a direct port of your application’s features and user interface would be simple, a bit of due diligence up front may necessitate minor changes that will ensure what you end up with at the end of the porting process is what you had envisioned. We want to draw a clear picture of what your application is going to look like, how it will behave, and how your customers will interact with it on a netbook. Let’s take a look at the primary aspects to consider as you create your future state. Skipping the User experience gap analysis conceptualization process That sure sounds complicated, however What if you decided to simply port your we can break it into easily digestible application without consideration for parts. The goal is to expose differences platform differences? While this seems in the user’s experience when using like the fastest route to completion, it your application on the netbook platform is also the surest route to miss many and whether or not those differences opportunities for improvement in terms need extra attention during the porting of usability and overall user experience. process. In order to create a vision for the With an abundance of screen real estate, future state of your application, we must you have the ability to display multiple analyze the current state and consider views concurrently (such as master/ platform constraints. One simple way to detail), split panes, and other techniques do this is a quick self interview that make your application easier to use. (alternatively you can query a coworker to Invest your time here in determining what speed this part along). We want to expose this new and powerful platform means to any gaps in the experience a user may your application before you write a line of encounter once your application has been code. As the old saying goes, “an ounce of ported to the netbook. prevention is worth a pound of cure.” Your time spent in this portion of your porting process will undoubtedly save many hours of work later on.
  2. 2. White Paper Title Placeholder Here beta Intel® Atom™ Developer Program Part of the Intel® Software Network Here are some basic questions you will also demand your customer’s effectively maximizes the limited space will want to ask: attention — something that may be available by dynamically positioning the Should this application have the user’s full desirable in productivity applications. application layout. While this functionality attention at all times or should it share works quite well on the iPhone’s smaller Option #2 Keep your dimensions the screen? screen, it will not work on the netbook By keeping your application’s current due to a lack of sensors to determine the How critical is the device orientation and dimensions you will have fewer image device’s orientation. That being said, we does your application handle orientation assets to recreate and little to no layout also have more than four times the screen changes? changes to handle. Since the full screen real-estate to work with and most users Is this application aware of the user’s on an iPhone is 480 x 320 pixels and the have no desire to rotate their netbook. location? smallest netbook resolution you will see Think about your application’s usability on per Intel® Validation Guidelines is 1024 Are there any dependencies which are cell the iPhone. Does it flow better in a x 576 no additional work will need to be phone-specific (call creation, answer) portrait or landscape layout? By and large, done to handle multiple resolutions. most applications are more easily ported Does your application utilize Bluetooth*? In picturing your application in an in landscape layout, as it maximizes Does your application use Cocoa Touch expansive landscape, which the netbook available area for data sets and more trackers? presents, consider which option lends closely matches the aspect ratio found on itself to a good user experience. Now that netbook screens. Does your application utilize Cocoa Multi- you are developing a vision of how your touch gestures? application will look, let’s take it from your Location services Does this application make use of the mind to the paper. This is as simple as Many applications are at least partially iPhone* accelerometer? getting out your trusty pen and paper, and based upon the user’s location, bringing creating side-by-side sketches of your UI added value in data personalization. While Are you identifying the user? on the iPhone compared to the netbook. we can safely assume that all iPhones Is it critical that your application only run Remember to consider not only your have a GPS receiver, the same cannot be in one instance? primary interface but any additional said for the current offering of netbooks. forms, or modal windows. This is also the Some netbooks do have GPS hardware in- Does this application make use of the time at which you may evaluate new and stalled and there are libraries available to iPhone* camera hardware? exciting ways to use of the additional us to access this data from our application. By answering these questions, we have space you will gain on the netbook If you intend to require that the user have exposed many of the high-level user platform. GPS hardware please ensure that your interface considerations in our iPhone How about a digital mock-up? Obvious application’s meta description includes an application. We need to address each choices include the free Paint.NET (http:// appropriate disclaimer. property and determine if and how the ), a simple drawing tool That being said, we do have a viable ported version will change the user which supports layers, rounded alternative to GPS by way of Geolocation experience. Below are a few areas which corners, and the like. If you are looking for services. This technology has been used you will want to explore further in your an online tool with collaboration for a number of years with reasonably application’s future state. capabilities have a look at MockFlow good success. By looking up the user’s IP ( ). This tool address against any number of services Screen size(s) supports A/B comparisons, real-time we are able to determine their relative The first thing most developers consider wireframe sharing, and more. location. This will not give us the fine- as they begin to visualize their grained detail of a GPS reading, but an Of note: Consider whether your applica- application on the netbook is the screen approximation that may suffice for our tion can take advantage of the Windows size. Immediately we are presented with application’s functionality. If knowing the tray feature and whether you can two options that impact how we envision state and, potentially, city of your leverage balloon tips as a non-invasive our application: customer’s location is close enough for form of messaging your user. Option #1 Go big your requirements, then geolocation Orientation services may be the solution for you. Taking advantage of all those pixels gives you much more space to take advantage On the iPhone, it is quite common to han- One excellent source for location services of. By consuming the entire screen you dle changes in the device orientation. This that I have used in the past is 2 2
  3. 3. White Paper Title Placeholder Here beta Intel® Atom™ Developer Program Part of the Intel® Software Network Ip2Location Touch Identification ( Although there are a few Atom™-based As iPhone users we can safely assume Keep in mind that these are generally tablets coming soon, the vast majority that in most cases there is generally only subscription services and you will incur of netbooks do not have a touch screen. one user. As such, we store a single some cost for this feature unlike GPS. That being said, many netbooks do have collection of settings and account details. a multi- touch-capable touchpad installed When moving to the netbook platform, Bluetooth* and phone functionality that we can take advantage of. this assumption is replaced by the poten- tial for multiple profiles on each netbook. It is not uncommon for applications to be Many netbooks’ touchpads do in fact It is not uncommon for multiple people tied to certain mobile phone features such support multi touch. You will need to to have profiles on one netbook, and one as dialing and the user’s phone book. At query the device to determine its user to have multiple profiles. first glance it seems as if you would have capabilities. The most common multi touch to scrap any such functionality in your capable hardware is currently made by Does this affect your application’s application that utilized these features. Synaptics. usability or authentication methods? While it may be easiest to go ahead and Should you consider creating an initial Further reading: remove any dependencies related to login screen facility? These are further mobile phone functionality, I offer to you questions you may wish to explore in an nology/gestures/touchpad an alternate solution. effort to get a feel for how your Bear in mind that while the touch pad application will behave once ported. One valuable piece of hardware responds in a similar way to multi-touch available in most every model of netbook events, it is obviously not an LCD screen Instances is a Bluetooth* radio. Most mobile phones and presents itself as a somewhat This is another core platform difference expose several Bluetooth profiles different user experience. Consider that it that has the potential to affect our allowing for everything from file sharing will not be as natural to use multi-touch application’s future state. How many to Internet tethering. Using the gestures on the netbooks, as the user instances of your application are you available profiles, may allow you to must use the current mouse cursor going to allow? If your application has provide a method for keeping your position for reference. To assist the user account or performance constraints application’s mobile phone-enabled you may wish to indicate that a particular in place, you will want to implement a features. You will need to acquire a user, interface object is gestural when the method to prevent users from executing Bluetooth library, which has provisions for mouse is hovered. more than one instance of your the features you intend to retain. Here are a few common profiles which are Lastly, one key difference is the mouse program. Of course, you will want to implemented in nearly all mobile phones: cursor. While there is no such concept on display a friendly message prior to exiting, the iPhone, it is a staple of the netbook indicating that your application is already Hand-Free Profile running. The most common method of environments user experience. Take into This profile allows us to place calls, as well consideration mouse in/out events and ensuring this is by use of a mutex. MSDN as subscribe to incoming call notifications. their effect on making your application has an excellent article outlining this easy to use. solution in C++: SiteCollectionDocuments/ HFP15_SPEC_V10r01.pdf Acceleration Moving ahead Phone Book Access Profile The accelerometers in the iPhone are an interesting input device. We use them In summation, your goal is to compare the This profile is responsible for providing an often in place of clicking a button; for current state of your application against interface to recall and store contact example, the common “Shake your phone its potential future state. Close your eyes details in the mobile phone’s phonebooks. to…” functionality. We also use them to and walk through the typical use cases move objects around the screen. The that your customers would, as if your TR-010PBAP_V1.0.pdf netbook platform does not have such application was running on a netbook. hardware; however, we are not left As you begin your porting process, take More details on the available Bluetooth without options. Consider using a mouse note of any areas that you may need to profiles may be found here: to double-click events or arrow keys as a remove, modify, or rearchitect. For this quick and easy to implement substitute. modest investment, you will end up with an application that performs as well on the netbook as it does on the iPhone. 3