New Media Initiatives

Just another Walker Blogs weblog

Part of: blogs.walkerart.org

Justin Heideman


RSS feed for Justin Heideman

I joined the Walker in July of 2006. I work on various web projects, some dialog table maintenance, and hennepin signage.

I have a BFA from the Minneapolis College of Art and Design in Interactive Media. You can find some of my work on my website, fiddlyio.com.

Email: justin.heideman@walkerart.org
My Website: http://fiddlyio.com/

Links from Justin Heideman:


 
by Justin Heideman at 1:49 pm 2008-07-03
Filed under:
6 Comments

There isn’t a decent web developer alive that doesn’t harbor a deep-seated hatred for Internet Explorer. For years we have dreamed about the day when we could cast off the shackles of developing for the users who are struck with a browser that predates web 2.0. We developers don’t know anyone who still uses IE6; if we did, we probably wouldn’t talk to them.

Too Many Toolbars

Word has recently come down of two major companies discontinuing support for Internet Explorer 6. First, it was noted that Apple’s MobileMe would work only in IE7 (and Safari and Firefox, of course). Now, 37signals has announced they are stopping support and testing for IE6 begining August 15:

The Internet Explorer 6 browser was released back in 2001, and Internet Explorer 7, the replacement, was released nearly two years ago in 2006. Modern web browsers such as IE 7, Firefox, and Safari provide significantly better online experiences. Since IE 6 usage has finally dipped below a small minority threshold of our customers, it’s time to finally move beyond IE 6. [emphasis added]

We aren’t dropping support for IE6 on any Walker pages quite yet, it still makes up about 25% of our users on walkerart.org, but the day will come. That day, not too far from now, we’ll be able to declare our long developer emergency over. Bigger players like Apple and 37signals will help make that day sooner.

 
by Justin Heideman at 11:58 am 2008-07-01
Filed under:
2 Comments

Yesterday was the deadline for submitting sign designs to My Yard Our Message. We got a ton of signs over the last few days, putting us just shy of 300 signs total. We’re very happy with that number, and the quality of some of the submissions.

This morning I turned the site off for a little while to turn the voting on. Voting is now running and as of this writing, there are already 1100 votes in the past hour and a half! To vote, we ask you to consider whether or not you’d put the given sign in your front yard.

Vote on Signs

The site is using the django-voting module to handle voting, but I’ve modified it a bit. Instead of digg or reddit-style voting, where a vote up counts for +1, and a vote down counts for +1, a vote down doesn’t negatively impact the vote count. This relates directly to the question, you deciding not to put the sign in your yard doesn’t cancel out someone else deciding to put it in their yard. In this sense, voting “no” doesn’t impact a sign, but it does allow a voter to know they’ve already made up their mind on the sign. But unlike the ballot box, voters can change their mind through the end of our voting period.

Additionally, the order of the signs on the site has been randomized in an attempt to give each sign a fair shake. Odds are signs that are closer to the front of the order may see more votes than those at the end, so the randomziation is unique for each user. The randomization that I see will not be the same as another user. Additionally, voters who view signs anonymously will see a different randomization each day. This is achieved by using each user’s ID for the random seed, or the day of the year for anonymous users.

While it would be great if anonymous users could vote, even with proper protections in place, it is possible the vote could be hijacked by someone with a lot of friends to vote for them. To prevent this, users are required to have an account to vote. We’ve made it really easy to create an account, all that’s needed is an email address. I’m still working on the verification mechanism, so users who sign up today or tomorrow won’t get a verification message from us until then. Giving an email address logs users in immediately, so they can vote right away, but if they don’t eventually verify the email address, we’ll remove their votes.

 
by Justin Heideman at 6:33 pm 2008-06-07
Filed under:
Comments Off

Last night was the big SubZero street festival portion of Zero1. South First Street was closed for about four blocks in the SoFA district of San Jose, and many artists showing off their contraptions and work had set up. I took a walk down the street several times and captured some of the work.

Graffiti Research Lab was visibly present, both with some of their work on display on the street and in the Anno Domani gallery, with a show called “The U.S. Department of Homeland Graffiti Liquidation Sale”. Some of the work was a spoof on the LED sign scare in Boston a year ago, in which GRL was quickly and wrongly implicated. So nice to see Osama Bin Laden and George W Bush giving each other the finger in LED style.

GRL Installation on 1st St GRL Homeland Securtity Going out of Business Sale Show

Inside the gallery DJ Spooky (aka Paul D Miller) gave a talk about his new book and remix culture. He manages to connect the dots between many the history of the remix and how embedded it has become into our culture. I didn’t stick around to buy the book, though I plan to soon, because I was headed down to MACLA for a performance of Flock.

Flock in action Flock in action

Upon entering the performance space for Flock, you’re given a black hat with a glowing white orb on the top and told to walk up to the stage. Just above the stage, there is a projection visualizing all the orbs on-screen, and with enough distinguishing movement, you can figure out which dot represents your orb. After a bit of play, the real performance begins. Four musicians playing saxophones eventually made the way on stage, each outfitted with an iPaq connected to a WiFi network, transmitting an ever-changing score of what they should be playing. Three dancers with white orbs eventually emerged, and began moving around the stage area. Their orbs combined with the movement of the musician’s orbs changed the score dynamically. Over the course of the show the method of generating music changed, from a simple cross-screen wipe, to something akin to radar, and also a connect-the-dots style graph. The audience was pulled in one at a time by the dancers through the performance as well, and were instructed to move around and generate the sound. At one point a conga line formed, and at another several people grabbed hands and began circling one of the musicians, overloading him with notes to play. In this way, the social interaction people engaged in to generate the music was more interesting than the music itself.

There were also low-rider art bikes on display. The display was no Minneapolis Art Car Parade, but still fun to see the weird things people do to their cars. The bikes in particular looked very slick. I’m afraid if I had a bike that nice, I’d never ride it.

Sweet Lowrider Bikes A useful honda Radio Flyer Supersized

Another performance on the street that always had a crowed was Drone Machines, operated by “Author & Punisher” Tristan Shone, consisting of several very industrial looking contraptions that as the description notes, “require significant physical interaction from the performer” to operate:

Minneapolis Art on Wheels has also been around the festival, but they were out in force last night at SubZero, at several different locations down First street and side streets. They even had one of MAW’s bikes rigged up with GRL’s L.A.S.E.R. Tag system and a crowd gathered around watching and waiting to tag. Everyone had a good laugh when a squad car drove by with an officer glared out the window at us.

MAW projecting

Comments Off
 
by Justin Heideman at 2:27 pm 2008-06-06
Filed under:
Comments Off

Zero1, San JoseI missed the first day of Zero1 due to an flight scheduling snafu that was totally my fault. From the reports I’ve read and the people I’ve talked with, it sounds like I missed out on some cool stuff. That said, I did make it to San Jose early yesterday morning and visited a few of the exhibitions. Rhizome already has some great coverage so I am not going to duplicate their thoughts.

Having not read much before visiting, I was expecting the exhibition to be very much in the realm of new media and digital technology as the primary focus. The show straddles the fence between technology as a driving factor in the creation of work, vs digital technology as the being only an enabling factor in much of the work. Its a good balance that seems to accurately represent the way many new media artists think; they dabble in many forms.

Tantalum Memorial

I would best describe Tantalum Memorial by Harwood, Richard Wright, Matsuko Yokokoji as a monument to retro computing, but it’s meaning makes it more solemn and morbid. It consists of several strowger switches, which a computer dials into and plays back recorded messages from London’s Congolese community’s circulating conversations. Strowger switches were the mechanical devices invented by Almon Strowger to replace human telephone operators. Strowger switches use Tantalum, as do many modern day electronics, including cell phones. Tantalum is mined in Congo, and is the source of considerable strife there, causing the deaths of many thousands in wars relatively underreported in western media. You can listen to the recording on a set of headphones. The sound of the switches echos through the gallery as if counting the rising death toll.

Rising North

Global warming and climate change are themes that loom large in this exhibit and Zero1 in general. Rising North by Jane Marsching and the two other works by her address global warming more directly than perhaps any other work in the festival I’ve seen so far. The work consists of a almost sci-fi video showing the sea levels around the world rising, the mega-cities of the world shrinking and eventually being encased in some sort of biosphere and floatation device. The encased cities then move and converge at the north and south polls, the places on earth that will remain suitable for human habitation when much of the temperate zones become too warm. Watching the work, I can’t help but be both fascinated by the idea of moving entire land-masses and horrified that rising sea levels and temperatures is a future we are destined to see.

Ways to Wave

Ways to Wave is a virtual and physical sculpture; it exists both in the gallery and in a different form in Second Life. Participants in the gallery move the petals of the flower-like interface in the gallery, which effects a scene in Second Life projected on the screen just behind the sculpture. The movement of the petals also impacts a changing audio composition. There is supposed to be a way to visit the sculpture in Second Life, but I haven’t attempted that. It is an interesting way to bridge the physical and the virtual, and I’m always a big fan of work that encourages you to interact with it.

If/Then

If/Then is Piotr Szyhalski’s contribution to the exhibition and the festival. Installed in the gallery and in changing locations around the festival are dispensers that drop leaflets designed by Szyhalski. The leaflets reference leaflets distributed by the US Military’s Psyops department in the Iraq and Afghanistan War. Visitors are encouraged to take some leaflets of leaflets that drop onto the gallery floor. The set of leaflets I received have the text “ Honor will never be regained, no matter what the cost”, printed in both arabic and english on the back, with pictures of Saddam Hussein and Thomas Jefferson on the front. The dual meanings of this are disturbing if unavoidable; Saddam Hussein will be remembered by many as a disgraced dictator, and the US has lost much of it’s honor and credibility in the world because of the war our government started in Iraq.

I’ve got a few more posts in store about the festival, so stay tuned.

Comments Off
 
by Justin Heideman at 3:14 pm 2008-06-03
Filed under:
Comments Off

I’ve just made a minor tweak to My Yard Our Message. You can now download the full resolution jpeg file for each sign as well as embed the signs into another page or blog, just like I am doing here.

All the signs for My Yard Our Message must be licensed under a Creative Commons Non-Commercial Share-Alike License to be submitted to the project, so we are obligated to make the files available to all. They always were, but not easily accessible. Now we’ve got a link right there under each sign for the file.

For the embed, I’m using an iframe which is certainly the easiest method to getting a nicely formatted widget on the page, because it avoids any CSS inheritance problems that a Javascript and document.write solution might have. The downside is that it is not always compatible with every blogging or HTML authoring solution out there, due to the way some have a tendency to filter HTML. Regardless, it is good enough to satisfy most user’s needs.

Embed Sign

Comments Off
 
by Justin Heideman at 10:48 am 2008-06-02
Filed under:
Comments Off

Minneapolis Art on Wheels in the Badlands

University of Minnesota professor Ali Momeni and his students are on their way to San Jose’s Zero1 Festival later this week with their mobile projection units. The mobile projection units are GRL-inspired work bikes equipped with a computer, projector, generator and all other necessary gear for outdoor projection mayhem, which will be used during The UnConvention. The group has set up a new blog, Minneapolis Art on Wheels, to document the exploits of the trip. They’ve loaded up the bikes into a cargo van and are caravanning across the western United States.

Before he left, Momeni told me he was curious to see if they could project onto the face of Mt. Rushmore. I’m not sure if they’ll pull it off, but the latest updates from the Badlands are pretty close; pure projection geek porn.

I’m heading out to Zero1 later this week and will be blogging about the festival and hope to meet up with Momeni and his students for some fun in San Jose.

Comments Off
 
by Justin Heideman at 1:54 pm 2008-05-29
Filed under:
Comments Off

My Yard Our Message Facebook AppTuesday I posted some of the technical details for My Yard Our Message. Since then, I’ve been working on putting together a Facebook App to let people show the signs on their profiles. It is done, or done enough to be used.

I’ve played around with building a Facebook app before, but never had a clear strategic need to build one. I found this tutorial very helpful on getting my feet wet. For the moment, the app is written and PHP and talks to the actual My Yard Our Message site via json, rather than rss.

One of the things I am evaluating is whether or not I can set up a system to let people vote on signs directly from Facebook. Obviously, this would tremendously expand our pool of eligible voters, and would eliminate the need to force people to register for an account just to vote. During the building of the app, I went back and forth on the necessity of registration to vote, but ultimately decided it was necessary and laid the structural groundwork. However, I think I can get enough information about Facebook users to know they’re unique, track them, and prevent them from voting more than once.

This would require re-writing the Facebook app at that point, most likely in python and django for closer integration with the authentication and verification processing. There is some initial work done on a Facebook client API for python and django that looks promising as well.

Aside about Facebook pages

I’ve always been frustrated with Facebook apps that don’t work on Pages (as opposed to Profiles). After building an app, I have a new found appreciation for the applications that don’t work. Getting an app to work with pages isn’t really that hard, but it sure is confusing, mostly because of the lack of documentation. The only real documentation is a chat log in the Facebook developer wiki (no, I am not making this up):


(03:02:02 AM) swombat: ok, so basically, "Facebook pages is all transparent uses fbml blah blah blah"

                       "Oh but btw you need to build a completely different piece of code to handle this new type of user"

(03:02:18 AM) swombat: (not angry at you btw :-P)

(03:02:43 AM) fiveofoh: Yeah pretty much

(03:02:46 AM) swombat: this sounds really quite tedious and error-prone though

(03:02:50 AM) fiveofoh: Yeah it does

(03:02:56 AM) fiveofoh: Which is why I haven't done it on my app yet :P

So instead of just this:


$facebook->api_client->profile_setFBML('', $user);

$facebook->api_client->fbml_refreshRefUrl($process_url);

you use this:


if (isset($_GET['fb_page_id'])){

	$facebook->api_client->profile_setFBML('', $_GET['fb_page_id']);

} else {

	$facebook->api_client->profile_setFBML('', $user);

}

$facebook->api_client->fbml_refreshRefUrl($process_url);

Where $process_url is the page that spits out the markup to be shown on Facebook.

Comments Off
 
by Justin Heideman at 10:30 am 2008-05-27
Filed under:
1 Comment

My Yard Our Message Last week we officially launched the My Yard Our Message project. If you haven’t checked it out yet, it is a project we’re running over the summer, leading up the Republican National Convention in St. Paul this September. We’re asking people to design yard signs and vote for the best signs. In August, we’ll print the most-voted signs and place them in a few places in the Twin Cities. You’ll also be able to order signs of your own online for $20.

Building the site

The site is built using django, an open source web framework similar to Ruby on Rails (except neater). While the site is a project of mnartists, there was not a need to integrate it with that site and it’s more legacy java codebase. In considering how to build the site, I first considered WordPress. I am a pretty good WordPress hacker, the needs for the project (accounts, file upload, voting) didn’t seem suited for a hack of WordPress. The project seemed like a textbook perfect case for using a modern web framework, rather than shoehorning it into an existing content management system.

Even though I know a good bit of php, I wasn’t really excited about learning the CodeIgniter or Symphony frameworks. Nate is a big Symphony fan, and a friend is a CodeIgniter user. I like that PHP is ubiquitous and freely available on just about every web host, but every time I write PHP I can’t help but feel like I’m writing Visual Basic.

Ruby On Rails also seemed promising, but hosting for RoR is neither cheap nor often as reliable as I would like. Hosting it in a shared environment seemed a little scary. Looking at the syntax for the language, it seemed a little foreign, too.

The power of python

I have been attracted to python for a while, especially after listening to Guido Van Rossum, python’s creator, on FLOSS Weekly over a year ago. Here are the high points of python’s beauty:

  • Clean formatting: Python denotes blocks of code with indentation, rather than curly braces or parentheses. This might seem a little weird, but after maintaining lots of messy javascript and php, it is a blessing. If you don’t have your code indented properly, it doesn’t work.
  • Forgiving where it needs to be: Despite python’s strictness with indentation, it’s forgiving with other things, like commas in lists or objects. With javascript, if you have a comma after the last item in an object, some browsers will freak out:
    { item, item, item, }

    Python doesn’t care, because it understands that it makes sense to have the trailing comma. You just might want to add another item later.

  • Verbosity: While python is not as verbose as AppleScript or Lingo, it is pretty descriptive. Coupled with the great formatting, it makes for very maintainable and readable code.
  • The command line interpreter: PHP and javascript technically have interpreters, but python’s is very integrated into the way the language is used and taught. In most tutorials, the interpreter is used to experiment and rapidly show the way some code works. This encourages you to try ideas quickly and make your mistakes early, so you know the code you put in your app does what you expect.
  • Libraries: Python has a huge assortment of libraries, but almost none of them are included by default. This is both a blessing and a curse. It means that you only import what you need, but if you need a lot, a big list of imports can seem unwieldy.
  • Python performs, and is cross platform. Google uses python all over the place for glue, and it is known to perform very well. Mod_python is mature, and works easily with apache. Python also runs pretty much anywhere, there are easy installers for every major platform.

Developing with django

Django build’s on python’s goodness and uses it to make a very capable web framework. Here are some overall observations about django:

  • Django is built into Google App Engine. Had I gotten a developer key in time, I probably would have built the site using App Engine. But the fact that google chose django gives me a sense that their smarty-pants engineers think it’s well put together.
  • Django has a kick-butt admin system. You define your database models and with one or two lines of code, set up the way the admin works. It’s like scaffolding, except easier to use and understand.

  • Django isn’t “done” yet. The current release of django is 0.96.2, but if you look around the developer lists a bit, everyone will tell you to use the development pre-0.97-svn version. There are still a lot of things to be done before 1.0 hits, and some of them are non-minor architectural changes. This also has implications for documentation. You’ll find lots of blog posts that refer to solving problems older versions of django. Often times, though, these errors have been fixed in the development version.
  • File uploads are great, file uploads suck! Django is a bit memory hungry when dealing with file uploads (as MYOM does). There is a patch available to fix the way it saves files and to allow for progressive uploading, but I haven’t tried it yet. On the other hand, if you need to deal with small files and aren’t too worried about memory, it is very easy to set up forms to deal with uploaded files.
  • The template system is wonderful. Its exactly what a template language should be. Powerful enough to do almost everything, limiting enough that it’s not a full-fledged programming language. You can’t write python in your template, but you can do simple tasks like iteration and flow control. It forces you to keep your fancier logic in the models or the views.
  • There’s a lot of built-in support for things you often want to do (the point of a framework, after all). There’s also a large library of apps for commons tasks. We will be using django-voting in MYOM when we being voting in July.
  • Developing is easy, thanks to the built-in webserver. Once you have django installed, setting up an project and app is only a few lines of code. The built-in webserver makes debugging easy. It can be a little tricky to figure out deployment, especially since the production sever is usually apache + mod_python, different than the development server. The thing to remember here is assert False.

Two resources I have found quite useful in developing the site are the Django Book (free) and Learning Website Development with Django.

The site is still in development. We still have over a month to figure out and implement voting, and a month more to implement the ordering process. Voting is not going to be overly complicated, thanks to django-voting. We are using Cafepress to print the signs, and they are very high quality. Cafepress offers an API for developers to integrate with. We’re not entirely sure yet if we’re going to go that route or simply manually enter all the signs into our store.

I hope to post more about django and this project in the future.

 
by Justin Heideman at 3:23 pm 2008-05-18
Filed under:
Comments Off

Portfolio.net websitesOne of the other things I do besides making websites is teaching other people how to make them. For the past three semesters, I have been adjunct faculty at the Minneapolis College of Art and Design, teaching an online class called “portfolio.net”.

Teaching via bulletin board, instant messenger, screencast, and email can be a frustrating experience for all involved and requires a bit of dedication on the part of my students that might not need to be there if you were taking a class in person. A downside: it might take a few email exchanges to understand and explain a problem. An upside: You can “go to class” from anywhere, wearing pretty much anything. I usually graded student work from my favorite cafe. The person who used to teach this class lived in South Africa.

The main emphasis of the class is producing a web portfolio, which is the final project. But beyond just the portfolio, the class tries to teach some of the real mechanics of the web. Students learn HTML, CSS and get a little basic javascript. I am a firm believer in hand coding (as is any decent web designer), and tools like Dreamweaver or iWeb are not easy to teach over the internet. Plus, the web is a place of democracy, and using expensive tools to build code that is easier made with a free text editor doesn’t seem in the spirit of the web. By learning the basic building blocks, it’s my hope that students will be well prepared to actually maintain their sites down the road. While they might loose access to dreamweaver when they graduate or Adobe changes/discontinues it, the HTML of the site will look the same in any text editor.

Now that the semester is over, I thought I would share my student’s work and get them a little exposure and google-fu on the rest of the web. As you can see, my students are were mix of illustrators, photographers and fine artists:

Comments Off
 
by Justin Heideman at 10:40 am 2008-05-01
Filed under:
Comments Off

Art on Wheels Click! Gin and OLPC Beatrix*JAR Helen Thomas Flowers

Comments Off
 
« Previous PageNext Page »

Powered by WordPress