DevOps engineer Matthew Ahrenstein is a mobile phone enthusiast. He takes a look at a different type of challenge developing for mobile: the devices.
Josh’s recent post on responsive design, as well as Pat’s previous post, both hinted at performance issues on mobile. The obvious ones are clear: many people still do not have very high internet speeds when it comes to their devices. This is changing, but we’re not there yet, even though more than half of the active cell phones in America are smartphones.
Yet even when on Wi-Fi or 4G LTE, these phones load pages slower than a computer would. There are a number of reasons why.
- Lower powered chipsets. The 802.11n chip in your mobile device may meet the baseline 802.11n standard requirements, but it is going to be a lower powered chip to preserve battery life. After all you don’t want your shiny new iPhone 5 or Samsung Galaxy S III to have a 2-hour battery, do you?
- Mobile processors. Instead of a drool-worthy processor designed for desktops and laptops, such as the Intel i5/i7 line, you get a mobile processor, such as the Apple A6 or Qualcomm Snapdragon. The chipsets are optimized for mobile devices, eking out gains where they can, but there’s limitations. The device you are using can only process information coming and going from your Internet connection as fast as its processor can allow.
- Slower memory. You also have to consider RAM. Comparing 1GB of RAM for a PC and 1GB RAM for a phone, the PC memory wins hands down. RAM in phones is also lower power due to battery constraints and other factors. And remember, most computers today come with a lot more of it (they tried 1GB computers in the form of early netbooks, and they were a failure, and that memory outperformed what’s in a phone today).
- Design compromises. Decisions during the phone development process inevitably leads to compromises. For example, on the iPhone, Apple gives graphics (bouncing icons, scrolling, etc…) a higher processing priority than anything else (including network traffic). This keeps the iPhone UI as smooth as it is. Graphics take more processing power, so it makes sense, but that means accessing Facebook will be slower as a result.
Due to these factors, a web developer must be very careful with how they design a website. Making too many requests, or displaying too much data intensive content (such as large images) can slow a website down considerably for a cell phone visitor. And Flash is being outmoded on mobile in general, so those large files should be avoided for mobile at all costs.
Optimizing your website is very important in all cases, but mobile sites herald back to the art, not science, of early website building. Knowing your devices, and the limitations they bring, will allow you to serve your customers better by not only offering a mobile-friendly site, but also one that factors in the limitations of phones so loading can be quick and painless.
How do you optimize your mobile websites? Share your performance tips and tricks in the comments.