Enhance the user experience with the thoughtful use of sound.
It’s definitely a fun toy to play with, but most of us probably couldn’t think of how this might be relevant to our jobs. When I presented 8-bit game music with the Web Audio API at last year’s Fluent Conference, I readily admitted that it was intended to be purely fun rather than practical.
Recently I explored the idea of adding audio to web apps, but I think the big problem isn’t that web developers were unsure how to add audio to their app, but that they don’t think they should add audio to web apps. In this article, I’d like to make the case that you should be considering audio when designing your web application user interface.
Khan Academy explores how far learners can get at different ages.
I picked up a brief guide to programming in 6th grade. There, on page 1, was A = A + 1. I knew that wasn’t possible, so I put it down, and came back to programming in 7th grade.
Khan Academy is having better luck with young students, but learning to program is kind of like learning to drive: the prerequisites aren’t obvious, but they’re helpful and often come later. At Fluent 2014, Pamela Fox explored the data Khan Academy has collected on learner age, and what it might mean for curricula going forward.
In her keynote, Fox explored:
- Developing a sense of how kids respond to fairly easy challenges with Khan Academy’s participant data. (3:24)
- What in the first programming challenge might keep people from succeeding? (4:37)
- How different is the data for a logic challenge? At what age does completion level off? (6:16)
Acknowledging the source of the Web's strength
I asked Jen Simmons, host of the Web Ahead podcast, to keynote Fluent after seeing her give a talk on responsive layouts at the ARTIFACT conference last year. It wasn’t just a great talk on responsive layout, but an exploration of the Web foundations that make responsive layout possible. Responsive layout’s foundations are deep in HTML, which contained those multi-device values from the beginning.
At Fluent, Simmons delivered A Love Letter to HTML, exploring HTML’s origins. The goals driving a memo written 25 years ago gave the Web strengths that developers need to study today.
6 highlights from Axel Rauschmayer's webcast
- Layer 1, Single object. [at 3:55]
- Layer 2, Prototype chain. [at 14:52]
Layers 1 and 2 together form a simple core, which you can refer back to if confusion sets in. This way you can re-ground yourself at any point in the foundations of the course.
One speaker at Fluent 2013 whose talk was particularly well received was Todd Kloots of Twitter who spoke about HTML5’s pushState API and demonstrated how it was used in Twitter’s Web-based interface.
Some key parts of Todd’s talk include:
- The opportunity Twitter saw in pushState [at 01:45]
- What you had to do with dynamic URLs before pushState [at 02:46]
- A summary of the pushState API [at 06:10]
- Gotchas and browser support [at 07:58]
- How pushState sped up navigation on Twitter.com without re-architecting [at 12:15]
- What Twitter had to do server-side to make progressive enhancement work [at 19:11]
- Final thoughts [at 31:37]
- Q&A [at 32:15]
Intriguing reviewers and attendees
Audience: Who are they? What do they want?
My first suggestion to anyone proposing a talk (or a book, or even a blog post) is to focus on audience. Who is going to be interested in what you want to discuss? Will they be at that event? What should they know before they get there? How can you convince them that it’s worth their time to join your conversation? Even for lectures and books, thinking of it as a conversation helps to focus planning.
Defining a powerful toolkit
The rise of the phrase “web platform” over the past few years makes me very happy.
The hallway track and beyond
At the Fluent conference earlier this month, I asked the audience to talk to the rest of the crowd. It’s very easy to get caught up in which speaker to go see on which topic, but even the best presentations can only go so far. If you attend a conference thinking of talks not only as opportunities to learn but as conversation starters, you’re likely to come home with a lot more.
Most of the time, conferences focus on what they have to offer directly: speakers, events, sponsors. The reality, though, is that the audience that showed up for those things brings its own greatness.
It’s hard for many of us—for me in particular—to go to a place full of people we’ve never met before, move through a large crowd, and deal with the information overload of sessions. For some people—jovial extroverts—it’s not so hard, but many techies are not that sociable. Conferences have a key ingredient, though, that makes it easier to start conversation: everyone is there for a similar, or at least related, purpose.
Sitting at a table full of people, even people with the same set of challenges, can be tricky, at least until the conversation opens up. Every time I sit down at a conference lunch table, it’s different—but almost every time, people found enough in common with each other to sustain the conversation beyond “so what did you think of those keynotes?”
It’s not just the shared experience of being at a conference, but the shared experience that brought you to the conference. Odds are excellent that you have a lot more in common with your fellow conference-goers than you think you might.
Typical conference lunch tables are kind of a funny size—usually seating 8-10 people around a circle. Everyone can hear each other, but it’s also possible to have conversations just with your immediate neighbors. Some tables break into full-group conversation, and others don’t. Some tables start with a group of people who know each other: sometimes those groups look inward, and other times they look outward.
A lot of lunches offer topic tables—”birds of a feather” (BOF), sometimes from a set list or created by attendees. If you want to make sure your lunch folks have a little more in common with you than the conference, these are a great place to go. Suggesting a topic can help you focus discussion on something important to you. Many shows also have these in the evening.
Productive code without ceremony
Dart makes fluent APIs easy
Libraries like jQuery have popularized a fluent design that encourages chaining calls for easier-to-read code. Dart takes a cue from Smalltalk and adds method cascades to the language, so that any API can be used in a fluent style.
Without cascades, the variable button is repeated for every method call.
// Without cascades. var button = new ButtonElement(); button.id = 'awesome'; button.classes.add('important'); button.onClick.listen((e) => beAwesome()); button.text = 'Click Me!';
Use cascades to help reduce repetition.
// With cascades. var button = new ButtonElement() ..id = 'awesome' ..classes.add('important') ..onClick.listen((e) => beAwesome()) ..text = 'Click Me!';
Dr. Angela Nicoara on mobile browser energy consumption and ways developers can minimize energy use through design.
According to recent Global Mobile Data Traffic Forecasts (PDF), the number of mobile-connected devices will surpass the world’s population this year, and by 2015, there will be 788 million mobile-only Internet users. A recent paper, “Who Killed My Battery: Analyzing Mobile Browser Energy Consumption (PDF),” pulled together by the Deutsche Telekom Innovation Center in Silicon Valley and Stanford University researchers and published in the ACM 21st International World Wide Web Conference (WWW 2012) proceedings (PDF), takes a look at the growing popularity of mobile web browsing and the effects on energy consumption.
I reached out to Dr. Angela Nicoara, senior research scientist at the Deutsche Telekom Innovation Center in Silicon Valley who worked on the project, to find out why mobile browser energy consumption is a growing concern and what developers need to know going forward. Our interview follows. Dr. Nicoara will present the researchers’ findings in the “Who Killed My Battery: Analyzing Mobile Browser Energy Consumption” session at the Fluent 2013 conference next week in San Francisco, CA.