Whiz-Bang

One summer during college I worked with my dad in the maintenance department of an auto parts factory.  One of the old-timers in the department was a guy my dad called “Whizbang.”  It was a moniker that was equal parts admiration and ribbing, because no matter what the challenge, Whizbang knew the answer and strode in to fix the problem.  And sometimes the failures were spectacular and hilarious. Keeping things running- metal stamping machines, lathes, cutters, and the like- wasn’t a science so much as an art.  Some of the machines pre-dated me, but still had the manuals tucked into cabinets on the side.  The guys from the maintenance department rarely used the manuals though.  They preferred experience and the habits won from working it out on the fly.  It also turned out that the manuals were routinely wrong.  Users didn’t use the machines as the manual implied, the controls shown weren’t the same as those on the actual machine, wiring diagrams were outmoded, previous repairs had change the configuration…  It certainly wasn’t “by the book,” but in the auto parts got made and the team of maintenance workers all knew how to keep things running because underneath it all, the fundamentals of every machine were the same. In the factory it was clear why we called it “Production.”  The most important thing was to produce- to maintain up-time, to operate safely and legally, to get rid of as many bottle-necks and breakdowns as possible.  It was important that your coworkers could support your work.  It was not important that fixes were perfect, or even very pretty. Now I’m a...

Not Your Father’s JavaScript

Last week I sat down to a meal with some friends and the topic turned to what I do for a living.  And because I love Node.js, Angular.js, Socket.io, and a whole bunch more, I talked about how JavaScript has really taken center stage in web development.  Yeah, I’m that guy at parties- I talk about code. One of the friends at the table is a CEO, who is also incredibly technically astute. After rising to EVP at a major tech company, he left and launched several successful start-ups.  He’s also been around the block enough to know where JavaScript came from, so when he commented that, “It’s completely unstructured,” I really got to thinking.  Lack of  structure carries a cost- money, time, frustration, performance.  And his statement is true, but only if you write unstructured JavaScript code. The sad part is that most JavaScript written in the last 20 years is unstructured, and that is a terrible legacy to inherit.  But it’s not the only legacy.  JavaScript has some really good parts, is capable of wonderful syntax and functionality, and runs on every computer out there.  That is a legacy worth investing in.  And it’s one that a lot of the modern front-end frameworks invest in by providing structure and tools to streamline development. Modern web apps are shifting the weight of handling user interaction back onto the browser.  User interfaces are more sophisticated, interactions more mature, and user expectations are high.  The code that powers that stuff? JavaScript.  But it’s more than that: powerful business logic is being implemented in the browser too.  The server no longer renders full pages...

More Than Meets the Eye

It’s the time of year to make predictions about web development trends in 2015.  It’s also the time of year to reflect on how wrong we were in last year’s predictions, or in some cases, how the “prediction” was actually just declaring what’s already happening.  If you follow the train of  predictions down the track, you have already heard about Flat Design, Retina/High-Res Screens, and Parallax.  What you may not be paying attention to though is something called Augmented Reality. From Wikipedia: Augmented reality (AR) is a live direct or indirect view of a physical, real-world environment whose elements are augmented (or supplemented) by computer-generated sensory input such as sound, video, graphics or GPS data. In short, your mobile device can add to your experience.  Think about moving through a museum and virtually interacting with the collection in ways the physical world won’t allow.  Think of travelling with an infinitely-informed tour guide, ready to show you secret drives or the path to a great diner.  It’s what your phone already does, but integrated into your daily experience. There are already some apps that provide augmented reality, but we’re going to see more and more context-aware web applications as well.  Mobile browsers support location services, access to the camera, even support for motion detection- everything that a native app has access to.  That means mobile websites will soon wade into the waters of augmented reality. A couple reasons I believe that web apps will eventually be better than their native brethren are 1) there are a lot of web designers and programmers all over the globe who have a vested interest in building great...