Decentralised networking is hard, no really?

Sydney, January 2009

Straight out of the “No Sh*t Sherlock…” book….

Although I think its amazing what developers do, I can imagine how hard it must be to write decent decentralised software. The Diaspora guys spell out how difficult it is… which Adwale likes to make sure I and others fully understand.

  • If you build a decentralized application, you actually need to ship software. You need to package, test, create installers, test on a variety of platforms, write defensive code to work around misconfigurations your customers are likely to create, etc. For a centralized website, you can often edit files in place on the production server.
    Result: decentralized is 10x harder at least.
  • Somebody somewhere will run every single version of your app that you ever shipped. It will be badly out of date, full of security holes (you fixed years ago), outmoded graphics etc. It will cost you additional support, and your brand will suffer. Almost nobody upgrades to the latest and greatest within a life time it seems.
    Result: decentralized is less functional, less pretty, and less secure.
  • Decentralized software is much harder to monetize. You can’t run ads on somebody else’s installation. You can’t data mine your users (because most of them aren’t in a place that you have access to, it’s somebody else’s installation). You can’t do cross-promotions and referrals etc. You can charge those people who install your software, but there’s a reason most websites are free: much better business.
    Result: decentralized produces less money for you, so you have less investment dollars at your disposal.
  • Database migrations and the like for decentralized apps have to be fully productized, because they will be run by somebody else who does not know what to do when something fails 15 minutes into an ALTER TABLE command.
    Result: decentralized is 10x harder at least.
  • Same thing for performance optimizations and the like: it’s much easier to optimize your code for your own server farm than trying to help Joe remotely whose installation and servers you don’t have access to.
    Result: decentralized is slower, more expensive, and harder.

Frankly although I take the points… If you want to stand out in a clearly over crowded field, and one which has a major elephant using up all the space. You need to think differently (to quote someone we all know too well).

This means doing the difficult things which no one understands and owning the platform!

Your business model should/could be charging other developers to build and be creative on top of your platform. App.net have got the right idea, charge the developers who then create the experiences. Your focus should be on managing the platform and supporting their creativity. Anything else is greed and/or lack of focus.

What do I mean by creativity? Think about Tweetdeck

Tweetdeck innovated on top of the Twitter platform and in the end the platform twitter bought them (stupid move). Tweetdeck for a lot of people made twitter usable at long last. The amount of news rooms I’ve been to and seen tweetdeck with a million panels open is untrue. The same isn’t true now… Tweetdeck guys innovated on top of Twitter and instead of sharing revenue with them or something. They bough them…!

A quote which comes to mind is something like…

The train company thought they were in the railroad business, what they didn’t get was that they were actually in the transportation business.

I really like twitter but frankly their control/greed/whatever is getting out of control. While on a panel yesterday at the London transmedia festival in Ravensbourne College. I was sat with Danielle from Tumblr, Bruce from Twitter, Cat from BBC and Doug Scott from Ogilvy. Although its tempting to make a few comments about there change in stance, I passed. Although I did notice say something which could be seen as slightly negative. Doug said how useful Twitter is for understanding users and I agreed but I said,

“Well its important to remember Twitter is only explicit data, implicit data is the stuff people really want to get there hands on…”

Anyway, the point stands and its hard to see how Twitter will get into the implicit data game at this point. If they acted like a platform, maybe someone else would do the innovation for them. But back to the main point why would you do it on someone closed system?

Decentralised network systems are harder but will drive much more interesting creativity… I can see how this might be at odds with setting up a business, startup and having investors etc… But I’m sure I could make a argument that its better in the long run…

Switching over to Tweetdeck

I switched over to Tweetdeck a while ago… I use to use Gwibber on my laptop/desktop machines and Peep on my Android phone but recently switched…

HTC Peep was ok but honestly it use to wind me up when it wouldn’t update when the storage was quite low. No warning either. Gwibber was great but I found it slow when adding lots of columns. I tend to have a column for all the people I’m following (home) one for replies (@replies) and finally one for Private messages (d msgs). On top of that I have searches for events and the such things. Tweetdeck handles these pretty much in its stride, but Gwibber use to do odd things.

I think it might have something to do with being connected to Twitter x2, Identi.ca, Facebook and other services.

The one thing I do miss from Tweetdeck is the ability to connect to a identica and status.net server. Instead there’s accounts for Facebook (which actually works very well) and Google Buzz. Honestly I’d switch out Buzz for status.net anyday.

I don’t know how the news Twitter might buy Tweetdeck will effect everything but it looks like status.net and even the open microblogging standard isn’t coming any time soon. I may switch back one day, specially if Gwibber 3.0 is as good as it could be.

The internet operating system for real

Chrome Extensions

I switched to Ubuntu over 4 years ago, and its been pretty smooth.

But its recently got even smoother thanks to Google’s Chrome browser.

Why? A lot of people don’t even know Chrome supports extensions like Firefox…

Evernote winds me up no end… I started using Nevernote. Its a java client which mainly works with evernote but to be fair its quite bulky and a little slow. However Google launched there web store and a whole bunch of html5 apps have made it into the web store. A few of the apps include Evernote clients which not only connect to Evernote but also keep a local store of the notes. Making Evernote finally fully usable and reliable on a Ubuntu laptop.

As you can also see, its not only Evernote, its also Tweetdeck without installing Adobe Air (because when I last checked the 64bit version was bad, and who wants it on there machine?). I actually stopped using Gwibber because of Tweetdeck in Chrome (sorry to say…) Readitlater, Dropbox, etc are more like Firefox extensions than full applications. I guess Mozilla’s Prism is more like the chrome applications. I did try a while ago to run Evernote in Prism but it really wasn’t built for it, maybe things have changed now but I’m using Chrome more and more, although I also use Firefox 3.6 still for most of my general stuff.

There’s a lot of low level chatter about the internet operating system but google are doing a great job actually making it happen… you can see why the concept of chrome os is fascinating