Ethan Goes to WordCamp

Written by | November 11, 2014 | Posted in Coding

This was my first time visiting WordCamp Raleigh, and man oh man, was it a great time. Over the course of a Saturday, I learned a ton of helpful information, met a lot of very cool people and hung out with some old friends.

WordCamp splits its talks into three different “tracks” – Beginner, Power User, and Developer. Fancying myself something of a web developer, I was extremely chuffed to attend the talks in the third track.

Angular

First up was developer, Will Haley covering Angular, a front-end JavaScript framework currently maintained by Google. Angular makes it really easy to quickly launch a web application that depends on asynchronous calls to JSON APIs. In more accessible terms, this allows clients (web browsers) to make calls to retrieve the data needed to assemble a page, rather than depending on the server to determine what data to, well…serve. (They’re called servers for a reason, after all.) This allows the data to be loaded as needed, rather than waiting on server resources to deliver large HTML files. You know how in Tom Sawyer, when he’s painting the fences, he convinces other people to do the work for him? Assembling a page client-side instead of server-side is a lot like that, but for the Modern Age.

Angular is dynamic, flexible and just about every other adjective you could use to positively describe a web technology.

One of the points that Will made that I really appreciated is that he believes that within the next few years, JavaScript (and to that end, JSON APIs) will “rule the world.” I loved that he said this, because A, if you’re using JavaScript to do one thing it makes sense to use it to do everything, and B, JavaScript is one of my favorite languages ever, up there with Dothraki.

Biggest takeaway on Angular: Angular works really well to simplify applications that rely on multiple AJAX calls working together. His major point was the idea of looking at AJAX calls as “promises.” That’s to say, if your application depends on multiple AJAX calls, you need these to be “fulfilled” for the application to work. It sounds fuzzy and sentimental, but it’s actually a great way of thinking about it. Angular makes it simple to defer running functions until after these calls are completed. At some point in their fledgling careers, every front-end developer runs into some script that won’t work because some resources hasn’t been loaded when it needs to be, and the solutions can get really hacky really quickly. Angular fixes that.

This has a ton of obvious applications for WordPress sites, which are traditionally assembled server-side. The developers here at Cuberis all love JSON APIs, and we’ve actually been experimenting with Angular recently to make faster, more dynamic sites that don’t tie up as many server-side resources. Will’s talk was super valuable for all of us.

Usability

After lunch, (which at a conference held in Raleigh, North Carolina, naturally consisted of barbecue, slaw and fried chicken) I sat in on one of the Beginner level talks by Melissa Eggleston, a multimedia communication specialist, who spoke on using usability principles to drive site design. The talk was nothing I’d never heard before, but it was all super valuable stuff for beginners (And also it’s stuff that’s really great to be reminded of once in awhile, no matter how good at your job you think you are.)

Melissa’s talk focused on the way that users interact with websites, and things that lead users to get frustrated with sites and leave. Too often, websites are built with the “best-case” user in mind–that’s to say, a user who knows what he or she is doing. Melissa compared users to someone trapped in a fire: they’re not going to necessarily make the optimal decision, they’re going to make the first decision that seems like it will get them to where they want to go. As it applies to the web…if the “correct” way to navigate a site isn’t glaringly obvious, it’s not obvious enough. Melissa gave several tangible examples–using descriptive text for links, using consistent branding, and utilizing hierarchy.

(I also appreciated that one of the examples of poor site design Melissa used was my own alma mater, UNC. I’ve thought this for years. Come on Tar Heels, get it together.)

Biggest takeaway on usability: Put things where users expect to find them. It’s something so simple that it’s easy to forget, and it’s something that applies to older sites and newer sites.

Gulp.js

After Melissa’s talk came a presentation by Cuberis’ very own, Jordan Cauley. His talk was on Gulp.js, a Node resource that makes it really easy (and stupidly fast….Like, blink-and-you-miss-it fast) to automate simple tasks from the command line. Tasks like compiling, minifying, concatenating files–which are an essential part of any serious web developer’s workflow–can be handled by typing a few characters into Terminal. It’s essentially the same thing as Grunt.js, which has existed for a few years, but it’s much faster. Cheetah with a jet engine duct-taped to its back, fast.

One of the demonstrations Jordan ran was compiling Bootstrap’s LESS files. With Gulp.js, this took him an astonishing 7.45 milliseconds. I think some audience members were in disbelief. If you’ve seen the season 1 finale of Silicon Valley, you know how the audience reacts when Richard compresses the 3D vldeo and achieves an off-the-charts Weissman score? It was kind of like that. (This is an exceptionally fitting analogy when you look at the following picture:)

Jordan’s talk ran about half an hour short, which is understandable since twenty minutes is realistically enough time for anybody to cover everything about Gulp.js. To fill out his time, Jordan fielded questions from the audience about processes and tools for teams. At Cuberis our process can mostly be summarized as thus: let individual developers use tools that they’re most comfortable with and use that as an opportunity to learn from one another.

The complete video of Jordan’s talk will be posted sometime next week, and I don’t want to give anything else away. Watch it. In the office, we’ve been referring to this portion of the talk as the “Jordan Cauley Standup Comedy Hour.”

Google Analytics and A/B Testing

Next up was RC Lations, a WordPress Project Manager. RC’s talk focused on using Google’s Universal Analytics to run A/B testing. A/B testing is a fairly straightforward concept: you deliver one version of a page to some users, and a second version to other users. You can then track the respective success of these two pages using a variety of measures, which could be click-through conversions, sales, time spent on page, or anything really. (Google gives you a ton of tools.)

RC gave a ton of really great examples of how A/B testing has driven site design. The most tangible was on a donations page set up by the Clinton-Bush Haiti Fund. The original site design was mostly text-based, so the organization added a picture to the top of the page to make it more visual. Using A/B testing, they noticed this actually caused donations to drop (presumably because the form itself was pushed below-the-fold). After moving the donation form to the side of the page, they saw an increase of over $1 million. That’s kind of a big deal.

Biggest takeaway: Sites should be designed with an end goal in mind–in his words, “where you want to go determines how you get there, not vice-versa.” A/B testing essentially provides you with better directions for that. I’d urge business owners to invest in running A/B tests, because it’s a great way to figure out how to increase your conversions (and also because I want an excuse to run A/B tests, they look hella fun).

Roots

Finally, Julien Melissas, a developer out of Asheville (and a good friend of the Cuberis team) gave a talk on Roots, a WordPress starter theme that comes pre-packed with all the Bower and Grunt dependencies you need to get started on a project really, really quickly.

Roots makes it really easy to develop semantic and modern WordPress sites. It’s all a bit esoteric for a recap here, but suffice it to say Roots is something we here at Cuberis have been excited about for a long time.  We’ve actually just begun our first project built on Roots, and it’s been a joy to develop on. We can’t wait to show off what cool things we build with it. Visit Julien’s site for a full recap.

WordCamp was a really great time, and I’m glad I went. I met a ton of a great people, and it’s always nice feeling like a part of a larger community–I had no idea there was such a thriving WordPress community here in good ol’ North Cackalacky. I can’t wait for the next WordCamp.

Also, hey look. It’s our old lead dev, Alisa!