Blogs

This Blog

News

Favorite Posts

Archives

ctodx

Discussions, news and rants from the CTO of DevExpress, Julian M Bucknall

DevExpress Newsletter 19: Message from the CTO

Reprinting my Message from the CTO from the nineteenth newsletter so that you may comment on my thoughts.

On commitment

As I write this, Google have just announced their NexusOne phone, featuring the next version of the Android operating system. Alongside this announcement are news reports about a recent ChangeWave survey that said levels of user interest and satisfaction in Android are now approaching that of the iPhone. Windows Mobile is falling behind ever more rapidly, fourth behind Blackberry. Suppose you're a smartphone application developer: which phone OS do you target?

To bring the question closer to home, since my readers are very likely to be PC or web application developers: which platform should you target? What if the choice you make or have made turns out to be the equivalent of Windows Mobile?

At some point, after you've done your research, you have to commit and implement your plans. And you have to continue with them despite what might be happening in the world outside that might be invalidating your assumptions. If not, your project might turn into Duke Nukem Forever, where the game engine was changed multiple times before the product was abandoned unreleased.

There are, I suppose, two strategies to minimize the risk: isolate the technology you're worried about behind an interface or framework and switch when necessary, or release early and often. The first might not be feasible anyway, and the second at least means you'll get some revenue and valuable feedback on functionality should a change in technology be required. Commit!

In essence, my thoughts here can be summed up to "release early, release often", but I'm surprised how often the same possible hesitancy can occur in other situations. An obvious example is buying a new PC: you know very well that if you wait a month, the PC you want will be cheaper, more action-packed, sleeker, but of course after a month you know in a month's time it will be better still. So you vacillate.

(Aside: to be brutally honest, the only times I've seen the "isolate behind an interface" option being used produced something that looked as if it had been designed by Architecture Astronauts.)

Published Jan 13 2010, 08:24 PM by
Filed under:
Bookmark and Share

Comments

Robert Beaubien

I develop for the Windows Mobile platform.  I also have a Windows Mobile phone.  The reason for this is simple.  It fully supports Microsoft Exchange server.  

IMHO, Windows Mobile has the absolute best platform for software of all the mobile devices.  The main problem is implementation.  Phone manufacturers are expected to customize and update phone software on thier own as opposed to iPhone and more importantly Android which are updated by Apple/Google directly.  Having a single store for each platform has a significant advantage to the hodge podge of stores for WM apps.  Microsoft for its part has promised improvements in these areas for WM7, but even now, Visual Studio 2010 sits without a mobile development environment for even WM6x.  Its really hard for me to get a head start and be ready for the new environment when I can't even test it.

January 13, 2010 11:34 PM

Chris Walsh [DX-Squad]

Robert et all.

I agree windows mobile is the environment to develop on.  

iPhone you've got Objective C

Android you've got Java.

webOS different again

Windows Mobile you've got a choice of C++, VB.NET, C#, Java.

The issue with Windows Mobile is its customisation, all operators have the ability to chop and change items inside the OS, so relying on a single API for something in one phone and its been removed in another is a major pain I'm having at the moment.  

Then you've got the 12 different resolutions you need to cater for, then you also need to cater for non-touchscreen device as Windows Mobile Standard isn't a touch screen, so your app must be tab orientated.

All that aside, WM7 is supposed to support OTA, smaller subset of the WPF framework for canvas support and utilise the new hardware coming out better then WM6 does.

The "rush" to andriod for devs and handset makers is because its "free".  Now how long can Google continue to support giving away free licenses to Andriod before flicking the switch and charging for it.

January 13, 2010 11:54 PM

Jeff Weir

"Now how long can Google continue to support giving away free licenses to Andriod before flicking the switch and charging for it."

an awfully long time would be my answer. and if Google can 'give it away', why can't the mighty Microsoft?

a better question (for this site) is why is it that Borland/CodeGear/Embarcadero  didn't/don't target Windows Mobile?

yes Android is free. and it's as good as Windows Mobile for the average consumer. so why pay Microsoft for a licence?

the 'average consumer' is finally coming around to realizing they don't need Microsoft.

and for the record, the rush to Windows was spurred by developers pumped up by Microsoft tools like VB. Microsoft recognized that courting developers with cheap or free tools would bolster support for Win 3.1 converting a generation+ to the platform.

Do you remember when we all used Kleenex to blow our noses...

January 14, 2010 1:15 AM

Steve Sharkey

I also develop for Windows Mobile (mainly because it has taken over as the OS of choice for barcode scanners). I have to agree with previous comments and would add that the problem here is that Microsoft approached mobiles in the same manner with which the approached PCs but it is a radically different market. One of the advantages of Windows over Macs is the development environment and it is software that sells hardware. BUT mobille phones should have been treated more like their console offering (XBOX360) since they are targeted at the general masses - they need to look cool but also "just work" and ideally start up fast! Too much is left to the user to figure out for him/her-self which is wrong for a consumer product. Shame since it is so nice (relatively) to develop for.

January 14, 2010 2:33 AM

Garry Lowther

Don't forget MonoTouch which is a means of developing in C# for native iPhone apps. You can then re-use all your .Net business logic code - admittedly you will still have to code your GUI to take full advantage of the iPhone OS3, but at least you can code in your favourite language.

Of course the Nirvana for MS developers would be something like a cross compiler which will compile .Net projects so that they could be run natively on a variety of devices i.e. Windows Mobile, iPhone, Android and Blackberry. I'd pay for that.

January 14, 2010 9:21 AM

Robert

Steve, you are right on. The Windows Mobile platform itself is a great platform to develop for. Like you, I too am a Windows Mobile developer. My last project was to integrate an RFID scanner and post the data using WCF to a BizTalk server; it was a fun project.

The only issue with Win Mobile is it's dated UI. Fix that, like Microsoft will do in Win Mobile 7, and I suspect the decline in market share will abate.

As to Julian's question, go ahead and develop for the iPhone ... I won't be a customer for that product.

January 14, 2010 12:06 PM

Chris Walsh [DX-Squad]

Garry,

MonoTouch is a bit expensive for an already flooded App Market in the Apple AppStore.  You'd want to have a good business idea, market it well to actually see any returns on the $1000 investment for MonoTouch.

Jeff,

I still use Kleneex to blow my nose.  I can't comment on the $$ for a WinMo license but I hear its quite small, but never the less I think they should also give it away.

The "average customer" will "always" need Microsoft in some way, the average mum and dads out there don't know or want to understand linux & Mac's.   That's really a niche for the corporations, designers and IT guys.

January 14, 2010 5:48 PM

Peter Thorpe

I would have to agree with most comments windows mobile from a programmer perspective is the best. It's just a pitty it hasn't had a major refresh in a while especially the core UI which you can only hide for so long.

Hopefully the Windows Mobile 7 UI will be something comparable to the Zune HD and us programmers will be able to get making Silverlight and WPF apps that will work on PC and mobile platforms.

Fingers crossed DevExpress controls will fit into the subset of WPF.

January 15, 2010 9:02 AM

Aaron Smith

The problem with the abstraction approach, especially in this area, is that it's hard to abstract the core away so that it's portable enough that you can do that. I can abstract my core away into the compact framework of .Net, but that won't work on Android, webOS, or the iPhone. I could astract away into DLL files, but that still wouldn't work. I could abstract into native c++, but until just recently, that wouldn't work on webOS (I don't even think that would work on the iPhone either). Unless you plan to stick with .Net and have your UI be web, wpf, and silverlight, abstraction is non-trivial.

Some of the latest UI on WinMo 6 has looked really nice with the way they have changed it. arstechnica.com/.../ballmer-windows-mobile-65-phones-are-just-windows-phones.ars

They have a ways to go though, but they can get there. They just need to do it sooner rather than later.

January 15, 2010 7:24 PM

About Julian Bucknall (DevExpress)

Julian is the Chief Technology Officer at Developer Express. You can reach him directly at julianb@devexpress.com. You can also follow him on Twitter with the ID JMBucknall.
LIVE CHAT

Chat is one of the many ways you can contact members of the DevExpress Team.
We are available Monday-Friday between 7:30am and 4:30pm Pacific Time.

If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383

FOLLOW US

DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, along with high-performance HTML JS Mobile Frameworks for developers targeting iOS, Android and Windows Phone. Whether using WPF, Silverlight, ASP.NET, WinForms, HTML5 or Windows 8, DevExpress tools help you build and deliver your best in the shortest time possible.

Copyright © 1998-2014 Developer Express Inc.
All trademarks or registered trademarks are property of their respective owners