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.

Aug 18

In case you haven’t heard, the first of the WinMoDevCamps is occurring tomorrow (8/19/2009) in Seattle. Just what is WinMoDevCamp, you ask?. Well, here is the answer, direct from the WinMoDevCamp web site -

WMDC004-background

“WinMoDevCamp is a series of upcoming not-for-profit gatherings to develop applications for the upcoming release of the Microsoft Windows Mobile 6.5 O/S. The event is currently being planned in 7 cities around the world. Our first Windows Mobile Developer Camp event has been scheduled for August 19 in Redmond, Washington at the Microsoft Campus. You can register now on the form below. Dates will soon be announced for the following additional cities: Austin, London, New York, San Francisco, Singapore, and Toronto. We will also encourage other mobile developers to host their own events on the same dates. This website will have facilities for local events to organize as well.”

The last sentence in this paragraph is the reason for this post. While a New York City event is planned, there is nothing set for Boston. This begs to ask the question -

If a WinMoDevCamp event was planned for the Boston area, would you attend?

If there is the interest in this event, we here at BostonPocketPC.com are willing to try and make it happen. However, no one likes having a party where no one shows up ;-) The best way to express your interest – send an email to winmodevcamp at bostonpocketpc dot com. Please don’t delay – the sooner we can gauge interest, the faster we can get the ball rolling!

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!!!

Apr 01

Anyone who knows me knows I have been a longtime fan of Sprite Software and their products. Some of their offerings (Sprite Clone, for example) were way ahead of their time. Now, Sprite Software once again provides a solution leveraging the power of the Internet in Virtual Mobile.

Virtual Mobile is an online service allowing you to backup and control your whole mobile life. It allows you to securely remote control your mobile device and its data from any computer with an Internet connection. Virtual Mobile is a combination of all our award winning software. Secure your mobile device online with our new integrated Backup, Device Management and Security solution.

Virtual Mobile can back up:

  • Contacts
  • SMS
  • Photos
  • Calendar
  • Call History

You can also remotely lock or wipe your device, and can even remote control your device!

Virtual Mobile is currently in beta, and is free for the beta period (no word yet on release or pricing). To learn more or to sign up, visit the Virtual Mobile page.

In an aside: It will be interesting to see how Virtual Mobile (and other similar products) will fare and compete with Microsoft’s MyPhone offering, scheduled for release in conjunction with Windows Mobile 6.5.

Tags:
Feb 14

I have been a longtime Slingbox owner. I started with the first-generation Slingbox, and (thanks to the luck of the draw a couple of years back at an Engadget meet-up in Boston) moved to the Slingbox Pro. In all this time, my love for the Slingbox and associated SlingPlayer software for both the PC and Windows Mobile has never waned.

Sling_Media_on_white

Slingbox_logo_onwhite

For me, the Slingbox is not just about placeshifting for entertainment. Sure – being able to watch my local sports teams whenever I am on the road is nice to have. But more importantly, it is about being able to get the local and relevant information I want or need. Two examples:

  1. As a frequent flyer, I cannot tell you how many times I have used the local news and the Weather Channel’s “Local on the 8’s” to find out how the weather back home and how it might affect my travel plans. I can also relay countless stories of sitting at a terminal gate and watching the weather forecasts on my Windows Mobile device, only to discover one or more people looking over my shoulder. I believe I have sold more than a few people on the Slingbox with an impromptu demo :-)
  2. I have been very involved in my hometown of Salem, NH’s activities over he past few years, especially where education is concerned. Thanks to the Slingbox, I am able to watch School Board, Selectmen and other committee meetings on the local cable access channel when I am on the road. It is nice not have to spend time “catching up” on community news when I get back home.

I also have my Slingbox connected to cable through one of our ReplayTV boxes, allowing me to schedule recordings and play back shows when I am free to watch them.

The SlingPlayer software never ceases to amaze me for what it does. Continual enhancements in the software for Windows Mobile allow me to stream with great clarity over only an EDGE data connection (curse you, T-Mobile, for buying the 1700/2100 MHz spectrum for 3G).

If you are someone who travels frequently for business or pleasure and have yet to make the Slingbox investment, trust me – you are missing out.

Tags:
Oct 26

If you haven’t heard of Qik yet, now is as good a time as any. With a camera-equipped mobile phone and a data plan, Qik makes you an instant streaming video wiz. Simply install the application and fire it up. Ideally, you should have either a 3G phone or WiFi.

I decided to try out Qik over the weekend using my BLackjack II with only an EDGE connection. The result – streaming my wife’s first Tae Kwon Do belt test (she decided to join the kids at Tae Kwon Do a few weeks back). While there was a great deal of buffering involved, the final result was not half bad.

I also tried a couple of short videos today using my AT&T Tilt and WiFi. One shortcoming of Qik – only one device can be associated with an account at one time, so changing to another phone involves deactivating the first. I will say that there was almost no buffering involved when using WiFi, making for a true “live stream” from the phone.

I definitely will be looking for more ways to leverage Qik. One example – I could see using Qik to stream our local Windows Mobile user/developer group meetings. I am constantly asked why we can’t broadcast these events for people who can’t attend. Maybe now we can :-)

Tags: