The Best of the Internets

Where Cellular Networks Don't Exist, People Are Building Their Own

This is a beautiful account of the struggles of bringing cellular networks to poor, rural areas that are uninteresting (e.g. unprofitable) to the major providers.

Of the world’s 7 billion or so cell phones, a few hundred of them are already in Yaee—they’re just not connected to a network. Kids use them as cameras and mp3 players, and Hernández, like many adults, bought his to use in Oaxaca City, a seven-hour bus ride away. When he’s there, his cell phone can connect to plenty of base stations, which, in turn, link him to his choice of commercial network. But back in Yaee, there are no base stations and therefore no network. Every time Hernández wants to make a call in his hometown, he hikes for 20 minutes to the top of the highest hill around and hopes to catch some signal trickling in from a faraway base station, installed in a place deemed more profitable for telecoms than small towns like Yaee.

Articles like this are a great reminder of how fortunate we are and how our experiences are not universal. They help us empathize with the struggles others must overcome to participate in the “modern world”.

9 of the World's Leading Designers Talk About What Matters Now

A good collection of design-related thinking. Here are some highlights:

Great design often disappears, leaving the user with no more than a simple and intuitive experience.

From Gentry Underwood of Dropbox. Jared Spool has been beating this drum for ages:

When things are going well in a design, we don’t pay attention to them. We only pay attention to things that bother us.

Jack Schulze of Berg offered an interesting perspective on design permenance:

When I was studying graphic design in the late ’90s, there was a dream that as a designer, if you were good enough, you might create an archetype for the age—the sorts of things you see in Mad Men, artifacts and images that characterize an era. But when I graduated, it became abundantly clear that when people looked back on the decade to come, they would not be looking at record covers or chairs. It was going to be glowing rectangles and software. People would remember the aesthetics and noises of operating systems, the first time they pinch-zoomed something, the aesthetics of Google Maps, the Nokia ringtone, and Candy Crush Saga.

Closing out the piece, Alexis Lloyd of the New York Times R+D Lab offered an area of concern (and a challenge to designers everywhere):

We’re seeing new relationships emerging between people and technology. Algorithms influence an ever-increasing number of facets of our lives: the media we consume, what our health insurance knows about our physical condition, whether we’re approved for loans or hired for jobs, and whom we may date or marry. But we don’t have much agency in those interactions. These “smart” systems are black boxes, eschewing transparency in favor of simplicity. But when we can’t interrogate a system, that disenfranchises us. Designers now must facilitate interactions that balance ease of use with transparency.

Personal Histories

This is a bautiful post from Sara that takes a deep dive into the impersonal nature of forms. I could not put it more bautifully and succinctly than her introductory tweet:

Living on the Edge – Our Next Step in Helping the Web Just Work

With the holidays, I completely missed this announcement from IE team. In IE for Windows 10, we’re getting:

  1. All public (i.e. non-intranet) sites will render in “Edge mode” meaning they get the latest standards implementation. Note: It will ignore X-UA-Compatible version targeting.
  2. CSS Preserve-3D
  3. Content Security Policy 1.0 sandboxing
  4. CSS Interaction Media Queries (Level 4) - pointer type & hover testing!
  5. Gamepad API
  6. Selection API
  7. ECMAScript 6 features including classes, promises, iterators, the arrow function, Math utility functions, Number utility functions, Object utility functions, String utility functions, Object literal enhancements, spread, template strings, symbols, proxies, and weak set.

Pretty awesome stuff! What do you want to see in future versions of IE? You can post your thoughts and votes on UserVoice.

If—like me—you’re on a Mac, you can run the latest version of IE via RemoteIE. Haven’t heard of it? Rey Bango has a great write-up of how to set up RemoteIE on Macs, iOS, and even Android.

Researching the Performance Costs of JavaScript MVC Frameworks

I often talk about the negative performance impact of using front-end MVC frameworks like Angular and Ember to generate your HTML. It should be pretty obvious why: a framework must be downloaded, interpreted, and executed before any HTML is generated and eventually rendered in the browser. The one thing I had yet to do was actually see how the various frameworks stack up side-by-side. Now the Filament Group has done just that.

If you are using or are considering a front-end Javascript framework, you need to read this report.

I Am Not Broken: The Language of Disability

I love this!

The world we live in isn’t defined by two versions of reality. There isn’t the “normal” reality for all the normal people, and the slightly skewed reality for all of the rest of us who yearn for normalcy. Our fiction should reflect that. King George VI wasn’t any less of a powerful speaker or ruler for all of his stuttering. Odetta Holmes wasn’t slowed down by her wheelchair.

I’m not broken and neither are you.

Update Your SSH Keys on Github

Honestly, it’s probably good to get into the habit of updating your SSH keys regularly anyway, but in case you needed a reminder:

Back in February, we improved the security audit trail for SSH keys. Soon, organizations will be able to block access for SSH keys that were created prior to those improvements. If your application relies on deploy keys or user keys for repository access, we recommend replacing any keys created before February 24, 2014.

Celebrating CSS

As usual, Jeremy sums up my thoughts perfectly:

Personally, I don’t think there’s any reason to have variables in the CSS language; it’s enough to have them in pre-processing tools. Variables add enormous value for developers, and no value at all for end users.