WebcamFX – GLSL Shaders

unnamed1

Take photos with your webcam: mix and match combinations of filters to come up with your own unique effects. FilterStack includes a large collection of filter combinations to help get you started.

Once you’re happy with your image, you can save to your computer, or upload to Sketch.IO to share with your friends. Similarly, you can share your custom filters as well—this way your friends can use the same filter you made for their own pictures.

To enable editing, hover over the right side of the app—this will display thesidebar. Here you can: add filters, modify the values of each filter in the stack, reorganize which filter is processed first, enable/disable filters, or remove filters. Each of these controls can create vastly different effects.

Play around, share the results, and let us know what you think!

Available as a Chrome Extension or Web app ?

adminWebcamFX – GLSL Shaders

Sketchpad 2.1

UPDATE: Read about Sketchpad 3.0

Where Sketchpad 2.0 introduced non-destructive vector + bitmap editing on the web. Sketchpad 2.1 (SP2.1) takes that bland package of vector tools and borrows features from Sketch Mobile, an app that exhibited my furthest exploration in creating colorful enviroments. SP2.1 is great at creating background wallpapers quickly now that most of the tools work with gradients, and are all editable in place—this can be especially fun on tools like Mr. Doob’s generative brushes, and the improved stamp tool.

New features include:

  • Multiuser drawing (NodeJS + Socket.io)
  • Editable generative brushes: Chrome, Fur, Shader, Sketchy, Web (via Mr Doob‘s Harmony)
  • Spacebar+drag while your in a brush (recommended by Chris Smith)
  • Change the tool type in the options drop-down menu after you’ve created a layer (Chris Smith)
  • Preview (ghost) the stamp tool before you apply it (Chris Smith)
  • Crayon tool reintroduced from Sketch Mobile.
  • Shapes: Rectangle, Ellipse, Polygon, Gear, Star, Burst, Radial Burst, Spiral (Sketch Mobile)
  • Gradients in the style window, useable with most tools.
  • Stamp tool now has “Translate” feature, combined with a low “Flow”, and a nice looking gradient, can create beautiful tapestries in a few clicks.

You can access SP2.1beta in two ways:

Have feature requests, or thoughts of how the interface is horrible? I would love to hear!

adminSketchpad 2.1

Sketchpad 2.0

UPDATE: Read about Sketchpad 3.0

Introducing a new way to create graphics online. Sketchpad 2.0 is a non-destructive vector & image editor, built in HTML5, that you can start using right now, for free! I/O is for input and output, that means, any drawing you make can be shared, forked, and edited.

You can drag and drop images and SVGs into your browser to place them in your drawing. Then drag, resize and rotate. The time-machine feature provides unlimited undo/redo functionality. There’s a huge collection of fonts, graciously provided by those involved with the Google Fonts Directory—the text tool allows you to preview exactly what your text looks like, instead of editing and clicking “apply” over and over. The select tool allows you to edit any layer, and even do bulk operations, such as changing the color of multiple layers.

Want your own Sketchpad installation?  Sketchpad can be used for recoloring patterns for print or textile industries, drawing/photo competitions, customizing products, kids communities, collaging, or whatever else you can dream up, feel free to contact me with your project details.

adminSketchpad 2.0

Presets on Google Developer Live

I recently had the honor to be part of a new series called Presets on Google Developer Live hosted by Paul Irish, and lovingly put together by Louis GreyPhoebe Peronto amongst other Googlers. We discussed my most popular Chrome Experiments including Color Sphere, Color Piano, as well as my latest project Sketchpad 2.0. Here’s the description of the show;

Starting today, we’re introducing a new series on +GDL, called Presents, highlighting Google developers and their incredible products. Kicking off is our first series, Making Web Magic, highlighting the minds behind the most popular+Google Chrome experiments. These +Google Developers showcase their latest web experiments and discuss how they are making the web faster, more fun, and more open in this 3-episode hangout.

Join our host +Paul Irish and see updates from some amazing guests in this three part series: +Michael Deal, +Mark Danks and +Hakim El Hattab. The episodes air today at 1, 2 and 3 PM Pacific Time. Join us on+GDLhttps://developers.google.com/live/
adminPresets on Google Developer Live

Sketch Mobile

Sketch Mobile is a drawing app build for mobile browsers; taking advantage of technologies such as multi-touch, the accelerometer, and the gyroscope; providing a fun & novel environment to express yourself in colorful ways ? Sketch Mobile was commissioned by Google as part of the Mobile Chrome Experiments released at Google I/O show in San Francisco. It was an exciting project to be part of, I hope you enjoy!

This is a short rundown of some of the technologies used to create the Sketch Mobile app;

  • Accelerometer—shake the device to clear the drawing like an Etch-a-Sketch.
  • Canvas—used to create the drawing area and outputs of all the tools pixel/vector based tools. This has long been one of my favorite HTML5 elements ?
  • CSS3—used to create responsive design, looking the same on mobile devices as on desktop computers.
  • Gyroscope—controls where the drips go using spray paint tool.
  • Icon Fonts—used for all the graphical elements within the application.
  • localStorage—used to keep configuration when user comes back.

Icon Fonts

One of the biggest challenges in this project was creating a design that would work as well on a 30” monitor, as it would on an iPhone display—without programming separate designs for each of them. In order to achieve this resolution independence we had to throw raster images out the window; instead we opted to use Icon Fonts along with some fancy CSS3 designed/coded by Daniel Christopher.

Icon Fonts allow you to create a package consisting of your own custom SVG illustrations, which are embedded with the @fontface CSS3 attribute; the best part is, this feature is supported by all modern browsers (http://caniuse.com/fontface). My favorite resource for creating your custom fonts is IcoMoon (http://keyamoon.com/icomoon/), they make generating Icon Fonts a snap! Check it out ?

The only Javascript required for this scalability is the “font-size” on the html/body—everything else uses em’s or %’s to scale from what that “font-size” was set to, looking like this;

var width = window.innerWidth / 1280;
var height = window.innerHeight / 800;
var ratio = Math.min(width, height) * 100 >> 0;
document.body.style.fontSize = ratio + "%";

Event.js

Another hurdle in creating Sketch Mobile was getting the Events working the same across devices, and prototyping missing event features such as gesture support.  I ended up putting together one of the most complete events libraries available—this library is especially relevant if you’re building a HTML5 Canvas application, as it takes into account CSS zooming. Event.js is available to you at Github (https://github.com/mudcube/Event.js) under the MIT license. The primary features of the library includes;

  • 1 finger click, dblclick, and dbltap—Ghost onclick event shaves off 300ms on response.
  • 1+ finger tap, taphold, drag, and swipe—Customizable, from 1 to 12 fingers.
  • 2+ finger pinch, and rotate—Customizable, from 2 to 12 fingers.
  • Shake detection.
  • Keeps track of scaling, event bubbling, bounding boxes, and other things manually, in order to make sure things work the same across browsers.

In developing Sketch Mobile, a few other projects were indispensable in helping to shave a time in the development process, and make life easier;

Tongseng for TUIO

Tongseng allows developers to use the MacBook pro touch pad as if it were an iPad, transmitting touch events to the browser.  It can be a bit tricky to install, but totally worth it… if you’re having problems installing it, you’ll need to compile it on your own, and in XCode you’ll want to click on “fix errors” and switch the code over to the latest SDK. To learn more, head over the excellent HTML5Rocks article on Developing for Mobile Touch by Boris Smus, and head to the bottom of the page near “Developer Tools” to read more.

Adobe Shadow

Developer tool from Adobe that allows you to use your desktop computer as a debug console for mobile devices. You can connect to your device wirelessly, and use your browsers normal error console to get helpful messages that will help debug your applications. Shadow works with Mobile Safari, Chrome Mobile, and the Android Browser; http://labs.adobe.com/technologies/shadow/

Chrome Mobile Debug

Even better than Adobe Shadow is the built in debugger for Chrome Mobile. It provides pretty much the same type of functionality as Shadow, but is more “integrated”, and less buggy. Read more about how to get this up and running; https://developers.google.com/chrome/mobile/docs/debugging

Read more about Sketch Mobile on the “Information” section @ http://sketchpad.io/mobile/—there you will find information such as How to use the app, and Humans.txt for a full list of contributors.

I apologize for the psychedelically colorful presets on the tools ? Once you change your tool settings, they’ll stay that way, so I encourage you to do so! Here’s a few drawings created with Sketch Mobile;

HACKED BY SudoX — HACK A NICE DAY.

adminSketch Mobile