Zach’s ugly mug (his face) Zach Leatherman

A Sliver of What I Learned at JSConf 2013

June 14, 2013

I was lucky enough to snag a ticket to JSConf this year. As a reasonably self aware person, I know that I don’t multitask very well and decided not to use my laptop during the sessions. Instead, I decided to take notes.

Without further adieu, here is a brain dump of things I found interesting from JSConf 2013.

The Evolution of Language

Andrew Dupont gave a very interesting talk on the evolution of (non-programming) languages as it pertains to JavaScript. He made the point that words that express new concepts and new ideas are adopted much faster and easier than language that is a replacement (or arguably an improvement) for existing patterns. The subtext here was about classes in JavaScript but it reminded me of Responsive Images.

There are (less than ideal) mechanisms (some less ideal than others) for working with Responsive Images today which probably plays a role in why we haven’t gotten any traction from Browser Vendors on the issue.

The UI of Privacy and WebRTC

Laptops typically have a visual indicator to show the user that the webcam is currently active. Mobile devices do not have this feature. Why? (via @rem’s talk on WebRTC).

This seems related to the problem in desktop web browsers of determining which of hundreds of tabs is playing audio. Google has attempted to solve this problem on Chrome. But what about finding the tab that is currently broadcasting your webcam? Seems like it should be given some visual indicator in the browser.

Software is Literacy

Carter Rabasa made the claim that software is as important as literacy (of course, I agree). Surprisingly, we have fewer people graduating with undergraduate degrees in Computer Science than we did ten years ago. Carter argued that the lack of good tooling and confusing unfriendly APIs cause frustration. Beginner Frustration is devastating to our field.

If we can get young people excited about what they can build with only a few lines of code, it will change everything. Carter, as a technical evangelist for Twilio, showed how to send or receive an SMS in your application with just a few lines of JavaScript.

var twilio = require('twilio')(accountSid, authToken);
twilio.sendSms({
  to:   "+15555551212",
  from: "+15555551313",
  body: "Hello world"
});

Looking back on JSConf, I had a ton of fun playing around with the NodeCopters—and I’m a hardened, somewhat apathetic adult. Just imagine hosting NodeCopter events at schools for 7th or 8th graders. Kids would go mental writing code that controls a quadcopter.

A More Natural User Interface

Ben Farrell, dressed in full Richard Simmons-esque workout gear gave a highly entertaining presentation semi-successfully navigating through his slides using nothing but gestures. Imagine binding to a JavaScript event that triggers when your skeleton moves. His node.js package nuimotion exposes this to you (requires additional software/hardware).

var nuimotion = require("nuimotion");

nuimotion.addListener( [
  nuimotion.Events.USER_IS_OUT_OF_SCENE,
  nuimotion.Events.USER_IS_VISIBLE ],
  onEvent );

nuimotion.addGesture( [
  nuimotion.Events.Gestures.Swipe.types.left,
  nuimotion.Events.Gestures.Swipe.types.right ],
  onEvent);

In this same vein (but at a lower level), NodeCopter introduced me to the OpenCV library. If you’re interested in doing face detection or interpreting the contours of an image, there is an npm package for that.

cv.readImage("./examples/test.jpg", function(err, im){
  im.detectObject(cv.FACE_CASCADE, {}, function(err, faces){
    /* faces contains an array of the faces from the picture */
  });
})

Ben taught me that there is a continuous option on Chrome’s speech recognition API? This will allow the API to run continuously without stopping, even after the user has finished talking.

Interactive Journalism

Go check out the New York Times interactive piece entitled Snow Fall. Did you know that the author of this work, John Branch, won a pulitzer prize for this story? Ray Daly’s talk on JavaScript Journalism outlined the way journalism is evolving. Snow Fall was to journalism what The Wilderness Downtown was to music videos.

Other Excellent Presentations

Jed Schmidt on Mass Hysteria, Clients & Servers Living Together: Jed put on a clinic about how to mix perfect comedic timing with good information. The winner of “Most Approachable Speaker JSConf 2013.”

Steven Wittens on Making WebGL Dance: I had the pleasure of sitting and chatting with Steven before I knew that he was a presenter or even realized that he was THE acko.net guy (woops!). His slide deck was so beautiful that I heard audible gasps during Steven’s presentation. You’ll definitely want to revisit this video when it comes out. The winner of “If every teacher I’ve ever had was as good as this I’d be a genius JSConf 2013.”


< Newer
A Nodecopter Informercial (at HOW Conf)
Older >
You Should Follow Fewer People on Twitter

Zach Leatherman IndieWeb Avatar for https://zachleat.com/is a builder for the web at IndieWeb Avatar for https://cloudcannon.com/CloudCannon. He is the creator and maintainer of IndieWeb Avatar for https://www.11ty.devEleventy (11ty), an award-winning open source site generator. At one point he became entirely too fixated on web fonts. He has given 79 talks in nine different countries at events like Beyond Tellerrand, Smashing Conference, Jamstack Conf, CSSConf, and The White House. Formerly part of Netlify, Filament Group, NEJS CONF, and NebraskaJS. Learn more about Zach »

Shamelessly plug your related post

These are webmentions via the IndieWeb and webmention.io.

Sharing on social media?

This is what will show up when you share this post on Social Media:

How did you do this? I automated my Open Graph images. (Peer behind the curtain at the test page)