Monday, October 19, 2009

Thursday, October 08, 2009

Friday, October 02, 2009

DevEvening: MvcContrib & Developing for Windows7



As Alex Mackey has now moved to Australia, I've taken over the running of DevEvening.  Our next event is on October 22nd and, to celebrate my new responsibilities, I'll be talking about developing for Windows 7.  Also on the night Jeremy Skinner will be talking about MVCContrib.

If this is something that interests you whay not come down.

More information and to register to attend at http://devevening12.eventbrite.com/.

Thursday, October 01, 2009

11 approaches to mobilising your website

Here are some approaches to creating a mobile version of a website. Plus some notes on each approach.


1. Display different pages for different devices.
- Can be problematic when needing to make changes and/or when the number of devices you are supporting increases.

2. Display the same page(s) with different contents when viewed on a mobile device.
- Can be awkward to manage different versions of content. Especially if that means having different size versions of lots of images.

3. Have the same page(s)/view(s) for mobile but use different master pages.
- Obviously only an ASP.NET solution.

4. Use the same page(s), but with different CSS.
- Normally doesn't allow adequate ability to support the difference in context which should usually be applied to a mobile version.

5. Force redirection to different (sub)domain with mobile specific pages.
- Essentially requires maintaining multiple sites and can dilute brand and make SEO harder.

6. Do nothing - and fail
- The site may just not work at all on the mobile browser.

7. Do nothing - and have a poor quality site
- Some things may work but others not. This will very likely lead to frustrated visitors.

8. Rely on network transcoders or transcoding browsers
- Good luck with that. Do you really want to pass up control of what actually gets displayed to the people visiting your site?

9. Don't display anything to mobile users.
- You may have a reason for this but it's probably a bad idea to automatically exclude more than half the people in the world with access to the web.

10. Build a site which works on all platforms
- Beware attempting to implement this ideal and ending up only serving the lowest common denominator

11. Use automatic mobilising tools (instant mobiliser, mobify.me, etc.)
- Could be a good, quick and easy way to get a good mobile version of a site. Possibly as a temporary measure until mobile visitors require and justify something more.


What do I do/use?
A combination of some of the above. Varying on the requirements of a specific project.

11 Mobile web gotchas

Another list I had lying around which better serves the world by being somewhere viewable.

In no particular order:
1. URL lengths
Keep em short:
- because people may have to type them in
- because some devices/browser have issues with long ones (256 char limit in some cases)
2. Image sizes
Should be appropriate to the size of the screen on the device. - Don't include something which won't fit on the screen.
Keep the file sizes small too.

3. Javascript
There are varying levels of support with mobile browsers and some interactions won't work (e.g. there's no mouseOver - as there's no mouse.)
4. Select don't type input
Entering text on a mobile can be difficult. Don't make users have to enter anything they really don't have to. That means (as a general rule) select (from a list, or radio button, or ...), don't type whenever possible.

5. Not all devices support all image formats
You're pretty much safe with PNGs except on older devices.  Be aware if you want to use something else else, e.g. JPGs.

6. Header rewriting
Beware of trying to display a page's content based on headers whihc may have been changed by some proxies or operators.

7. Scroll vertically, not horizontally
It's easy to get lost on a page when you scroll in both directions.  Use vertical scrolling only as no one

8. Varying CSS support
Beware anything other than basic styles on older devices.
Be aware of massive variations in levels of support across older devices.

9. Can't get identical output on ALL devices
You may spend a fortune trying.  Aim for a consistent look and feel instead.
10. Keep page sizes small
General rule: Total page sizes should be < 20KB
Keep all asset (images, CSS, JS file) sizes as small as possible too.

11. Validation is important!
Really helps with trying to ensure cross device support
- http://ready.mobi/launch.jsp?locale=en_EN
- http://validator.w3.org/mobile/