Apr 22

NOTE: Cross-posted from BostonPocketPC.com.

During last night’s monthly Boston/New England Windows Mobile User and Developer Group meeting, we covered a number of items. Steve Hughes’ KIN presentation was great in providing lots of info. We also covered an overview of Windows Phone 7 development (SIDE NOTE: We are planning a number of focused developer presentations in the coming months on various aspects of Windows Phone 7 development. Stay tuned for more details…).

During the meeting, a recurring theme emerged. It spanned both the KIN and Windows Phone 7, and it is an area that is essential for both platforms’ success. It is also an area that has been a sore point for Microsoft and it’s partners throughout the life of the Pocket PC, Smartphone, Windows Mobile and now Windows Phone – price competitiveness. It is an area that if not addressed will potentially cause history to repeat itself and risk the failure of the platforms regardless of the the values they provide.

The cellular industry has a long history of product pricing through subsidies that reduce the cost of a phone for the consumer. While we all know that the physical phone is but one “cost” when combined with voice, data and additional services, the general consumer expectation has been that the cost of hardware should not be an obstacle in making a purchase. This has become a sort of “immutable law” for the average consumer when it comes to cell phones. For many of you reading this piece, this line of reasoning does not apply (and rightly so). Your love of “gadgetry” supersedes cost. But remember – you are the exception, not the rule. Just think about significant others, family and friends who have questioned your sanity about the amount of money spent on such technology :-) All this brings us back to the history of Windows Mobile in the cellular market space.

Traditionally, device manufacturers using the Windows Mobile operating system and mobile operators (the AT&Ts, Verizons, etc of the world) have chosen to brand these devices as “high-end” and often priced them closer to traditional computers than phones. At the same time, the industry still treats them as “disposable devices” in terms of shelf-life (translation – you, the consumer, are willing to upgrade to new hardware on a frequent basis at “discounted” prices in return for renewing service agreements). At prices that are often still $100 - $200 USD over other phones (even after subsidies and discounts), the perception to the average consumer is often “that’s an awful lot of money for something that I won’t keep forever.”

I will grant you that Microsoft is working hard with Windows Phone 7 to attempt to add long term value to Windows Phone 7 devices. But they are not the device manufacturer nor are they the mobile operator, both who see value in you not keeping a single device for long periods of time. That being said, what else will drive sales of new Windows Phone 7 devices. Ironically, the answer lies with Apple, AT&T and (of course) the iPhone.

While initial sales of the original iPhone were good, it was not until the iPhone price drop (remember the event that had many early iPhone adopters feeling foolish for paying so much?) that truly drove sales. Since then, there has been a continuous and very conscientious effort of Apple and AT&T’s parts to bring new devices to market at lower prices. The most recent example – the entry price for the iPad coming in at under $500 and resulting amazing sales numbers – shows that competitive pricing in this segment matters. Price matters. The iPhone and iPad have, in essence, revolutionized another aspect of technology (at least in the cellular space) – powerful devices at affordable prices (at least that is what the numbers show).

For both KIN and Windows Phone 7, price will matter. IN the case of KIN, which Microsoft themselves brand as a “feature phone with great features”, but not a smartphone, pricing this device significantly above other feature phones will likely be disastrous – history and the numbers simply don’t lie. Interestingly enough for Microsoft, this is the first phone for them in which they are actually closer to being the manufacturer than ever before (while Sharp was their hardware partner here, Microsoft really ran the design part of things). Such is not the case with Windows Mobile, nor will it be the case with Windows Phone 7; Microsoft is simply the operating system licenser. However, Microsoft has the most to lose or gain with it’s investment in Windows Phone 7 (keep in mind that most of the device manufacturers are currently hedging their bets on the operating system front with Android as well).

So, how does Microsoft ensure price competitiveness with Windows Phone 7 devices? I don’t know the final answer here. Some common sense possibilities include putting pressure on the device manufacturers and mobile operators to ensure cost competitiveness (although that really hasn’t worked out in the past). Perhaps Microsoft themselves stepping up (at least initially) to cover some of the subsidy cost in order to improve chances of success. Regardless – something has to be done here to make certain that Windows Phone 7 devices do not show up on mobile operators shelves with prices that induce consumer “sticker shock”.

Those who cannot remember the past are condemned to repeat it.” - George Santayana

For Microsoft and it’s partners in the cellular space, these words have never rung more true. Regardless of capabilities or of “sex and sizzle”, KIN and Windows Phone 7 devices risk being relegated to inventory shelves if they cannot entice average consumers with effective competitive pricing.      

Mar 05

Microsoft’s recent announcements around Windows Phone 7 Series and first details regarding application development for the platform have made me take pause to think about those of us out in the world of mobile device application development. More specifically, I’ve been thinking about things from the perspective of a developer who supports mobile device platforms in general, not just one in particular. I know I am anything but alone in this situation. An increasing number of independent developers and commercial development companies are in this situation. Additionally, the number of enterprises supporting Line of Business applications to an increasing variety of users and phones fall into this same group. For everyone involved, the dizzying array of hardware types, operating systems, development platforms and programming languages are a challenge, to say the least. That is why I am becoming increasing convinced that for many, the only real hope in being able to support all mobile device platforms is HTML 5.0.

In order to understand the true scope of the current dilemma for so many people, you simply have to break down the potential target phones from a development perspective. You get something like this…

  • Windows Phone – Currently, you have native development with C++ or managed development with the .NET Compact Framework. Moving forward, you will have Silverlight or XNA. The development platform – Visual Studio (running on the Windows operating system).
  • iPhone – Objective-C is the language, with XCode as the development platform (running on the Apple OSX operating system).
  • RIM – A device-specific subset of the Java language, with different development platform options.
  • Android – A device-specific subset of the Java language, with different development platform options.
  • WebOS – A device-specific subset of HTML standards, with different development platform options.

OK – so what does this mean for a developer trying to build a single application that supports multiple phones using native development tools? Well, for starters…

  • From a development computer, the best-case scenario requires an OSX-based desktop or notebook (think iMac or MacBook) with both the OSX and Windows operating systems installed. I have set up such a computer in the past, and it’s not very pretty (or inexpensive).
  • Again from a best-case perspective, I need to know at least the fundamental aspects of -
    • .NET (then the derivatives for the Compact Framework, Silverlight and XNA)
    • Objective-C (C or C++ for starters, but a whole lot of differences)
    • Java (then the SDK-specific derivatives for each device)
    • HTML (and then the specifics for WebOS)

Folks – that’s one specific computer and FOUR programming languages (with a lot of additional knowledge on top of the language basics) just to get my single application to all the major phone platforms. And remember – these are “best-case” scenarios. I didn’t include those applications that are very hardware-dependent (physical buttons versus  touch screens, screen resolution, etc) or graphics-intensive (using GDI versus OpenGLES versus native, etc). Of course, I left out the biggest challenge of them all regarding development – having to re-create one application many times. Even under the best of circumstances (an application where the bulk of application logic resides in a centralized location accessible via the Internet), there is all the work on the client/device of the application to perform. Even under the best of circumstances (Java to Java, for example), there is still lots of platform-specific work to do).  

With all these challenges in mind, what’s a developer to do? Well, there are several options -

  1. Pick your platform(s) is stick to it/them. For many independent developers, this is the only viable alternative. The time and effort for a single person to develop one application for multiple devices without a guarantee of return on investment makes for a simple decision – choose the platform or platforms I can reasonably manage from a time and cost perspective. For larger development groups, there is still the challenges of identifying and allocating the proper resources (developers) to the development efforts, never mind the challenges of keeping everything in sync to assure that work on Platform X doesn’t break or supersede Platform Y. For enterprises, there’s the cost of development, hiring and training the resources required. 
  2. Leverage multi-platform development platforms. This is primarily an enterprise-focused option that is becoming more popular. There are solutions that allow you to ‘write once, deploy everywhere” when it comes to phones. However, these platforms often come with new challenges. In addition to the sheer cost of such solutions (limiting their consideration to larger enterprises with IT budgets capable of purchase), there are infrastructure and capabilities (think “Jack of all trades, master of none” when it comes to these platforms when compared to native development) to consider.
  3. Develop mobile web application development. As any developer knows, the current state of mobile web application development comes with a number of limitations. First and foremost is the issue of being offline from the Internet and the “red flag” this poses for many applications. Despite all the marketing hype, guaranteed mobile device access to the Internet is still a myth (just think about all the times you’ve had dropped calls on your cell phone). Heck – guaranteed wired Internet access is a myth; just think about your home computer and your ISP. Many application rely on being able to work when no Internet connection exists. These applications not only need to function from a user interface perspective; they also need to be able to safely store enough of a cache of data locally when the the connection is lost to be able to allow the user to perform their work. For the most part, most mobile phones do not implement the capabilities within their respective web browsers to make this a reality.
    The current state of mobile device web browsers also makes for a present-day situation I like to refer to as the “Microsoft/Netscape Syndrome”. Anyone who has been developing web applications can remember the days when the differences between the two most popular web browsers at the time (Internet Explorer 3.x and Netscape Navigator 3.x) were so different in what HTML standards they supported that as a developer you were required to essentially build two versions of a web application if you wanted the widest usage. NOTE:  Yes, I acknowledge that this is STILL going on today in the desktop browser world – I just like to refer to the first time that this became an issue that truly affected the development world in a broader scale ;-) Today’s mobile web browsers mostly suffer this same fate. Their capabilities vary by platform, making even the simplest of application development tasks difficult and requiring a lot of conditional coding and rendering logic based upon browser detection (the term “browser sniffing” is has relevance more than a decade after it’s creation).

Now after saying all of this (including the current challenges around mobile web development), you may be wondering why I think that yet another HTML specification may provide some relief for multi-platform mobile device developers. Well, there are a couple of things around HTML 5.0 that can address these issues -

  1. Reducing fragmentation that has occurred in the years since HTML 4.0 was ratified. A lot of time has past in the years since HTML 4.0. During this time, a lot has changed with regards to the Internet and how we use web applications. We’ve seen fragmentation in addressing these issues as a result. Don’t get me wrong here; I’m not saying that HTML 5.0 will solve all the issues. However, we are already seeing some vendors in the mobile space betting in some way, shape or form on HTML 5.0 and moving away from their own individualized solutions to problems, instead building in HTML 5.0 support in their own mobile web browsers. Heck – Palm has practically bet everything on HTML 5.0 with development for WebOS. As I mentioned earlier, WebOS application development is grounded in HTML standards – HTML, JavaScript, CSS, etc. If that makes you wonder how you could possibly develop applications that work offline, then you need to consider…
  2. The HTML 5.0 Database specification. I will leave the details to this specification to the W3C. However, if you care to look at the HTML 5.0 specification, you will find a great deal of changes dealing with application caches, application sandboxing and databases. All of these changes account for offline HTML applications as well as traditional online access. In essence, the W3C is, with the HTML 5.0 specification, finally officially addressing the use of native HTML as an application language, rather than simply a connected web application language.
    Palm is not alone in moving toward HTML 5.0 for mobile technology. Google (via Android’s browser) and Apple (starting with the iPhone 3.0 and Safari) have started implementing HTML 5.0 standards. One example is with the HTML 5.0 support for location. If you’d like to see this in action and have either an Android or iPhone handy, check out Microsoft Device Application Development MVP Richard Jones’ example (complete with source listing). Bottom line – if the HTML 5.0 as currently written is ratified and if the mobile device platform players implement the standard, it will be much more possible to develop cross-platform applications that meet offline requirements than ever before. While I am certain there will always be platform-specific APIs (likely exposed via JavaScript) to deal with, I think that learning one base language and device-specific extensions is certainly more manageable than four languages that exist today.

Of course, HTML 5.0 cannot solve all multi-platform development problems. There will almost always be application scenarios that require using a development model and language that is “closer” to the device. Gaming applications, for example, commonly require complex graphics processing. While HTML 5.0 is making strides even in this arena, it is likely that it will not supplant the need for more native development solutions that are optimized for and tailored to a specific device. For many other applications, however, HTML 5.0 provides the potential to enable development of applications that can meet the challenges of modern mobile applications, and all under a single development language umbrella.

I applaud those device and mobile operating system manufacturers that are embracing HTML 5.0 as “early adopters”. To those that are not, I strongly urge them to consider not embracing this standard might mean. Early on, I mentioned the “pick your platforms approach”. If HTML 5.0 is adopted by everyone but you, it is more likely that you will be the “odd man out” for a potential audience of thousands of developers. Here’s to hoping that is not the case for any one manufacturer. Here’s also to looking forward to HTML 5.0 final ratification. And finally – here’s to hoping that HTML 5.0 really can live up to addressing one of the greatest challenges posed to mobile device developers today.    

Nov 15

It’s time once again for our monthly Boston/New England Windows Mobile User/Developer Group meeting! This month, our meeting will be held on Wednesday, November 18th starting at 6:30PM at the Microsoft offices in Waltham, MA (201 Jones Road, 6th floor).

Map picture

This month’s topic -

It’s Off To The Market (place)
Coinciding with the launch of Windows Mobile 6.5, Microsoft has also launched the Windows Marketplace for Mobile. This “one-stop shop” for Windows Phones allows you to browse, purchase and download applications for your device – right from your device!

In this presentation, we will look at the Windows Marketplace for Mobile from both the end-user and developer perspective. We will talk about how to get started, what to consider and what the Windows Marketplace brings to the table.

Oct 20

It’s meeting time again, all! The next meeting of the Boston/New England Windows Mobile User and Developer Groups will be held this Wednesday (October 21, 2009) starting at 6:30 PM at the Microsoft offices in Waltham, MA (201 Jones Road, 6th Floor).

Map picture

Our featured presentation - “Back ‘Dat Thang Up!: Windows Mobile Backup Strategies”
While the title may sound humorous, there is nothing funny when it comes to the loss of personal data. With the high percentage of breakage, loss and theft of cellular phones the need to preserve critical information is always a concern. Microsoft has officially released it’s official cloud-based backup solution for Windows Mobile 6.5 devices in the My Phone service, but that may not be the right solution for all your needs.

In this presentation, we will talk about creating your own (or your business’) backup strategy and finding the right tools to meet your needs.

Jul 13

Sorry for the late notice, all. Sumer is supposed to be the traditional “slow time”, but a number of scheduling conflicts have led to need to cancel this month’s Boston/New England Windows Mobile User and Developer Group meeting. I apologize for any inconvenience this may cause.

We will be picking up with next month’s meeting on August 19th. Stay tuned for more information…

Jun 16

Sorry for the late notice, all. I honestly thought that we were not meeting until NEXT week. Way too hectic a month thus far… ;-)

Our next Windows Mobile User/Developer Group meeting will be TOMORROW (June 17th) starting at 6:30 PM at the Microsoft offices in Waltham, MA (201 Jones Road, 6th Floor).

Map picture

Among our topics this month -

“Windows Mobile 6.5 Overview” – With the release of the Windows Mobile 6.5 Developer Toolkit, developers and users are getting their first good looks at the latest Windows Mobile OS offering. In this presentation, you will see some of the highlights for both Professional and Standard Edition devices.

“Introduction To Widgets” – With the upcoming release of Windows Mobile 6.5 comes the unveiling of a new application type for Windows Mobile – the widget. In this presentation, you will receive an “Anatomy of a Widget”, how you can create them, what they can do and how you can deploy them to the masses.

As always, there will be lots of items for giveaway!

May 05

I’ve been busy the past week and a half, with a family vacation down at Walt Disney World and catch-up (both at the office and at home). In all of this, I neglected to mention that we have a contest going on over at BostonPocketPC.com. If you’re looking for a great Windows Mobile-powered phone, be sure to check it out -

pantechcontest

Here are the rules for our contest:

The contest begins on May 3rd, 2009.  To enter you will need to send in a picture of your current phone and give us a short description how the Pantech Matrix Pro will enable you with "The Power to be You". It can be as simple as your phone doesn't have 2 keyboards or maybe it doesn't have any keyboards and you need one to dial numbers, send a text, email or Tweet about your current location with its built in GPS and take a picture to show what you had for breakfast. Whatever it is please tell us in 25-150 words and enclose a picture of your current phone and email your entry to pantechpro@bostonpocketpc.com by 11:59PM EST on May 6th.

You must reside in the United States in order to win and receive the Pantech Matrix Pro phone plus a $100 gift card for accessories or service with AT&T Wireless.

You must meet all the requirements mentioned above in order to be eligible for the random drawing.

The winner will be chosen at random and contacted via email, so please use a valid email address when entering. The winner will have 24 hours to respond and will then be announced here on Boston Pocket PC on May 7th, 2009.

Good Luck!!!