Boris Smus
interaction engineering
About
Blog
Clippings
Inspirata: for what inspires you
May 2016
Browsing Wikipedia in VR
May 2016
Three approaches to VR lens distortion
Apr 2016
Embedding VR content on the web
Mar 2016
Simulating wealth inequality
Jan 2016
Sensor fusion and motion prediction
Nov 2015
Hot bread: delicious or deadly?
Sep 2015
UbiComp and ISWC 2015
Sep 2015
Magnetic Input for Mobile VR
Sep 2015
Site redesign, version five
Jun 2015
Spatial audio and web VR
Mar 2015
Responsive WebVR, headset optional
Feb 2015
Web Sensor API: raw and uncut
Nov 2014
UIST 2014 highlights
Oct 2014
Spectrogram and oscillator
Jun 2014
Addressable apps
May 2014
The ebb of the web
Apr 2014
Remote controls for web media
Jan 2014
UIST 2013 highlights
Oct 2013
Responsive image workflow
Sep 2013
Ultrasonic networking on the web
Aug 2013
Easier link blogging
Jul 2013
Installable webapps: extend the sandbox
Jun 2013
Gestural music direction
May 2013
Web Audio book
Mar 2013
Really simple social syndication
Mar 2013
Interactive touch laptop experiments
Feb 2013
From VPS to static hosting
Jan 2013
Internet mashup of things
Jan 2013
Reusable JavaScript for MVC frameworks
Nov 2012
How the web should work
Sep 2012
Generalized input on the cross-device web
Jun 2012
Platform fertility: open for innovation?
Jun 2012
Let's get physical (units)
May 2012
New design
Mar 2012
Backbone and ember
Feb 2012
PDF conversion and client-side scraping
Feb 2012
A mobile web application tech stack
Jan 2012
Hybrid operating systems
Nov 2011
Stack Exchange question notifier
Nov 2011
UIST 2011 greatest hits
Oct 2011
Screen video capture for Chrome OS
Oct 2011
Loading large assets in modern HTML5 games
Sep 2011
Developing multiplayer HTML5 games with node.js
Aug 2011
Global chrome media keys with Key Socket
Jul 2011
Extending chrome developer tools
Jul 2011
OAuth 2.0 from chrome extensions
Jul 2011
Brazil trip
Jun 2011
Dynamic chrome extension icons
Jun 2011
Crunching numbers for the NHL finals
May 2011
Chrome developer tools cheatsheet
May 2011
Multi-touch for your desktop browser
May 2011
jQuery conference 2011
Apr 2011
From Wordpress to Hyde
Apr 2011
Chrome media keyboard shortcuts
Apr 2011
Chronos: Chrome browsing metrics
Mar 2011
SXSW LEGO MINDSTORMS hackathon
Mar 2011
Soundsourcing: the sound of the crowd
Feb 2011
CrowdForge: crowdsourcing complex tasks
Feb 2011
KML tours in Google Earth
Dec 2010
Tweetbacks in JavaScript
Dec 2010
WebIntent, an Android PhoneGap plugin
Nov 2010
jQuery mobile hacker news
Nov 2010
PhoneGap games in the Android Market
Nov 2010
Chrome extension for thesixtyone
Oct 2010
The best question answering sites
Oct 2010
An onslaught of mobile HTML games
Oct 2010
Instant search in 60 lines
Oct 2010
Stairs or elevator? Use bluetooth!
Sep 2010
Skip to skip: a running gesture
Aug 2010
Minimal business card design
Jul 2010
Android-powered mindstorms
Jun 2010
Prototyping with Wii remotes in python
May 2010
Nike+ hacking with python
May 2010
Jam Hunt: friendly jam sessions
Apr 2010
CHI 2010 poster
Mar 2010
Lightweight Wordpress on Slicehost
Feb 2010
Visualizing MTurk requesters
Feb 2010
Crowdsourcing code
Jan 2010
Crowdsourcing articles with mechanical turk
Jan 2010
Ubiquitous drums
Nov 2009
Arduino-nerf mashup
Oct 2009
New design
Sep 2009
Offline web apps on the iPhone
Sep 2009
Never delete your gmail account
Aug 2009
Plotting something radial
Aug 2009
Extending Google Wave terminology
Jul 2009
Generating guitar chord diagrams
Jun 2009
Carnegie Mellon University!?
Apr 2009
Guitar Unleashed
Mar 2009
Prettifying embedded YouTube
Feb 2009
Clean drag and drop upload in Safari
Feb 2009
iPhone car kit: roll your own
Feb 2009
Performance of canvas versus SVG
Jan 2009
iWork.com feedback
Jan 2009
I see dead CSS
Dec 2008
Musical mashups in pure JavaScript
Dec 2008
Moving day
Nov 2008
Robotic piano playback
Nov 2008
The sorry state of HTML mail
Oct 2008
Top 5 sessions of Web 2.0 Expo NY
Sep 2008