views:

87

answers:

2

Hello. My client would like a business application to support 'every possible device'. The application in question is essentially a web application and 'every possible device', I believe encompasses mobile phones, netbooks, ipad, other browser supporting devices, etc. The application is somewhat complex w.r.t. the data it captures and other functions it performs (reporting).

If I continue to honor increasing complexity in the application, I guess there are more chances of it not working on other devices. I'd like to know how web applications support multiple devices conventionally? Are there multiple versions of presentation layer (like many times I find m.website.com dedicated for mobile devices)? Further, if my application is to take advantage of Java Script, RIA (Flash, SilverLight) then what are the consequences and workarounds?

Mine is a .Net based application and the stack also contains Ext JS Java Script library. While I would like to use it for sure, considering that I would be doing a lot of work in Java Script rather than HTML, this could be a problem.

The answer to the above could be descriptive. If there is something already prescribed out there, please share the link(s). Thanks.

+1  A: 

You are using the MVC paradigm right? if so you just create a view for mobile devices, ipads etc. If you don't have your business logic cleanly separated from presentation, you will have a much harder bug-ridden time.

If you plan on supporting mobile devices fully. don't rely on "fancy" ajax heavy javascript as your primary UI methodology. Your PC view can have some of this for convenience, but most mobile phones are going to choke.

It will be eaiser all around if you make the site simple, and degradable. I.E. your site should still work if javascript is turned off, and they are using LYNX to view it. This will also decrease the amount of device specific code you have to write.

Byron Whitlock
Byron, firstly I am not using MVC ... but I guess that shouldn't be a big problem as I am using usercontrols as my views. I am certainly designing with clean separation. What I gather from your answer is that I have to have multiple views for multiple devices. Is there a broad category of devices so that I know how many views I need to support. I ask this because mine is a product and I cannot forsee or dictate the devices that will be supported.
Kabeer
I have a site that need sto support all sorts of mobile devices. So i have 2 versions. The first is standard with all the javascript goodness, and another optiomized for small screens with minimal js and mostley text. The biggest thing you come accross will be the screen size, then the processing power, then browser features. It is probably easiest to create a very very simple version and a PC standard version. You can use a device detection script to aid you: http://wurfl.sourceforge.net/
Byron Whitlock
Thanks Byron ... this helps building a case.
Kabeer
+1  A: 

Kabeer.

When a client says "every possible device", that's a great opportunity to push back and define what "every" device means. I would suggest something like the following hierarchy for him to pick from:

1) Level 1: Last 3 years of devices with default or major alternative browsers

OS/Browser: Vista/Win7: IE 7 & 8, Firefox 3.0+
Mac OSX: Safari
Vista/Win7: Chrome

Smartphones:
iPhone/Mobile safari (all)
Android: Chrome (all)
RIM Blackberry (last 3 years) series

Tablet: iPad

2) Level 2: Last 5 years of devices + 2nd order browsers

Add Windows XP/IE6
Add Windows + Opera
Add Palm Pre/Treos etc.
Add Firefox 2.0
Add iPod Touches (easy enough)
Add Nokia Symbian - default browser

3) "Every possible device"

iPod Touches
Add feature phones with WAP browsers for mobile (good luck with that!)

Michael Mullany