WebVisions 2010 in review: Part three

Friday, May 21, 2010

This is a continuation of WebVisions 2010 in review: Part two.

WebVisions 2010 On Wednesday through Friday, May 19-21, I attended the WebVisions 2010 conference at the Oregon Convention Center in Portland. Below is a quick overview of all five sessions I attended on Thursday, with links. Many of the slides from these sessions and others are available at SlideShare. See Twitter updates using #wv2010.

Mobile IS the Future: Do You Have Your Strategy? – Jason Grigsby
(9:15 am to 10:15 am)

  • On Twitter: @grigs
  • Slides: slideshare.net/grigs
  • Mobile is disruptive technology. Morgan Stanley study.
  • Technology Cycles – Wealth Creation/Destruction slide.

Integrating Hardware with the Web – Kevin Hoyt
(10:45 am to 11:45 am)

  • Commoditization: of LEDs (price goes down, becomes widely available, approachable).
  • Connectivity: The word is becoming more connected
  • Commoditization + Connectivity = Ubiquitous/physical computing. Interconnected lighting/heating system.
  • RFID is very popular in grocery stores. Intelligent refrigerators can tell you what’s inside it, even cross-reference recipes and suggest what you can make tonight.
  • How do I take my web skills and get started integrating with hardware?  What do I need?
    1. Hardware that can send data over the USB virtual port.
    2. Serial to socket server that sends data over the network (TCP/IP).
    3. Socket library that accepts and interprets the data from the network.
    4. Your innovation and code!
  • Example of USB weather flow:
    1. USB Weather Board ($125) from SparkFun Electronics.
    2. Serproxy (serial proxy) for redirecting network connections to serial links.
    3. JavaScript in the browser does not have a socket, but Adobe AIR does.
    4. Let us see some code! (Use jQuery.)
  • Phidgets and SparkFun specialize in USB-ready, plug-n-play devices.
  • Weather Station – SparkFun Pre-built
  • What other things connect via USB?
    • RFID Book Shelf – Phidgets (created a bookshelf app that can scan and identify tags/IDs)
    • Light Sensor – 8/8/8 (uses PlotKit for data visualization of light sensors (photo cell and I/O board))
    • SBC – Wireless
    • Push Button- Digital
    • Photo Booth – Web Camera (MJPEG webcam)
  • Eventually you want more!
    • RGB LED – Arduino
    • Accelerometer – Shields
    • XBee
    • SparkFun GPS
  • For tutorials go to Adobe TV and blog.kevinhoyt.org

Dude, Where’s My UI Architecture? – Kyle Simpson
(1:15 pm to 2:15 pm)

  • On Twitter: @getify
  • Stripping away unnecessary crap.
  • Specializing in UI Architecture (the middle end): optimizing performance. We don’t have control over the fundamental components of our systems.
  • Traditional (boring) Web Architecture means UI architecture is welded into different places in the structure. MVC hasn’t saved us from these problems (due to implementation).
  • Primary motivation: Performance optimization. I will not use spaghetti code (irreconcilable tying between view and model). I will not repeat myself. JavaScript is the only language that is truly ubiquitous; you can’t write that code once and make it portable to all devices unless you write it in JavaScript (JSON API).
  • CVC (clients views controllers) UI architecture. The thing that is now in control is the middle end architecture. The “black box” app (could be PHP) has the presentation layer turned off (like a “state” machine). Stick a little JSON API on top of the the black box. Server-side JavaScript means fewer interpretation layers.
    • Clients: Everything is a client of everything else (decoupled, modular, scalable).
    • Views: Templating, portable, DRY, platform agnostic, uses core native web technology.
    • Controllers: Small, independent, powerful; usually JavaScript (URL routing on the server and the client-side, header management).
  • What I’m not suggesting: yet another framework, ditch whole architecture, MVC is wrong/weak.
  • Only suggesting that UI piece can be done in a better way and JavaScript is that way. MVC has been overstretched by the latest web technology.
  • CVC is an alternate pattern for UI architecture. JavaScript (on the server) has been reinvented. Example installations: Narwal, V8, NoJS. JavaScript can run more efficiently than compiled code like Apache.
  • Wrote BikechainJS – V8 “engine” modules; bare minimum JavaScript needed. NoJS is the tank, while BikechainJS (a common JS loadable module) is the first step.
  • BikechainJS:
    • single .htaccess file (using Apache)
    • uses JSON:
      • uri.routing
      • engine.cpp
      • engine.js – the bootstrapper, now in JavaScript
  • Best URI parser: parseUri 1.2: Split URLs in JavaScript
  • HandlebarJS: templating engine, text/html templates, JSON data input
  • Slides and examples: wv10.getify.com and slideshare.net/shadedecho
  • CVC + JavaScript = put the power of UI architecture in the hands of front-end engineers

Mobile Web Development without Developing a Mobile Site – Daniel Davis (Opera Software in Tokyo)
(2:45 pm to 3:45 pm)

Keynote: Bold Ideas and Insane Possibilities – Merlin Mann
(4:15 pm – 5:15 pm)

Ah, forget it. I’m just going to enjoy this. No more notes.

Similar posts that may be of interest: