Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Conceptualizing Your Ported Application on the Netbook Platform
1. beta
Intel® Atom™ Developer Program
Part of the Intel® Software Network
Originally published as a blog by Brian Burrows at :
http://appdeveloper.intel.com/en-us/article/conceptualizing-your-ported-application-netbookplatform
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. 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 www.getpaint.net/ ), 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
(http://www.mockflow.com/ ). 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. White Paper Title Placeholder Here
beta
Intel® Atom™ Developer Program
Part of the Intel® Software Network
Ip2Location Touch Identification
(http://www.ip2location.com/). 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
http://www.synaptics.com/solutions/tech-
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
http://www.bluetooth.com/ easy to use. solution in C++:
SiteCollectionDocuments/ http://support.microsoft.com/kb/243953
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
http://www.mcpc-jp.org/news/pdf/ 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
http://www.bluetooth.org
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