Posts Tagged ‘Windows Phone 7’

Differences in Developing Apps for Windows Phone 7

Thursday, July 21st, 2011

Aeshen consults with agencies and other development firms on Windows Phone 7 development.  Today I thought I would share with you some of the key things we talk about when mobile development firms looking to port their applications to Windows Phone 7.   The goal is to make sure our clients understand Windows Phone 7’s unique features and capabilities, to provide strategies for porting their apps and making them the best they can be on the Windows Phone platform, and, hopefully, to help them avoid any pitfalls.

Again, just to be clear, this is not a list of features that are better on Windows Phone 7; this is a list of features, capabilities and strategies that developers and development teams should be familiar with when they are looking to write an app for Windows Phone 7, or port an app to Windows Phone 7.

  • Data Binding:  Data binding in Windows Phone apps uses the same method of data binding as in other XAML-based applications.  This is a very flexible and powerful model which allows you to connect your UI directly to data fields so code doesn’t have to interact with the UI.  If done right, you can easily format and display data in your application with a minimum of effort.
  • Page Navigation: Windows Phone 7 uses a stack-based flow model, similar to HTML.  It relies on users navigating to a page rather than creating a page object.  The system keeps track of back movements for use with the back button.  It’s important to understand this flow for UX and functionality reasons.
  • Live Tiles: These are the dynamic information boxes for the home screen.  Dynamic tiles are very cool, and very functional. They give you a way to keep your app in front of your users even if they aren’t launching it, by creating a portal to relevant information on the phone’s home page.
  • XNA/Silverlight:  These are the application frameworks for apps and games on the phone and both are completely implemented with managed code.  XNA gives them the ability to create games the same way as if they were writing for Xbox or PC.
  • Tombstoning:  In Windows Phone 7, applications will have three levels of launch: initial app launch (where the app will do everything it needs to do on first startup), navigated back to (where state is preserved from previous execution), and navigation away from (where state can be saved or the app can be closed).  It’s very important for developers to understand how these work so their apps can save state and come back quickly.
  • Data Storage: Isolated storage isn’t new or a big deal by itself –
  • all phones have a way of storing data – but Windows Phone 7 has an embedded version of SQL Server – SQL Server Compact  (available in Mango).  This is a very powerful feature and, for data centric apps, developers used to using T-SQL and SQL Server models will be very much at home.
  • Phone Capabilities: Windows Phone 7 offers a wide array of sensors (audio, camera, etc.) and services (address book, e-Mail etc.) supported in code.  The key thing about Windows Phone 7 is that access to and use of these sensors and services is standardized on all hardware platforms which makes coding easier.
  • WP7 UI Paradigm: Sometimes called the Metro UI, this is the thing that is most recognizable about Windows Phone 7 currently.   Instead of beveled edges, or shiny metallic looks, the UI sports clean, square shapes with simple color schemes.  Designers and developers as well, need to be aware that this is a change from other phone platforms and that there are many nuances to be considered such as spacing between controls, and how user selected theme colors can impact your app’s UI.
  • Pivot/Panorama: This is the side-to-side swiping for page navigation within an app which is available and can be used when it makes sense.  It allows for more natural user interaction when the situation calls for it in the context of an app.  Developers and designers need to be familiar with the capability.
  • Swipes:  These are the supported gestures; what’s supported for single touch, multi-touch, and how the phone “listens” for gestures. By understanding this, you can adapt your app to take advantage of them.
  • Back button usage: How the back button is used in your apps and what aspects of it you can override.  Android has a similar feature and iPhone does not. Developers and designers need to understand what the capability is, and how to use it.  It can be overridden when it makes sense (one example is when a modal dialog is currently open).
Share

New Features in Windows Phone 7 Mango

Monday, July 11th, 2011

There’s a lot of talk about the impending update to Windows Phone 7.  There’s a lot of rumor, and some information that’s been released from Microsoft.  See official news here: http://bit.ly/otnlB1 . See some other feature lists here: http://dthin.gs/jYAoZA and here: http://huff.to/lPe1of.  We wanted to list out some of our favorite new features we think will be in Mango.

Access to the accelerometer, gyro, compass in the new Motion API.  This makes it easy for app developers to get information about movement and location in a unified fashion without requiring any geometry calculations to make sense of the raw numbers.

Direct access to the Camera’s video stream.  This allows apps to show overlays, take periodic snapshots, or even combine the video with real-time location information.  This finally gives Windows Phone apps  augmented reality capability.

The long list of apps on the Start screen can finally be tamed!  Apps are grouped by first letter like phone contacts, and there’s a search button for finding by name.  Developers will love that if a search comes up empty, the user can click a direct link to repeat their search on Marketplace.

Twitter integration.  ‘Nuff said.

Further Facebook Integration including always-on chat capabilities that can easily switch between SMS and Facebook.  Video uploads to Facebook (or email) are included.  By release, it’s rumored that Facebook location check-ins will be supported too.

Users can now choose to merge email inboxes to create a unified inbox.  This is completely optional and can include only the accounts that they want merged.

Applications can now expose dashboard-style information on the Live Tile screen without using external web services.  Not only can apps directly update their own Live Tile, but there can be more than one Live Tile per app.

Multitasking.  Microsoft has implemented multitasking in a somewhat novel way.  There’s the ability to hold down the Back button to see the previous few apps and bring them back.  These may or may not be actually running in the background, but at the least, they come back quickly using Fast App Resume.  Apps can also schedule background work to be performed, or allow it to be invoked during idle time when the phone is charging.  This could allow a news app to download headlines periodically so the app is always ready.  Other tasks such as background music streaming or data uploads and downloads can be run in the background independent of the app itself.  Since apps don’t have total control of the phone when run in the background, and Windows Phone itself schedules these tasks, it’s expected that there will be minimal impact on battery life.

And, of course, Internet Explorer 9.

Share

Know the Trade-offs Between Pre-Made and Custom Components

Wednesday, July 6th, 2011

We do a lot of mobile development here at Aeshen on iPhone, iPad, Android, and Windows Phone 7.  One of the things that we see frequently is clients requesting custom functionality that exists in whole or in part in some pre-made component.

We think that finding a partner that understands the native capabilities for a platform and the associated Software Development Kits (SDKs) is important for customers to get the best development choices.  There are absolutely times when the design or the user experience of an application necessitates creating a custom control in lieu of using a pre-made component, but, at least, when the application is being design and the requirements being formulated, clients should have a partner that can point out capabilities that are readily available from SDKs or other third party tools and the trade-offs in functionality, experience and cost between using those components when compared to writing custom controls.  “Out of the box” components often fall short in terms of functionality, but in some cases you may find that existing components provide most (80-95%) of the functionality you’re looking for.  Then it becomes an issue of doing the cost benefit of creating a custom control to get that additional functionality.  There are other cost considerations.  A completely custom control will need to be QAed more thoroughly, whereas a component taken from the SDK is likely more well known, well understood and well tested.

In a world where companies considering investing in a mobile application have to consider 2-5 platforms (iPhone, iPad, Android Phone, Android Tablet, and Windows Phone 7), saving money here and there on development and QA really adds up.  You may save enough time to reduce your time to market substantially; you may save enough money to app for another platform for your app!

Share