Got a nice tip from Jason Sundram (thanks!) as a followup to the screensaver theme:
Websaver runs on MacOS and allows the user to specify a web page to load when the screensaver is active. And since it uses Safari to render the HTML (I assume), you can use HTML5 and Processing.js to run computational sketches on that web page.
It’s a nice hack to enable easy development of screensavers based on open web standards, without having to worry about interaction with the OS etc. In fact, it’s nearly as good as my Google Chrome screensaver idea, minus an app store etc.
09:00 | January 29th, 2012 | marius watz | +del.icio.us | +digg | trackback
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.
13:36 | January 27th, 2012 | marius watz | +del.icio.us | +digg | trackback
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 »
16:50 | January 17th, 2012 | marius watz | +del.icio.us | +digg | trackback
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
12:07 | January 16th, 2012 | marius watz | +del.icio.us | +digg | trackback
13:38 | January 12th, 2012 | marius watz | +del.icio.us | +digg | trackback
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.
17:45 | November 21st, 2011 | marius watz | +del.icio.us | +digg | trackback
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
08:19 | October 22nd, 2011 | marius watz | +del.icio.us | +digg | trackback
The Interactive Parametrics workshop with Studio Mode and MakerBot is going well, resulting in MakerBot-ready models generated from Processing sketches. Take a look at the slideshow above to get a preview.
Plenty of models have been going up on Thingiverse, tagged with intparam2011. I’ll be posting code and more pictures after we wind up the workshop tomorrow.
09:53 | February 21st, 2011 | marius watz | +del.icio.us | +digg | trackback
This weekend I’ll be teaching the Interactive Parametrics Workshop with Studio Mode (Gil Akos and Ronnie Parsons) and MakerBot (represented by Bre Pettis). We’ve been planning this for a while, but since it’s happening during my residency at MakerBot we thought it’d be fun to focus on the MakerBot as a possible output method. Our thanks to Bre and the MakerBot crew for supporting the workshop!
With a good mix of architects and code-hacking designers as our participants it should be an interesting weekend. We will be posting the resulting code examples and STL models after the workshop.
Tools & libraries
Read the rest of this entry »
04:15 | February 18th, 2011 | marius watz | +del.icio.us | +digg | trackback
I’m excited to announce that I will be doing a workshop in interactive parametric modelling with Studio Mode and MakerBot in New York, Feb 19-20 (with an optional extra day on Feb 21).
We will be using Processing along with CAD tools like Rhino3D to produce parametric models to output 3D models for digital fabrication. MakerBot Industries have graciously offered to lend us some MakerBot Thing-o-matics to produce models from the workshop. Participants are also free to use on-site KNK High-Force cutters.
The full announcement follows below, please visit Studio Mode’s announcement for enrollment and more details. Also check out the series of Processing primers I’ve been writing in preparation for the workshop.
Read the rest of this entry »
09:53 | January 14th, 2011 | marius watz | +del.icio.us | +digg | trackback