Tuesday, February 20, 2007

Standards are great...

My team has been involved in creating web pages and applications following W3C standards since a long time. These pages render almost the same in all standards compliant browsers save for a few which require additional hacks. Amazingly, when I tried to access the same pages from the mobile phone browser (the built-in xHTML browser as well as Opera Mini), the pages rendered well, albeit in a degraded manner. So my information was all intact and only thing I lost was the columnar layout and some design elements.
(Opera 9.1 Desktop Browser)

(Opera Mini 3.0 Mobile Browser)

Bottom-line: Make your pages standards-compliant and they will be device friendly automatically. You do not need to put in additional effort to make these pages accessible across devices.

More on this will follow...

Friday, February 09, 2007

Gmail Mobile is great and Opera Mini rocks...

I posted this blog from my Gmail mobile. It's a small J2ME software that you install in your data enabled phone and you have a gmail desktop clone in your cellphone. It has almost all the functions that are available in the full web version is as fast too. Try it at www.gmail.com/app. The best part is that it works with all J2ME MIDP 2.0 cellphones with a data plan. I'm using a Sony Ericsson W810i.

If you want GTalk too then try Talkonaut (www.talkonaut.com). It has the same interface as GTalk Desktop client and is free. You only pay for the data transfer to your service provider.

For browsing, nothing matches Opera Mini. This is the best browser for Java enabled cellphones and opens all the sites - including the SSL sites.

Formatted HTML E-mails Are Notorious

When it comes to HTML E-mails, we have the problem of many. There are so many different tools for reading email that it becomes virtually impossible to cater to all. There are desktop software such as Pegasus, Outlook, AOL, Thunderbird, and Lotus Notes, to web-based email services such as Yahoo!, Hotmail, and GMail. To make matters worse, a sizeable amount of the population these days access their mails using mobile devices like the Blackberry. Each of these email software tools can display the same email in vastly different ways. Also mail clients are light-years away as compared to browsers when it comes to rendering HTML.

The Problems

Different mail clients interpret HTML e-mails differently

Some do not support CSS while some strip off images and tables. So there is a chance that the recipient does not see what the sender intends.

HTML Emails are heavy

HTML e-mails are always at least twice the size of plain text mails since they are embedded with markup tags and formatting.

Annoying and expensive for mobile users

Today, many users access their mails on their mobile devices (Blackberry and Smartphones) and they pay for every KB of data downloaded. HTML mails with images and markup hurt these users. Also, most mobile mail clients cannot handle HTML tables, images, formatting and javascripts.

Web-based emails break HTML emails

Many web-based email services (including the popular Google Mail) deletes the CSS styles between any Style tags and embedded images are delivered as attachments. Some render the mail with the HTML tags making the content unreadable.

HTML e-mails can connect to the internet by itself

If an HTML e-mail includes references to online images then (by default) Dial-Up Networking will try to connect to the internet to download those images. These images can also be used to set and retrieve cookies. This can be annoying for the recipient

HTML e-mail is dangerous

Since HTML can include scripts, HTML email is obviously more of a security risk than plain text, and the most recent viruses have made full use of this flaw.


The Solution

The thumb-rule is to send plain vanilla text e-mails. If, at all, it is necessary to send HTML e-mails, then the technique described below will make it more accessible and safe.

  • Do not use images, CSS and Javascripts
  • Do not use tables and multi-column layouts
  • Use H1, H2, h4, P tags to differentiate between the content levels
  • Give a link in the e-mail to the full version hosted in the server so that the user can visit is if he so desires

Example 1 : Text E-mail

Example 2 : HTML E-mail