We had another great GRWebDev meeting last Monday. The topic was CSS3 and about 55 people attended. Topher covered some basic new CSS3 features. John Hwang of Mutually Human Software introduced us to easier CSS organization and generation via SASS and Scout App. Kyle Adams talked about his experiences with switching to CSS3 at Sourceforge. They were all great presentations full of useful, time saving advice, but this post is late enough already, so I’m just going to focus here on the other talk.
Janson Hartliep of ElevatorUp and DownstreamApp presented the idea of mobile first as a way of developing a web site. Usually you would make a nice web site that works very well in the best browsers (Firefox, Chrome, Opera, and Safari), and then you hack in shims to make the site break less in older (IE6 and IE7) or standards-impaired (IE9) browsers. If you have the time, you finally get around to making a site work well on tiny smartphones and mobile browsers.
Janson suggests that you do it the other way around – make your site work well on mobile devices, then work your way up through the old and standards-impaired browsers, and end at the top of the line modern browsers. His argument is that mobile devices are being used more frequently for surfing the web, so you should not neglect them. Sadly, old browsers are still in heavy use, and standards-impaired browsers are arguably the most popular, so you certainly can’t ignore them. So you start by making a web site that works everywhere, but may not look the best on big screens. Then you add progressively better styles as time permits. If you do it right, your mobile web site will work fine in the desktop browsers, it will just look kind of small.
This makes a lot of sense to me. I have family whose only web browser at home is an Android phone, and I use mine for web browsing whenever I’m not sitting at a desk. If a web site doesn’t work on your mobile browser, there’s not much you can do about it. I also believe that the mobile web is the future, which is one reason why I’m running the May 23 GRWebDev meeting, which will be dedicating to just this topic.
One thing that regularly slows down my web development is making sure the site works nearly-perfectly before I release it. I like how this mobile-first method gives you a decent-looking and fully-functional site right up front. You can put the site up immediately, and then tweak it as time and funds permit.
I think I’m going to give this process a go on my giant Django project at work and on several side projects that are currently stalled because I think they’re not perfect enough. With any luck I’ll have live sites quicker and can then give then better prioritize which ones to pay attention to based on how popular they become. I’ll let you know how it goes.
P. S. Janson provided the slidedeck from his presentation and also a few useful links for more information about mobile-first development.