Boris Smus

Software Designer

Offline Web Apps on the iPhone

In the midst of my graduate studies, I somehow found the time to write a simple prototype for a mobile Guitar Unleashed client. It’s more of a proof-of-concept for some cool new technologies that I’ve been meaning to play with. Two things led me down this path:

  1. Since I’m no longer bound by corporate affiliation, I feel compelled to finally develop an interesting application for iPhone.
  2. I’m very bad at remembering guitar chords and lyrics, but never bother making a cheat sheet to take to the campfire. I nearly always have my phone in my pocket, though.

read more…

Generating Guitar Chord Diagrams

One day I wanted to add a feature to Guitar Unleashed which exists in some of the better guitar tab sites. When a user hovers over a chord, they are shown a diagram representing the guitar fret with overlaid finger positions required to produce this chord.

Many of the most popular sites do this by showing  a crude, plain-text representation of the chord. For example, a C chord is shown as follows:

read more…

Clean drag and drop upload in Safari

Somehow I often find myself arguing in defense of the web browser as a viable platform for developing rich applications. In many such discussions, the issue of interoperability with the desktop arises. Someone will astutely observe that they can’t even drag and drop from their OS file manager into their browser, and all hell will break loose.

read more…

Performance of Canvas versus SVG

At the core of the traditional HTML/CSS developer’s toolkit is a set of nested boxes describing offset, margin, border and padding, known as the box model. Variations on the box theme are sufficient to describe most page layouts, but in some complex applications, it’s necessary to render something more interesting, like diagonal lines, or polygons. There are currently two relatively well-supported web graphics technologies: SVG and Canvas. There are significant performance differences, however, which I would like to discuss in this article.

read more…

I See Dead CSS

I wanted a tool that would analyze a complete web site, and report what CSS selectors and IDs are dead. By dead, I mean one of two things — either the ID or selector is referenced from the HTML and undefined in the CSS or it is defined in the CSS but never referenced in the HTML.

read more…