A Week in the Valley: Ning

I met with the Ning crew in mid-June, the week before Where 2.0. Many thanks to Gina, David, Diego and others for taking the time to walk me through everything. I went in thinking “they’re a crappy PHP hosting environment” and came away (a) knowing what they are, and (b) impressed. Read on to learn what changed my mind ….

What They’ve Got

At the bottom level of Ning is a toolkit of Web 2.0 services (authentication, data store, tagging) made available through RESTian APIs. Anybody can use these, whether they use the rest of Ning or not. These are implemented in Java 5 (no J2EE), running on more than 20 Solaris boxes using virtualization with Solaris zones. Fast, and secure (no security violations since the public beta launched: zero).

Next level up is language bindings. PHP is the only language available in public yet. They have libraries that give a PHP interface to the RESTian services. They have Ruby working internally, will roll it out this summer. Language bindings are easy—the hard part is the sandbox that keeps applications secure. They picked PHP because a lot of people know it, but discovered its sandboxing was too thin for their use and then spent a long time making it secure. JVM will be the next bindings after Ruby.

Then, within each language, are the applications. Applications are trivially clonable (they now call this “Get Your Own”, but cloning is how still I think of it), which is the Ning way of letting every person or community have their own photo album, restaurant reviews, Craig’s List, etc. Not just clonable, but also modifiable: the source to the apps (not the framework of services, but the apps) is open and you can change the look, the feel, the behaviour, the features. They have a Web 2.0 Lego set.

Uptake

They describe usage curves at odds with Alexa, which doesn’t overly worry me because I’ve heard a lot of people lately say that Alexa numbers are largely fictional. They say it’s going way up: 16,000 applications built and every week there’s something new that’s huge and people clone. They have a fantastic chart showing which apps are copies of which, and it’s fascinating viewing. You can see the original apps they wrote, the second generation clones of them, and the popular second generation clones that were in turn cloned into third generations and so on. It’s huge. Interesting: only 3 porn Ning sites.

An interesting measure they gave was that they have a 75% apps to users ratio: on average three quarters of the people who sign up to add content/comment/etc. on a Ning-built site end up cloning an app for themselves. That’s a hell of a rate, and some days it’s over 100%. They wouldn’t tell me how many of those keep coming back and maintaining their apps, but did say it was the classic 80/20 long tail.

They have a huge population of Google Maps mashups. I had them at the Where Fair because of it. It’s unbelievably bloody easy to create a mashup with them.

Cloning doesn’t end the relationship between the new app and the old: you can diff the apps and incorporate the changes you want. Their dummy-friendly editor lets you literally build a multi-feature site like Six Apart‘s vox using drag and drop.

Technology and Philosophy

Their underlying APIs are not just RESTian, they’re Atom. Yes, they’re very close to GData. GData is Atom + Atom Publishing + A9 Stored Queries. Ning has Atom + Atom Publishing + homebrewed query syntax. Near enough. Atom is something to watch for programmers, not for civilians. It’s proving to be RSS for serious programmers (RSS is RSS for weekend web jockies) (I look forward to being burnt in effigy by the RSS devotees).

There’s a huge philosophical and mental gulf between the Ning conception of apps and the traditional programmer sense. We think there should be one perfect app, with lots of users. Flickr, for example. If we want a new feature, we whine at Flickr to add it. Ning isn’t about software perfection and collective brilliance, it’s about individual empowerment. If you want a photo site, you go to someone’s photo site and hit the “ah gotta git me wunna thayem!” button. Boom, you have a photo site. If you want a new feature, you hit “edit my app” and add it. It’s so very American, and is so against the grain of programmers who are taught that duplication is bad and must be avoided.

This is partially the reason why they had such mixed PR. Arrington posted “Ning RIP” and gave them both barrels as crap. The TechCrunch 53,510 (and me) all looked at Ning when it launched and said “huh, it’s PHP with libraries I don’t own! UGH!” But users who aren’t Apache configuring MySQL-worshipping junkies with Rails up both forearms (in other words, normal people) look at it differently. They see something that takes the pain out of building a web site.

It’s just like Rails in the sense that it makes it easy to build a web app. Rails puts “hello world” one commandline away. Ning puts a full real big app one click away. Rails is a framework built around conventions. Ning is a set of libraries, and Ning apps are built using those libraries. There’s actually less of a learning curve for programmers in Ning than there is in Rails. And there’s hella less for designers, hobbyists, the world of part-time people who say “ah gotta git me wunna thayem!”

So this leads to great redundancy: every usergroup can have its Flickr site. And it does. Handbell enthusiasts have a number of sites. http://handbellpodcastcommunity.ning.com/ is a real domain and real site. What they don’t really have yet is the integration sites: “here’s the superset of all the photos managed by Ning apps”. It’d be easy to do, but they don’t think like that (or, to be precise, they haven’t implemented that yet). Instead, they think about pivoting: you’ll look at a photo on a site and pivot off the site to another picture through the tags, through the user, or through the other photos gathered on that site. In this sense, a Ning photo app is like a “group” on Flickr. Until recently, the search function searches across apps by default, making it easy to find all content with “kitten” in it somewhere, etc. They’ve only just changed it so the default functionality is to search within the app, as part of their big push towards internal app consistency (see below).

It’s hard to know when an unmaintained app is a problem: they’ve had a lot of apps built around events, which are then no longer useful when the event is over. Not a failure, just the way it was meant to be. An Austrian class in computer history had a Ning site and all the students got accounts. It was active. Then when the course was over, it went “dead”. That’s not a bad thing the way a moribund Sourceforge project is a bad thing.

Money Money

Their money comes from ads and premium features. Their goal is to be 80% ads, 20% premium. They danced around where they are now. Premium features are things like hiding the source to the app (which I described as “cool, you charge them to be a dick!”), putting it in your own domain (instead of foo.ning.com), extra storage, and running your own ads. The prices are low ($8 or so per feature).

The ad story is very interesting. Only 300 chose to run their own ads, and the 300 that do this are a cross-section on every axis. Significantly, it’s not just the most-trafficked 300 ning apps that run their own ads. A lot of superstars don’t run their own ads.

Money isn’t a problem for them at the moment, funded by Gina (she sold her previous company) and Marc Andreessen. Nice for some!

Planned Improvements

I hinted earlier that they’re doing a lot of work this summer. When I saw them they were finishing up three major changes based on comments received:

  1. moving the big Ning bar of Ning features from the side to the top. It’ll be a 30px strip at the top of every app.
  2. letting people customize the living daylights out of that top bar.
  3. letting people wrap all the Ning features (search, login, manage social network, etc.) with the site’s branding, rather than having them bounce between site and Ning-land and back again.

I didn’t like the Ning bar. It felt like the Apple menu was always on. They’ve got the usual collection of meaningless words (“People”, “Invite”, “Popular”, etc.) that mean nothing to users until they already know what they signify. But that’s just me. I’m no user interface guru, as the absence of black polonecks in my wardrobe attests.

They’ll also be adding video as a fundamental type, with transcoding as fundamental operations. A lot of people have come to them and said “we need our own YouTube, our own Flickr, our own …. can you help?” I have my doubts about video because of the bandwidth. They don’t seem to have appreciated the horrors Slashdot can do when your “page” is 17M in size and takes 3 minutes to transfer. As Apache Guy Steve said, “YouTube’s monthly bandwidth costs exceed Ning’s burn so far.” Their business model really aligns with the needs of Fox et al.: the video player would be Fox/ABC/etc. branded, rather than with “youTube” slapped all over it. If ABC have a clip go viral, ABC gets their name all over it and not some do-nothing bandwidth pimp.

Random Interesting Stuff

Their storage engine is interesting. Every object has ID, app, user, tag, and type as metadata, and holds arbitrary key-value pairs. That’s all the storage engine does, so it’s very web loose-coupled. If your appointment data points to my address data, I can delete my address data and your appointment’s left pointing to nothing. It’s up to you to deal with references if it matters to you. Diego reckons it turns out to be not as big a pain as you would think, though that’s what MySQL people said about the lack of transactions and eventually they had to buckle and add transactions.

But even more interesting is their licensing issue. If I can trivially get to data from another site, how do I know what license was attached to it? It’s not metadata at this point, though they’ll make it so when it becomes more of an issue. For now, they say “anything you upload has this CC license on it, don’t upload if you don’t want to license it so”. This has the consequence that they can’t delete an image when the owner wants it gone: they have to delete it only when the owner *and all the licensees* want it gone. In other words, if I put your kitten picture on my page, it won’t go away when you delete it. You’ve given me a license and I haven’t asked for it to go away. Interesting quirk.

Common question: what if I write a great app and Yahoo! wants to buy me? Their answer: go for it. Your app is your app. You can take off their site. You’ll have to write your own storage, tagging, and authentication modules but you’ll need to do that as well when Yahoo! borgs you. Surprisingly reasonable.

They have 47% use from outside America. 176 countries. They support UTF8 sites (and have Indian, African, Japanese, and other sites to show) but not localization (the Ning tools are all English). They’re working on that this summer (Diego wants Spanish :-)

Show Me Something Shiny

Some sites they talked about:

Also check out their interviews: with the CCHits creator, with a guy building a democratically chosen art exhibition, and with the Truly Zambian creators.

Conclusion

Anyway, I’m way more interested in Ning than I was before. I think they’ve got some really good people (operations guy from Earthlink knows his stuff), are built on interesting technology (Java 5 without J2EE, something I’m hearing more than once, and the Atom publishing stuff), and have a hell of an inversion of the conventional nerd wisdom which might actually turn out to be better for the user.