In late October, a co-worker, Matt Mager, and I flew out to the City by the Bay, San Francisco, to attend HTML5DevConf. While I have been to other conferences before, most of the ones I’ve attended have been put on by the jQuery Foundation or associated groups. I was excited to step outside the jQuery world and see what pearls of wisdom I could pick up from a front-end specific conference in one of the tech capitals of the world.
San Francisco was a cool city to explore in the evenings, despite a wrong turn or two. We even managed to do the tourist thing and saw the Golden Gate Bridge. But we ultimately went for the conference and the information we could learn there, and since the conference I’ve been mulling over what things have been sticking with me. What can I put to use immediately, and what things, even if I can’t use them now, will I be endeavoring to put to use at the first opportunity? While I learned a lot of interesting things at the conference, I was finally able to narrow it down to a handful of items to take action on.
1) Automate All The Things!
One of the underlying themes in a number of different talks was automation. Whether the discussion was about deployment, continuous integration, or just about basic CSS, there was a heavy focus on using tools to automate the tasks computers are good at. So I plan to automate my development as much as possible–take the repetitive, boring tasks and script them, so that I can focus on the important (and fun) stuff. I immediately put this into practice with an Android app I was developing at the time, creating a build script that auto-published the production APK and deployed it to the download server for QA to access. There were a number of talks that discussed using Grunt to automate the build process, which is another tool I’ll try to apply in the very near term.
2) Use a Pre-processor
The Digital Essentials, Part 3
Developing a robust digital strategy is both a challenge and an opportunity. Part 3 of the Digital Essentials guide series explores five of the essential technology-driven experiences customers expect, which you may be missing or not fully utilizing.
While not on as grand of a scale as “automate all the things”, it was extremely clear that using a pre-processor like SASS or LESS will greatly enhance my development practices. The ability to slice and dice CSS files into small modular pieces that get included as needed makes a lot of sense, and keeps things organized for later use–not to even mention the normal wins with pre-processors, like variables and methods. There was a really great talk by Jina Bolton (@jina) about using Sass for refactoring your CSS, as well as how she and her team use a Living Style Guide to help guide their modular development efforts.
3) Don’t Blindly Believe What You Read or Hear
“Learn to understand the rules and then use the tools those rules make available to us.” In this specific case, he was referring to type coercion using ==, but it applies to a broader scope. That is, while learning by reading books, watching videos, and even going to conferences are all great, don’t just “learn the rules.” Rather, understand the reasons behind the rules, and how applying the rules (or breaking them) can better write the code .
4) Pick the Best Tool for the Job
As front-end developers, we have a vast abundance of tools and frameworks to assist us in delivering the end product to our customers. It is important to know the pros/cons of each tool, so that you can choose the appropriate one for each job. Jen Kramer gave a nice comparison talk featuring Bootstrap and Foundation, 2 of the top CSS Frameworks available today. Each one is great for a specific type of application, and if you don’t know which should be used with what, you could end up creating more work for yourself than you need to. Same thing applies to Single Page App frameworks like Angular, Bootstrap, and Ember–each one presents both good and bad features, and knowing those pros and cons allows us to make informed decisions about what to use, and what to steer clear of.
5) The Web is Moving Forward. Are You?
This was the question I was constantly asking after the conference. I saw lots of cool new demos, but I kept wondering, “Are they practical? Can I use them in my code today?” While keeping things like browser support in mind is definitely important, it’s also vitally important that we are moving forward as the web moves forward. Christos Giorgiopoulis from Intel talked about how HTML5 has gone from over-hyped to disillusionment, and is just now plateauing into the phase where it can be used to create some pretty amazing things. We can choose to be a part of that, or we can blindly dismiss new techniques or technologies as just a passing fad. For me, I choose to continue moving forward, embracing the new technologies (sometimes a little too soon for my own good). Rather than holding back on doing something, we need to take the time to find the right ways to do things better, in order to keep moving the web forward. (image courtesy of movethewebforward.org).
It wasn’t all great, there were a few talks that definitely seemed to be more corporate sponsored. I should mention that it was probably due to that corporate sponsorship that the conference was so affordable to attend. Also, there was a distinct lack of planning on what were obviously some of the more popular talks of the day, leaving the large room almost empty while some of the smaller rooms were overflowing or turning people away.
That said, those were very minor quibbles in what was overall a very enjoyable conference. Despite a wrong turn or two, San Francisco was a nice and welcoming city to spend a couple days getting a boost of energy for my passion of web development.