Logo
programming4us
programming4us
programming4us
programming4us
Home
programming4us
XP
programming4us
Windows Vista
programming4us
Windows 7
programming4us
Windows Azure
programming4us
Windows Server
programming4us
Windows Phone
 
Windows Phone

Windows Phone 8 : Designing for the Phone - The Third Screen

- Free product key for windows 10
- Free Product Key for Microsoft office 365
- Malwarebytes Premium 3.7.1 Serial Keys (LifeTime) 2019
4/12/2013 3:32:42 PM

Microsoft has pushed an idea it calls “three screens and a cloud”1 since the earliest announcements of Windows Phone (and possibly before). Essentially this is the idea that an application or service should support three fundamental user experiences: computer, TV, and phone. While this idea of three screens that are all supported by a common infrastructure has evolved (e.g., are tablets considered phones or computers?), it still represents a strong story for you to determine what your phone applications should allow the user to do.

1 http://tinyurl.com/3screensandthecloud

Your job in designing the experience for the phone involves more than fitting your Web/desktop experience onto the small screen; it really involves crafting what a user will want to do on the device. For example, let’s assume you work for a bank. Should the phone experience include doing things like downloading bank statements? Probably not. But users will want to be able to check balances and perhaps see several days’ worth of transactions. The Web story for your application may be very feature-driven, whereas the phone version should pick and choose the right experience for the form factor and use cases.

But the experiences you think about are not just a subset of Web experiences; they might be very different. Consider the Foursquare website (http://foursquare.com) shown in Figure 1.

Figure 1. Foursquare.com

Image

The user experience on the website is more heavily geared toward seeing the status of a user; seeing the mayorships, history, and badges is a common task on the website. As a user, I might also be interested in some of the additional data presented to me in this larger format. In fact, there is quite a lot of functionality here that I may be interested in. But just how much of this is interesting on a smaller device? The user’s attention span is hampered on a smaller device, so deciding what a user will do (and how long the user is expected to stay in your application) becomes crucial to a successful third screen for your offering. Let’s take that site and see how the phone screen might help us pick some functionality (as shown in Figure 2).

Figure 2. Phone-sized app

Image

The problem with this approach is that it’s unlikely that picking a phone-sized part of the app would make much sense. Your next thought may be to try to pack all that functionality in with a panorama application (as shown in Figure 3).

Figure 3. Panorama application

Image

While Windows Phone would allow this, it’s important for you to look at what your third screen will be used for. How long do you expect users to work with the application? Even if users want all that functionality, is a large scrollable app the right idea? When I look at Foursquare, I am most interested in check-in (something that is an uncommon task on the website) and seeing where my friends are checked in; the rest of the functionality is purely “nice to have.” In fact, the official Foursquare application for Windows Phone2 decided on this mix of this a standard Windows Phone paradigm by going with a Panorama application but focusing exclusively on the places you visit instead of an all-in one approach (as shown in Figure 4).

Figure 4. A sample Foursquare on Windows Phone

Image

Determining the right experience for your users is your first challenge. Once you have a sense of what you should accomplish, the next challenge is to create an application that works well on a device.

It Is a Phone, Right?

Developing the right strategy for determining what your application does is only half the battle. The other half is to understand that you are working with a phone. Why does it matter that you’re writing for a phone? It matters because the hardware, performance characteristics, and usability are completely different from a desktop or website. For example, the Application Certification Requirements for the Windows Phone4 has limitations about consuming memory.

4 http://shawnw.me/wpcertreq


Memory Consumption

The Application Certification Requirements specifically say “The application must not exceed 90MB of RAM usage, except on devices that have more than 256 MB of memory.” Since you can’t dictate what devices it’s available on, you must be ready to test for the memory in you’re app. The DeviceExtendedProperties class can be used to query the amount of memory on the device and modify the application behavior at runtime to take advantage of additional memory. For more information, see the DeviceExtendedProperties class in MSDN.


Memory Consumption

The application must not exceed 90MB of RAM usage. However, on devices that have more than 256MB of memory, an application can exceed 90MB of RAM usage. The DeviceExtendedProperties class can be used to query the amount of memory on the device and modify the application behavior at runtime to take advantage of additional memory. For more information, see the DeviceExtendedProperties class in MSDN.

Therefore, you will need to design your application to work well within limitations on a number of fronts:

• Limited screen real estate

• Limited CPU speeds

• Limited battery life

• Limited memory

• Completely different input mechanism (e.g., touch versus mouse)

If you’re a seasoned mobile developer, none of this is new to you. But if you’re a developer who is coming from the Web or desktop world, you have to change your thinking substantially to fit your applications onto the phone. You will need to start with a clean slate and think about resources in a whole new way.

In addition, on the phone users run apps for very different reasons and expect very different experiences. Typically an application (not necessarily games) is run frequently, but for very short periods of time. And the user experience is very touch-driven instead of keyboard- and mouse-driven. Designing an application to meet this different set of requirements means you really need to dig in to how you expect the application will be used.

Other -----------------
- Windows Phone 7 Programming Model : Web Browser Control
- Windows Phone 7 Programming Model : Tasks
- Windows Phone 7 Programming Model : Application Data Persistence
- Windows Phone 7 Programming Model : Device Information
- iphone Programming : Mixing OpenGL ES and UIKit, Rendering Confetti, Fireworks, and More: Point Sprites
- iphone Programming : Animation with Sprite Sheets, Image Composition and a Taste of Multitexturing
- XNA Game Studio 3.0 : Creating Game Components - Adding Game Sounds
- Iphone Application : Using Gesture Recognizers (part 4)
- Iphone Application : Using Gesture Recognizers (part 3)
- Iphone Application : Using Gesture Recognizers (part 2)
 
 
Top 10
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 2) - Wireframes,Legends
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 1) - Swimlanes
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Formatting and sizing lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Adding shapes to lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Sizing containers
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 3) - The Other Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 2) - The Data Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 1) - The Format Properties of a Control
- Microsoft Access 2010 : Form Properties and Why Should You Use Them - Working with the Properties Window
- Microsoft Visio 2013 : Using the Organization Chart Wizard with new data
 
programming4us
Windows Vista
programming4us
Windows 7
programming4us
Windows Azure
programming4us
Windows Server