Canvas hue manipulation basics

purpleshirtGood morning! If you follow me on Twitter, you might have seen the Canvas demo I shared on Friday that demonstrates shifting the hue of an image in-browser.  This post is a brief write up of my code for the page so that you can achieve similar effects. I also made some choices in how information is gathered by the script that might seem strange initially. Let’s take a look.

Continue reading

Network Graph pt. 2

network-graph

I finished work on the network graph for OHSU! You can check out a version with example data here. Let me know what you think!

I really enjoyed working on this project because it challenged me in two areas where I’ve been lacking – familiarity with DOM manipulation, and online SVG development. D3 is a heavy lifter in terms of what you can do with the DOM. There are a couple of features that SVG ought to have or that D3 could fake, like z-index control. Right now there’s no way to specify how objects stack in SVG – it’s all done in DOM order, which even with D3′s sort functions can give you a headache.

After developing this project, I’ve decided that I want to give Canvas some space for a bit to increase the depth of my SVG knowledge. This weekend I’m going to be participating in Ludum Dare 26, and I’m going to use AngularJS in conjunction with D3 to build a simple online game. Angular’s tutorials are a mixed bag – definitely more detailed than Meteor’s, but pretty dry. I gave up on the official tutorial by about chapter 8 (it’s like listening to someone explain a board game to you for hours), and moved on to John Lindquist’s videos, which focus more on making things work upfront.

I wasn’t initially going to go with Angular for LD26, but Meteor’s lone Windows port is going away, and if they have no intention of keeping the framework accessible for those of us on Windows machines, I’m not going to bother with workarounds. Not that I’m a Windows fanboy, it’s a matter of practicality. Something else I feel the same way about is Vine’s lack of Android support. They’ve had a job posting for an Android developer on their site for months, but no other movement. It seems to me that if you ignore half of your market when you launch a web service, you’re probably not growing strong roots for a long-term strategy. But what do I know, Instagram is an exception to this. We shall see.