foobar2000 Is Dead or Dying: Part 1

Orig­i­nal­ly writ­ten June 30, 2007.

There’s always been a sig­nif­i­cant fac­tion of foobar2000 users whose pri­ma­ry attrac­tion to the play­er is its appear­ance, or rather the lev­el of con­trol giv­en to its users over its appear­ance. In its infan­cy, with the stan­dard (and still default) UI, very lit­tle was pos­si­ble — the main win­dow con­sist­ed sole­ly of a tabbed playlist and sev­er­al func­tion­al tool­bars — but peo­ple nev­er­the­less took a lot of pride in mak­ing it their own, and some impres­sive things were done with rel­a­tive­ly min­i­mal flex­i­bil­i­ty. It was in the stan­dard UI that users began exper­i­ment­ing with album-lev­el pre­sen­ta­tion, choos­ing not to repeat redun­dant­ly the artist and album name on each line of the playlist, but to use the sec­ond, third, and some­times fourth lines to dis­play oth­er info, such as year, label, genre, replay­gain info, etc. Each of these cus­tomiza­tions was unques­tion­ably unique, but most of the broad details of the inter­face were con­sis­tent and inescapable.

The Columns UI com­po­nent began as an exper­i­ment in allow­ing for mul­ti­ple columns with­in the playlist dis­play, emu­lat­ing the Win­dows Explor­er “Detail” view (and many oth­er Win­dows pro­grams), with sorta­bil­i­ty via click­able col­umn head­ings. Even­tu­al­ly Columns UI added a side­bar and, lat­er, pan­els, allow­ing the whole foo­bar win­dow to be split up indef­i­nite­ly into pan­el-based com­po­nent dis­plays, the playlist view­er becom­ing just anoth­er one of these. This grant­ed much greater flex­i­bil­i­ty, allow­ing users to tai­lor the inter­face even more pre­cise­ly to their needs. You could now dis­play album art as promi­nent­ly as you want­ed, or not at all; your entire library tree could be embed­ded with­in the main win­dow, rather than tucked away in a pop-up; and with the track­in­fo pan­el’s excep­tion­al­ly lax (by that era’s stan­dards) styl­iza­tions, the per­son­al­iza­tion of your foo­bar became even more addic­tive, and, more impor­tant­ly, reward­ing.

Many seemed hell-bent on con­coct­ing the most gar­ish pre­sen­ta­tions imag­in­able: giant goth­ic blue-on-black cus­tom fonts, deep-red 200-px-tall spec­trum ana­lyz­ers, all, of course, cou­pled with cus­tom OS “vis.”

While some still pre­ferred the puri­ty and ele­gance of the stan­dard UI, the per­son­al­iza­tions made pos­si­ble by Columns UI were inar­guably func­tion­al ones, for the most part. Fonts, col­ors, dis­tri­b­u­tion of pan­els, and a rudi­men­ta­ry method of text align­ment were real­ly as far as you could go. At the core of all the boast­ed screen­shots was a rec­og­niz­able struc­ture, all slight vari­a­tions on the theme of playlist+trackinfo+albumlist+albumart. Out­side of dis­play­ing album art, there was noth­ing pro­found­ly new that Columns UI allowed you to do — rather, Columns UI gave you more con­trol over how you did what you need­ed to do.

And yet, many (and in increas­ing num­ber) seemed hell-bent on con­coct­ing the most gar­ish pre­sen­ta­tions imag­in­able: giant goth­ic blue-on-black cus­tom fonts, deep-red 200-px-tall spec­trum ana­lyz­ers, all, of course, cou­pled with cus­tom OS “vis” and the most taste­less col­lec­tions of death-/black-/speed-met­al slash indus­tri­al slash deep house tech­no. For what­ev­er rea­son, peo­ple are attract­ed to this, and these screen­shots rapid­ly brought more curi­ous foo­bar novices into the forums, want­i­ng a “cool” music play­er of their own.

At the time, these peo­ple were not in the major­i­ty of new enlis­tees. Many con­tin­ued to jump on board for the incom­pa­ra­bly robust pro­gram that was still very much the heart of the foo­bar com­mu­ni­ty, despite all the dress­ing up. The occa­sion­al rogue thread would crop up, ask­ing ques­tions that had been answered count­less times before; the new user would be chas­tised, sent to anoth­er rel­e­vant thread, answered direct­ly, or any com­bi­na­tion of the three. These occur­rences were peren­ni­al but neg­li­gi­ble, and besides, they fell into the unspo­ken hier­ar­chy of user­ship; it was the role of the foo­bar sopho­mores to help these peo­ple out, because they had only recent­ly been in a sim­i­lar posi­tion.

Foobar2000 was in a state of rel­a­tive sta­sis. Ver­sion 0.9, the suc­ces­sor to 0.8.3, was released in ear­ly 2006; the set of “essen­tial” core com­po­nents was more or less firm­ly estab­lished, only wait­ing to be per­fect­ed; users tweaked their inter­faces, inch­ing ever clos­er to an asymp­tot­ic UI utopia; things were good.

Two seem­ing­ly sim­ple com­po­nents engen­dered a mon­u­men­tal shift in the way peo­ple thought about foo­bar.

Even­tu­al­ly, the inflex­i­bil­i­ty of the track­in­fo pan­el began to both­er some peo­ple, par­tic­u­lar­ly that each instance of a track­in­fo pan­el was lim­it­ed to one font and size. A user named ter­res­tri­al began devel­op­ing “Track Info Pan­el Mod,” which allowed for in-pan­el font changes, as well as the inclu­sion of images. It was this last fea­ture, images, where things real­ly began to get off track. The free­dom to arbi­trar­i­ly place any image with­in the foo­bar win­dow is almost strict­ly unfunc­tion­al, moti­vat­ed pure­ly by the desire to make foo­bar look good. The intro­duc­tion of this com­po­nent encour­aged a shift in men­tal­i­ty about foo­bar, pro­duc­ing ever more flashy screen­shots, and attract­ing ever more users seek­ing eye-can­dy.

As Track Info Pan­el Mod evolved and grew in pop­u­lar­i­ty, peo­ple craved increas­ing­ly more con­trol. The func­tion­al­i­ty was amend­ed hasti­ly, by slop­py, ad hoc revi­sions of the bizarre, cum­ber­some for­mat­ting lan­guage. Still, it was only one com­po­nent, it had found a niche, and it kept to itself.

A few months lat­er, ter­res­tri­al began devel­op­ment on a sec­ond com­po­nent, “Sin­gle Col­umn Playlist” (SCPL). This began as a sim­ple attempt to replace Columns UI’s playlist view, which, iron­i­cal­ly, is the one thing that Columns UI was orig­i­nal­ly cre­at­ed for. Rather than a sta­t­ic grid of mul­ti­ple columns and rows, ter­res­tri­al envi­sioned a blank can­vas, much like Track Info Pan­el Mod (TIPM), upon which images and track info could be laid with almost total free­dom. Addi­tion­al­ly, SCPL was able to group playlist items into col­lapsi­ble albums, intro­duc­ing the kind of album-lev­el han­dling that had elud­ed foo­bar users for so long.

One got the sense that peo­ple were begin­ning to believe that foo­bar was TIPM/SCPL.

Mean­while, TIPM had begun to allow foo­bar com­mands to be asso­ci­at­ed with images, so that images in the pan­el could act as but­tons. This was nat­u­ral­ly extend­ed to SCPL, and with that, two seem­ing­ly sim­ple com­po­nents engen­dered a mon­u­men­tal shift in the way peo­ple thought about foo­bar. TIPM and SCPL dom­i­nat­ed huge por­tions of peo­ple’s foo­bar win­dows; the album art pan­el was reject­ed in favor of plac­ing album art in TIPM and SCPL; sta­tus­bars, tool­bars, and even title­bars were replaced with but­ton-loaded TIPM pan­els. And with glassy effects every­where, huge flame back­drops, and iTunes-like album art reflec­tions, old­er com­po­nents began to seem just that — old. An album­list pan­el, with its Explor­er tree appear­ance, and sep­a­rat­ed from the pret­ti­er pan­els by gray bars, was no longer accept­able as part of a seam­less, high­ly styl­ized UI. Were these con­fig­u­ra­tions func­tion­al? In some cas­es, yes, but large­ly, no — or rather, func­tion was of a dis­tant, sec­ondary con­cern.

The effects of this were twofold: first, the forums were flood­ed with peo­ple who had seen these screen­shots and want­ed a decked-out music play­er to match their translu­cent, pur­ple-LED-span­gled case mods; sec­ond, because of TIPM/SCPL’s con­vo­lut­ed new for­mat­ting lan­guage, foo­bar’s already noto­ri­ous learn­ing curve was pitched to unprece­dent­ed new heights. Avatar-less users were every­where, start­ing new threads with their first post, ask­ing ques­tions about TIPM/SCPL. These ques­tions belonged in the com­po­nents’ threads, of course, but one got the sense that peo­ple were begin­ning to believe that foo­bar was TIPM/SCPL.

Inevitably, TIPM and SCPL were merged into one com­po­nent, Pan­els UI, which replaces entire­ly the Columns UI inter­face: “Pan­els UI looks and acts like one large Track Info Mod pan­el (advanced text posi­tion­ing, mul­ti­ple font con­fig­u­ra­tions, dis­play­ing images, etc.) that can inside of it host new pan­els.” Alarm­ing­ly, a very recent poll shows that, out of 89 foo­bar users, 42.7% are using Pan­els UI. And the threads con­tin­ue to this day:

Admit­ted­ly, Pan­els UI is capa­ble of improv­ing foo­bar’s func­tion­al­i­ty. If you took the time to devel­op a real exper­tise in the for­mat­ting lan­guage, the look and feel of foo­bar would be lim­it­ed only by your imag­i­na­tion. And my sus­pi­cion that the graph­ics-inten­sive nature of Pan­els UI places an unjus­ti­fi­able bur­den on your sys­tem resources has been large­ly untest­ed (by me). Per­for­mance was the rea­son I got into foo­bar in the first place, and though I tried Pan­els UI for a few weeks with mixed results, the more mea­sured, sober approach to foo­bar devel­op­ment demon­strat­ed by old­er “essen­tial” com­po­nents ulti­mate­ly drew me back to Columns UI, which I am still hap­pi­ly using today.

I do think it would be a wise solu­tion to cre­ate a Pan­els UI sec­tion in the foo­bar forums. These threads are not going away, and nev­er before has a sin­gle com­po­nent spawned so many one-off threads. Unfor­tu­nate­ly, the noto­ri­ous­ly stub­born forum admin­is­tra­tors would nev­er agree to this, as it would vio­late the even-hand­ed­ness with which foo­bar involve­ment has always been treat­ed — “Why should­n’t my com­po­nent have its own forum?”

There is a new blog meant to report foo­bar news from the forums, but its focus, too, is pri­mar­i­ly on Pan­els UI. But at least its posts are infor­ma­tive and con­sid­ered, not thought­less ques­tions from frus­trat­ed n00bs, and it does allow and encour­age con­tri­bu­tions.