DevExpress Newsletter 36: Message from the CTO

21 October 2010

This time around, because of the difficulties we had in creating a good video for the last newsletter, I’m publishing a text-only message. We’re hoping to improve the recording process for the next one but we still have to experiment some more to fine-tune it.

Writing apps for mobile devices

All of a sudden it seems the smartphone has grown up. It now has some great benefits, compared to that old Nokia I used to have. Data always on, check. Internet access, check. Fast CPU, check. Touch screen, check. And big too, check. A myriad of different OSes, check.

Er, what? How's that a benefit again?

At first glance, it seems that it isn't. There's iOS4, Android, Blackberry OS6, WP7, WebOS, not to mention Symbian^3, all completely different from one another. Writing a business app to target smartphones would seem to indicate that you've got a big hill to climb: write for one, then the next, then the next, and so on. Not something I'd look forward to.

However, they all have something in common: the use of web technologies. They all have a fairly robust speedy browser (most of them in fact based on the open source WebKit engine) with an efficient JavaScript interpreter. In writing an application that targets mobile devices, we should take advantage of this similarity between them so that our work can apply to the many instead of just the one by one.

The kinds of web technologies I'm talking about are the standard ones of HTML, CSS, and JavaScript. Using some very simple techniques we can discover what device our application is running on (or even if it's on a boring old PC) and use JavaScript with some well-supported open source libraries to optimize the application or website for that particular device. You only have to look at applications like GMail for the mobile device to see what's possible.

It doesn't stop there, of course. There are libraries such as Appcelerator's Titanium that will compile your web application into native code for certain devices. Suddenly you are using technologies you already understand and are familiar with to create native apps.

So, yes, embrace the myriad OSes and devices and just write web apps for their browsers.

Yes, I reckon knowing how to write web apps is the way to go, especially as sales of mobile devices are really starting to threaten the PC stronghold. Gaming aside (for now), the platform/device the apps run on is becoming less and less important. I’m going to continue learning about HTML5, CSS3, and more and more JavaScript.

9 comment(s)

Unfortunately this far too often doesn't work, writing web apps, and you'll probably end up writing it over again.  Why?  Mobile devices do NOT have "always on" capability like we are used to with computers.  Air travel (airplane mode) and locations where there is no service (ehemm AT&T on major highways in VA!!).  If you're writing a data application then 9 times out of 10 you'll need a way to store data on the device.  Customer's are going to seek the vendor that uses local storage vs. web storage I'm afraid, in the land of mobile that is.  Use an offline mode?  Maybe. I created a mobile app and a web service middle tier for data synchronization with participating clients.  Think carefully before you go this route - my $.02.

21 October, 2010
Julien Ferraro

I totally agree with Neal.

When I saw that title : "Writing apps for mobile devices", I immediately thought :

- Yeaaaaah, they will announce component for WP7 Silverlight !!!

Just to be disappointed.

What is that kind of response by Devex ? We don't do components for the platform you're developping on ? No problem, just create a web app.

Dear felllow Devexers, I'm pleased to announce that the long awaited Mac support has finally arrived. Oh, And for the same price, you've also got the Linux version. Just use XAF and create a web solution ....

I own an iPhone, and excuse me, but there is no way I start using an app that makes me do searches in a combo box on a web page ! I want the real stuff ! I want to scroll with my finger without waiting for the complete page to be rendered, I want that amazing date selector and not try to click on that drop down to access an unusable calendar on such a small screen. You get my point.

Julian, sorry to say that, but for the first time I find your newsletter (or any other intervention from you) a little bit disturbing.

Oh wait, are you just doing this to get all those rants (see Neal, I can also complain at times) and say in your next newsletter "Ok guys, that was a joke ... we have WP7 compos in the pipe, just wait a little !"

Just my 0.02 €.

21 October, 2010
Riaan van Dyk

I think the link to Appcelerator's Titanium was worth the read alone. It would be amazing if DevExpress could provide WP7 components though...

Just my R0.02

22 October, 2010
Steve Sharkey

For an up and comming application I am developing I have just come to the same conclusion - whilst I understand peoples comments there are cases where a web app targeting mobile devices is wholly appropriate. Comming from a background of hand held device programming I see that mobile developers are being forced into the games console model of applications distribution where by the supplier puts obstacles in your way to distributing an application then charges you for the privilige of leaping over their obstacles. Web development gets around this.

22 October, 2010
Tor Myklebust

You make it sound so easy to make web pages that look the same and work as intended as long as you have a web browser. Cause there is not a myriad of those around?

Of course, you're addressing smartphone development here, and I somewhat agree, Julian. I think it should be considered an optional software platform in all mobile projects. If it is doable as a web application, and compatibility between the OS'es is very important, money can be saved.

22 October, 2010

We do develop for mobile devices and most common "type" of the aplication is a supporting bar code scanners (in general serial COM port communication) and tabular evidence of ~20 000 items onstock / sold. If DevExp would simply issue a grid supporting .NET COMPACT FRAMEWORK, that would be a MESSAGE for me.

22 October, 2010
Christoph Brändle

As long as Flash and Silverlight plugins dont run on mobile devices (at least on Android, iPhone and WP7), the usage of web-apps is just too limited.

22 October, 2010
Greg Wilson_3

Smartphones are just too small for any signficant interaction.  It's great for quick information but is very frustrating to do anything that takes more than few clicks.

It's also amazing how Javascript has come back to the center of web development.  Many attempted to banish it ten years ago calling it a hacker's language with no place in serious web development.

22 October, 2010
Bryan Dredge

I'm a long term user of Devexpress going back many years, currently a DXExperience Universal subscriber.  I've been frustrated over the years by the lack of support for mobile development across the industry and so have had to embrace a range of suppliers.  Yes Julian it is possible to develop for Windows Mobile, Silverlight for Windows Mobile 7, iOS controls for iPhone / iPad and also Android (shortly) using a common designer in Visual Studio without resorting to using web applications but instead sexy controls and interfaces that sell the device.  Sadly this is available from one of my other component suppliers .. now if Devexpress were to provide the same along the lines of XAF for mobile development ..

31 October, 2010

Please login or register to post comments.