this space intentionally left blank

March 6, 2013

Filed under: tech»education

JavaScript for the Web Savvy: Now Browseable

I haven't had a chance to do more than plan a few topics to write about here, since I've been working hard on my textbook. You can now browse the built pages on GitHub without needing to check out the repo. This is a pretty handy way to publish a website. It's not particularly attractive yet, but there are two-and-a-half chapters up so far, and more on the way. I guess those long bus commutes are good for something, right?

In addition to the text, browsing the repo's /js directory will expose a few interesting AMD modules now that I've started building the interactive parts of the book as well. Given my plans for various visualizations and live quizzes, I suspect the script package may be as interesting as the book for a lot of people by the time I'm done. Here's most of what I've got so far:

  • dom/Delay: This module implements lazy-loading for interactives, so that they don't start running until the specified element is scrolled into view. There's a partner package to this, dom/Visible, that will enable events for when an element enters or leaves visibility, but I haven't started that one yet.
  • dom/Stage: It's no secret that I hate the Canvas API, so this module implements a poor man's ActionScript display tree. You can create sprites and textboxes, and attach them to each other in a heirarchy. Stage also takes care of handling rotation, translation, and scaling for you, so you only have to express drawing instructions in terms of local coordinates.
  • meta/Evil: An eval() that's relatively safe. It uses a function constructor to run the code in a safe scope, and adds a "return" statement to the last line. If it fails to compile or run correctly, it returns an object with an "error" property. I use this in a lot of the examples so far, and it should be fine as long as the user doesn't type "while (true);" into the box.
As always, please feel free to file issues and pull requests against the textbook--bearing in mind that it's a work in progress. The overall structure, which you can see on the table of contents, parallels my class progression pretty closely, but I'm amenable to shifting sections around if there's a good argument for it. I'm also thinking about ways to handle the interactive experience--for example, should inline exercises be hidden behind a link so that the text flows better? I'm not aware of anyone who's writing the same kind of "live" teaching document that I am, so this is uncharted territory for us all.

February 28, 2013

Filed under: tech»education

JavaScript for the Web Savvy

On Tuesday, I published a repo to GitHub containing a JavaScript textbook that I've started writing under the working title JavaScript for the Web Savvy. As soon as I have some more work committed, I'll create a GitHub Pages version for easy viewing, but right now you'll need to pull the repo to read the built pages (or build them for yourself). I wanted to go ahead and get the drafts out as I work on them, in order to incorporate any feedback students and other readers might want to offer.

In order to build the book, you'll also need NodeJS with Grunt, grunt-contrib-less, and grunt-contrib-watch installed. In addition to using LESS and RequireJS, I've written the World's Worst Template system to reduce boilerplate. The repo contains fully-built versions of the site, so you don't need to build it to read, but it would be helpful for pull requests and testing.

Why write another JavaScript textbook? Ever since I started teaching a year ago, I've been looking at the most commonly-recommended books for my students to use. This isn't easy: technical books are hard to evaluate, since they may be hard to find and they're incredibly expensive. Those I have tried tend to get ruled out for several reasons:

  • They're out of date. The original textbook for the course had students using document.write(), adding scripts in the head, and (worst of all) updating document.body.bgcolor to change a background. I couldn't get away from it fast enough. Modern JavaScript has evolved quickly, and students need a book that has kept up with it.
  • They're aimed at experienced developers. My current textbook choice is David Flanagan's The Definitive Guide. It's a great book, and I chose it because that way students can get a valuable reference using their financial aid. But it's not a good book for beginners. Hopefully, by the end of the class, students aren't beginners, and it makes more sense to them, but that doesn't help them when they're struggling.
  • They only teach JavaScript the language, or a specific JavaScript library, not both. Eloquent JavaScript is a perennial favorite among the web developer comunity, but it's primarily focused on functional programming in JavaScript, not web development. It's hard to keep students' attention without the web side of things--but likewise, I don't want to create a bunch of jQuery developers who don't know the difference between an object and an array. I need a book that covers pragmatic, practical JavaScript.

My goal with JavaScript for the Web Savvy is to write a smart, accessible textbook for people who know a little HTML/CSS, but want to start adding JavaScript to the mix--including the common case of people who know just enough to add a jQuery plugin to the page, but not enough to troubleshoot when something goes wrong. It will teach coding using the actual tools used by real web developers, like the browser console. I also want to experiment with visualizations and interactive elements for common trouble spots where students struggle, like loops and functions. Finally, I want it to be free and freely-available, so students without a lot of money aren't having to pony up for expensive technical books they may or may not use after the class is over.

As I'm working on this project, I'll commit to the repo and update GitHub. If anyone wants to file pull requests for things that are technically wrong, confusing, or need more explanation, please feel free. Contributors will get their names in a credits section, although I will have to ask that copyright be assigned to me as a precaution, in case I ever wanted this to see print. If nothing else, I hope people find it to be useful as a resource. Teaching has become one of the most rewarding parts of our move to Seattle, and I don't see any reason that should be limited to just my classroom.

February 14, 2013

Filed under: music»artists»thao

We the Common

On Friday, Thao and the Get Down Stay Down played a show at the Sonic Boom near our apartment in Seattle. The shop was completely packed, which was a pleasant surprise. Seeing a Thao Nguyen concert, even in abbreviated record-shop form, is always a treat: live, she performs with a kind of abandon that privileges energy over accuracy, and you really get the full impact of her voice, which can veer from a mutter to a howl in the space of a beat.

The best parts of her new album, We the Common, are the songs that let that voice greedily cover its full range. The titular opening number is a stompy rallying cry that builds from a choppy banjo riff until it soars into a wordless chorus. "The Day Long" showcases the quieter, spookier side of the album, but is no less effective: it has a kind of marching melancholy that's weirdly danceable. In between, there's the jaunty swing of "The Feeling Kind," which wouldn't be out of place on the band's first album.

The production remains top-notch: they seem to have picked up a few tricks from Thao's collaboration with Mirah (especially the Tune-Yards'-produced "Eleven"), but applied it to her particular brand of indie rock. "Every Body" mixes a spiky ukelele with synth bass, and while it may just be that I've been listening to a lot of Stop Making Sense lately, I hear a touch of the Talking Heads in the punchy, over-distorted "City," probably in the call-and-response that closes it out. It's becoming one of my favorite songs on the CD, along with the boozy wall of sound that is "Age of Ice."

Fittingly, the most skippable tracks involve times when Nguyen's voice is either kept to a single mood (the dirge-like "Clouds for Brains") or, more bizarrely, paired with Joanna Newsom on "Kindness Be Conceived." Newsom's folky, child-like voice is an acquired taste I've never found appealing, and it tips an otherwise inoffensive song over into tweeness.

We the Common isn't as dark as Know Better, Learn Faster, but it's still not what I'd call cheerful. It's probably not as political as the title sounds, either, although with her elliptical lyrics that's hard to know for sure. But it remains tightly-crafted songwriting wrapped around a unique, powerful voice. I think it's a must-listen, but don't take my word for it: check out their short performance on KEXP and see what you think.

February 8, 2013

Filed under: tech»web

LESS Is More

Last night I gave a presentation for Seattle Central's Byte Club (and other interested students) on using LESS to write better, easier-to-maintain stylesheets. The lecture was recorded in a Google Hangout, which means that you can watch it yourself, if you're interested in LESS or if you've ever wondered what it's like to be trapped in a classroom with me for an hour:

The audio is a little wonky, it's a little hard to see sometimes, and I don't know why the one guy in the classroom with me insisted on keeping his webcam on the entire time (if I'd thought about it, I would have had him turn the camera on me, instead). But all in all, I think it turned out pretty well.

February 6, 2013

Filed under: tech»web

Unsavory

Every year at the Super Bowl, for many years now, it's traditional for GoDaddy to remind everyone that they're a horrible company run by a creepy, elephant-hunting misogynist. This year was no different. The good news is that I was working on the Soul Society website on Sunday, so I didn't actually see any of their ads. The bad news is that Soul Society is hosted on GoDaddy (cue ironic record scratch).

The thing about GoDaddy is that they are fractally gross: everything about them gets more distasteful the more you dig into it. There is no part of their operation that does not make you want to take a shower after interacting with them--neither the advertising, nor the sales experience, nor the admin panels, and certainly not the actual hosting.

It should be enough that the company was run, for years, by a horrible, horrible person who kills elephants for sport, supports torturing Guantanamo Bay detainees, and is a relentless self-promoter. You should look no further than its incredibly sexist advertising, which manages to be both repulsive and badly produced. The fact that they originally came out in favor of SOPA just rounds out the list of offensive behavior.

But if, despite all those reasons, you go to sign up for an account (as many people, including many of my students, end up doing), chances are that you'll end up overpaying due to an intentionally-confusing sales process. The upsell actually doesn't stop at the first purchase. Every time I interact with the site, I'm forced to wade through a morass of confusing ads and sale links masquerading as admin panels. Everything on GoDaddy leads to a shopping cart.

GoDaddy also parcels up its crappy service into smaller pieces, so they can force you to pay more for stuff that you should get for free. As an example, I have an urbanartistry.org e-mail address for when we need a webmaster link on the site. For a while, it was a separate mailbox, which meant that I never checked it. Then I missed a bunch of e-mails from other UA directors, and decided to redirect the e-mail address to my personal account. On most mail providers, this is a free service. On GoDaddy, you can set up a forward, but an actual alias costs an additional fee (for all the disk space it... doesn't use?). Which means, technically, that my mail is piling up on their servers, and at some point they'll probably figure out some new reason to screw it up.

And let's not pretend the hosting you get after all this hassle is any good. The server is a slow, underpowered shared account somewhere, which means you don't get your own database (have fun sharing a remote MySQL instance with a bunch of other people, suckers!), and you can't run any decent versioning or deployment software. The Apache instance is badly configured (rewrite rules are overridden by their obnoxious 404, among other things). Bandwidth is limited--I have never seen slower transfers than on GoDaddy, and my SFTP connection often drops when updating the site. It's a lot of fun debugging a WordPress theme (already not the speediest of pages) when your updates get stuck in a background window.

I don't write a lot of posts like this, because I've got better things to do with my time these days than complain about poor service somewhere. There's a lot of repulsive companies out there, and while I believe in shame-and-blame actions, there's only so many hours in the day. I'm trying to have a positive outlook. But it is rare that you find something that's so awful you can't think of a single redeeming quality, and GoDaddy is that company. If you're in the market for any kind of web service, and you haven't already been convinced to go elsewhere, let me add my voice to the chorus. Lifehacker's post on moving away from the company is also a great reference for people who are already customers. I'm probably stuck with them, because Urban Artistry has more important things to worry about than their hosting, but you don't have to be.

January 29, 2013

Filed under: fiction»reviews

Machine Vision

Gun Machine, by Warren Ellis

Warren Ellis is a writer of a particular style, which can be polarizing. When it's good--as in Transmetropolitan, his frighteningly amusing riff on Hunter-Thompson-meets-Futurama political journalism--it's very good, but there are other times when it comes across as bluster. His first novel, Crooked Little Vein, was a good example: over its 200-odd pages the schtick wore thin, and the catalog of American fetish weirdness that was left (while funny) wasn't enough to carry it.

His second book, Gun Machine surprises on two levels. The first is that it pulls back substantially from Ellis' usual over-the-top dialog style. It still surfaces for comedic effect (Ellis gets a lot of mileage out of two manic CSI technicians), but most of the prose is written more restrained, or in another, Ludlum-like style entirely. This gives the book something Crooked Little Vein never really had: dynamics. The characters have room to breathe, and become a lot more sympathetic, when they're not all shouting in the same voice.

The other surprise is that the book actually works as the mystery-thriller it appears to be, since I was expecting something less traditional. It follows John Tallow, a New York City cop who is coasting along on his partner's graces when said partner is shot, simultaneously revealing a room full of purloined firearms arranged in complicated patterns--the "gun machine" of the title. Alternating chapters follow the room's owner, a schizophrenic killer for hire who's been working for influential New Yorkers over several decades.

It's not like Ellis is a stranger to mystery stories, or to conspiracy theories, but his usual M.O. tends to be more scattershot in scope, sprinkled liberally with Internet-age trivia. Gun Machine eschews this in favor of a lot of Manhattan history, and its relatively subdued narrative voice gives Ellis a chance to explore Tallow's gradual re-engagement with the world as he becomes more caught up in the case. It's a more thoughtful, sympathetic approach than I expected, in the best possible way.

Gun Machine has a few sections where it bogs down, and where it stretches across the line of plausibility, although it tends to skip past these deftly enough that they don't stand out until you stop and think about them later. But overall, it's a crackling little piece of genre fiction, paired with just enough in the way of characterization and unexpected turns to keep you turning pages without actually feeling guilty about it.

Rise of the Videogame Zinesters, by Anna Anthropy

Someone had to write this book. It was really just a question of who would get there first: someone from the maker/craft culture, or someone like Anthropy, a cranky member of the independent game design community. Zinesters is a book about democratizing gaming: the idea that anyone should be able to write a video game, the same way that anyone can paint a picture or write a story.

If video games can be art, what does "outsider art" in that medium look like? Where are the subversive messages? And how do we give a canvas to more people--people who aren't young, white men? As the creator of several adamantly non-mainstream works, like Dys4ia and Mighty Jill Off, these are not idle questions for Anthropy. So her goals are two-fold: to explain the ways that games can be more accessibly, and (more importantly) to convince readers that making them is something they should want to do.

I'm not sure it succeeds at the latter (to avoid tying her book too closely to any given tool, Anthropy basically lists a number of entry-level game engines and then gives readers a pep-talk), but the former is extremely well done. Starting from the definition of a game as "an experience created by rules," she uses that as a jumping off point to examine game design, its relationship to society, and "folk games."

Rise of the Videogame Zinesters is a very, very short book, and it often reads as a collection of blog posts instead of a single work, but it's an impressive tour of gaming at the margins of culture. If her argument has a weakness, it's contained in the title: considering the fade of zines (eclipsed by Internet blogging, now also on its decline), are there other models for DIY game creation that might need to be examined? How do independent games compare with indie films, or hackerspaces, or crafting?

It's not that Anthropy is wrong to pick zines as a starting point--given her emphasis on LGBT culture and fast/cheap creation, it's appropriate--but there's a lot of other creative philosophies that would be interesting to consider, and might result in very different interactive experiences. It may not be Anthropy's responsibility (or interest--it's a very personal series of essays) to present those, but in a book this brief, it couldn't hurt. As it is, we catch only a glimpse in her impressive citations, from the open-ended (ZZT) to the surrealist (La La Land 2) to the meta (Execution). The introduction to this diversity of gaming is intriguing, and it's a little disappointing when the corresponding analysis is relatively thin.

January 16, 2013

Filed under: tech»education

Git Busy

There's an ongoing discussion I'm having with the other instructors at Seattle Central Community College on how to improve our web development program. I come from a slightly different perspective than many of them, having worked in large organizations my whole career (most of them are freelancers). So there are places where we agree the program can do better (updating its HTML/CSS standards, reordering the PHP classes) and places where we differ (I'm strongly in favor of merging the design and development tracks). But there's one change that I increasingly think would make the biggest difference to any budding web developer: learning source control.

Source control management (SCM) is important in and of itself. I use it all the time for projects that I'm personally working on, so that I can track my own changes and work across a number of different machines. It's not impossible to be hired without SCM skills, but it is a mark against a potential employee, because no decent development team works without it. And using some kind of version control system is essential to participating in the modern open-source community, which is the number one way I advise students to get concrete experience for their resumes.

But more importantly, tools like Git and Subversion are gateways to the wider developer ecosystem. If you can clone a repo in Git, then you now have a tool for deployments, and you stop developing everything over FTP (local servers become much more convenient). Commits can be checked for validity before they go into the repo, so now you may be looking at automated code parsers and linting tools. All of these are probably going to lead you to other trendy utilities, like preprocessors and live reload. There's a whole world of people working on the web developer experience, creating workflows that didn't exist as recent as two or three years ago, and source control serves as a good introduction to it.

The objection I often hear is that instructors don't have time to keep up with everything across the entire web development field. Whether or not that's a valid complaint (and I feel strongly that it isn't), it's just not that hard to get started with version control these days. Git installs a small Bash shell with a repo-aware prompt. GitHub's client for Windows does not handle the advanced features, but it covers the 90% use case very well with a friendly UI. Tortoise has Windows add-ons for Git, SVN, and Mercurial. Learning to create a repo and commit files has never been easier--everything after that is gravy.

Last quarter, I recommended that teams coordinate their WordPress themes via GitHub, and gave a quick lecture on how to use it. The few teams that took me up on it considered it a good experience, and I had several others tell me they wish they'd used it (instead of manually versioning their work over DropBox). This quarter, I'm accepting homework via repo instead of portal sites, if students want--it'll make grading much easier, if nothing else. But these are stopgap, rearguard measures.

What SCCC needs, I think, is a class just on tooling, covering source control, preprocessing, and scripting. A class like this would serve as a stealth introduction to real-world developer workflows, from start (IDEs and test-driven development) to finish (deployment and build scripts). And it would be taught early enough (preferably concurrent with or right after HTML/CSS) that any of the programming courses could take it as a given. New developers would see a real boost in their value, and I honestly think that many experienced developers might also find it beneficial. Plus it'd be great training for me--I'm always looking for a good reason to dig deeper into my tools. Now I just have to convince the administration to give it a shot.

January 10, 2013

Filed under: tech»mobile

Four

I used a Nexus One as my smartphone for almost three years, pretty much since it was released in 2010. That's a pretty good testimonial. The N1 wasn't perfect--it was arguably underpowered even at release, and held back for upgrades by the pokey video chip and small memory--but it was good enough. When Google announced the Nexus Four, it was the first time I really felt like it was worth upgrading, and I've been using one for the last couple of months.

One big change, pardon the pun, is just the size of the thing: although it's thinner, the N4 is almost half an inch wider and taller than my old phone (the screen is a full diagonal inch larger). The N1 had a pleasant density, while between the size and the glass backing, the N4 feels less secure in your hand, and at first it doesn't seem like you're getting much for the extra size. Then I went back to use the N1 for something, and the virtual keyboard keys looked as small as kitten teeth. I'm (tentatively) a fan now. Battery life is also better than the N1, although I had to turn wifi on to stop Locale from keeping the phone awake constantly.

I think it's a shame they ditched the trackball after the Nexus One, too. Every time I need to move the cursor just a little bit, pick a small link on a non-mobile web page, or play a game that uses software buttons, I really miss that trackball. Reviewers made fun of it, but it was regularly useful (and with Cyanogen, it doubled as a second power button).

The more significant shift, honestly, was probably going from Android 2.3 to 4.2. For the most part, it's better where Android was already good: notifications are richer, switching tasks is more convenient, and most of the built-in applications are less awful (the POP e-mail client is still a disaster). Being able to run Chrome is usually very nice. Maps in particularly really benefits from a more powerful GPU. Running old Android apps can be a little clunky, but I mostly notice that in K-9 Mail (which was not a UX home run to begin with). The only software feature that I do really miss is real USB hosting--you can still get to internal storage, but it mounts as a multimedia device instead of a disk, which means that you can't reliably run computer applications from the phone drive.

There is always a lot of hullaballoo online around Android upgrades, since many phones don't get them. But my experience has been that most of it doesn't really matter. Most of my usage falls into a few simple categories, none of which were held back by Android 2.3:

  • Reading social networks
  • Browsing web sites
  • Checking e-mail
  • Retrieving passwords or two-factor auth keys
  • Occasionally editing a file with DroidEdit
I'm notoriously frugal with the apps I install, but even so I think the upgrade problem for end-users is overrated. 4.0 is nice, and I'm happy to have it, but putting a quad-core chip behind 2.3 would have done most of what I need. Honestly, a quality browser means even the built-in apps are often redundant. Google Maps in Chrome for Android is a surprisingly pleasant experience. Instagram finally discovered the web last year. Google Calendar has been better on the web than on Android for most of its existence. You couldn't pay me enough to install the Facebook app anymore.

Compared to its competitors, Android was always been designed to be standalone. It doesn't rely on a desktop program like iTunes to synchronize files, and it doesn't really live in a strong ecosystem the way that Windows Phone does--you don't actually need a Google Account to use one. It's the only mainstream mobile platform where installing applications from a third-party is both allowed and relatively easy, and where files and data can transfer easily between applications in a workflow. Between the bigger phone size (or tablets) and support for keyboards/mice, there's the possibility that you could do real work on a Nexus 4, for certain definitions of "real work." I think it would still drive me crazy to use it full-time. But it's gradually becoming a viable platform (and one that leaves ChromeOS in kind of an awkward place).

So sure, the Nexus 4 is a great smartphone. For the asking price ($300) it's a real value. But where things get interesting is that Android phones that aren't quite as high-powered or premium-branded (but still run the same applications and OS, and are still easily as powerful as laptops from only a few years ago) are available for a lot less money. This was always the theory behind Nokia's smartphones: cheap but powerful devices that could be "computers" for the developing world. Unfortunately, Symbian was never going to be hackable by people in those countries, and then Nokia started to fall apart. In the meantime, Android has a real shot at doing what S60 wanted to do, and with a pretty good (and still evolving) open toolkit for its users. I still think that's a goal worth targeting.

January 3, 2013

Filed under: gaming»software»hotline_miami

REM

During one of those 24-hour colds, when I curl up under every blanket in the house and just wait for the fever to break, I often lose track of reality. It's not like I hallucinate. But, drifting in and out of consciousness with my body temperature far above normal, the line blurs between dreaming and my rational mind, which means I find myself thinking quite seriously about things that are either entirely absurd, or which never actually happened. It's the closest I get to doing drugs.

It may just be that I was playing it after recovering from a cold during the holidays, but Hotline Miami often feels like it comes from a similar place (fever or drugs, take your pick). Although it pays homage to Drive with its setting, violence, and a selection of trippy electronic dance tunes, Hotline adds a gloss of unreality: heavy filtering (including a subtle screen tilt), an increasingly unreliable narrator, and an astonishing sound design. The darker half of the soundtrack leans heavily on synth drones, distorted bass, and indistinct vocal echoes, walking a line precisely between captivating and terrifying.

So it is atmospheric. But in the wake of Newtown it is difficult to talk about Hotline Miami without talking about violence, since it is also a game about brutal, sickening violence. Dressed up in a retro 16-bit facade, the blood and gore is made more abstract, and thus more palatable, but that's a bit of a cheat, isn't it? The NRA recently blamed video games for school shootings, drawing on such contemporary examples as Mortal Kombat and Natural Born Killers, and while that's obviously laughable (and more than a little disgusting) it's hard to take the moral high ground when a prospective game of the year for many people involves beating anonymous mobsters to death with a crowbar.

Part of the problem is that Hotline Miami is and isn't about those things. Someone playing the game isn't sitting at a computer plotting murder--they're primarily thinking about navigating space, line of sight, and the AI's predictable response. Most violent video games are only superficially violent: mechanically they're just button presses and spatial awareness. That's not an excuse, but it does explain why gamers get so huffy about the accusations of immorality. It also begs the question: if these games aren't actually about death and destruction, then why all the trappings?

In the case of Hotline Miami, there's a studied juvenile quality to the whole affair. It's the interactive version of some smart-but-disengaged stoner's doodling on their high school chemistry notebook. It's gross because its influences are gross, and because gross things are fun to draw, and because chemistry is boring, dude. This accounts for some of the feverishness as well, since it taps into the same powerful imaginative impulse that we have as kids and mostly lose when we have to start paying our own rent.

It's not a bad thing for Hotline Miami to draw on those influences, or for it to be ultra-violent. There's a place for ugly, childish things in our cultural stew: I don't think you get Death Proof without Saw or Dead Alive. I like the game. But it bothers me a little that its violence is so unremarkable, and that it wants to use self-awareness as an excuse or an explanation. Using excess to criticize gaming culture was old with Splatterhouse (another up-to-the-minute reference from the NRA, there). So since we don't have a lot of variety in video game narratives, maybe we should stop letting "bloodthirsty" pass for "profound."

December 12, 2012

Filed under: journalism»industry

The Platform

Last week, Rupert Murdoch's iPad-only tabloid The Daily announced that it was closing its doors on Thursday, giving it a total lifespan of just under one year. Lots of people have written interesting things about this, because the schadenfreude is irresistable. Felix Salmon makes a good case against its format, while former staffer Peter Ha noted that its publication system was unaccountably terrible. Dean Starkman at CJR believes, perhaps rightly, that it will take more than a Murdoch rag going under to form any real conclusions.

Around the same time, Nieman Lab published a mind-bogglingly silly pitch piece for 29th Street Publishing, a middleman that republishes magazine content as mobile apps. "What if getting a magazine into Apple's Newsstand was as easy as pushing the publish button on a blog?" Nieman asked on Twitter, demonstrating once again that the business side of the news industry will let nothing stand between it and the wrong questions.

The problem publications face is not that getting into Apple's storefront is too hard--it's that they have a perfectly good (cross-platform) publishing system right in front of them in HTML ("as easy as pushing the publish button on a blog," one might say) and they're completely unwilling to find a business model for it other than throwing up their hands and ceding 30% of their income (and control of their future) to a third party in another industry with a completely different set of priorities. (Not to mention the barriers to search, sharing, and portability that apps throw up.)

What publishers need to be doing is finding a way to monetize the content that they've already got and can already publish using tools that are--well, probably not quite as easy as blogging, but undoubtably far easier than becoming a mobile software developer. One way to do that is with a leaky paywall: it's been a definite success for the NYT, and the Washington Post is considering one. I suspect that when calmer heads prevail, this will become a lot more common. The problem with paywalls is mobile: even if consumers were not conditioned to want "apps," sign-in on mobile is a frustrating user experience problem.

But let's say apps remain a hot topic in news boardrooms. I've been thinking about this for a few days: how could the news industry build a revenue model out of the best of both worlds, with clean mobile HTML deployed everywhere but leveraging the easy payment mechanism of an app store--assuming, in fact, that "payment is hard" is actually a problem the industry has, and given the NYT's success, I'm not honestly sure that it is. My best solution takes inspiration from two-factor authentication (which everyone should be using).

My plan goes like this: just like today, you visit the app store on your platform of choice. You download a yearly "subscription key" application, pay for it in the usual way, and then open it. Behind the scenes, the app talks to the content server and generates a one-time password, then opens a corresponding URL in the default site browser, setting a cookie so that further browser visits will always be signed in--but you as the user don't see any of that. All you see is that the content has been unlocked for you without any sign-in hassle. Next year, you renew your subscription the same way.

In an ideal world, there would be a standard for this that platform authors could implement. Your phone would have one "site key" application (not without precedent), and content publishers could just plug add-on apps into it for both purchasing and authentication. Everyone wins. But of course, that's not a sexy startup idea for milking thousands of dollars from gullible editors. Nor is it helpful for computer companies looking to keep you from leaving their platform: I'm pretty sure an application like this violates Apple's store rules. Personally, that's reason enough for me to consider them unacceptable, because I don't believe the correct response to exploitation is capitulation. That's probably why nobody lets me make business decisions for a major paper.

Assume we can't publish an app: two-factor auth still works in lots of ways that are mobile-friendly, post-purchase. You could visit the website, click a big "unlock" button and be sent a URL via text message, e-mail, Facebook, Twitter, or whatever else you'd like. A site built in HTML and monetized this way works everywhere, instead of locking you into the iPad or another single platform. It lets the publisher, not a third party, retain control of billing and access. And it can be layered onto your existing system, not developed from scratch. Is it absolutely secure? No, of course not. But who cares? As the Times has proven, all you need to do is monetize the people who are willing to pay, not the pirates.

This is just one sane solution that lets news organizations control their own content, and their destiny. Will it happen? Probably not: the platform owners won't let them, and news organizations don't seem to care about having a platform that they themselves own. To me this is a terrible shame: after years of complaining that the Internet made everyone a publisher, news organizations don't seem to be interested in learning that same lesson when the shoe is on the other foot. But perhaps there's an upside: for every crappy app conversion startup funded by desparate magazine companies, there are jobs being created in a recovering economy. Thanks for taking one for the team, journalism.

Future - Present - Past