Boris Smus Archives About Twitter

Lightning

This site is powered by Lightning, a static blogging engine with a few features I wanted but couldn't find in other similar projects:

  • Incremental builds.
  • Logical placement of article-specific assets.
  • Fully decoupled content from output.

Today I packed it up into a consumable codebase. Unfortunately I haven't had time for unit tests, so YMMV. Usage instructions and repository is on github.

Let's Get Physical (Units)

There's an increasing variety of devices in use today. Even generally rectangular touch enabled devices vary hugely in their physical sizes, aspect ratios, pixel densities, etc.

One thing that remains constant across these devices are their users. Technologies come and go every year, but people stay the same. Existing form factors: pads, tabs and boards still make sense, and will continue to do so for the forseeable future. As a result, ergonomic considerations like touch target sizing, readable text and image size remain constant. Fingers will be fingers and eyes will be eyes! Our bodies are firmly rooted in the physical world, and the interfaces we create should reflect that.

Open by default

The web used to be "open by default". The key property that enabled google in the 90's was that generally speaking, web content could be read by machines. This was the default state -- developers didn't need to do anything to make it happen.

Since then, we have moved from a declarative web to an imperative one, where the web has evolved into a ubiquitous developer platform. Combine this with the definite trend toward personalization - many companies providing interesting content only behind ACL, only visible when logged in - and you have the modern web.

As the web grows in complexity, JS-rich content gets harder and harder to crawl, and prohibitively hard for anyone that's not a search engine. In this world, what enables innovation for the little guys are APIs. The problem with these, however is that they require work for the API providers to implement. So the web is now largely "closed by default".

I'd love to bring us back to the "open by default" web, while retaining the user experience benefits of thick clients. Ideas welcome :)

Inspired by Sergey Brin's Guardian interview.

Projects at X

These past couple weeks, there have been a few videos released from the group I work in at Google. Congratulations to the many people in X who's hard work has gone into each of these.

Google X released a few concept videos of projects in their pipeline. Very exciting stuff to see this great work slowly trickle out to the public.

New design

I re-designed this site using the PT Sans font, aiming for appealing typography for optimal readability. Interestingly,

PT Sans is based on Russian sans serif types of the second part of the 20th century, but at the same time has distinctive features of contemporary humanistic designs.

Since visitors are increasingly coming from a variety of devices, I also created three variants of the site for small, medium and large screens via media queries:

Monoculture for a Reason

Anyone who’s worried about “WebKit monoculture” should write or publish articles about mobile web design that don’t feature the iPhone at all. If you don’t, I’m sorry to say, you’re part of the problem. — PPK

This "iPhone monoculture" exists for a reason. MobileSafari has been the best browser for a long time on one of the most widely used mobile platforms. The way to solve this problem (if it is a problem at all) is by building mobile browsers that can compete on features, not through artificial boycotts!

Backbone and Ember

Ember and Backbone are both promising JavaScript frameworks but have completely different philosophies. In this post, I'll compare the two, both from a practical and philosophical perspective. I'll defer to real world experience with Backbone and SproutCore (Ember's predecessor), as well as basic experiments with Ember (full disclosure: haven't built a large Ember app yet). I'll also supplement claims with quotes from a fantastic conversation from Freenode #documentcloud on February 3rd, 2011. For quote context, wycats is Yehuda Katz, one of the lead developers on Ember, and jashkenas is Jeremy Ashkenas, one of the lead developers on Backbone.

Older posts →