Probably my favorite aspect of using Google Photos is the automated GIFs that come out of similar or batch photos. In fact, I’ve changed the way I take pictures now – just to get a cool animation.

The following are from my family trip to Mexico City and Acapulco, Mexico for Thanksgiving. Click to get a better look:


Mexico GIFs

Musings, writing

Crème of Abstraction Layers

Evolution of content publishing online

When I slow down to look at my interaction with most web sites, I notice an incongruity for accomplishing the same end goal: publishing.

While different sites offer different levels of sophistication, I’ve noticed that creating or editing content on the modern web is bubbling-up closer to the surface. I liken this to term as used in Computer Science: abstraction.

At first, you had to write binary that worked directly with the processor. Then they created a language that allowed you to write logic gates which were converted to binary. The higher you get, the more programming becomes natural to humans.

Nick Nelson, Web Developer

As Nick sums it up, there is a pretty deep (and technical) background to programming that few of us think of today — even the programmers. Even though a well-versed developer that works in an Object Oriented language might know the logic behind the code, we have long since been removed from considering logic gates and binary code.

Translating this to web development, the abstraction layers could go as far as the binary code, but the fundamental difference between software and what we predominantly see on the web seems to start with HTML. Taking human steps back from HTML, by my count, we are just now seeing mainstream implementation of a fourth layer of abstraction.



Layer One

HTML and other languages

It used to be that you had to write everything in the language our browsers speak. Yes, we still build websites like this, but you don’t have to know this language to write a blog or update your status. I consider HTML, CSS, and other browser languages to be the first or bottom layer of abstraction on the web. Kids used to learn HTML if they wanted their MySpace to look a certain way. Later, WordPress says, “no more!” Enter the second layer of abstraction.

Layer Two

Admin panels and WYSIWYG

WYSIWYG editor tool for the Blogger CMS

WYSIWYG editor tool for the Blogger CMS

WYSIWYG (what you see is what you get) has been around before the internet, letting you select a different font style or change your margins, colors, and other preferences. Its implementation in Content Management Systems (CMS) brings about the second layer of abstraction. I’m sure you can count plain text input somewhere in earlier CMS platforms, but this is the more common method of creating content on the Web. Blogger might have been the first prolific example (above), but I haven’t spent enough time Googling to tell you for sure.

To be true to the definition of abstraction this comparison should only be made from language-to-language. In that regard, languages like SASS, LESS, and the like are another layer of abstraction on top of CSS. I’m using abstraction liberally to talk about the mode of interaction you have with a computer when creating content online. In that regard, SASS and CSS are in the same bucket of “manually writing out instructions for the browser.”

An important element of this second layer of abstraction is not only the WYSIWYG, but its placement within an administrator’s section of the website. On Blogger, WordPress, or even the relatively modern Tumblr, you must sign in and access a different side of the website to enter new content and publish.

Tumblr’s Content Entry, circa 2013

Tumblr’s Content Entry, circa 2013

What makes Tumblr interesting is that the primary experience of viewing and interacting with other posts within the community takes place in the same logged-in state / administrator view.

Other services fall elsewhere in the spectrum of a definitive edit mode and read mode. WordPress for example has a completely different experience in the edit mode or administrator side of the site, whereas Flickr was one of the first to blur the line and display the same interface for editing as reading — with minor differences when clicking on things.

Wordpress Content Entry

WordPress Content Entry

Flickr Edit in Place Fields. Konigi, 2008

Flickr Edit in Place Fields. Konigi, 2008

It seems that in the development of a new content platform, there’s a defining choice whether to embrace the Content Management System (CMS) or to try and hide it as much as possible, creating the illusion that your draft could just as well be live, published content. This design decision is what carries some products from the Second Layer of abstraction and the Third Layer of Abstraction, where creating and reading content begin to merge.

Layer Three

Always logged-in + squishy CMS

Flickr, circa 2013

Flickr, circa 2013

As you can see above, Flickr has made quite a few changes over the years and I think it’s an excellent example of a third layer of abstraction to creating content online. Yes, there’s a smaller gap between this layer and the second than there was between the first two, but it’s distinct enough to deserve recognition.

In the Flickr example, people are still interacting with a CMS and they are logged in as an “administrator” of their content. What is significant however, is that our identities online have become more solidified and with a more liberal use of browser cookies, we are almost always identified when walking in to a website we commonly use. For example, WordPress, despite its many improvements, will still ask you to sign in to access the administrator part of your blog; whereas Facebook, Flickr, Medium, and many others will remember you, and what’s more: the main mode of interacting with those sites (communities really) is within the logged-in state.

As we lean toward an always logged-in state by default, the CMS necessarily has merged with the published content. Even when interacting with the CMS, it has become standard to do the composing or editing in the same place you’re viewing other content. When making a Facebook status, your browser doesn’t ask you to leave the newsfeed. When publishing a tweet, your browser no longer requires you to refresh the page to view that content. Overall, there a higher sophistication of Front-End web development being employed that makes these CMS interactions quite “squishy” compared to the very distinct moments you will have with a WordPress CMS and reading the blog, for example.

Sitting here in 2015, this doesn’t sound like much of a revelation. My apologies if I didn’t warn you ahead of time, but I don’t see myself as a visionary. I just think its important to document what we see.

Layer Four

Collaborative content

If I am to follow this winding definition of creating content and getting further away from complying with computers to get things done, then the last layer as I see it must be collaborative documents. Hear me out:

  1. Writing code – You’re using HTML, SASS, anything that’s meant for a browser and not a human.
  2. WYSIWYG / Hard CMS – You’re filling in text boxes, clicking formatting buttons, previewing, publishing, and then going somewhere else to see how it looks.
  3. Always logged-in / Squishy CMS – You don’t have to go anywhere else when finished creating or editing content. The line between browsing the web and composing has been blurred, but there is still a very strong line between you and your readers: the save/post/publish button.
  4. Collaborative content – In this state, the CMS is the viewing platform and composing platform at the same time. There’s no line between browsing and composing, nor is there a line between you and your readers:
Google Docs

Google Docs

I think where this notion of the Fourth Layer feels a bit forced is that it’s not a typical use case. Collaborative tools such as Google Docs, Dropbox, Box, and the like are associated with professional use only, and even in a professional setting they are not the norm.

What’s interesting to me however, is a hypothetical type of social media where that line between author and reader is selectively removed. Let’s take Facebook as an easy target. Imagine if you didn’t have to click the Post button on a status.

Oh wow Rob, that would make my life 9,000 times easier!

Yeah, I thought as much. It might even do more harm than good.

Side-note: isn’t there some publication that uses data Facebook has on what people draft as a status update versus what people actually publish?

I think it would be fun in some safe spaces, such as a curated group of your best friends where you could post content live and anyone that happens to be on the page at the same time can be drawn into your activity and then instantly (or simultaneously) begin to respond/react/build on what you’re putting out there.


Okay, so let’s back away from the Facebook example a bit. I’m getting very specific just to try to explore what using the web would feel like if we managed to abstract ourselves just a bit more from the already ‘squishy’ CMS. Perhaps there will always be a line, a very minimum confirmation moment when an author does acknowledge something will be born into the Internet or not.

I think this depends on the concept of the web for most people. If you imagine it’s more akin to a book or newsletter than a dinner conversation or phone call, then yes, there will always be an interaction with the machine no matter how minimal. If you’re of the latter opinion however, then maybe at some point all lines will dissolve and we interact with the web as we do in person – maybe that leads to more explaining, and less editing, but that’s a whole other can of worms.


I didn’t want to get too technical while exploring these different ways of creating content online, but I’d like to acknowledge that these layers of abstraction do not imply that we’re detaching from machines, markup languages, or programming of any sort. If anything, a greater layer of abstraction requires more sophisticated code to support such an elegant interface on the outside.

Good design should not aspire to rendering a complicated system into a seamless one; on the contrary, I hope we continue to focus our attention to the seams and learn how to best mold them to fit our needs.*

We used to log in to create blog posts and that was a necessity for security and identifying the author. Now we are logged in everywhere, for social reasons, for our own sense of digital identity.

Some Links:
* I’d love to take credit for such an intelligent-sounding stance on design, but I first read about it here: Matthew Chalmers (2003)

Figuring it out

This is probably a crude way to put it, but —apart from my Spanish degree— I think most of what I do today has started in some sense by simply “figuring it out.” Notice I don’t say figuring it out on my own. I’ve had some amazing opportunities and wonderful friends to get me where I am today.

I’m not going into the long and winding story of how I became an Interaction Designer, because I just explained it all to my good friend Josh. Another thing that I will soon be figuring out is mentorship. Josh told me that he’s interested in the type of work that I do and wonders where to get started. I told him the aforementioned long and winding story, emphasizing that people I’ve met seem to come into this profession from different angles. Ultimately, it boils down to interest, and letting that interest drive you.

Fully aware that I’m not an expert with a decade of experience, I still think that there is plenty I can help him with. Take the analogy of the musician that gives piano lessons to beginner students. At a certain point, they may need to graduate to a more experienced teacher, but if they’re wanting to learn, and you’re able to make yourself available, then let the learning happen!

So that’s all. I thought it would be nice to mark this occasion with a note in my blog. Maybe I’ll keep this updated with my experiences as we progress. So far, I’ve given him some homework and we’ll take it from there.

Here’s to figuring it out!


I woke up just a little bit early today. All of the windows were open, beckoning the cold air preview of Fall to fill up the apartment. 🍃

I made a cup of coffee. ☕

I turned on the Sonos. 🔊

I looked at the window at a treetop and let my mind go blank, soaking up the sensory vacation.

That was nice :)



Piano Rooms in NYC

What follows is a very sad list of practice rooms for rent. I would love to find a real piano to play on, and not in the theater district, but I guess I can’t be too choosy. I’ll add to this list if I find more. Maybe it will be of some use to other musicians!

244 Rehearsal Studios – $20/hr Baby Grand Pianos
54th & 8th Ave

Chelsea Studios – $20/hr no pictures of space/pianos ???
26th & 6th Ave

Michiko Studios – $20/hr Upright Pianos
47th & 7th Ave

Studios 150 – $17-20/hr Upright Pianos
46th & 7th Ave


Combustion is reverse photosynthesis

This is an excerpt from WaitButWhy, a super interesting and mind-boggling well-done blog about things that matter and others that are just plain… interesting. Please check out the site and particularly, this series about Elon Musk, Tesla, and Space Exploration!

Anyway, it may sound silly but I have always wondered: what is fire really? I know it’s just super-heated gas, but this is the best description I’ve ever heard. It also serves the double purpose of explaining carbon emissions in dead simple terms:

“When a plant grows, it makes its own food through photosynthesis. At its most oversimplified, during photosynthesis, the plant takes CO2 from the air [Interesting that we all think plants grow up from the ground, when in fact the stuff of the plant—carbon—actually comes from the air] and absorbs light energy from the sun to split the CO2 into carbon (C) and oxygen (O2). The plant keeps the carbon and emits the oxygen as a waste product. The sun’s light energy stays in the plant as chemical energy the plant can use.

“So wood is essentially a block of carbon and stored chemical energy.

“When you burn a log, all you’re doing is reversing the photosynthesis. Normally, oxygen in the air just bounces off carbon molecules in wood—that’s why trees aren’t constantly on fire. But when an oxygen molecule gets moving fast enough and smashes into a log’s carbon molecule, they snap together and the oxygen and carbon are reunited again as CO2. This snapping releases chemical energy, which knocks into other nearby oxygen molecules, causing them to get going fast—and if they get going fast enough, they’ll snap together with another of the log’s carbon molecules, which releases more chemical energy. This causes a chain reaction, and the log is now on fire. So a log burning is the process of the carbon in the log combining with oxygen in the air and floating off as CO2.”

By Tim Urban


Project Planning, Work, writing

Voice Interaction

As phones have transitioned to smart phones, our personal technology has graduated from conduits between people to a more sophisticated breed that allows for – even invites – direct control. In tandem, people are getting rid of voicemail, making fewer phone calls, and texting more. In one vein, this seems like a more truncated, efficient behavior, but it also implies greater intimacy with the device.

We’re also growing to expect the similar level of control we have over our phones to expand to the devices of our environment. The “smart home” and “connected” objects are commanded with our phones for the time being. Contrary to the shift in phone use, control of these devices that is buried in a growing library of apps is not efficient.

The technological response to surfacing quick control over these smart objects is the use of voice interfaces. The Xbox’s Kinect allows for voice control of your Xbox apps and access to media. The Xfinity remote control makes “change the channel to HBO” possible. Apple’s Siri, Microsoft’s Cortana, Amazon’s Alexa, and the Google Now services are all serious attempts at broadening voice control to access many services.

While speech-to-text recognition has largely improved, the voice controlled services themselves still lack in the sophistication that people presume exists when communicating through a nuanced medium as speech. Even if this level of sophistication is attained, and the services understand and respond exactly as we expect them to, the challenge of intimacy remains.

When common interaction with phones shifted from calls to text as the interfaces allowed more direct (read: intimate) control, we’ve created this controversial-yet-accepted balance of interacting with people directly and multitasking with our pocket computers. Voice interaction necessitates a more public display of that human computer interaction. One that is so uncomfortable, directly inhibits its use. Think of the times you have used your voice input on a phone: public settings, private settings with people around, or solitary settings?

Although we may not be able to out-design social mores, we can take the first challenge—that of accuracy, intuitive use, and predictable outcome—to the whiteboard and to the APIs.

More on this to come, maybe.