File under “Don’t Make Me Do This Myself”: a comparison of “TTW” (Through The Web) WYSIWYG text editors

I really don’t want to have to spend time thinking about this, but there’s such a dearth of useful information out there on this topic — based on my searches of Google and Bing, which return little more than uncritical lists of 40+ different TTW text editors, usually displayed on such hideously designed or woefully outdated websites that I discount their validity on sight — that I feel compelled to step in.

The question today is TTW (through-the-web) WYSIWYG (what-you-see-is-what-you-get) text editors. If all of that sounds like 10 letters of gibberish to you, feel free to stop here. But if you’re a web developer, especially of the custom CMS variety, you’re certainly aware of the situation: how do you give users of your system a usable tool that allows them to easily edit site content without having to muck around directly with HTML? (That is, after all, kind of the whole point of a CMS.)

It’s something I’ve struggled with for over a decade. At one point I was actually rolling my own. But that’s a little more JavaScript than I care to deal with directly, and I long ago left the project of building a WYSIWYG editor to those who really love that kind of thing.

That puts me in a position where I need to select the best available option for a pre-built, drop-in WYSIWYG editor. Fortunately things have come a long way in this regard over the past decade. I’ve been — more or less happily — using TinyMCE to solve this particular problem for the past 3-plus years. But lately “less happily” has been outweighing “more,” and I’ve been exploring my options.

So far the only viable alternative I’ve found (or had recommended to me) is CKEditor. It’s the successor to one of the really early TTW WYSIWYG editors, FCKEditor, which I tried ages ago and never really liked.

Today I took a major step forward with cms34, my custom CMS, by setting up a configurable site option that allows users to select the editor of their choice: TinyMCE, CKEditor, or raw HTML. As inclined as I am to use raw HTML myself, I’m giving CKEditor a whirl for now.

So far I am inclined to say CKEditor is just the remedy I’ve been looking for to cure my TinyMCE malaise. As good as TinyMCE is, it just gets a little wonky sometimes. It especially seems to have trouble figuring out where to put closing tags when you’re switching between block elements, and especially when you’re inserting new content. I find myself often switching to the HTML pane to fix its quirks manually, but I can’t expect clients to do that.

My experience with CKEditor is still pretty limited at this point, but I have to say I really like how it’s set up for customizing the interface (which buttons to show, especially), in addition to its better handling of switching between elements than TinyMCE. They’re both pretty similar, actually, in how they’re configured, and in the overall user experience. But CKEditor has a little more polish, a little more flexibility. It almost feels like “TinyMCE done right,” although perhaps it’s too early for me to make such a proclamation.

So, that’s it for me, for now. The only two options in this realm that I really have any experience with. I know there are others out there. Some may even be good. Even better than TinyMCE or CKEditor. What’s your favorite?

In UX we trust: Netflix as a case study in how good search isn’t good enough

Last night, prompted by a Dan Benjamin tweet, I felt inclined to watch one of my favorite ’80s movies, Fletch. I own Fletch on DVD (two versions, in fact), but I didn’t feel like busting them out. I wanted to watch it on my iPhone in bed, so I decided to check the iTunes Store and Netflix.

Unsurprisingly, iTunes did have it, but only for purchase, not for rental. And I’m not inclined to pay $14.99 to buy a digital copy of a movie I already own twice over on disc. While on iTunes, I saw a recommendation for The Sting. Intrigued, since I have never seen it (gasp!), I considered it as a possible alternative, and was pleased to see iTunes had it as a $3.99 rental. But before dropping four bucks on it I decided to check its availability on Netflix.

I checked the iTunes Store first, because I have learned to assume Netflix won’t have what I want available for instant streaming. Or, more accurately, I have learned not to trust that Netflix will have what I want.

And that’s where the problem lies: I don’t trust Netflix. It’s not that I think they’re up to anything nefarious (it’s not the same as the distrust I have these days for Google, for instance). And it’s not even entirely that I have become jaded by past experience discovering just how woefully limited their selection of streaming content is.

It’s that I don’t trust their interface to really show me what’s available.

Why not? They have a search box, after all. I can just search for what I want. To the best of my knowledge, the search box works pretty well. If they have something, it comes up. If they don’t, it doesn’t.

As usual, I couldn’t keep my frustration to myself, so I took it to Twitter:

So, again, why don’t I trust Netflix? I’ve been pondering that question all morning, and I think I have it figured out. It’s because good search, alone, isn’t good enough. Search is open-ended. It’s also kind of like standing outside a locked door and whispering through the keyhole to someone inside. You know there’s a lot of stuff inside the room. You even know that the room probably holds things you want. But you can’t see for yourself what’s inside, and the person on the other side of the door is only answering yes-or-no questions.

Of course, Netflix does offer more than search. But on mobile devices like the iPhone and iPad, it doesn’t offer a whole lot more. Sure, it has recommendations. And you can browse by genre. But I don’t really give a crap about their “recommendations.” That’s the person behind the door, offering a little bit more information, but it’s far from flinging the door wide open. And browsing by genre is great, if you know what genre the movie is in. If it even fits a genre. (I honestly don’t know what genre I’d find The Sting in. Is it a comedy? Drama? Action? I don’t know enough about the film to find it by genre.) And once you’ve selected a genre, you’re dumped into an experience not unlike rummaging through the cutout bin at a record store. (And if you’re too young to understand that analogy, get off my lawn.)

I took a few screenshots on both the iPhone and iPad, as well as on the Netflix website on my computer, to demonstrate what I’m talking about.

First, search results:

Well, that’s lovely. No results. OK. Did I spell it wrong? Is it case-sensitive? Am I hallucinating and this movie never even existed? Is anybody out there?

OK, well… hmm. What should I do now? Maybe I should browse comedies.

Really… that’s where we start? Can I fine-tune my selection a bit? Sort them into some kind of meaningful order? No, why would I want to do that. I’ll just flip through all of these aimlessly until I find something I can tolerate for the next two hours… I mean no, wait. Help me find what I’m looking for, dammit!

Well, OK. I’ve used enough apps between the iPhone and iPad to understand that the experience is often stripped down on the iPhone due to the smaller screen. That’s understandable. What about if I do the same search on the iPad?

You’re joking, right?

Let’s back up a step and see what Netflix presents to the user when they first enter the “Comedies” genre:

Well… um… that’s… a little better… I guess… than the iPhone experience. This is actually pretty close to what you get when you visit Netflix on the Apple TV, as well, and is somewhat of an improvement — aesthetically, at least — over the old version of Netflix for iPad. But still… it’s just that person behind the door, or the cutout bin.

Open the damn door and let me see for myself what’s in there.

Not that I think this is an adequate solution, let me say that right away, but I decided as a last resort to see if the desktop web interface for Netflix offered a superior experience. Here, where Netflix acknowledges that DVDs do, in fact, exist, the results are a bit better:

Thank you for at least acknowledging that the movie I asked about exists. Thank you for telling me that it’s not available for instant viewing but is available on DVD. Would it be so hard to do that on the mobile apps? I recognize that DVDs are useless on an iPhone or iPad, but simply providing this information reassures the user that their search worked. Now I can move on with my life.

What about browsing? Will you finally just open the door and let me see what’s in the room? At long last, sir, will you please just do that?

Yes!

You may note here that not only am I (after a few extra clicks) able to get a simple, alphabetized list, I am even able to browse subgenres! Who knew such wonders existed?

Sadly, browsing by title within a subgenre is probably the best way to get at what may be an ulterior motive behind the limited browsing interface Netflix presents in its mobile apps, as expressed in my tweet last night: their selection of streaming movies kind of sucks. There are plenty of reasons for this, and I’m not going to criticize Netflix for the challenges involved in working out licensing deals to stream thousands of movies for a very small, flat monthly fee. Netflix is a pretty amazing thing, when you look at what cable TV was like when I was a kid. (What am I saying? Look at what cable TV is like right now!)

Ultimately, though, whether or not Netflix is deliberately hiding its poor selection behind a mediocre browsing interface, it still has a mediocre browsing interface. Who cares? you say. Just search for what you’re looking for. Have you been reading this at all? I reply. Search, no matter how good it is, by itself is not good enough. Users need to be able to get their bearings, see what’s inside the room. We need an understanding of the scope of information we’re dealing with in order to make a meaningful search, and to make sense of the results we’re given, when we can’t find what we’re looking for.

So, a couple of final thoughts on how all of this ranting translates into a meaningful lesson in UX (user experience):

1. Don’t just rely on having a search box as an excuse not to organize and display your content in an easy-to-browse way.

2. Give meaningful feedback when a search fails. Don’t just tell the user “no results.” That’s obvious. Help them out. Give suggestions for alternate searches. And if there’s anything relevant in your database about the user’s search terms, even if it’s not directly available to them in their current context, at least let them know as much.

P.S. As it turns out, Netflix has neither Fletch nor The Sting available for instant viewing. I ended up not watching anything last night, and played around with this synthesizer app instead.

Some final (?) thoughts on SOPA/PIPA

We did it! Apparently. Whatever “it” is.

Wednesday’s “SOPA Strike” finally got the attention of Congress (and millions of confused high school and college slackers who had to endure 24 hours without access to Wikipedia, humanity’s only known source of information). In the wake of the protests, sponsors of both the House and Senate bills “shelved” the bills.

For now, they’re gone. But do you remember the end of Halloween, when Loomis shoots Michael and he falls out the window, and then when they look down a second time, he’s gone? Yeah, that.*

Before I move on to other topics (hopefully forever), I just wanted to share some final thoughts about SOPA/PIPA.

1. They’re not really dead. Sure, it’s entirely possible that we’ll never hear about SOPA/PIPA — by those names — again. But if you think the MPAA, RIAA, and their legions of highly paid lobbyists are going to let it all go this easily, you must be new here. As long as there’s any chance that anything the entertainment industry owns is being copied illegally, which is to say, until copyright law is forgotten during the zombie apocalypse (which might just be led by Zombie SOPA itself), old media dinosaurs will continue to fight for their lives.

Actually dinosaurs employing an army of zombies to fight Internet cyborg pirates sounds like a perfect Hollywood movie idea. (Copyright 2012 Scott Anderson. All rights reserved.)

2. Piracy is not really the problem. Sure, piracy happens. Sure, it’s illegal, and very probably even “wrong.” But what’s really wrong (as in, factually incorrect) is the idea that piracy translates directly into lost income for movie studios and record labels, or, as they (and their cronies in Congress) like to put it, lost jobs for gaffers and key grips and best boys and Foley artists and all of those other weirdly named jobs you see scrolling by in extremely small type at the very end of the ending credits of big Hollywood movies.

Yes, if Hollywood goes down, it’s going to take those kinds of middle class jobs down with it. But trotting these people out to get the average person to support this legislation is not unlike Prolife Across America’s billboards with pictures of babies and speech bubbles saying “I could wiggle my toes at 18 weeks!” Bear with me. Regardless of whether they’re right or wrong on the issue, both tactics are designed to appeal on a very simple, gut emotional level, and to discourage critical thought about what’s really going on, whose agenda is really being promoted, and what the implications of that agenda are.

Aside from the documented cases of entertainment industry lobbyists making egregious “errors” in their calculations of the numbers of jobs affected or the billions of dollars “lost” each year to piracy, there’s the simple logical fallacy that every pirated movie or CD equates to a lost sale. On reflection, this should be obvious: many, if not most, of the people who are pirating a movie or an album were not likely to buy it otherwise.

Then again, sometimes getting a copy of an album from a friend turns a person into a lifelong fan of a musician. A personal example: in my life I have purchased every album ever released by both Rush and Yes, which is a lot (there are 31 Rush albums and 29 Yes albums in my iTunes library right now), several of them multiple times, as each new remastered version is released. I have seen these two bands in concert a combined 8 times. I’ve bought their concert videos on VHS and DVD. In all I’ve probably spent over $2000 in the past 20 years on my Rush and Yes obsessions. And it all began because a friend made me cassette copies of A Show of Hands and Classic Yes (both of which I subsequently purchased on CD) back in high school.

So, you see, piracy is not really the problem in two ways: 1) an instance of piracy doesn’t necessarily mean a lost sale up front, and 2) copying now may lead to a lot of purchasing later.

3. Copyright is broken anyway. The other day I mentioned that copyright law had been changed to allow Disney to retain exclusive rights to Mickey Mouse. In fact, the Copyright Term Extension Act of 1998 was even referred to as the Mickey Mouse Protection Act! I’m not against copyright, per se. I believe that the creators of original works should reserve the right to decide how their works are used and distributed, and to profit from their efforts.

But I also believe that an ever-changing law that allows that protection to extend in perpetuity, long after the creator’s death, is counterproductive and harmful to the free exchange of ideas within a society. I’m firmly against software patents for the same reason. In fact, I’m even more against software patents than I am against indefinite copyright extension, but that’s a topic for another post. But I think it’s worth mentioning that I am equally, or even more so, opposed to protectionism in my own field than I am in the entertainment industry.

4. Adapt or die. That’s it, really. As I’ve noted previously, these bills (and any future legislation like them) are not really designed to protect the interests of content creators. They are intended to prop up a dying industry that grew fat on profits over a period (specifically the 1970s through the 1990s) when their business was built upon a model that is ultimately unsustainable, especially as new means of distribution have proliferated. Combine that with what is broadly regarded as a precipitous decline in the quality of their products, along with untenable pricing, and you have a perfect recipe for the kind of collapse and failure currently underway. Don’t blame piracy; blame yourselves for overcharging for a product of low value.

P.S. Boy, it feels good to be able to link to Wikipedia again!

* You seriously haven’t seen it, and I spoiled the ending for you? Whatever. Also, would describing a portion of a film in a blog post like this have been a prosecutable offense under SOPA/PIPA?

Room 34 presents On This Day: a WordPress plugin

For a while now, I’ve had a sidebar widget on my site that displayed posts published on the same date in previous years. It’s a fun way to look back on your own blogging history and to revisit topics from the past.

I didn’t really have it set up as a proper widget though; it was just code stuck directly into my sidebar template. Today I decided to rebuild it as a proper plugin, which you can now download and use yourself!

It’s really simple to use. Just extract the zip file and place the contents in your wp-content/plugins directory. Then go to the WordPress dashboard. Activate the plugin (under Plugins), then edit your widgets (under Appearance) and drag the “On This Day” widget where you want it to appear.

You can customize the title and the “no posts” message (which gets displayed on days when there are no historical posts).

Room 34 presents On This Day is now available for download in the WordPress Plugin Directory.

Recalling my brush with the DMCA, and how SOPA/PIPA would be immeasurably worse

This MetaTalk post concerning some erroneous DMCA* takedown notices reminded me of an episode from my personal experience that I had almost completely forgotten. It’s a good illustration of how even the DMCA — copyright holders’ current legal blunt instrument to wield against infringers, but nowhere near as powerful as SOPA/PIPA would be — can be used in harmful ways, either maliciously or mistakenly.

A geek, not a criminal

You see, I’m a geek. In particular, I’m a video game geek. I have a huge collection of 1980s video game antiquities. Over a dozen vintage consoles, hundreds of game cartridges. I even have a box full of instruction manuals and those catalogs Atari used to pack in with each game. And for a time earlier in the 2000s, I ran a website chronicling this obsession. I had meticulously compiled a spreadsheet of all of the games in my collection, and turned that into a page on the site, where visitors could (for some unimaginable reason) learn all about the contents of the bins full of 20+ year old plastic and silicon that I kept in my basement. It was harmless (if somewhat ridiculous) fun.

But, you see, there’s this thing called emulation. People have written computer software that emulates the hardware of these old game consoles. And people have also developed ways to “dump” the ROMs (programs) of those games as files that can be run in these emulators, allowing you to play long-lost vintage console and arcade games on your computer.

The nature of the Internet makes it very easy to share these emulators and ROMs. Except, under copyright law, it’s illegal. The emulators themselves are not illegal, and as I understand it, if you own the original cartridges, dumping their ROMs is fair use. But possessing the ROMs without owning the physical game is against the law, and sharing the ROMs online definitely is.

So, the copyright holders in these old games, at least the ones like Nintendo who still have lots of money and actually care about protecting those copyrights, have teams of lawyers scouring the Internet for sites that are illegally distributing ROMs. Under DMCA, they can demand that owners/hosts of infringing sites take down the infringing content, or face legal action.

And that’s where my dumb little video game collection site comes in. I never shared a single ROM on that site (and would never be stupid enough to try). But Nintendo’s lawyers didn’t bother to figure that out. They simply saw an HTML table full of the names of old video games, some of which were Nintendo’s IP, and they contacted my web host at the time, who also happened to be my former boss.

He called me on the phone (a rare occurrence) and was noticeably agitated. He couldn’t believe I was doing something so stupid. Because I wasn’t. Once I reassured him that Nintendo’s lawyers were barking up the wrong tree, his tone changed. He’s a Ron Swanson-esque libertarian, and was ready to fight back. And that’s the last I heard of it.

You’ve probably encountered some DMCA takedowns yourself. YouTube is the most common place to find them. Have you ever clicked a YouTube link, but instead of seeing the video, you were presented with a black box with a message explaining that the video had been removed at the copyright holder’s request? That’s the DMCA at work.

Much worse

Under SOPA/PIPA, YouTube itself could be taken down**. For that one infringement. Any any sites that were linking to that one infringing YouTube video could be taken down as well.

For a couple of years (up until word started spreading about SOPA), I was running another site called “Hall of Prog: A Curated Exhibition of Progressive Rock on YouTube.” Every post on that site was a link to a YouTube video. And given that it was all copyrighted music, most of the videos were probably infringing. Indeed, over the time I ran the site, a huge percentage of the videos on it (especially ones featuring Robert Fripp) were replaced with YouTube’s generic DMCA takedown message. When it started to look like SOPA might pass late in 2011, I decided it wasn’t worth taking any chances, so I took down the entire site. Now it’s just a redirect to americancensorship.org.

I was not making money on that site. There were no ads. And I was certainly not trying to deny the artists/copyright holders (which should be the same thing, but rarely are) their right to revenue. In fact, if anything, I was giving them free advertising. Yes, people make that claim whenever they share something. But I made sure to include links to both the artist and album page on Amazon.com for every video I posted. (YouTube sure doesn’t do that.)

Copyrights (and patents) stand at odds with the free exchange of information. There’s no way around that. As a creator myself, I deeply defend the rights of people who produce creative works to benefit financially from their efforts and to decide how and where their works are distributed. But those rights also have to be balanced with the greater societal good to be gained from freedom of speech and sharing ideas. For decades, if not centuries, means of communication changed very slowly, and copyright law could adapt (or not even bother to adapt) with them. But the Internet has changed everything, and old school copyright holders (especially corporate behemoths like the movie and music industries) have scrambled frantically for the past decade and a half not to lose their foothold — no, make that their stranglehold — over copyrighted content.

I personally believe copyright, as it is currently written, doesn’t work. (That’s why I release my work under Creative Commons licensing.) It doesn’t help that Congress keeps extending the lifespan of a copyright so Disney won’t lose control over Mickey Mouse. (No, seriously… Google it. Tomorrow***.) But I respect the law enough that I make a concerted effort to ensure that the things I do online do not infringe copyright, or are covered by fair use. I cannot, however, just sit back and let the entertainment industrial complex steamroll over my entire livelihood and way of life simply to fight (spurious claims of) piracy.

It’s not too late

The point of all of this is: we already have a law designed to allow copyright holders to take action (before resorting to legal recourse) against copyright infringers, the DMCA. And even that has already been shown to pose the risk of abuse. But the scope of damage the DMCA can inflict is at least mitigated such that it cannot significantly impede the free exchange of information and ideas so critical to making the Internet what it is — something that so many of us depend on every day. We cannot risk what SOPA/PIPA would do to our age of information. (See what I did there?)

Get involved! Go to americancensorship.org to learn more.

Notes

* That’s a Wikipedia link, so you’ll have to wait until after the SOPA/PIPA blackout to look at it.

** SOPA/PIPA is only supposed to apply to sites hosted outside the United States, but this would be hard to enforce, and could easily end up affecting U.S.-hosted sites as well.

*** Yes, I know Google’s “blackout” isn’t really a blackout. It was a joke.