I just posted the set of daily photos for 2015, wrapping up the 9th year I’ve done a 365photos project.

Screen Shot 2015-12-31 at 2.23.03 PM

I’m trying a new publishing tool – instead of generating static HTML from Aperture, I’m exporting 960px-wide images from Photos, uploading those to my server, and using UberGallery to generate the web pages automatically. I haven’t done much with metadata for the photos, so I’m just showing the photo and a title if available. I saved a snapshot of the generated HTML as the index.html file for that directory, so the server load should be pretty trivial, and it shouldn’t require active PHP scripts to run in the future…

Now, to start year 10 tomorrow…

Why Facebook (kinda) won

Mike Caulfield has a good post about how Facebook and siloed social media got traction in ways the blogosphere circa 2005-2008 never maintained. He has a good point about the user experience – people aren’t going to go look at 10, 100, 1000 different websites with different graphic designers, publishing models, and navigation structures. That’s where the simplified UX of Facebook comes in. A single stream, pulling stuff from everyone a person cares about. And that jerk from junior high.

But, if it was just about having a streamlined user experience and consistent email-like interface, RSS readers solved that a decade ago. Google Reader was that. Fever˚ still is that for me. I don’t think that’s why Facebook is where every non-geek hangs out. I think there are a few reasons why people are there:

  1. Because non-geeks don’t want to publish openly. They want to share things with their friends, and only their friends. I also see this with instructors and students – many just want to share with people in their class/section/group. That’s why the LMS is still so core on campus – it’s basically a clunky version of the Facebook UX pattern – share stuff with the people in a small context, and only those people. Ask non-HTML-syntax-nerds about how they share things. Many will say “share? Why would I do that? That’s so high school! Why would I want people to know that?” Or “OK. Maybe my friends would be interested in photos of my vacation. But I sure as hell ain’t posting them on the web!” Or some variant. Facebook soothes people into thinking they’re sharing only with people they’ve let into their groups. That’s something that the blogosphere never did, and it’s something that held back a lot of people from participating in the open blogoweb back in the olden days.

  2. Because normal people don’t want to think about stuff like domains, or backups, or updates and patches, or plugins and modules. They just want to see what their friends and family are up to, and maybe post some clever photos. And, although webstuff is way easier to manage than it was back in the dark ages, it’s still not as easy as it needs to be for dad to use it.

  3. Because that’s where everybody is. Facebook feels like a place. It’s tangible. That’s also something that the distributed blogothingy never achieved. It’s something different for every participant or observer. Facebook is Facebook. Everybody is there. Because there’s a “there” there.

So, we can either fight against Facebook and insist that everyone leave it and do things The Right Way™ – or come to terms that for the vast majority, Facebook (or the siloed design pattern represented by Facebook) is what they are comfortable with. And that’s OK. That doesn’t stop anyone from doing things more openly. The web is what we make of it. If we think there are better ways, and that openness is important, we need to continue modelling and exploring. But we can’t expect people to follow. Or to even be interested. Or to not think we’re freaks for doing things out in the wilderness.

And maybe, part of our explorations will involve finding ways to make the wilderness more approachable. Maybe we’re building trails and national parks so city folk can experience things they wouldn’t otherwise experience. I’ve got some ideas about that, and am hoping to get the chance to help build some stuff…

Online courses, circa 1995

 The web has evolved beyond tiled backgrounds, cgi-imagemaps, table layouts and RealAudio. But the basic shovelware course design pattern is still kind of prevalent 20 years later…


Resurrecting ancient CD-ROMs with VirtualBox and Windows Virtual PC

I have a stack of old CD-ROMs from projects ranging from 1995-2003. I wanted to save a few of them to add to a portfolio of projects, before the projects were lost forever. It’s ironic – back in the olden days of multimedia, we burned fancy new CD-ROMs that were sold as “100 year archive medium” – costing $30 or more per disk back then, and we figured it was money well spent. Now, just 20 years later, most of those archival “green media” disks are completely unreadable, having degraded already. Thankfully, I have several projects that were commercially distributed, meaning I have actual pressed CD-ROMs rather than DIY burned disks. These disks read just fine – and should for decades to come.

But, none of the computers I use even have an optical drive. Back then, we figured the format would live forever – I mean, 650 MEGABYTES? That’s a LOT of data! We’ll always want to be able to read/write that kind of stuff. Now, GarageBand on my iPad takes more storage. So, while Evan’s now-ancient Macbook still runs, I decided to try to resurrect the CD-ROMs as screenshots or recordings.

Step 1. Convert the CD-ROM to a disk image. I used the nearly-decade-old Macbook just for the optical drive, running Disk Utility to create the .cdr disk image from each of the disks I wanted to save.

Step 2. Copy the disk images to a computer with enough horsepower to run VirtualBox. In my case, my 4-year-old MacBook Air. Not a fast computer, but it has enough horsepower to run VirtualBox if needed.

Step 3. Download the official Virtual PC Windows XP appliance from Microsoft.1 Microsoft offers legitimate virtual disk images of several flavours of Windows to allow for easy testing of Internet Explorer. But, they’re full copies of Windows, so you can also do things like run CD-ROMs…

Step 4. Set up a new virtual computer in VirtualBox. Import the appliance file downloaded in Step 3, and it will set up a new virtualized Windows XP system to run.

Step 5. Start it. I set mine to use 640×480 resolution so the CD-ROMs would play full-screen.

Step 6. Attach the .cdi disk image of the CD-ROM to the (virtual) optical drive. If the CD-ROM has auto start, it kicks in right away. If not, right-click on Start menu and Explore. Launch the installer or application on the CD-ROM.

Step 7. Revel at how horribly most CD-ROM interfaces look in 2015. Take screenshots. Use Camtasia etc. to record demos.

Step 8. Repeat as needed, with different CD-ROM disk images.

Some screenshots of the process:

Screen Shot 2015-12-28 at 12.20.32 PM
Setting up the VirtualBox instance, after importing the appliance image from Microsoft.
Screen Shot 2015-12-28 at 12.21.13 PM
Windows desktop, with instructions provided by Microsoft for how to renew the license on the demo VM if needed.
Screen Shot 2015-12-28 at 12.21.38 PM
It’s a full version of Windows XP – Start menu and everything. So… install some CD-ROM retro goodness…
Screen Shot 2015-12-28 at 12.22.09 PM
Running the CD-ROM installer from the Windows Explore interface.
Screen Shot 2015-12-28 at 12.22.56 PM
Behold! Multimedia awesomeness from the year 2000!
  1. It’s the same VirtualPC brand – Microsoft bought it a few years ago []