Entries for July, 2012

Been on a plane all day, so a bit tired. But I got to spend a lot of time thinking about App.net on the plane, and it's got my quite excited. So in keeping with my old writing style, here comes a lot of disconnected thoughts. 

. . .

It's been quite some time since I've written in this thing with any regularity. In the years I've been away, I've immersed myself in the Twitter, Facebook, Flickr, Pinterest, and the Instagram world. The mobile world is exciting, and clearly it's helping the growth of products which thrive on stealing your attention for 10 minutes at a time (information consumption, games, etc.). I worked in a product in the enterprise space and left, never vowing to do it again, before finding myself in midst of starting another enterprise SaaS service. But you (old) readers should know that my love has always been in building sites for people to share their stories. That's what led to me building Tabulas *9* years ago. I never stopped thinking about Tabulas and how to improve it. (Now, having time + resources to address it is something else altogether). 

Let's face it: Tabulas suffered because it got much easier to share stories on other sites. And it wasn't even the creation of the stories that was important - it was the feedback you got. It was much easier to build and maintain a community on those other sites. 

. . .

But I sense that this is fading. As pressure mounts on the Twitter and Facebooks of the world to monetize, the feature sets aren't as enticing. I've seen a dropoff from my friends' activity across a lot of these sites, and I'm beginning to re-thinking my metric for  measuring "success" of a social network - I no longer think it's the size of the network that matters, but more the quality. Svbtle has been doing a great job of proving this point. 

Tabulas did pretty damn good in the early days (of course, this was really pre-FB) in picking up $28/year subscriptions from its users, with no real difference between the premium and free versions. But then came the flood of ad-driven sites that caused the price to drop to $0, which really destroyed the ability for Tabulas to continue product development. We tried ads for a bit, found out they didn't work, and basically let the site flounder. We were living in an ad-driven product world, when what we really wanted was the users to pay for our product. 

. . .

But now I'm starting to believe that there could be a world where people would pay to join a site like Tabulas, and it could support itself immensely well. The Apple iOS community proves people will pay for software again, as long as it is high quality

Now, I don't think ad-driven sites like Twitter/Facebook/Google+ will ever fail - I simply believe they will be the commoditized products of the world. The lowest common denominator. Like McDonald's with food - everybody has been there, they fill you up... but do you really want to eat all your meals there? 

I think the next generation of social networks will provide polished, hand-crafted apps that people *love* to use and pay for. This is already happening on the iOS platform, but hasn't made its way to the web yet (the technial reasons for this deserve its own blog post). 

. . .

In my mind, Tabulas goes back to its roots as a journaling-driven social network. We strive, once again, to build a high-quality journaling product that allows people to easily and freely share their stories. But I can't provide the social graph - creating great writing tools and allowing people to connect is too hard. 

And that's where the problem lies. I won't delve into the issues with FB Connect, but I'm not convinced that Tabulas could survive in a world where the social graph lies with FB. (It mostly has to do with the fact that users who use FB expect free, and also the ability to gain traction via FB has largely been limited due to their throttling of viral social growth after abuses in the past). 

. . .

So imagine my joy to hear about App.net. Right now, it's nothing more than an idea; a call to arms. The gist is the following: it's a social network that is not driven by advertisers, but by its users. You pay for a great social networking services, and you get an awesome product in return. It's a great idea. Social networking is the killer app of the Internet, and I see no reason why people wouldn't pay for it. 

The price? A measly $50/year. Given that FB only generates $5/user per year, the business model seems - at first glance - decent. 

What gets me excited about this? 

Well, App.net will focus on providing the base tools to build data (posts, images, etc.) and the name brand should be enough to start building the social graph. Tabulas can focus on building a great product for sharing stories. 

IF App.net (a big if) can position itself as a high-quality exclusive social network, it should have NO problem drawing in people to pay for it. And IF those people are in App.net, and they get access to a series of high-quality apps on TOP of App.net, there should be no reason why app builders on top cannot make a good income building high-quality products that people love to use. 

To me, that'd be the perfect world. The commoditization of social networking tools has really hurt the user experience across the board (with the exception of mobile Twitter), and I think people are starting to get bored. There's an army of developer craftsmen who want to pursue perfection, but need a market to do so. So far, the Apple iOS ecosystem is the only one - but one doesn't exist for the web. 

If App.net can change this by creating a marketplace on the web for developers on top of a solid social graph, *that* is a game changer for developers. 

. . .

So far, the API is non-existent. The core decisions seem good, though. I do agree that the data needs to be centralized - I've long dreamed of a decentralized world, but it won't work. JSON (implicitly REST) for the API is great for a lightweight transport format. The fear with API design is always you abstract too much - hopefully they set a deadline and work against that with real use cases for the API. (And of course, don't be afraid to make breaking changes to the API). 

In any case, they are soliciting donations for App.net - only when they get $500K pledged will this start to become a reality. And I hope they get there, cause I do feel this is a game changer. (And that should mean something, I've only really used that phrase when Amazon S3 launched). 

Posted by roy on July 20, 2012 at 11:45 PM in Ramblings, Web Development | 6 Comments

Here’s a theoretical post about what an updated Tabulas’ might look like. This is in no order of real preference, but rather as the ideas spill out. Each of these ideas require a whole posting in and of themselves, but here is where my thinking is at right now. Ideas subject to change, based on feedback and further thinking.

Well, before we begin, what is Tabulas’ role? How does it fit into the very crowded work of self-publishing?

Tabulas’ is geared towards people writing original content in their areas of expertise. In its most common manifestation, this might simply be their personal lives - an online journal. In other formats, they might start writing about their work or their professional interests. This isn’t that different from the existing Tabulas use case. The goal of these changes is to empower creators to be able to create and share more content easily within Tabulas. This is done by simplifying existing concepts and be removing some edge-features that aren’t worth maintaining. We instead focus that effort into building a slick UI for managing the content (as well as slick default layout).

What changes is the UI approach in the control panel to these features. Currently the tabs really indicate where my thinking used to be - Tabulas is an overarching bucket for all your random content. Photos is a separate feature from images, etc.

Instead of providing multiple UIs to interact with the content from a visitor’s perspective, the visitor’s interface is simple: the journal itself. Facebook has done a great job of delivering different content types via a unified stream (shared links, status posts, activity, and photos). Tabulas would follow this concept. This simplifies the front-end view to a journal view, a photo view, and profile (user) view. (So you basically lose links and files as separate pages - pages also disappears, but more on this later). Simple.

Comments would be handled only internally (no more guest posting), but users can log-in with Twitter/FB/LinkedIn to post comments without creating a Tabulas account. This should cut down on spam. 

The discovery mechanisms would be changed - favorites would be removed in favor of a “liked” stream - this liked stream would contain entries that the user has liked across Tabulas. Friends would remain the same, but friends-of would disappear (you would find people who friended you through an internal activity stream on the control panel).

That would be the public view of your Tabulas. The control panel would change dramatically. The core experience for the backend revolves around three activities: posting new content, discovering activity around your content, and discovering new content inside the Tabulas ecosystem. From a prioritization standpoint, the last one isn’t as important as the first two.

The creation of posts is where I’d put the most emphasis right now. A post, being a textual entity, would also be a container for images (a post would basically replace an album) or video (v2). That means one UI for adding photos, adding posts, or adding pages.

As far as pages go, I want to remove pages as a feature altogether, and use posts instead.

What I’ll add (and what WordPress did well) is create a “menu” feature. A “menu” item can contain posts, pages, external links. As far as I can tell, users on Tabulas use pages to “feature” posts along their sidebar. We can do this without adding a whole new feature called ‘pages.’

Link management changes dramatically - I haven’t fleshed out the details completely, but I want to piggyback off of Pinboard.in. Use pinboard.in to handle link storage, and pulling links out for entry creation. (Most of my posts used to be an aggregation of links I found interesting - I see no reason we can’t continue that by using Pinboard as the backend).

As far as styling goes, the engine will probably not change (ugh). However, I will actually invest time into making a layout that doesn’t suck (I’ve said this before so many times...). There has been a plethora of changes in the CSS3 and browser world since 2006, and we can take advantage of those changes (beautiful typography, textures and gradients). In the earliest iteration, I will probably remove custom theming options (or make a really non-explanatory page where you can change your theme) and force everybody to use the same theme. But having the ability to theme is very important, and something Tabulas will continue to support.

Tracks, messages and tagboard will probably permanently go away. Site logging will be removed temporarily with the goal of bringing it back in the future.

Crossposting and other external integration methods will go away while I re-examine them. I will instead focus on providing single sign-on with Facebook, LinkedIn, and Twitter. The only API I plan on building atop of right now is Pinboard.in. The future long-term API I plan on building atop of is app.net (if it comes to fruition). Besides the sharing components, all data APIs will come from paid services, not ad-supported services.

Posted by roy on July 25, 2012 at 02:42 PM in Tabulas | Add a comment

I've been Tweeting a lot about App.net lately. A response from Arne: 

The idealist in me totally agrees. A totally decentralized and federated platform would be best - a system where everybody hosts their own service (or they pay somebody else to host for them) would be the best solution. You're in complete control of your data; the creation, consumption, and privacy are all on you. But the realist in me doesn't think this can happen - and even worse, I think it's shielding us from the bigger problems of today: open data

. . .

The pitfalls for federated, decentralized social networks aren't hard to understand, but I'll recap a couple of them: 

The technical know-how to be involved is too high for most users. From a time perspective, nobody wants to maintain their own servers. Even the geekiest of my friends have retired personal sites (I retired mine a few weeks ago). When was the last time you were on a personal site that wasn't hosted on some third-party service? Amazon's microinstance costs $15/month. Would you really pay $15 - $30/month to maintain a personal presence online? 

WordPress, which has done a fantastic job in simplifying installs, is still beyond the skillset of most users. Diaspora (and others) have introduced community "pods" - which are mini-Facebooks that host individual communities. While these remove the techniclal lift of joining this new social network, they have data integrity issues.

Having run a mini-social network on my own, I would NOT trust my life data with smaller providers. Automating backups and maintaining data integrity is a hard problem - look, any time there's any $ attached to any product, hackers will attack. Is pushing that responsibility out to community pods really better? Look, for everything you can criticize FB/Twitter for - they have smart, well-paid people protecting that data. 

. . .

People want new and shiny things. Pushing new features into a distributed, federated product like that would be insanely slow. New features in social networks usually involve two people - if they are on different servers, that means updating the code in two places. So do I not get this feature until everybody updates? Does it only work for people who update? What is the incentive for updating anyways? Fragmentation is a bitch. 

There is simplicity in a closed system's ability to innovate. That's why being Cloud-enabled is such a huge strategic advantage - you can push out new features to your customers quickly. Have you tried supporting a single product on every different flavor of Linux? Yeah, it's a mess. If we equate product development with the way IETF pushes out standards, you'd get a product release every what - 3 years? 5 years? 

. . .

My last reason is the simplest one: Product development is hard. Even in a closed system, only a few companies do it well. Look at Apple with Ping. They have smart people, deep pockets, an existing user base... and Ping failed horribly.

Forget the technical issues with a distributed social network - can anybody even define from a purely product perspective the advantages of a federated, distributed social network? What are the killer features that are enabled in this use case that a closed system can't achieve? 

I've had trouble answering that question. That's why I eventually decided that a closed system that enables open data is the best approach. 

. . .

If you accept open data as a "good enough" solution, then it's easy to look at the advertisement-driven sites of today (FB, Twitter) and realize that the incentives of those companies are NOT inline with user's. The goal of ad-driven sites is going to be to capture as much data as possible and lock-it in. In an ad-driven world, the goal will be to keep users in their walled gardens as long as possible. To me, data ownership is a bigger concern. Can I export my data out of Twitter if I want? 

That's why App.net is so important to me - it's the first step to admitting that these social networking services are critical and valuable, but creating a future foundation that is directly in line with users and developers. To me, the lack of standards support, or the centralized nature does not bother me, since they are emphasizing their support of open data: the data is mine, and I can have it back at any time. Even better: other people, whom I grant access to, can help present my own data back to me in useful ways. This is where FB and Twitter are falling off the cliff. 

Products don't have a long shelf-life. In a lot of way, I look at them like movies - very ephemeral. They are brought into existence, they serve a purpose, and then they die. Look at how we discovered content on the web: Yahoo!, Altavista, Google... now Twitter. There's an evolution. Facebook from today looks drastically different from the one two years ago, and two years before that. I shudder to think what it'll look two years from now. Products don't last to me. Data, and by relation, platforms, do. 

To me, building a platform with a business model that (theoretically) doesn't conflict with users will last. For a long time. And that's worth investing in - something that'll last. 

And while there are MANY technical questions about App.net... I do believe that the business model and vision Dalton's put together is the best shots at creating a user-oriented platform that will serve us, the users. 

Posted by roy on July 26, 2012 at 10:38 PM in Ramblings | 1 Comments
« 2012/02 · 2012/08 »