At Red Pill Development, Peter Presnell has encouraged our development efforts to use a "Mobile First" approach. The process is that you design your mobile interface first, get everything working properly and then move on from there to Tablet and then Web Browser interfaces re-using as much as possible from the previously working mobile implementation. This approach has several advantages:
- It forces you to research, gather requirements and only display and write code for the things you actually NEED
- The flow of the application will be defined by the mobile interface
- It shapes the direction of the entire project
- It forces you into thinking differently
- Makes the next interface implementations easier
At first I fought this approach as it was easier for me to come up with a browser based solution quickly. But as we're progressing down this road, I'm finding that by doing Mobile First all of the hard stuff is already done by the time you get to the next implementation. You don't have to figure out where data is coming from, how it's being represented and how to handle the little issues that always seem to pop up. They've already been addressed in the Mobile site so they're usually already taken care of.
Another advantage of the Mobile First approach is that it buys time to experiment with different techniques and technologies. I say this because of how quickly a mobile interface can come together using the mobile components in the extension library. Are there shortcomings with these components? Sure there are, but they perform very well. These components can be extended and improved by taking advantage of the properties, methods and events from their original dojox widgets.
Now I know you're thinking… what about responsive design? Well, you're right to ask about that. Responsive design certainly has it's place and is very powerful and easy to implement. However if you start off with this approach you'll find yourself putting things in that you don't really NEED. You'll be designing for the browser and not the mobile device. Plus, it's certainly argumentative as to if it works well on a mobile device. Sure there are some sites that got it right, but there are some that don't. The counter argument would be that if you're intent on doing a responsive design that you start off designing for mobile first. This forces you to only include things on the screen that are needed.
While I know I've argued with myself here some, I hope I've made a point or at least put an idea in your head to at least try it on one project and see where it leads you. I bet you'll be pleased with the outcome.