The treachery of web addresses

Ceci n'est pas une TypePad blog.

posted by markpasc at 19:14 on 19 Aug 2009

A disappointing day

A couple weeks ago in our standup I noted conversationally that it was Thor’s day, which is confirmed by this list of days and their meanings (found from Coudal Partners). I find it inspiring that Wednesdays (so far as I can defend mine) are days of a wild hunt at work too… well, a very different kind of wild hunt. Anapocalyptically, they can be days of eloquence, science, and invention (and thievery) instead.

I was driven to write here with all-new software so that, if I ever figure out precisely what the fuck I care about, I may once again have a history in the public record that’s fully independent of the internal machinations of my job. My willingness to invest myself in software just because I’m paid to help make it is possibly at an all time low; simultaneously, my ability to influence what goes into the software I help make has been systematically removed. That correlation highlights that it never mattered at all that I was paid to make it, but that I could recognize I made something good.

It’s not that nothing fun or good is happening at work. Rather, it looks inevitable that working at a real company means a slew of people are paid more than I am to make sure we do nothing exciting or inventive. Yes, it’s probably that I want to go off on a wild tear, but weighed against my contributions dissolving in a brown muddle, I know which I think I prefer.

posted by markpasc at 05:52 on 13 Aug 2009

The media center business model

If only I had a product team to do my bidding, I could make the awesomest media center app ever. Not only do I not have a product team, though, but it's impossible for me to do so, for reasons Khoi Vinh lays out: business reasons.

This is the free market at play, industrial competition in full effect: every device manufacturer, content creator and software publisher is competing to create the most commercially competitive subset of video entertainment or peripheral, but doing so in nearly complete isolation from one another.

Tivo's historical focus on design, for example, makes it seem like they would do a great job with this--but they can't sell a box with Hulu in it. The TV networks won't allow it. The only folks who stay under the radar enough to unify the closed media sources are the small teams and open source projects doing gratis software, which is not a recipe for great design.

posted by markpasc at 20:27 on 05 Aug 2009

Twenty-two panels of progress

I wouldn't call myself a fan of comics, but the idea of Wally Wood's 22 Panels That Always Work should be interesting to anyone who does creative work. Wood is noted to have posted a reminder to himself of that core idea:

Never draw anything you can copy, never copy anything you can trace, never trace anything you can cut out and paste up.

This idea is challenging, since all the hack day side projects I do are really "noodling." I can see the Platonic concept of repeated work, the metaphor of sharpening tools instead of inventing. So are these side projects more useless whittling, or experimenting?

As Jeff Atwood notes, after a career figuring out how to manage software projects, Tom DeMarco thinks software is necessarily experimental (PDF), that control of software projects needs rethought:

The book's most quoted line is its first sentence: "You can't control what you can't measure." This line contains a real truth, but I've become increasingly uncomfortable with my use of it. Implicit in the quote (and indeed in the book's title) is that control is an important aspect, maybe the most important, of any software project. But it isn't. ...

To understand control's real role, you need to distinguish between two drastically different kinds of projects: [projects that deliver marginal value and projects that deliver a vast amount of returned value]. What's immediately apparent is that control is really important for [marginal projects] but almost not at all important for [awesome ones]. This leads us to the odd conclusion that strict control is something that matters a lot on relatively useless projects and much less on useful projects. It suggests that the more you focus on control, the more likely you're working on a project that's striving to deliver something of relatively minor value.

(I'm not sure how it's "immediately apparent" that control is unimportant on awesome projects, but maybe that's my inexperience.)

As an experimental pursuit, there's necessarily some wasted effort that can't be controlled away. Seems like the whittling-experimenting dichotomy is unnecessarily divisive. Software development isn't unique that way; creative work can be each, to different degrees. Messing around on an unrelated project can provide new insight (or even reusable code).

I think of it as in one of my favorite Richard Feynman stories, "The Dignified Professor," when he remembers what human creative endeavor is ultimately about:

Physics disgusts me a little bit now, but I used to enjoy doing physics. Why did I enjoy it? I used to play with it. I used to do whatever I felt like doing--it didn't have to do with whether it was important for the development of nuclear physics, but whether it was interesting and amusing for me to play with. ...

So I got this new attitude. Now that I am burned out and I'll never accomplish anything, I've got this nice position at the university teaching classes which I rather enjoy, and just like I read the Arabian Nights for pleasure, I'm going to play with physics, whenever I want to, without worrying about any importance whatsoever. ...

And before I knew it (it was a very short time) I was "playing"--working, really--with the same old problem that I loved so much, that I had stopped working on when I went to Los Alamos: my thesis-type problems; all those old-fashioned, wonderful things.

Perhaps that gets to the idea of professional art: when you're on someone's moneyclock, don't waste timecash treading old ground, if you can help it. Wally Wood was a drawing machine, and couldn't waste time; you need those 22 panels in your back pocket when you're stuck on some problem you can identify as insignificant and uninteresting. (This is probably the most useful way to look at software design patterns.)

Real progress comes when, with mastery, you can identify those useless situations, and still play in the others.

posted by markpasc at 17:12 on 24 Jul 2009

Slow posting

I planned on posting about "my new place" and writing only about my apartment, since I never really mentioned moving to San Francisco anywhere. Instead I am going to mention this new blog first, though only to say: wow, I missed posting for a whole week.

Partly that's because it's hard to post here: there's no actual interface for doing it. Instead I have to write the post, then write a little code to actually post it. Hopefully I can fix that and start posting more.

You can see in this screencast here. (It's even harder when I want to post images.)

posted by markpasc at 20:23 on 22 Jul 2009

Best laid plans of mice and media centers

I've been working on this blog the past few hack days, but I think today I might explore Remedie some more. The first time I tried to install it on one of my development boxes, there were some failed tests way down its dependency forest, and I didn't feel like babysitting it. Now there's also a native Mac "desktop" build, which is one thing I wanted, and the distasteful alternative is to write a media center myself.

I tried Boxee a while ago, and gave a look at Plex, but there's a particular thing in their XBMC heritage that turns me off. When you start up Boxee, you get these menus:

boxee-top-menu

boxee-apps-menu

boxee-video-menu

boxee-netflix

The problem is, fundamentally, I don't care where the media is from. I want to sign up with all my accounts and have the software handle the differences in services. Gimme Lie to Me, Doctor Who, and Co-Op in a unified UI; I don't care that they're Hulu, Netflix, and an internet Revision3 podcast thing.

This idea is where gopher came from: it's the nascent media center app I started, from the conduit-centric idea of mixing and matching media from different sources into one cohesive library. As you might guess, it doesn't actually do much; right now it's a command line tool that can:

  • Save your Hulu name
  • Authorize against your Netflix account using the API
  • Print a unified queue, bucketed into "movie" or "tv show"

I could either work on strapping an interface onto gopher, or see if I can't get Remedie to do this too. With other people already invested in Remedie, it makes so much more sense to work together. I just have to see if I can

Further embellishment

Once I decided I might start writing my own media center, I started planning longer term. I came up with additional features that, if I could do them right, would make it worthwhile.

Mac

I pictured gopher as a Mac program, much like the XBMC apps with their own full-screen UIs. It could use the OS's Quicktime facilities to play native and downloaded files, embed Webkit views for web content like Hulu and Netflix, and generally run on Mac minis. As a Mac app, it would also need a really polished UI in general.

The name "gopher" half came from the idea that a media center app is really a series of menus, like the original old-school internet gopher, but I also imagined there'd be a cartoon gopher character. Interrogative dialogs and Growl style pop-up during the menus it might be a useful conceit, an excuse to make the app act friendlier. OTOH in my head the gopher looks a lot like that chipmunk from Peggle, which would be hard to get away with. (He would have 3-D glasses. I would have to hire an artist.)

Social

There's not a lot of reason to write single-player software nowadays. Media center software by itself kind of is, since you can watch things with other people, or talk about what you watch with other people later--but there are several key features that would make it a real social experience.

  • Online multiplayer. One of the original promised features of the Xbox's Netflix streaming was you could have an online viewing "party" the same as you could form a party and play a game. You could do this manually, of course--it works well for IRC movie nights--but support for automatic chat groups and synchronized pausing would make it easy and fun instead of a hassle (and fun).
  • Achievements. Any time you want to make an application hip and social someone is all ACHEIVEMENTS!!$@#, but thesixtyone shows some interesting ways to add achievements to media. I figured you'd have some achievements like "Watched n Criterion Collection films."
  • A host. The app would share Twitter style editorial news from the internet. Again, thesixtyone has an interesting similar thing: musicians who upload can add comments that pop up in their Growl style bubbles, almost Pop-Up Video style, as the song plays. (You don't want notices popping up during a movie, though.)

I glossed over the obvious basics (contact lists and profiles with actions/history) but they do underlie the above, so take them as read.

Control

A favorite feature of media center apps is when you can control them with remote tools. In an internet media center a keyboard is useful for passwords and such, but the precision of a mouse just interrupts the ten foot experience.

When you have several people sitting around a TV, though, you may not have enough Apple Remotes to go around. If the software has reason to engage multiple people at once, it would be helpful to work with as many different remote controls you may have lying around as possible.

My media center would offer a UI engine that supports multiple forms of control. Since it's just a lists-and-buttons UI, that scales okay--none of the control schemes are really that different--but you would get to use whatever remote control hardware you already have:

  • Apple Remote gets the gopher (real old-school internet gopher) style menus you usually have with an Apple Remote.
  • Xbox/Playstation controller players might get a similar menu-based UI, but with a little more freedom for the improved accuracy and latency, and with additional actions mapped to buttons.
  • Wii Remote players would get a point-and-click UI familiar from the Wii, and could use the grab-and-drag gesture to reorder queues (for instance).
  • iPhone users would get an adaptive software UI, as in the iTunes Remote app(s) for iPhone, with possible dragging or other multi-touch functions mapped to the iPhone screen.

There's a spin-off idea here, which is a multi-control game. I figured it'd be easier to write a version of Asteroids, say, that used the multi-control system first. You'd pick which kind of controller you use and you'd get a different kind of ship with a different power:

  • Xbox/Playstation controller players would get dual joystick shooter control. (You might also get special chording or button-oriented control, since those controllers have so many buttons.)
  • Wii Remote players could fling asteroids around with the grab-and-drag motion.
  • iPhone players could shrink and grow asteroids with the pinch gesture.
  • Keyboard players could blow up asteroids remotely, Typing of the Dead style.

That's still a lot to chew on. (If the goal is also to have a real playable game, it may even be more work.) Even so, I'm not going crazy and saying there's webcam control or anything.

In conclusion

Also, a pony.

posted by markpasc at 17:58 on 15 Jul 2009

Ramp Champ?

From the teaser page, Ramp Champ seems to be like PackRat (or maybe Treasure World), but for the iPhone.

So it's another version of that game I can't play, as it's for a platform I don't use.

posted by markpasc at 20:57 on 13 Jul 2009

More like LAME amirite

It was totally worth the $5, but I was kind of disappointed in Loom.

I was pretty stoked that Lucasarts was releasing some of their later adventure games on Steam, and when they came available last Wednesday I picked up The Dig and Loom for $5 each. (I'll surely get Day of the Tentacle if they release it too, but so far it's only been games with existing Windows executables, apparently.)

The good news was it was a fun little adventure game. The bad news is I finished it the night I bought it. It was only like four hours from start to finish. Braid was at least more like six; I had to stay up late, when Loom left me with time to read before bed.

I did peruse the Steam forum for Loom while I was trying to figure out how to make the game fullscreen (use good ol' Alt-Enter), and caught this thread about versions of the game. Since this first batch are the existing Windows executables, it's the "PC CD-ROM re-release" version with talking and no background music. Apparently an updated version for the FM Towns is regarded as the best, since they sacrificed background music, some dialog, and "alternate solutions to puzzles" (!) to fit it on a CD-ROM.

Still, as I said: definitely worth $5 for an evening's adventuresome entertainment!

Loom

Loom is a classic point & click adventure game from LucasArts. In Loom, classic point & click gameplay is combined with a highly original setting and story, featuring swans and musical spells.


posted by markpasc at 00:01 on 11 Jul 2009

The news about Emusic

For those of you who don't care, since the iTunes Store hit it big Emusic has been variations on "the biggest indie music store on the web" which is fairly accurate. Their big problem is they've been DRM free since forever, so their catalog has included only indie labels who would do their deal. Contrariwise, their big draw has been that their "subscription" model made what music they did have dirt cheap; for the past while I've nominally been paying $0.22 per song for my Emusic downloads (though their weird quasi-subscription model is subject to "digital breakage" if you don't use all your downloads in a month).

This month they're making some big changes, which since today was my renewal date are now fully in force for me. These changes are:

  • Sony labels' back catalog (albums more than 2 years old) are now available.
  • Plans are repriced to be at best $0.40 per song.
  • Rather than being able to re-download songs you've bought any time as long as they're still available from the store, you can re-download songs only a limited number of times (in case the files are lost or damaged, they say).
  • Not only are the plans repriced again, but as of July everyone on grandfathered plans like mine get switched to a current plan.

Some other changes may sound weird to someone who's only used the iTunes Store, as they're how the iTunes Store has always worked:

  • Albums can be "album priced" at some number of download credits (say, 12), rather than you having to buy a 22-song album for 22 credits.
  • Songs can be "album only" where you can only get them by buying the whole album.

The big story has been how badly Emusic handled the changes, apparently hoping to soften the blow of their hard decisions by not telling us about it. Frank Hecker wrote a whole fictional announcement at his blog about Emusic, saying:

My goal was to write something that treated eMusic subscribers as the mature intelligent adults they (mostly) are, while still announcing all the service changes that eMusic made, including the more unpopular ones.

Even that didn't include some of the specifics, as only when 1 July came around did customers notice how album related repricing took away some of the nice accidents of the old system.

Alternatives?

While I wasn't in time to put my account on hold for July, I have been looking into alternatives to Emusic. For major label music I've always had to use another service, of course, so that will still come from Amazon (or, in some rare cases, the iTunes Store). I've also bought music from places like 7digital out of necessity, but I'm really looking for somewhere else to try for that first place to look for something I hear on a podcast or blog.

Right now I'm trying another service I first heard about through the Shifted Sound podcast, called Amie Street. It has a weird sort of "music futures" system where unpopular music is cheap, but prices go up as songs and albums get more popular. A good example is Jonathan Coulton's Thing-a-Week One, where eleven of the tracks are scattered around $0.60 but his cover of "Baby Got Back" is $0.89.

Beyond that, you can also earn downloads through the "REC" system. Spend a REC to favorite or review a song, and as other people download the songs you recommend, you earn cents of credit. I haven't tried this part of the system, but it seems interesting, especially if you're ahead of the curve enough as a music fan.

Another cool trick is it's easy to try. It's a pay-as-you-go service, so it's free to join. They'll also bootstrap their recommendations using your Last.fm, Pandora, or Hype Machine profile, or your actual iTunes library (if you're willing to share your library metadata XML file with them).

I'm finally downloading some music, too, since they had a special 25% off deal in the last newsletter they sent me. It has some interesting differences from Emusic, making it seem like it might be a better discovery tool. We'll see how it works out.

posted by markpasc at 22:08 on 08 Jul 2009

Lucasarts classics on Steam

Not only is Secret of Monkey Island: Special Edition coming next week, but some regular editions of other Lucasarts games are coming to Steam this week! I never finished The Dig, and never played ultra-classic Loom at all, so I'm thinking of picking them both up... even though I'm already behind playing the Steam games I've bought. Woe.

Luckily I'm not picking up Telltale's Tales of Monkey Island, available tomorrow, since I haven't played Secret before and didn't love the Strong Bad series like I did the Sam & Max seasons. I may very well get them too, but I'm gonna play Secret first and see how that goes.

posted by markpasc at 01:40 on 07 Jul 2009

← Later · Earlier →