To serve your mobile users, your Rails application needs to manage the following:
Detecting when a user accesses the site using an iPhone or an iPod touch.
Allowing the user to freely switch between the mobile and regular versions of the site.
Using a different layout for Mobile Safari users, including separate Cascading Style Sheets (CSS) files and, possibly, JavaScript libraries.
Serving different content to mobile users.
Helvetica is the font of choice for iPhone system links. The font size is a little smaller than recommended for body text, but this isn't supposed to be body text. The other items will center the link in the viewport. The result looks like Figure 5
The screen size of the iPhone (320x480) is much smaller than even the smallest target application for a desktop Web application. The iPhone screen also has a significantly different aspect ratio from a typical desktop or laptop monitor.
The pixel density of an iPhone is much greater than a desktop monitor, allowing small text to be read somewhat more easily and somewhat changing the relative size of images.
Users can rotate the Mobile Safari view 90 degrees, changing the size and, more importantly, the aspect ratio of the screen.
The touch-screen interface to Mobile Safari is less precise than a mouse interface, meaning that targets like buttons and links should be larger and farther apart than would be necessary in a desktop application.
An iPhone is often used under slow network conditions. However, users have a strong expectation that the responses to their actions will be nearly instant.
There are two primary options for giving your Web application an iPhone look and feel:
Add your own CSS and JavaScript to your site based on Apple's sample code or other good-looking sites.
Use a pre-existing toolkit.
That said, Apple's human-interface guidelines for iPhone call out the list format as an "especially effective way" of organizing iPhone content, so you should probably consider list organization if you can.