10-01-2004, 08:00 PM
|
Executive Editor
Join Date: Aug 2006
Posts: 29,160
|
|
Developers: Time to Update Your Applications
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:
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?
|
|
|
|
|
10-01-2004, 08:20 PM
|
Ponderer
Join Date: Oct 2007
Posts: 88
|
|
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.
|
|
|
|
|
10-01-2004, 08:30 PM
|
Intellectual
Join Date: Sep 2003
Posts: 187
|
|
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
|
|
|
|
|
10-01-2004, 08:31 PM
|
Executive Editor
Join Date: Aug 2006
Posts: 29,160
|
|
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. :?
|
|
|
|
|
10-01-2004, 08:40 PM
|
Contributing Editor
Join Date: Mar 2004
Posts: 123
|
|
To add to DinarSoft's point -
There is an MSDN article that describes this in more detail Developing Screen Orientation-Aware Applications. 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.
__________________
Don SorcinelliMicrosoft MVP, Windows Mobile DevicesEditor-In-Chief, BostonPocketPC.com
|
|
|
|
|
10-01-2004, 09:03 PM
|
Intellectual
Join Date: Mar 2002
Posts: 138
|
|
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....
__________________
A Bird in the Hand...
|
|
|
|
|
10-01-2004, 09:44 PM
|
Theorist
Join Date: Sep 2003
Posts: 307
|
|
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.
|
|
|
|
|
10-01-2004, 10:45 PM
|
|
10-02-2004, 03:14 AM
|
Thinker
Join Date: Aug 2006
Posts: 486
|
|
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.
|
|
|
|
|
10-02-2004, 07:03 AM
|
Theorist
Join Date: Sep 2003
Posts: 307
|
|
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 :-)
|
|
|
|
|
|
|
|