Then work your way down the list of topics on the left. It is very in depth and easy to follow. Just one thing to note when doing it, if you add acitivities to your package, you must manually insert them into the manifest.xml file. Application Fundamentals - Android Developers
My current feeling is that it's better—in general—to work with one site that all devices can use in some way, but that may not suit all sites.
Have a look at this challenging slideshow before you decide how to go about designing for mobile. It's a bit controversial, and maybe a bit experimental, but it's great food for thought: Rethinking the Mobile Web by Yiibu - slideshare
I use online tools to validate my sites and it has built in emulators: mobiReady
See the links at the bottom of this page... Firefox Mobile System Requirements - Mozilla
Unfortunately, Firefox Mobile is available on so few devices, it's hardly worth testing. Hopefully, that'll change.
(1) Emulators are rubbish, don't use them. Buy or borrow a real device. I bought a Windows Mobile 6.1 from eBay for £20, an Andorid for £100 and a Blackberry 4.6 for £100 (and all are excellent quality devices in good condition - I even use the Android as my own phone now).
Key point: you must buy all devices with Wi-Fi, don't bother connecting with 3G for testing as too much hassle / swopping sim cards etc.
(2) iPad testing: buy an iPod Touch series 1 (Wi-Fi) off eBay, can't be very expensive. I find if it works on this then it'll work on all the other Apple devices after it (iPhone 1-4 / iPad etc). That said, I actually do test on a real iPad though.
Maybe you can borrow an iPod Touch or iPhone from somebody? Most people I know have one.
(3) here are emulators for Bolt and Opera Mobile to add to your list: Demo - Bolt Browser Opera Mobile emulator - Opera Developer Network
Microsoft have a Windows Phone 7 emulator available for developers - I think this might be the one: Windows Phone Developer Tools RTW - Microsoft Download Center
The emulator should have everything Windows Phone 7 has by default, including Internet Explorer.
You probably want to use the real blackberry emulators from RIMM Smartphone Simulators - BlackBerry
the linked demo is just an app that fakes mobile browsers. They come with a manual that should let help you using it.
"If you're using a plug-in to embed audio or video in a webpage, you can use the HTML5 <audio> and <video> tags to deliver audio and video content in Safari on iPad and iPhone. These tags work seamlessly with HTTP Live Streaming, and it is easy to structure your HTML to fall back to plug-in content in browsers that don't support these elements. For more information on using HTML5 <audio> and <video> tags, see the Safari Guide to HTML5 Audio and Video, and the HTMLMediaElement, HTMLVideoElement, and HTMLAudioElement class references in the Safari DOM Extensions Reference." Preparing Your Web Content for iPad - Safari Reference Library HTML Video Example - Safari Reference Library
ideally we'd be able to create cross platform apps that are essentially web apps, but from what I've seen so far with regards to client demand for mobile development, the vast majority of them are looking for presence within an app store and an icon on the phone desktop (and 'add favourite->add to home' isn't sufficient for them) even when the app spec is just a glorified web view.
I've been loath to expend substantial effort on learning obj-c for what is essentially only one output, particularly in light of Apple's fairly obtuse and unpredictable shifting of goalposts. Because cross platform mobile frameworks or IDE's generally reuse existing web skills or at least make the effort more worthwhile in other areas, these make a lot more sense to me. Recent sales growth for android phones is extremely high, so to be able to output for it using the same codebase is definitely worthwhile in my view.
Some other frameworks/IDEs other than phonegap that are worth checking out (mostly commercial) are appcelerator titanium, rhomobile, openplug elips, unity3d and ansca corona. App Inventor - Google Labs
I do not really think fragmentation is much of an issue
The only thing to really contend with is screen size. As iPhone also has some degree of fragmentation, as appz are not backwards compatiable or even forwards compatable in some cases. But yes, iOS is easier to manage, as android devices also might have some extra hardware in, which is not in all devices Android fragmentation: something to fear? - ars technica
I'm wading through adding mobile friendliness for the first time. As I've done a tone of research I've found conflicting information, and sometimes helpful tips. So I'm putting some observations here in case it might help someone else. Please comment/correct...
The sites I'm working on are all WordPress sites.
WordPress requires XHTML.
1. doctype fun The mobiReady emulator gets rave reviews, however it tells me to use xhtml-mp and evidently does not read WP's lang declaration correctly (says it isn't UTF-8 when it is )
but on these forums (which I assume is more correct) it's stated the xhtml-mp is not helpful:
(June 26, 2010) - "The initial intent of the mobile profile was to produce a reduced version of a website for those devices (as the upgrade from WML) however it's totally obsolete now (and few mobile devices support it) as all mobile browsers support HTML completely. "
"Some sites use just a standard XHTML DOCTYPE. That works fine for most browsers, but in the case of mobile browsers such as the iPhone’s Mobile Safari, the browser will display the site as a standard web page. That is, if you’re use a regular XHTML DOCTYPE on a mobile site, the iPhone looks at the page not as a targeted mobile page but simply as just a regular web page."
2. mobiReady apparently does not pick up on the mobile style sheet, and then complains about display declarations which are actually display:none. It also says I have big images which aren't there in the mobile version.
From this forum: #8 post http://www.sitepoint.com/forums/deve...rs-688399.html
All Windows Mobiles and iPhones accept this:
<meta http-equiv="Content-Type" content="application/vnd.wap.xhtml+xml; charset=UTF-8" /> Answer: It's not about the extension you use, it's about the code and the MIME type which describes the file format type. You can use whatever you like, just be sure that the content-type meta tag accurately describes the format you are using. Just beware that if you're using proper XHTML rather than HTML (such as application/xhtml+xml) then you will encounter some serious issues of browser compatibility with Internet Explorer Mobile as like Trident (desktop), it isn't compatible. "