why mobile phones?
have you checked your web server logs for cell phone activity lately?
Have you thought of catering to cell phone users and wondered how you can do this?
I only have a little knowledge on the subject (I have no books), but what I have learned from logs and tutorials on WAP I will share.
parsing web logs
you should use unix-style tools (grep, gzip, bzip2) for this if you have them.
- go into the web server control panel and set the web server to save your web logs monthly on the server and not to delete them if you have lots of space.
- wait for the logs to trickle in after a month or two.
- download the raw web logs from your web server's control panel, or ftp them (faster) into a separate directory, maybe called logs?. Try to ignore the FTP logs!
- try using
gzip -d *.gz,bzip2 -d *.bz2or your favorite unzip utility to unzip those raw web logs. the .gz or .bz2 extension should be gone now. grep " /wap/? " *or regexp search for/wap/?should give you all the entries with /wap/ and /wap (the ? makes the previous character / optional), and the space before and after the /wap/? are important. you may get different phones to study and still a lot of googlebot. also trygrep " /xhtml/? " *or regular expression search for/xhtml/?- what you are searching for is the HTTP GET command string that tells the server to get a page, and specifically what directory is being accessed. also try/imode/?if you are in Japan and using C-HTML.
ALTERNATIVE TO GREP: If you don't have UNIX tools like grep, get a programmer's editor that has regexp/regular expression search capabilities that can handle large files, such as The Semware Editor (TSE32) $$, or Eclipse (free, multi-module, and all-encompassing development CASE tool), or Notepad++ (free) also works (don't know about large files) and is free and it is also simpler (windows only). I highly recommend buying TSE. I use it practically every day, and the licensing allows it to used on 1 machine at a time (keep installation on a cd? very handy for computer repair work!).
Dreamweaver's regexp capabilities are broken (I tested it and reported the bugs) and won't be fixed for several major revisions - think CS7 (approximately). Why? because nobody "complains about it" to the Adobe Developers. Beings it's driven by JavaScript, it's not the most efficient language on the planet for processing 62MB logs (and that's for a hardly known site). meaning, it's really slow on a dual-core 2.8GHz machine and it's not multithreaded according to the number of cores/processors!
the order phones request directories in:
cell phones currently look in the following directories for web site index pages.
and in these orders.
"GET /robots.txt HTTP/1.0" 200 773 "-" "Nokia6680/1.0 ((4.04.07) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1 (for mobile crawler) )"
"GET / HTTP/1.0" 200 8698 "-" "Nokia6680/1.0 ((4.04.07) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1 (for mobile crawler) )"
"GET /m/ HTTP/1.0" 404 - "-" "Nokia6680/1.0 ((4.04.07) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1 (for mobile crawler) )"
"GET /mobi/ HTTP/1.0" 404 - "-" "Nokia6680/1.0 ((4.04.07) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1 (for mobile crawler) )"
"GET /mobile/ HTTP/1.0" 404 - "-" "Nokia6680/1.0 ((4.04.07) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1 (for mobile crawler) )"
"GET /wap/ HTTP/1.0" 404 - "-" "Nokia6680/1.0 ((4.04.07) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1 (for mobile crawler) )"
"GET /imode/ HTTP/1.0" 404 - "-" "Nokia6680/1.0 ((4.04.07) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1 (for mobile crawler) )"
"GET /xhtml/ HTTP/1.0" 404 - "-" "Nokia6680/1.0 ((4.04.07) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1 (for mobile crawler) )"
Also, take a look at the logs for this phone.
"GET /robots.txt HTTP/1.0" 200 773 "-" "Nokia6682/2.0 (3.01.1) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 configuration/CLDC-1.1 UP.Link/6.3.0.0.0 (compatible;YahooSeeker/M1A1-R2D2; http://help.yahoo.com/help/us/ysearch/crawling/crawling-01.html)"
"GET /mob/ HTTP/1.0" 404 - "-" "Nokia6682/2.0 (3.01.1) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 configuration/CLDC-1.1 UP.Link/6.3.0.0.0 (compatible;YahooSeeker/M1A1-R2D2; http://help.yahoo.com/help/us/ysearch/crawling/crawling-01.html)"
"GET /wap/ HTTP/1.0" 200 1946 "-" "Nokia6682/2.0 (3.01.1) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 configuration/CLDC-1.1 UP.Link/6.3.0.0.0 (compatible;YahooSeeker/M1A1-R2D2; http://help.yahoo.com/help/us/ysearch/crawling/crawling-01.html)"
"GET /wml/ HTTP/1.0" 404 - "-" "Nokia6682/2.0 (3.01.1) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 configuration/CLDC-1.1 UP.Link/6.3.0.0.0 (compatible;YahooSeeker/M1A1-R2D2; http://help.yahoo.com/help/us/ysearch/crawling/crawling-01.html)"
"GET /xhtml/ HTTP/1.0" 404 - "-" "Nokia6682/2.0 (3.01.1) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 configuration/CLDC-1.1 UP.Link/6.3.0.0.0 (compatible;YahooSeeker/M1A1-R2D2; http://help.yahoo.com/help/us/ysearch/crawling/crawling-01.html)"
"GET /mobile/ HTTP/1.0" 404 - "-" "Nokia6682/2.0 (3.01.1) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 configuration/CLDC-1.1 UP.Link/6.3.0.0.0 (compatible;YahooSeeker/M1A1-R2D2; http://help.yahoo.com/help/us/ysearch/crawling/crawling-01.html)"
or this phone:
"GET /wap/ HTTP/1.1" 200 1651 "-" "Nokia2760/2.0 (03.62) Profile/MIDP-2.1 Configuration/CLDC-1.1 UP.Link/6.5.0.0.06.5.0.0.06.5.0.0.0"
iPhone 4.2.1
"GET / HTTP/1.1" 200 23672 "-" "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148a Safari/6533.18.5"
"GET /favicon.ico HTTP/1.1" 200 9326 "-" "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148a Safari/6533.18.5"
"GET /fun/4x4-magic-square-solver.html HTTP/1.1" 200 109522 "http://www.google.com/" "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5"
or this Japanese phone:
"GET /wap HTTP/1.1" 301 430 "-" "DoCoMo/1.0/N505i/c20/TB/W20H10 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)"
"GET /wap/ HTTP/1.1" 200 1651 "-" "DoCoMo/1.0/N505i/c20/TB/W20H10 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)"
or googlebot (the search engine web crawler). - I think it's googlebot.
"GET /wap HTTP/1.1" 301 329 "-" "Nokia6820/2.0 (4.83) Profile/MIDP-1.0 Configuration/CLDC-1.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)"
"GET /wap/ HTTP/1.1" 200 1946 "-" "Nokia6820/2.0 (4.83) Profile/MIDP-1.0 Configuration/CLDC-1.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)"
however, some phones only look in /wap/ and same with googlebot (googlebot seems to only look in /wap/ from what I have seen in the logs). see the following log entry.
"GET /wap/ HTTP/1.1" 200 1651 "-" "Nokia6820/2.0 (4.83) Profile/MIDP-1.0 Configuration/CLDC-1.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)"
"GET /wap HTTP/1.1" 301 430 "-" "DoCoMo/1.0/N505i/c20/TB/W20H10 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)"
"GET /wap/ HTTP/1.1" 200 1651 "-" "DoCoMo/1.0/N505i/c20/TB/W20H10 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)"
Notice that you are going to get different results with different phones. but all in all, they all will work if you put your pages in the /wap/ directory.
how to read a log entry
"GET /wap HTTP/1.1" is an HTTP 1.1 protocol request [as opposed to HTTP 1.0] (this does not mean HTML 1.1!) to retrieve the page /wap which really results in the web server responding by taking the empty directory request and serving up index.wml or index.php (I am not sure which order).
The number after that is the HTTP status (response) code. see wikipedia article on HTTP Status Codes. the next number is the size in bytes I think. the long complicated string in quotes is the phone model+OS version(s) and browser type in perens.
format of pages
format can be XHTML (color) on a few phones, OR WML (b&w WAP XML) always. If it is in WML and you want to use images, images must be in wbmp 1-bit b&w format (Stucki and other forms of dithering can only help you here if you are trying to achieve grayscale). Please note that images should probably fit on the screen and should probably be small. modern browsers may not have this problem, however.
SCREEN SIZE: consider a browser screen to be a minimum of about 25x9 characters I think. I have an old Nokia 6010 which has an even smaller browser I am sure (10x4?).
tutorials for building web pages
here are the W3 schools tutorials on WML and XHTML and HTML. you *might* be allowed to use CSS with XHTML. in this case, here is the tutorial on CSS. some cautions on xhtml here. If you were in Japan, your cell phone would be using imode and you could use C-HTML. HTML is also used. I get this information from this page, which is a cell phone web browser emulator.
sitemaps
mobile [phone] sitemaps for web sites for google search engine submission