The Mobile Web

About me

I wrote my first line of code in 1999 when I was 14, and it was in HTML. Then, I moved on to CSS and JavaScript just like that. After that, I ventured into SSI and PHP, including databases. In 2003, I started my studies at USP, and I have been swimming in deeper waters ever since – Java, C, and Python. I grew a lot with backend programming.

Nevertheless, I have always been in love with front-end.

With the revival of the Web via HTML5 in recent years, I returned to my passion. I breathe front-end all day. I read a lot, study a lot, write a lot, and program a lot, as long as it involves mostly HTML, CSS, and JavaScript.

For some time now, I have also decided to focus on mobile. I wrote my first mobile site nearly a decade ago using WML for WAP networks (if you are young, you may need Wikipedia to understand the previous sentence). Imagine my excitement that arose later when we entered this new era of smartphones and what they mean for the Web. I strongly believe the Web’s uniqueness lies in its offering a democratic and universal platform.

I have already worked at some companies, programming in various languages (I even made some money with opensource). Since 2004, I have worked at Caelum as an instructor and developer. That is where my career took off and where I learned the most and continue to learn every day. It is also where I intend to spend many, many years to come.

Teaching and writing have been my passions since high school. I remember the disappointment of my Portuguese teacher when she discovered that I had chosen a career in the exact sciences. Yet teaching, writing articles, blogging, and lecturing are my ways of blending these skills.

This book is the high point of this whole trajectory. I hope it is as fun for you to read as it was for me to write. Thank you for believing in it and buying it.

You can also find me writing out there on the Web, mostly in Portuguese:

If we meet someday at any event, be sure to call me so that we can have a nice chat.

— Sérgio Lopes, 2014



  • 1 - The Mobile Web
    • 2 - The paths of a mobile strategy
      • 3 - App or Web? Comparison of possibilities
        • 4 - HTML 5 is different from HTML 5: the packaged apps situation
          • 5 - Responsive design for a unique Web
            • 6 - Mobile-first
              • 7 - Market, browsers, support, and tests
                • 8 - Flexibility on the Web with fluid layouts
                  • 9 - Media queries: the best companions of a fluid layout
                    • 10 - Everything you want to know about viewport
                      • 11 - The saga of three pixels and the high resolution and retina screens
                        • 12 - Do not remove the zoom from your users
                          • 13 - Always use media queries based on the content of your page
                            • 14 - Mobile media queries first or Desktop first?
                              • 15 - The media queries for different resolutions and retina
                                • 16 - Media queries also help with accessibility
                                  • 17 - Progressive enhancement and feature detection
                                    • 18 - RESS - Responsive design with components on the server side
                                      • 19 - The complicated scenario of responsive images
                                        • 20 - Adaptive design and conditional loading
                                          • 21 - Web gestures
                                            • 22 - Implementing gestures with JavaScript
                                              • 23 - UX challenges in touch interfaces
                                                • 24 - Using the new HTML 5 semantic input types
                                                  • 25 - Revisiting the old form components
                                                    • 26 - Usability of mobile forms