Posts Tagged ‘Mobile’

Making the Leap to Windows Phone

Thursday, April 26th, 2012

So I took the leap and moved to Windows Phone.  The Lumia 900 looked too good, and I’ve not been that happy with Apple so I did it. I’m going to blog about this experience in detail over the next few days and weeks so that you can see my impressions, as well as the ups and the downs. In this post I’ll tell you why I chose to move away from Apple, and why I chose Windows Phone.  I’ll give you my first impressions and how long it took for me to get my phone to that fully functional, indispensable state where all my communications are flowing into it.

First, why I moved.  I’m tired of Apple. My 3GS has served me well, but it’s very slow since the iOS 5 upgrade.  It takes forever to open any app, and trying to take a picture is a joke.  On top of that I wasn’t impressed with the iPhone 4S.  The hardware isn’t great compared to other hardware available on other platforms and it has the same problems as previous models, such as poor voice and speaker quality.  Siri is kind of cool but not worth paying for a new iPhone that’s overpriced.  Furthermore, I just don’t see Apple innovating that much.  Their products are nice and extremely well refined, but every time I considered buying a new iPhone it just wasn’t worth it to me.

Android hasn’t impressed me. There are too many standards, too many form factors, they still have problems with apps getting out of control, and I don’t see that getting a lot better.  Microsoft is the dark horse in the mobile race, but I like their approach to app control and the marketplace.  When their phones do take off, and there are signs that will happen this year, those approaches will help the platform grow.  I’m also stoked about the potential for the platform with Windows 8 coming out.  It has the potential to unify the interfaces between PC, tablet and Phone, and give users like me access to all of our apps and data seamlessly across those platforms.  Then came Nokia’s Lumia 900.  It won Best Phone at CES 2012, and had serious hardware and got good reviews.  That was impressive, and it would only cost me $100 to upgrade since I was due for an upgrade.  A bunch of my developers ran out and bought the Lumia 900 the day it was released.  I checked in with them every few days and they loved it.  Then, there was a software problem the caused problems connecting to AT&Ts network.  Nothing major, it just required a software update, but Nokia offered buyers a $100 credit for phones purchased by April 20th regardless of whether they were affected by the problem.  That meant a free phone for me.  I couldn’t pass it up.

I had an awesome experience at the AT&T store at Washington Square thanks to Sean T.  He got my service moved over and walked me through some things.  Within 30 minutes I had the phone fully functional and hooked up to e-mail, calendaring, etc..  Many of the extras, my favorite apps and other things came over the next few hours, but I’ll blog about that separately. But I will make one quick note, I love music and I’m having an easy time with transitioning because I’m a Spotify subscriber, more on that later as well.  For now, let me give you my first impressions.

The AMOLD screen on this phone is incredible and beautiful.  The hardware is very impressive.  The voice quality and speaker quality far surpass the iPhone and rival my desk phone in terms of clarity and volume. The phone is also much larger than I’m used to, so I have to get used to that (I need a stretch thumb to reach the back button).  So far, after a few hours, I’m very happy.

Coming up in the next few blogs I’ll discuss the following:

  • Our recommended list of apps.
  • Notes on setting up and customizing the phone.
  • A Comparison of the Windows Phone interface to the iPhone interface
  • The Camera on the Lumia 900
  • The Nokia Drive App which has already earned its own blog spot
  • Texting and Autocorrect
  • A review of navigating the phone
  • Working with Music, Zune, and Spotify
  • More as it comes up
Share

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

The Return of Best of Breed

Friday, July 15th, 2011

Oh so many years ago now, Microsoft, Lotus and Word Perfect were in a fight for market share in Office Productivity software. It was the mid ‘90s. Word Perfect was the dominant word processor, and Lotus had their 1-2-3 spreadsheet.  There are so many stories from that time, one that sticks out for me as relevant today is the Best of Breed story.  While Word Perfect concentrated on its word processor, Microsoft and Lotus were building a suite of applications (remember Ami Pro anyone)?

Microsoft and Lotus took two very different approaches to their software.  Lotus applications looked distinctly different on each platform,  DOS, Windows, and Unix.  Lotus called it Best of Breed.  Each application was designed work the best on each platform, taking advantage of platform capabilities like multitasking and memory management.  Application design even factored in differences in human interface devices such as monitor sizes and resolutions.  All without regard to consistency.  Why would a Unix user every work in Windows?

We know how that story ended.  Microsoft put a lot of effort making their application experience the same on all platforms, even building a windows-like menu system for their DOS apps. There was wisdom in this approach.  As Windows became more popular, DOS users could transition more easily to Windows versions of their applications.  It was a big deal, made transitioning to Windows easier and less costly.  In the newly emerging world of graphical user interfaces, usability improvements (and Microsoft spent a lot of effort and money in the usability lab during this time) could be leveraged for all versions of the application regardless of platform.

It seems like common sense now.  Users are users.  Make your application easy to use and people will use it.  If the message wasn’t clear by the late 90s, the advent of the World Wide Web, and, three seconds later, the advent of the first impatient Web user, drove it home.  But once again, things have changed.

New form factors have entered the mix.  Smartphones and tablets – many with a variety of screen sizes as well as different capabilities and limitations. Now, once again, the platforms are dictating application capabilities as well as user experience and design.  Apps written for one platform aren’t as polished on other form factors even when they are from the same manufacturer.  Many iPhone apps don’t look great or have a less than great user experience on the iPad for example.  Bring in Windows Phone 7 where the scrolling is up and down instead of right to left and you have yet another wrinkle.

Microsoft looks like they are, once again, trying to bring some uniformity to this area. From what’s been shown and released about Windows 8 so far, we see that the PC OS, Tablet OS, and Phone OS will all look and work in similar fashions. See this this article from The Next Web.  We have yet to see if it’s successful, and if it can really cut down on development per device in the touch interface world of today.  For now, best of breed is back, and rules the mobile app development world.

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