Skip to Content

Tag Archives: mobile

Mobile First Strategy

Programming for the web has changed over the last so many years. In the past web design started with the desktop and ended with the desktop. But, then as time went by things began to change and tablets and mobile devices started to get a foothold in the market. People started browsing these devices more than they would on a traditional desktop computer. That means that web programmers and designers have to shift to designing for the user, to adapt to their needs and wants.

For example in the past when starting CSS you would build columns starting at say 970px and from their scale down to mobile sizes, not anymore. The best practice that should be done now is the opposite. Start with a mobile design then scale up to larger screens. Doing it this way makes sure that you web page looks the best at the very beginning on mobile, since that is where the market is heading. It also lets you focus on content, making sure it’s relevant and on point.

Mobile first was first coined by Luke Wroblewski in 2011, you can check out his book called Mobile First and his website here.

For years, most Web teams have designed products and information for the desktop/laptop PC. For these teams, mobile (if it even happened) was a barebones port of the desktop version. Sadly, this approach actually made sense for a while. Browsing the Web on mobile phones was painful; carriers controlled access to the Web on their devices; and mobile network speeds often made everything grind to a halt. So few people used the Web on mobiles and those that did were frequently faced with an unpleasant experience.

But things have changed so dramatically over the past few years that starting with the desktop may be an increasingly backwards way of thinking about a Web product. Designing for mobile first not only prepares you for the explosive growth and opportunities in this space, it forces you to focus and enables you to innovate.

Web Apps VS. Native Apps

Before developing a mobile project you should consider whether you will be developing a Native App or a Web App. There are several reasons why you would choose one over the other. Let’s break down the pros and cons of each:

 

 

Native Apps

  • Native App development the number of apps develop depend on the number of platforms targeted
  • Native Apps have full access to hardware APIs
  • Native Apps have a performance advantage because of access to Hardware API
  • Native Apps may not have to access a remote server, Web Apps may need to connect to function, or are slower

Web Apps

  • Web Apps can run cross platform with minimal changes, if any needed at all
  • Web Apps may have limited access, or to utilize features you might have to use a JavaScript engine
  • Web Apps lag behind in performance but that may not be an issue if what your creating doesn’t require it
  • Web Apps don’t necessarily have to be published to the platform store, can be access via URL

Another approach could be to use a Hybrid app that takes the best from both worlds. Of course this all depends on the app you are developing, perhaps the performance trade off is worth the savings from the extra development that would be needed to develop for multiple platforms.