While preparing for teaching a course in data tracking I was very happy to discover the excellent Unfolding library for making interactive maps in Processing. Unfolding makes it possible to create just about any kind of tile-based mapping application with a minimum of code, simple map drawing typically coming in <20 lines. It's perfect for visualizing FourSquare, OpenPaths, GeoRSS or any other kind of geo-based data. Now if I could only figure out how to control the timing of the map tweening, right now it feels more like jump cuts than smooth pans.

Here are three examples showing a simple map display and two demos using geo data from OpenPaths in CSV format: 20120127_unfolding_map_examples.zip

Update: The lecture notes about infoviz and self-ethnography are online on Scribd, it’s basically the same lecture as two years ago.

No Comments »

After posting my Screensaver Culture presentation yesterday it was blogged on Creative Applications by Greg Smith and I’ve gotten quite a few responses on Twitter. Some of the comments are on point and some are just funny.

Below is a more or less complete list. In summary, the arguments are roughly as follows:

  • “Screensavers are outdated / unnecessary.” Well, yes. But that has never meant much in terms of deciding whether a cultural phenomenom succeeds or is banished to the Wasteland of Forgotten Memes. Tamagotchis or animated GIFs, anyone? 90% of all iPhone / Android apps are unnecessary for everyday living, yet the smartphone app culture is a runaway train.
  • “Developing screensavers is currently way too hard.” I share this sentiment and suspect it to the main culprit along with its corollary: “Installing screensavers is too hard / scary / likely to mess with the rest of my computer.”
  • “It’s impossible to improve on flying toasters.” This terrifying thought is exactly why I would suggest screensavers need revisiting.

In conclusion: Between being tricky to develop and just as tricky to install and successfully use, screensavers stand no chance of recovering ground as a cultural phenomenom. Despite their close link to the app culture that is currently dominating our lives, screensavers (aka “ambient software”) will get no love.

This might not seem like such a terrible loss, but I still posit that ambient data gadgets with possible integration to web / mobile apps would’ve been a great usage scenario. There are some ways this could still happen:

  • Microsoft and Apple realize the lost potential and relaunch their screensaver frameworks complete with app stores for screensavers. (Unlikely.)
  • Google develops a screensaver mode for Chrome as part of their Chrome apps initiative and allows sales of screensavers through the Chrome app store. (Entirely possible if a little optimistic. My favorite option by far, though. Google, are you listening?)
  • In both these scenarios, new screensavers would be based on HTML5 with WebGL, allowing them to be cross-platform and based on open standards. Because you all understand that proprietary is stupid, right?

A sad footnote: I had to uninstall the brilliant Briblo screensaver after realizing it was interfering with the taskbar on Windows 7. So I’m back to the ever popular blank screen, like so much of the world population.

The Tweets

Read the rest of this entry »

3 Comments »

Update: After this was posted it got blogged on Creative Applications and I’ve received quite a few responses via Twitter. See the separate post “Screensaver Culture – Twitter responds” for a summary, as well as some further thoughts on the demise of the screensaver.

Task: Make a screensaver for 2012
  • Your task is to come up with a concept for a screensaver that is both suitable to the screensaver format and updated to a 2012 understanding of interaction design. We are looking for ideas that go beyond the traditional screensaver format, or which reinvent that format by applying design thinking to a field full of visual cliche.
  • Two general directions are suggested (but not required):
    1. Ambient data gadgets – screensavers as data aggregators and visualizers.
    2. Computational graphics – parametric visuals.
  • If your idea is too ambitious to realize in a 3-day time frame we want to see convincing screen mockups of how the screensaver would work. But we would rather see a real demo that’s rough around the edges than a slick Photoshop sketch. You must submit at least one Processing sketch illustrating part of your screensaver’s functionality.
Screensaver Links

3 Comments »

No Comments »

Just a quickie to provide a link to the files for today’s Processing intro workshop:
AHO Processing intro.zip.

I stupidly forgot to bring my USB stick, so please download from here. Also, download Processing 1.5.1 if you don’t have it on your computer.

No Comments »

Arc mesh tool created with Modelbuilder and ControlP5

I did a short lecture + workshop about digital fabrication and parametric modeling with Processing yesterday at NYU’s ITP program. Thanks to Dan Shiffman for the invite, it ended up being a lot of fun because of the great turnout of enthusiastic ITP’ers. It certainly made me even more regretful that I was unable to teach a fabbing course at ITP this semester, but with luck there will be other oppportunities.

As promised I have uploaded the pre-written examples I demo’ed as well as the code I (frenziedly) wrote live during our 1.5 hour coding session. The focus was to demonstrate the logic of the Modelbuilder library, a set of utilities and aimed at abstracting and simplifying some common tasks in computational creation of 3D meshes.

The library is really not all that sophisticated, but it shifts the focus away from OpenGL drawing logic towards a more object-oriented way of imaging 3D forms based on UVertexList objects. In a typical situation it should simplify a lot of tasks, as well as save dozens of for() loops and repetitive code. It also allows some pragmatic coding (aka “lazy”) coding practices enabling easy reuse of geometries due to the assumption that operations like “new UVertexList(vl)” should always copy input data by content rather than by reference.

I’m pleased to say that Modelbuilder performed well in the demo session, there’s nothing like live coding to reveal weaknesses or inconsistencies in code. But the Modelbuilder logic proved consistent under stress testing and we were able to do some pretty decent mesh generation in a limited amount of time.

Download: Workshop Code

A ZIP with all the files shown (including the Modelbuilder and ContolP5 libraries) can be downloaded from http://db.tt/5Ehmn6uz. It includes the following code examples:

  • simple_geo_arc_4 A tool for creating a composition of 3D arcs (w/ valid face normal orientation and passing the “waterproof” criteria for 3D printing), generating output to STL format. This was written live in around 30 minutes.
  • mb_04_gui_parametric A parametric 3D form generator created for my Makerbot residency – results look valid on screen but for some reason export to STL results in flawed models. I’ll look into debugging this example.
  • mb_04_gui_heightfield An example showing how to create a heightfield mesh from an image, allowing interactive control of mesh resolution and Z scaling. Potentially useful for geographical elevation maps and Kinect depth maps.
  • A set of examples demonstrating the core Modelbuilder functions

4 Comments »

This blog has been quiet for a while, due not to laziness but rather lack of time. Some random notes to let you know what I’ve been up to:

  • I just set up a Tumblr blog to post more theory-related thoughts that don’t fit this blog so well. First post: Things I’ve learned from disagreeing about (Media) Art on the Internet
  • I’m working on some new objects for 3D printing, experimenting with interfacing Modelbuilder to Wblut’s Hemesh library. I have some promising results so far, but actual print tests remain. I will try to post more about this later, specifically providing a class that acts as a bridge between my UGeometry objects and the HE_Mesh data structure. Interchange of mesh data is the biggest issue for 3D libraries right now, hopefully the upcoming PShape3D structure will facilitate this.
  • The Modelbuilder lib is due for an upgrade, I’ll do this when Processing 2.0 is out for good.
  • I had a great time doing a solo show in San Francisco this summer, as part of the SF Film Society’s Kinotek series, see documentation on Flickr: SFFS Kinotek – Automatic Writing. Thanks to Sean Uyehara and the others at SFFS, as well as the excellent people I met during my stay.
  • The SF show featured the biggest collection of Makerbot objects to date – about 25 pieces: Form studies (Makerbot). As always my thanks go to the Makerbot clan for excellent support, at the craziest I had 6 Makerbots printing at once.

No Comments »

So I just woke my wife up at 4am because I thought the Flux Factory WordPress site had been seriously hacked and content deleted. Every page I visited had randomly generated Viagra drivel all over it, looking bleak indeed. I was imagining that some hacker might be in the admin role at that very moment, corrupting the SQL database that is the lifeblood of any blog, and which frankly rarely gets backed up. It’s an easy way to lose months of work.

Thus Christina had to get out of bed and provide me with passwords, with a view to do an emergency blog database backup. But then I checked the pages again and the Viagra spam was magically gone. A test on two other computers revealed the site to alive and well. Which leaves only one conclusion: My work laptop is infected, interestingly enough with a virus that is inserting its own toxic HTML into valid HTTP requests. I can only imagine what it might do to my entered passwords.

Ugh. I’m currently scanning disks with AVG Rescue on a USB stick and anticipating changing a lot of passwords, fair punishment for being too lax about security and maybe downloading the occasional file of ill repute.

Remember, kids: Scan and backup, duck and cover!

Update: Turns out the problem is on the Flux server after all. There is a nasty WordPress infection known as WordPress Pharma that will inject Viagra spam into web pages, but oddly enough only as they are presented to search engines. So the database etc. is untouched but I need to hunt down those rogue PHP files and exterminate them.

No Comments »

Ryoji Ikeda’s “The Transfinite” installation at the Park Avenue Armory.

If you’re fortunate enough to be in New York anytime between now and June 11, 2011 you should make every effort to see Ryoji Ikeda’s “The Transfinite” installation at the Park Avenue Armory. It’s a massive audiovisual experience in two parts which should convince the most sceptical of audiences that maybe this whole “new media” thing has something going for it after all.

1 Comment »

On the occasion of a recent graduate show students from Berghs School of Communication in Sweden have conducted a series of interviews with some very bright people about the fear of failure. Predictably, many responded with the old adage: “Embrace failure.”

While undoubtably true, that idea requires some translation in order to make into one’s personal practice and to most students it seems tremendously unhelpful. So Milton Glaser’s comments stand out by going far beyond simple encouragement. Instead he outlines an excellent argument for why the fear of failure leads to stagnation: If you only do what you’ve already proven to be good at, in the future you will always be asked to do that type of specialized service. As a result creative development ceases and rot sets in.

All creatives develop their own arsenal of tried-and-tested tricks. I’m certainly guilty of that. But I am always most impressed by people who take chances with their work and trust their instincts. I am also most pleased by my own projects when I feel they go beyond what I already know. So I for one think Mr.Glaser’s advice is damn good advice.

Make sure to watch the whole thing, it’s some of the most useful 7 minutes and 30 seconds you’ll spend this week…

4 Comments »