I Put the Web into Hyperdrive…

More info coming soon!

Posted in Unfiltered | Leave a comment

Introduction to Web and Information Design

I just finished teaching a course on the fundamentals of web and general information design.

We focused on the principles of user experience, visual fundamentals such as gestalt principles and introduced the students to the wonderful world of frontend web design.

Find out more here: http://mattlockyer.github.io/iat235/

Posted in Code | Leave a comment

Mobile Web Application Design and Development

Recently I taught a course on mobile applications using modern web technologies.

We covered topics such as: touch, accelerometer, location, audio, viewport, angular js, react js and more, all using HTML CSS and JS.

Check it out here: http://mattlockyer.github.io/iat381/

Posted in Code | Leave a comment

Audio and Visual Signal Processing in JavaScript

I recently taught a course in audio and visual programming and decided to use Javascript as the language.

We explored the canvas, transformations, pixel manipulations, filters, kernels, the web audio api, pass filters and more.

Take a look here: https://github.com/mattlockyer/iat455

Posted in Code | Leave a comment

Center image vertically and horizontally, CSS and jQuery a.k.a. image lightbox

In my opinion you should use libraries rather than role your own solution, but I came across this Stackoverflow question and couldn’t resist rolling my own lightweight, lightbox implementation.

Here is a link and to my jsFiddle where the magic happens.

Check out the results:

Lightbox CSS jQuery Sample

Posted in Code | Leave a comment

Socualizer – Social Media Visualizer


Socualizer Social Media Visualizer


Socualizer is a product I’ve been developing for the past 3 months with the goal of integrating Social Media streams with high-end, club / concert grade visuals. The end result will be a turn-key, brandable, social media visualizer, with a powerful dashboard to control the streams and entire visual experience.

Technically, Socualizer is built using node.js, node-twitter, instagram-node-libthree.js, tween.js and WebGL and some soon to be released on GitHub utility classes developed by myself to push the limits of double sided planes using WebGL.

Socualizer is currently in private beta.

Posted in Works | Leave a comment

Playground – Multiplayer, Collaborative, Visual Experience for Mobile

Recently I was asked to join Tangible Interaction in developing a Chrome Experiment that used WebRTC, an emerging web technology that enables P2P browser interaction (tabs talking to other tabs), without sending the data over the server.

We developed Playground, which enables 5 friends in close proximity (100m) to join a “room” where each player will have a different controller that determines a visual outcome.

The project was a lot of fun to develop and break new ground using an up and coming web technology on mobile.

The app can be found on Chrome Experiments here.

Playground Example Controller

Posted in Code, Works | Leave a comment

Code Tabs: Online HTML, JS, CSS, and Processing Editor with TABS

I’ve released an early stage version of my online editor for html, js, css, and processing called “Code Tabs” today.

One thing missing from a lot of online editors is the ability to create custom tabs, a pretty essential feature for any project with more than a couple of hundred lines of code.

I’ll be using and testing Code Tabs this summer in a course at my school: IAT 167 Digital Games. The course is basically an introduction to game programming for students with a multimedia / multidisciplinary background.

You can find Code Tabs on GitHub.

See this post for a list of features.

Posted in Code, News, Processing, Works | Leave a comment

Code Tabs Preview

Simple HTML, CSS, JS, and Processing editor, with TABS!



  • TABS! No other online editor has them!
  • Code hinting (autocomplete suggestions) for above languages
  • Syntax highlighting (obvies…)
  • Selection match highlighting
  • Brace match highlighting
  • Brace / Tag completion
  • Brace / Tag folding
  • Import and use any Javascript library (image ex: three.js)
  • Import or Drag and Drop images for use in Processing and Javascript tabs (it’s a cat!)
  • Built in webcam module (data-webcam=”true”)
  • Fullscreen mode
  • Mobile friendly
  • Export .zip of all tabs in tidy project folder
  • Setup in HTML markup using: data-option=”value” (easy as pie!)
Posted in Code, News, Processing, Works | 1 Response

Close a Twitter Bootstrap Popover when Clicking Outside

A vexing topic for me and a bunch of other people on stackoverflow, the problem being that Twitter Bootstrap Popovers don’t close when you click outside to anywhere else on the document.

This might not be your desired outcome, simply: when clicking outside a popover, wouldn’t you want it to close?

The code below makes this possible:


$('body').on('click', function (e) {
    $('[data-toggle="popover"]').each(function () {
        //the 'is' for buttons that trigger popups
        //the 'has' for icons within a button that triggers a popup
        if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {

A note about the use of $(':not(#anything)') as my body selector. This is due to iOS not binding click events to ‘html’ or ‘body’.

To put it short, this is a bulletproof way to detect clicks anywhere on the document (providing you don’t have a div with an id of ‘anything’).

Live Example Here

Posted in Bootstrap, Code | 30 Responses