Log in

View Full Version : Developers: Time to Update Your Applications


Jason Dunn
10-01-2004, 08:00 PM
I was installing two new games yesterday onto a Dell Axim X30, which is running Windows Mobile 2003 SE, and both games gave me this warning after installation:<br /><br /><img src="http://www.pocketpcthoughts.com/images/web/2003/old-app.gif" /><br /><br />2003 SE has been out for almost half a year now, and devices based on this OS have been shipping for nearly as long. So why aren't developers updating their applications to be 2003 SE aware? If you're a developer, what are the roadblocks you have in terms of updating your applications?

cteel2004
10-01-2004, 08:20 PM
The biggest problem (from a development standpoint) is accounting for the new screen orientation feature. The software has to be able to do two things:
1. Detect screen orientation changes
2. Change the user interface layout to account for the new orientation

I develop utilities and office related apps. Changing the location of various dialog box controls is not really a big deal for me. But I would be willing to bet that game developers have a much more complex job if its game with alot of advanced graphics.

DinarSoft
10-01-2004, 08:30 PM
It's not just that,
The PocketPC screen is very small, so developers already spend a lot of time designing the user interface to use every bit of the screen (at least we do). Now with another orientation you'll need to go through the whole cycle of designing a new layout (if you want your app. to be a “REAL” 2003SE aware app.
So unless the application can really benefit from the landscape mode (like a browser or a document viewer), there is no point updating the app to make it SE aware.
Take Solitaire as an example, do you really like playing it in the Landscape mode ?
How about FileExplorer? …etc

However, the message Jason posted has nothing to do with the application being SE aware or not.
There is a field in the installer that specifies the minimum and the maximum operating system version supported.
Getting rid of this message will be just by increasing the maximum version number field to include WM2003SE

Jason Dunn
10-01-2004, 08:31 PM
Interesting - thanks for the comment. I wasn't aware that the application would need to support all the display modes...I thought it just woulnd't work in that display mode, or give the user a message saying that it won't work in landscape mode, etc. Although I suppose that if the developer wants to put Windows Mobile 2003 SE compatible on their compatibility list, they'll need to support landscape. :?

Don Sorcinelli
10-01-2004, 08:40 PM
To add to DinarSoft's point -

There is an MSDN article that describes this in more detail Developing Screen Orientation-Aware Applications (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwm2k3/html/screen_orientation_awareness.asp). The section on "Installation Warning Messages" in the article covers the details.

From a developer perspective, some of the changes can be quite trivial, while others can be rather complex. Usually it boils down to screen layout and usability. In certain cases, dynamic repositioning of form content is in order. In essense, the developer may be responsible for several "flavors" of a single form now. Multiply that by the number of forms within an application, and... 8O

As cteel2004 pointed out, it's the graphics-intensive folks that likely have the greatest amount of work.

Birdiestyle
10-01-2004, 09:03 PM
Thanks Don,
I just couldnt find where that was covered in the documentation. Ill rebuild my install to dump that message in the new SE compatible version of Ulti-Planner(v2.0).

Yes, its tons more work than you think. Im working on changing "The Dog Ate It" next, which contains graphics and forms as well... Its a headache.. Some things just don't fit once you go to landscape.... And a lot of times there isnt any benefit to it, and supposedly we shouldnt have too.... :)

Kevin Daly
10-01-2004, 09:44 PM
I'm finding that adding orientation-awareness is affecting my desing decisions in unexpected ways: I've developed a fondness for menu entries as opposed to tab items for instance.

Inventor
10-01-2004, 10:45 PM
Has anyone here tried the eVB runtimes supplied from Microsoft?

http://msdn.microsoft.com/mobility/windowsmobile/downloads/evb.aspx

Do they install on the new devices?

alex_kac
10-02-2004, 03:14 AM
It took all of 5 seconds to get rid of the install message for PI.

About 4 days to make it work 90% correctly in High DPI mode and 2-3 weeks total to get it fully High DPI aware (a good portion of that was because font metrics are different at higher resolutions so some of our assumptions about what size fonts can fit in a specific space was wrong) with an additional week for the high DPI icons.

About another week for 3/4 of our screens/dialogs for Landscape and a month for the other 1/4th.

And that's just to get it working so that it supports all those modes pretty well. But even with that, a few things were missed (mostly a line here or there that just was overlooked) and optimizing for High DPI and Landscape in a few other areas is a continuous process and something we're still working on and will continue working on over the next year as we work more with those modes and see what works well and what doesn't.

I'd say that I was lucky in that I also had MS engineers helping us the first week 8 hours a day full time so we could learn the insides and outs of this.

But really - most apps like games that have no need to work in Landscape mode or High DPI mode just need to use one function call to turn landscape off at start, turn it back to where it was on quit and turn that install message off. I think a popular game developer took about 4 hours to do it all for his games.

Kevin Daly
10-02-2004, 07:03 AM
Until Wednesday (when I took delivery of my new hx4700) I had been relying on the emulator images for my orientation tests. The problem with that is that since the pre-Whidbey versions are locked into a particular orientation, you can't test what happens when you change from portrait to landscape or vice versa.
So naturally it turned out that my blogging app had serious issues when I changed orientation, even though I was dutifully trapping the Resize event and rearranging controls accordingly: the forms were being rendered partially (hard to describe exactly what was happening). So anyway after spending much of the morning trying everything I could think of, eventually the penny dropped and I changed WindowState from Normal to Maximised, and that worked like a charm.
So I hope that little snippet of information saves someone some trouble (at least Compact Framework developers, I can't comment on the native tools).
That and remembering to add "BuildMax=0xE0000000" to the [CEDevice] section of your .inf file before building your cabs (so users don't get that annoying message when they install).

All of us who've been trying to write orientation-aware applications know what a pain in the neck that is (especially allowing for the loss of vertical space when you move to landscape), so think of this: orientation-awareness + internationalisation (since you have to allow for the fact that the text strings for different languages will be of different lengths). Such fun to be had by all :-)

Bajan Cherry
10-02-2004, 07:41 AM
Has anyone here tried the eVB runtimes supplied from Microsoft?

http://msdn.microsoft.com/mobility/windowsmobile/downloads/evb.aspx

Do they install on the new devices?

Hey Mr. Kollura, How have you been. Not seen you lately on microsoft.public.pocketpc. So what else is new in your lab?

Robert Levy
10-02-2004, 09:09 AM
Has anyone here tried the eVB runtimes supplied from Microsoft?

http://msdn.microsoft.com/mobility/windowsmobile/downloads/evb.aspx

Do they install on the new devices?

Yes, eVB works on Second Edition. However, it is unsupported and you can expect eVB to *not* work in the next release of Windows Mobile.

Robert Levy
10-02-2004, 09:13 AM
Until Wednesday (when I took delivery of my new hx4700) I had been relying on the emulator images for my orientation tests. The problem with that is that since the pre-Whidbey versions are locked into a particular orientation, you can't test what happens when you change from portrait to landscape or vice versa.

Hmm... guess we burried it too deeply. You can go into the Screen control panel to rotate the screen or use the Buttons control panel to map the rotate funcation to a button. By default, the emulators have Rotate mapped to F2.

ctitanic
10-02-2004, 01:30 PM
But really - most apps like games that have no need to work in Landscape mode or High DPI mode just need to use one function call to turn landscape off at start, turn it back to where it was on quit and turn that install message off. I think a popular game developer took about 4 hours to do it all for his games.

That's what I have done in Tweaks2K2. I just don't allow users to switch to Landscape whilc they are in Tweaks2K2.

But a solution to real vga is more complex.

Kevin Daly
10-02-2004, 08:58 PM
Until Wednesday (when I took delivery of my new hx4700) I had been relying on the emulator images for my orientation tests. The problem with that is that since the pre-Whidbey versions are locked into a particular orientation, you can't test what happens when you change from portrait to landscape or vice versa.

Hmm... guess we burried it too deeply. You can go into the Screen control panel to rotate the screen or use the Buttons control panel to map the rotate funcation to a button. By default, the emulators have Rotate mapped to F2.
(Don't worry Jason I'm not going to nest quotes any further than this).
Um, the following smiley says it all:
:oops:

Jason Dunn
10-02-2004, 11:27 PM
Browser errors discussion moved here:

http://www.pocketpcthoughts.com/forums/viewtopic.php?t=32878

Please comment there - thanks!