Author Archives: aaron

Advertising Saturation

I was at a restaurant the other night, and needed to use the restroom. As I was doing so, I could not help but notice that there was an ad in the restroom (for neither the restaurant nor its restroom services). That was a little offputting by itself, but moreso was it’s location: the bottom of the urinal.

Upon further checking (advertising research, not checking bathrooms), it appears this is quite the growth location for advertising — some entrepreneur has even come up with “interactive” urinal advertising. My, oh my.

It got me thinking (no pun intended) about advertising saturation. There has, for many years, been an evolving science of determining when one’s ads have reached as many people as they’re going to. This is the point, it’s theorized, that you can stop spending money on that campaign — to do more reaps diminishing returns.

But what about the saturation to the viewer? It is increasingly difficult to go through a day (let alone a few hours) without seeing ads. Surely this overload of messaging dilutes its effectiveness.

This comes up with our clients regularly. When working on commercial sites that wish to advertise their own wares, or publishing platforms that feature the advertising of sponsors, there are always conversations about placement, frequency, and the balance of content vs. ads. The initial tendency is often to create as many ad placement opportunities as possible — to really “get the message out.”

In our usability and interface testing, though, we find that there is a balance point, after which additional branding and marketing messages simply aren’t seen, and by that time, the effectiveness of the ones that are seen is also diminished. While we haven’t studied the results of our testing over the years, my guess is that the balance point has shifted over the years, as viewers get both more sophisticated and more tired of seeing wall-to-wall selling.

It’s a reinforcement for doing user testing, to be sure. But it’s also an incentive to look at more integrative ways to communicate advertising — and more restrained ways of papering it across the Internet!

WebRTC: Live web audio/video chat without plugins

Most of the design and development technologies we work with every day are in ‘evolution’ mode, not ‘revolution’ mode. Enhancements are made, bugs are fixed, but the leaps are relatively small. A browser here adds support for the latest HTML5 canvas feature, a device there adds an API for better map coordination. Nifty, but a little light on the ‘wow factor.’

With the release of Firefox 22 this week, though, there’s a browser advancement that has the potential for a real leap: WebRTC is now baked-in and turned on by default. That means both Chrome and Firefox have it up and running in their latest versions. It will soon be ubiquitous (or perhaps ubiquitous-ish until IE follows along…).

Why is this so great? WebRTC is a W3C standard that allows for real-time communication (thus the RTC) in the browser — audio chats, video chats, whatever. No plug-in for users to download and install. Cross-platform and cross-browser compatible. Just code and go.

It will soon be much more trivial to just throw a video customer-service chat on a help-desk website. Or bake it into a community website to allow for in-site community chats. Or integrate it with the many more social networking sites with varying results depending on the site (you can let your imagination run on that one).

The possibilities are pretty remarkable. It’s a great case of where the technology itself has been around a long time, but by establishing a standard, the power is in the interconnection. Like, I don’t know, almost all Internet-based technologies.

There’s a good getting started tutorial over at HTML5 Rocks, and you can also jump off of the WebRTC home page. Either way, it’s worth a click-around. I think this will be big.

The Importance of the Side Project

Every job has its ups and downs, not just the job of elevator operator. (Sorry, old and bad joke.) There are parts of the work that are engaging and interesting, finding answers to problems and implementing those solutions. And then there are the other parts — the prerequisites, the occasional begrudging task.

That’s where the side project comes in. Around our offices, we make sure that everyone has a side project to keep them sharp and engaged, even when the primary project might be a little stultifying. This gives our team members a chance to step away, shift gears, and focus on a different matter for a while.

It’s useful not just to provide a palate cleanser for drudgery. Sometimes, we can get so enmeshed in the norms and expectations of a specific project that our vision begins to narrow. Keeping another project on the side enables us to shift that perspective and keep our sights broad.

For some of our team, it’s a passion project — helping reach out to an underserved community through Internet broadcasting, for instance. For others, it’s a project that might end up being commercial one day, like a new and improved nonprofit management system. Still others combine the two, exploring a recreational opportunity app, for instance. (For one of us, it’s writing for this blog!)

Regardless of the specific project, it’s something we prize greatly, and I think it helps us stay sharp and balanced. Because even with the most fun of projects, there’s always a chance to get sucked in a bit too far!

Creeping Dependencies

We had a client issue the other day where a system stopped working because a necessary third-party service just stopped, with little warning. It got me thinking about the nature of dependencies.

When building networked applications, there are necessarily aspects of which you don’t have control. You don’t usually control every mile of the Internet connection that reaches the user, for instance. So, for example, if it’s a user at home on a shared cable connection and it’s 4pm on a school day when every kid in the neighborhood just got home to stream video, they’re going to have a slower connection–and there’s not much you can do.

In this case, it was a service dependency, and that’s just as potentially problematic. After all, there are times when you can’t do it all yourself–maybe you need to poll an external database for information, or there’s already a cheap commodity service that will take care of an ancillary need.

But the trick, and one that we didn’t really execute as well as we should, is to note the risk upfront and do what you can to mitigate it. In our case, we had noted the risk and thought we had some ways to manage it, but when the outage occurred, we immediately saw breakdowns in the process. Paths for escalating the outage notification were unclear, and the error message created for the users was, shall we say, less than graceful.

Fortunately the outage didn’t last all that long, and the upstream provider of the service was very gracious and quick about getting things resolved. But it was a good reminder that every time you create a dependency, whether it’s an AJAX call that relies on a decently-fast connection or a threshold service for access, it’s critical to consider how to gracefully handle the situation where it fails.

Because it will. At some point. But in our interconnected world, what’s the alternative?