views:

273

answers:

3

We currently have a custom inventory system used to track different assets. The items are bar coded and inventoried using a scanner system already built/running on standard web pages. Currently processing inventory on a desktop or laptop with a usb connected scanner.

We bought a Motorola MC 55 PDA that has a built in bar code scanner and runs on windows mobile 6.1

Should I just re-design the UI (html/css) to work on a small screen or are there some real advantages to porting the app to the the compact framework from a navigation or input perspective?

UPDATE:
Another thought, I use jquery and various plugnins in the app, would that cause me headaches with Mobile IE. I tested the app out on the device, things that are normally hidden show up, menu doesn't show up, onselect-dropdown>>submit-form doesn't work (jquery stuff).

RESPONSE TO COMMENT:
As far as converting the current pages to basic html I use jquery to capture the bar code scanner input and tab down to the next text box or if there was only one text box I tab down to the submit button and submit the form. So one caveat would being able to handle the scanner within the html form without using jquery. Maybe I have to program the scanner function to not send an enter key like a hand held does now.

LAST REQUEST:
Based on current advice it seems that I am going to need to develop something on the CF side. I need a recommendation for a good CF book, not a lot of fluff, but not overly complicated, something in the middle. The book shouldn't teach a bunch of useless stuff, but get me up to speed quickly and has good code/examples/patterns for real world apps. Thanks!

A: 

I'd go for the re-design, you'll get it working a lot quicker that a port to CF. If you decide later that the small-screen web view is not good enough, then you can port it.

The CF view is probably better overall, but there's no reason not to start with the easy option.

gbjbaanb
I don't know about this. Stuff like jquery would be tough to get working right, and the plugins are almost certainly impossible to get working at all. And even if you got it all working, it would still be a crappy little web browser app.
MusiGenesis
Yeah, jQuery is miles away from working on IEMobile 6/7. I mean, this is a browser that doesn't have the basic DOM properties like Node.firstChild, or any JavaScript-level event handling! There is functionality missing going back as far as the very first version of JavaScript, in Netscape 2.0! With IEMobile 8 (WinMobile 6.1.4+) you have a chance of making somnething work; for versions before that you need an infinite quantity of patience.
bobince
bear in mind the original question only mentioned html/css. No-one said anything about jquery. We did something similar with a blackberry, needed a quick app working so we ported the html view to it. Its a html app, but it works and it was very quick to get going.
gbjbaanb
Valid point, I could certainly strip off any jquery / javascript stuff and just modify those pages that need to run on the scanner to run within the confines of basic html/css.
Breadtruck
@Breadtruck: does your app basically just scan something and then submit the scanned value to a server? This could indeed be done with just basic HTML, but I think it could be done just as easily with CF, and you'd have more of an upside with the client app (easier to use, more flexible etc.).
MusiGenesis
@MusiGenesis: You are correct, you find an item, pick it, then the page comes up with text box with focus and if you scan the barcode then it captures the scan and submits the page, adding the item to the inventory. The caveat is I would need to configure the scanner to do scan/tab/enter as opposed to the default behaviour of scan/enter. Right now I use jquery to handle that aspect.
Breadtruck
+3  A: 

Should I just re-design the UI (html/css) to work on a small screen

This is more annoying than you might think. What browser are you targeting?

Opera Mobile and IEMobile on WinMobile 6.5 work with a zooming interface designed to work with full web pages; you might not need to reauthor much to make the site work, but having to zoom in to do some data entry and then zoom back out to move to a different part of the page is super-irritating. If there is a way to author webapps so that these browsers present a 1:1 pixel view instead of zooming, I have not found it. (This used to be done in IE with MobileOptimized, but it doesn't work properly at least in the developer builds of WM6.5 I have tried.)

On WinMobile 6.1, IEMobile can be one of two very different browsers:

  • On WinMobile 6.1.0, you get ‘IEMobile 7’, which is based on IE4 and is absolutely bloody terrible in every respect and will crash all the time and supports almost nothing and will make you want to die.

  • On WinMobile 6.1.4 you get ‘IEMobile 8’, which is much less bad. It is also marketed as ‘Internet Explorer Mobile 6’ or ‘6on6’, because Microsoft just loves throwing utterly confusing version numbers at you.

Naturally, the all-important ‘6.1.what?’ minor version number is quite well-hidden.

‘IEMobile 8’ on WM6.1.4 is internally the same browser as on WM6.5, but with a different non-zooming UI that makes it behave very differently. Of course there is no way to sniff the difference between these two browsers, because that might help clear up the version number confusion.

In order to get your pages to fit the screen width on Windows Mobile devices in portrait mode:

  • In Windows Mobile 5, you have to design your pages to 240 pixels wide.

  • In Windows Mobile 6.0, you have to design your pages to either 240 pixels wide (by default) or 480 pixels wide (if the high res mode option is turned on, which most people do)

  • In Windows Mobile 6.1.0, you have to design your pages to 480 pixels wide

  • In Windows Mobile 6.1.4, you can either use liquid layout, or make your pages 480 pixels wide (for the default scale)

  • In Windows Mobile 6.5, the browser will always assume your page is 1024ish pixels wide and zoom it.

In summary, Microsoft hate you and want you to use Compact Framework instead.

bobince
Is there an easy upgrade to Windows Mobile 6.1.4 / 6.5, will I be paying or am I going to have compatibilty issues with my specific device?
Breadtruck
Thanks, that is alot of info that you provided. My Settings >> About : Windows Mobile 6.1 Classic CE OS 5.2.20758 (Build 20758.1.4.1) browser sniffing shows : Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11)
Breadtruck
OK, you are using 6.1.0 or similar version/AKU with the old IE4-based browser. Developing anything at all for this browser is exquisitely painful: a large subset of very common basic DOM and CSS functionality is not supported at all and even simple HTML can crash it. As for upgrades, you are at the mercy of your network provider. Maybe they'll let you update the OS, maybe they won't. And because IE is built into the OS, there's no running a different browser version without an upgrade. With Windows Mobile, Microsoft are rapidly running out of feet to shoot themselves in.
bobince
Breadtruck
You're typically at the mercy of the network provider rather than the hardware (handset) provider directly — which is another step away from the source of the software and just makes it even less likely that they'll bother to upgrade you.In principle you can download the ROMs for a future version of Windows Mobile and burn it manually; there is a limited selection of OS version/AKU ROMs that Microsoft make available for free for emulator users to test on, and maybe by taking one of those and adding any handware-specific drivers to them, you could make them work on your device. Maybe.
bobince
(As I'm working with corporates, none have had the will to try, and really I can't blame them.)
bobince
@bobince - Sounds like I am screwed unless Motorola releases an update for it. I am really not using it for phone purposes, its an internal thing, primarly for scanning. It did come out recently, but I ain't holding my breath that they will update it.
Breadtruck
+3  A: 

bobince is wrong about Microsoft hating you. Hate takes effort; they are merely indifferent to your suffering.

I would port the application to the .Net compact framework instead of trying to get an IE version working in Windows Mobile. Browser apps for mobile devices tend to be walking disasters even under the best of circumstances, and bobince's answer has an excellent summary of why Windows Mobile isn't the best of circumstances.

By contrast, .Net CF is (IMHO) by far the most powerful, versatile and stable of the mobile device platforms. I also think it's the easiest, with a not-very-daunting learning curve, but that may be because I've worked with it for years. There are some gotchas, of course, but there are enough CF experts on SO to help you through any teething problems you may experience.

MusiGenesis
@whomever-downvoted-this: I know it was you, Bill Gates.
MusiGenesis
Microsoft can neither confirm nor deny that Bill Gates spends his days trolling internet forums for people badmouthing the 'soft. (Steve Ballmer, on the other hand, definitely does.)
bobince
@Steve Ballmer: I disavow anything bobince says about anything. Please don't hurt me.
MusiGenesis
@bobince: Globbits! "the 'soft"... suddenly "the 'hoff" sprang to mind. I think there's quite a few similarities between the two.
gbjbaanb