Hacker News new | past | comments | ask | show | jobs | submit login
You Either Die A Hero Or You Become The Villain (massivegreatness.com)
113 points by rvcamo on Aug 9, 2012 | hide | past | favorite | 78 comments



This article hits the nail on the head.

The system of one person or company doing something wrong and another making a promise to do things right is exactly why politics never improves. What is to stop the next person from turning evil too? A promise made by a person? Seriously?

If the new company were to come up with some decentralized architecture that would systemically prevent them from doing ads and would just establish an open protocol that anyone can use for a small licensing fee etc or some new way of making money, that would at least be something worth trying.

If the only difference is a promise that they won't do ads, hah. I don't know.


I really really want someone to build an open source decentralised peer to peer piece of software that does this. Something similar to bitcoin in that it's not controlled by any one person or system and anyone can join in. There are a lot of hurdles but I think it could be done and that's something I'd definitely put money towards.


That's pretty much what identi.ca was supposed to be.


We're trying to do this specifically around Photos using OStatus. http://theopenphotoproject.org


For all the trashing e-mail gets on HN, it is a successful, and ubiquitous, decentralized peer to peer communications medium. It seems like that kind of thing stands little chance of taking off today where single-entity walled gardens are the norm.


Good idea but how do you monetize it?


Wasn't that the whole thing with diaspora?

Funny I haven't seen anyone even mention diaspora in these threads.


I think Diaspora was crushed under its own weight. A few things I think that worked against them.

* Too much hype meant they had big shoes to fill before even writing a single line of code.

* Inexperienced team. I think they were all new college grads.

* Chicken and egg problem.

That being said, we're building federation (via OStatus) into OpenPhoto (it's already distributed). We're working with Mozilla and other yet to be announced partners. I don't think we have the chicken and egg problem.

http://theopenphotoproject.org


I'm not an app.net fanboi, nor am I particularly hopeful about its chances of success. I have not backed it (though I'm considering it.)

This article is full of bullshit.

  > Because the reality of the situation is that if App.net 
  > ever was successful, it would face many of the same hard 
  > choices that Twitter now does. Or it would fade away.
Most of the challenges Twitter has come from its inability to monetize, and much of the criticism coming from app.net and supporters is that Twitter is sacrificing its openness in its quest to squeeze money out of the service. App.net aims to avoid these challenges by being a paid service. Further, since App.net has a built-in business model, it doesn't need huge traffic to turn into advertising dollars.

  > The truth is that these things rarely work because it’s simply not how 
  > the world works. People tend to flock to the best services. And the best 
  > services tend to sprout from the best entrepreneurs. And the best 
  > entrepreneurs eventually realize they need to build the best businesses, 
  > lest their services die or worse — linger in mediocrity.
There are a whole bunch wholly unqualified, unsupported opinions and logical leaps here. For one, I don't think people actually flock to the best services (maybe most popular, most exclusive, best marketed, best timed, pick any number of things.) But two, only MG Siegler is defining "best" to be biggest. Dalton Caldwell quite clearly thinks that "best" would account for some things like openness and a straightforward business model. I'm sure he'd love for app.net to be a billion dollar company. I'm not sure that's his definition of success.

  > Even if App.net hits its money goal and gets fully built (an early alpha is 
  > here), it won’t ever grow big enough to truly challenge Twitter. Maybe you 
  > think that’s fine. Maybe it could exist as a self-sustaining smaller network. 
  > That’s nice — but that’s not what drives anyone. No one sets out to be 
  > second-rate. And the best people don’t flock to those services. That’s why 
  > these things tend to not work.
Same thing here. MG Siegler has decided on a goal for Dalton Caldwell that Dalton doesn't necessarily share.

  > App.net looks like the hero right now only because it 
  > hasn’t had the opportunity to become the 
  > villain. And it probably never will.
Finally, the world is not a fucking comic book or TV show. There are nuances of decision and balances to be struck that don't translate into comically reductionist ideas of good versus evil.


    Most of the challenges Twitter has come from its inability to monetize
Per Crunchbase Twitter has had 8 rounds of funding for a total 1.16 BILLION dollars. Twitter actually did figure out how to monetize, they monetized an extremely small population (VCs) for an extremely large amount of money. Anything they'll get from consumers and brands will be peanuts unless you are looking at horizon much further out than any of those VCs wanted to be in on the deal. Sponsored tweets are going to be feeding the operating expenses monkey.

Looking at the FB/ZNGA/GRPN prices Twitter won't IPO so barring a deus ex machina in the form of an Apple purchase VCs are going to have to accept that they were the monetization vehicle, but nobody will want to talk about it publicly because it doesn't fit the standard narrative.


Seriously? Getting VC funding isn't monetizing. That's not profit, it's an investment. I don't know if this needs to be spelled out, but generally when people make investments they expect the investment to be returned with additional profits on top. Or do you think the VCs are in the business of giving money away?

Breaking even on sponsored tweets is not a sustainable business model just because they got VC funding. If they can't start turning actual profits, that VC money will be pulled out faster than you can type a 140 character message about it.


I think jbigelow76 is talking about 'monetizing' for the founders and early investors with tongue in cheek, and the fact that twitter doesn't have an obvious income stream. Obviously this is not the intended outcome for the VCs.


Couple things:

1. Monetization does not equal profit. Plenty of businesses monetize at a net loss, they just aren't around long term.

2. How investments work does not need to be spelled out, but maybe sarcasm does ;)

3. How do you see VCs (that weren't liquidated out from subsequent rounds) "pulling out" money? Are they going to ask employees to return paychecks, reverse bill AWS or wherever their infrastructure costs are incurred? There maybe money in the bank for operating costs and runway but from the VC's perspective that money is effectively gone.


VC funding is not investing, its speculation. VC money gets burned way faster than it gets pulled out. And generally they aren't looking to earn "actual profits" in the sustainable long haul. Just to generate enough hype to increase valuation for subsequent rounds when they can take their gains by cashing out early on SecondMarket.


An article full of bullshit written by MG Siegler? Shocker.

Sarcasm aside, it's the first thing I've read by him in ages in which he didn't troll the Apple vs. Android idiot war.


Agreed.

I got to visit jail inmates as part of a voluntary effort. I met a person that had killed their parents with a katana, he told me that everybody was an assassin, but they didn't knew that.

I had know people that in the WWII were put a fire gun in their head telling them to kill other people in refuge's camps or they would be shot. They didn't.

Those people had the opportunity to become villains.

This is done today in Africa when there are wars with children being forced to kill their parents(guerrillas recruit children this way), girls being raped. We had to psychologically treat them when they got out of the guerrilla. Some children refuse to do that and are killed on the go.


Not related directly to the article, and therefor, perhaps a poor HN comment, but it drives me insane when people change the text highlight color -- especially to yellow. I highlight nearly everything as I read online. For whatever reason, I find white text on the blue highlighted background to be much easier to quickly parse without loosing my place.

The blue highlight is so ingrained in my browser mind that seeing yellow just throws me for a complete loop.


If you're using Firefox, you could do something like this with your userContent.css[1]:

  ::-moz-selection {
      color: #FFF !important;
      background-color: #00A /* or your color of choice */ !important;
  }
[1] http://www-archive.mozilla.org/unix/customizing.html#usercss


... not that that lets this guy off using a yellow highlight, of course. I think "highlighting looks the same on all sites" is a pretty ingrained UI expectation on the web, and so one that you shouldn't be breaking without very good reason.


I have the exact same habit and have been criticized for that by anyone reading my screen at the same time


Some on alpha.app.net are arguing that app.net is "an infrastructure play for a million new networks to bloom. It's AWS not Twitter."

Not sure I completely got that message from Dalton's posts. He could simply have a marketing problem at this point, although he's done pretty well thus far if that's the case.


"He could simply have a marketing problem at this point, although he's done pretty well thus far if that's the case."

The message may by cloudy, but it's out there, which is the most impressive part of this in my opinion. App.net may be a good idea, but it's not really an original idea. And I had honestly never heard of Dalton Caldwell before this, and even now, he doesn't quite seem a Silicon Valley A-lister.

I'm not trying to knock him or the service, but I can't figure out how he got everyone talking about this so much. There's a million kinda-good-sounding start up ideas floating around out there and even the best of them often die due to lack of traction or being drowned out. And yet even though app.net doesn't even look like it's going to get through initial funding, it's all over the tech community.


He's relatively plugged into the SV tech scene. He also struck a cord with his original blog post[1]. App.net was obviously just a reaction to the outpouring of support for the ideas he expressed in that post. This could just be proof that 80,000+ page views of a blog post does not equal $500K in paid users at $50, $100, or $1,000 a pop.

More recently he received a ton of attention from his open letter to Zuck[2].

[1]http://daltoncaldwell.com/what-twitter-could-have-been [2]http://daltoncaldwell.com/dear-mark-zuckerberg


> Some on alpha.app.net are arguing that app.net is "an infrastructure play for a million new networks to bloom. It's AWS not Twitter."

That's actually the vibe I got, since he's targeting developers. I'm thinking Ordinary People will never pay that much for it, so it'll probably end up as a backend for applications.

> He could simply have a marketing problem at this point

As far as I'm concerned, he does. I haven't checked it out since the alpha launched, but from the pre-alpha video and stuff, I wasn't able to figure out what the practical uses of his product will be. Effectively communicating the practical benefits of your product is an especially important part of marketing if you're targeting people like HN readers, and Dalton really dropped the ball there.

> he's done pretty well thus far if that's the case

Surprisingly well. I really don't understand why this project has been this successful.


> Surprisingly well. I really don't understand why this project has been this successful.

No disrespect to Dalton but he's very well connected in the valley. If he weren't this idea wouldn't have made a blip on anyone's radar.

I also wonder and am concerned if everyone supporting the idea is in the valley echo chamber and in his 1st to 2nd degree circle.


I agree. As much as some people in the world want App.net to be, the majority of the world doesn't care. After all, even Twitter took years to be accepted by the main stream users. Are your mom and dad on Twitter? If the answer is no, then even Twitter hasn't succeeded yet. Without millions of users, neither will App.net

The majority of the population is used to paying money for services, but they pay to the services where they have no other choices - telecom companies. They do so because phones used to be a luxury, then a necessity, and I think they still are a necessity. You can't just wish your iphone into sending a message, you got to have it connected to some network.

Even if Dalton raised the .5mil and built the network, the network won't grow and without growth it will soon stagnate and die. He could then, of course, open the network up on a freemium model, which may be an interesting experiment, but chances are at the end of the day advertising money will be the only source of truly meaningful revenue. After all, if Facebook and Twitter are giving you everything for free and only asking for your ad clicks, why would you want to pay? I mean, I know why, because you want an open network without ads. I mean, if you had a choice to buy milk and cookies for your child or to buy a month's worth of social networking ... I sure hope you pick the cookies.


How about sites like Wikipedia or Wordpress? Aren't they non-profit (Not entirely sure about Wordpress), community-driven sites that have succeeded despite their altruistic intentions?

I don't agree with the notion that companies or non-profits have to eventually become sinister and closed-off to maintain market-share. I think Twitter and Facebook just happened to be sites that did take this path-likely because they involved individuals who wanted large profits.


IIRC, Wordpress makes money selling ads on Wordpress.com hosting.


But the project wasn't started in order to sell ads on wordpress.com hosting

I think the point from reply above is that the line about all successful projects being 'for-profit' projects is clearly bogus, and I would totally agree with that.


Wordpress sells premium services on Wordpress.com in addition to the ads.


Wordpress isn't non-profit but they monetize open source software. So by nature there's a bit of balance in what they can realistically do to be "evil".


First of all: This comment has nothing to do with the content of the article, just the timing.

You seriously couldn't wait 5 days to publish this? What's the point, do you want to be a hipster pessimist or do you just want to screw with the effort these people are putting into it?

Even if you are right on every point, why the hell would you publish it now? Do you want it to fail? Do you want to actively have a part?

What the hell is wrong with you dude.


I think 5 days from now would have been too late. At that point it would have seemed like they typical "hindsight is 20/20" Monday morning quarterbacking. At least by making a statement now, as forgone a conclusion as it may be, he can at least pretend that he isn't the 30th person on a bandwagon that seats 60.

Like MG or the other marketers of the silicon valley dream there is the perception that it's a meritocracy, and we all want app.net to succeed on merit. But if were really merit as opposed to execution + opportunism we wouldn't have companies like Zynga (current share price be damned, Pincus got his). MG is just perpetuating the trend: execution (leveraging svbtle/TC cred) + opportunism (pretending he isn't telling the audience what they already know).


To the first part: that's obvious and stupid, but I agree that's the motivating factor.

In regards to the 2nd: what?


RE: what?

My point was, we all want app.net to succeed, because it means our success is mostly in our own hands and our faith in people's ability to see past the quick, easy and free. I like that thought too, I don't have much faith in it but I like it. MG is cynically playing off that hope as well.


1.) This post may be meant to motivate people to prove him wrong and donate more money. For app.net, any press is good press as the deadline nears.

2.) I don't like the tone of your comment - take a look at this thread: http://news.ycombinator.com/item?id=4354635


1). Huh? That's giving quite the benefit of the doubt. Kind of like how burglars are really just on a spree to make sure that that home-security companies continue to have a profitable market. I take issue with the idea that press that questions the tenets of this company is going to cause more people to donate.

2). I don't like it when people can attack someone trying new business ideas on pure speculation. That's just a mean thing to do. Also, I take that you don't mind the FUD that the post perpetuates if there's enough sprinkling of humility for you to pretend that it's balanced?


Well - I actually concur that any press is good press at this point. It's not like anybody who has already pledged, can (easily) revoke that pledge. The only downside is it's hard to believe anybody who might read Siegler hasn't already read about app.net - so the additional exposure is minimal. (I backed app.net - fingers crossed Dalton hits the $500K/10,000 original users level)


If it were a few days later it wouldn't be a prescient prediction.


You know how FaceBook won? By being cooler than MySpace with a key demographic, and using that as a wedge to bring in everyone else. But FaceBook isn't cool now, just normalized: your Mom is there, and so are a million spammy ads and apps and games, with the open secret that somebody somewhere is probably doing something creepy. Sooner or later, another social network will become the next digital status symbol, and having it be paid-for might actually be a benefit in that regard.

Also, with enough paying customers, app.net doesn't have to win, so long as it offers real value beyond just network effects. If enough cool services are built on top of it, it can be valuable enough that people will pay to keep it afloat even if FaceBook and Twitter are still king numbers-wise. (Bearing in mind that one can trivially cross-post between services.)

Also: I really hope app.net pays attention to pricing psychology if they get funded. To most people $5/month doesn't feel like much and $50/year feels like real money, even though the former is actually more expensive.


I'm interested in this pricing psychology? Till what point would people say, "Fuck it, I don't care". $9.95? $14.95? or even $19.95? I think $20 bucks is pushing it. Maybe $15 might be the largest "throwaway" money for most people.


There is no "one point" for all.

For you $20 is the threshold. But for Warren Buffet? But for a small business that could earn $2000 more a year with a great social service? For a Venezuelan person whose same $20 means a ton of work?

It depends. 20% of Americans have 80% of the wealth.


Unfortunately for appwhateveritis, I suspect the cool wedge users that got facebook where it is are more price-sensitive than the old folks they want to get away from.


I think it varies heavily by personality and economic status. For me, $5 or less is a rounding error. For some it's $1 or less, for others it's $20 or more.


"You Either Die A Hero Or You Become The Villain"

Or you suffer the fate 99.99% of people face: disappearing into the void as an unknown, without a soul caring about you. Actually, it's more like 100%.


It'll be exactly 100% in the end. Heat death of the universe, if nothing else wipes us out first.

Sic transit gloria mundi.


I think we can have an 'Open Twitter' without anyone needing to fund it, or own it, or monetize it.

1 to Many short messages are a powerful concept, but as with email - a spec is all we need.

In a nutshell: we define a layer on top of email and mailing lists for short broadcast messages and discovery.

I jotted down my rambling, incoherent thoughts on the subject here: http://www.aschroder.com/2012/07/an-open-twitter-like-networ...


1) Never heard of App.net until now. I don't like the name. It's too technical. I prefer the name Quitter (Qwitter, kwitter). If you want to build something for the people, make it appealing in name and image to a 7-year-old.

2) Does the service have an API, similar or the same as Twitter's? "the structure of the Java APIs that Oracle was trying to assert can't be copyrighted at all" http://arstechnica.com/tech-policy/2012/05/google-wins-cruci...

3) Status.net is open-source microblogging. http://status.net/packages - it became a hero, but for businesses.

4) There should be a way to give or pledge bitcoins. I don't care for state-backed fiat currency anymore - it's just like twitter, manipulated for economic gain by its issuers to the point of breaking its users.

5) There should be a "pledge to quit" .. something like "I'll pledge to quit but only if accounts up to 500,000 followers do the same" http://www.pledgebank.com/

6) Who's going to commercially benefit most from the service in the long-run?

7) Can this site just copy my existing twitter feed, until I am ready to close that one down?


All the time I thought app.net was some iOS marketplace or app generator and thus instantly dismissed anything I saw about it. Very unfortunate name in my opinion.


Yes, I agree. Maybe they have a soft spot for Microsoft.

On a forward basis, we will focus on expanding our core experience by nurturing a powerful ecosystem based on 3rd-party developer built "apps". This is why we think the name "App.net" is appropriate for this service.

FAQ - https://join.app.net/

They could have just as easily have called it "keyboard" "mouse" "compile" or "run."


Why would you give it a name with such negative connotations like Quitter?

Yes, it has an API. Even MG's article mentioned it.


I run a small site called http://twitya.com - maybe that'd be a better name for it, named after the Twitya river in Canada.


Nothing in the article about API.

Quitting has immensely positive connotations if it leads to something better. It's only one consonant off twitter.


Did you even read the article or join.app.net?


Yes, yes. I didn't watch the video though.


I remember hearing "who the hell is dumb enough to pay for television?" when I was young.

..somewhere along the line, someone (smartly) decided that PAID television might just work. That people were tired of what was broadcast over the air for free and all of the attendant issues that "free" brought to the table.

How big a market is paid TV now?

I guess it speaks to the erosion of values and the disappearance of "words have meaning" to call app.net an altruistic project. I mean, really. They are offering to take money in exchange for providing a service.. so that the core values of the business arrangement remain focused on the people using (and building) the service. If a quid-pro-quo arrangement like that is the new version of altruistic heroism, no wonder things in the US are so #^&*ed up.


False dichotomies are fun and all, but let's be honest. Does it really either have to "die a hero" or "become the villain"?

The whole point is that Twitter has become the villain, and that App.net is providing an API infrastructure, not a closed social media experience owned by advertisers.


Can you think of examples where companies have succeeded and not "become the villian". I can't think of one from the top of my head.


A narrow world view where entrepreneurs and businesses produce all the successful software in the world. The irony is that almost all of the software used to produce and host this blog post is made up of free and open source.


In disclosure, I'm a "backer" of app.net and am on the alpha. And as a hardcore Dark Knight fan, I can fall for any DK quote.

But while I respect MG's other writing, I don't agree with all of his conclusions here.

Some thoughts:

1. He states that "the web is simply not conducive to a user-supported service reaching the scale of a Twitter" to imply that success = scale. I actually believe the app.net could become a lot like HN - a relatively (web-wise) small group of people who all get value from the service - enough to pay for it. Does it kill twitter then? Probably not? But does that mean it's a failure? I don't think so.

2. Furthermore, let's examine this point that the only services that can get to scale are ad-supported. He certainly has good empirical data (facebook, twitter, etc.) to back him up. But in the software world, open, non-commercial efforts (e.g., linux, smtp email and more broadly the internet) have had gigantic impacts in terms of scale. As others pointed out, wikipedia is an example of a service in this vein. I think we haven't played out the experiment yet of what do open, non-commercial distributed services look like. I wouldn't give up on that. I personally think that any true communications utility long-term needs to be open (like email). app.net is still commercial so not fully there - but clearly (IMHO) more transparent and open than an ad-supported model.

3. MG also doesn't talk about one of dalton's meta-points which I also feel passionately about. The conventional wisdom seems to have accepted that an ad-supported future state - where ads follow us around, personalized to what they think we want, making us think our services we're getting are "free" when they really aren't - is the only possible future state. I know Tom Cruise got followed around by ads in "Minority Report", but that doesn't mean it has to be our future. I personally believe that humans will recognize over time the real cost of advertising and eventually converge to a more balanced world of paid and faux-free (ad-supported) services. I'm not saying ad-supported will go away - just that there will be choice (which was actually the main point dalton made in the first blog post he wrote on this topic).

Overall, I think Dalton should be commended whether his effort works or not. He re-sparked some very important discussions and was willing to take a chance on his ideas.


All the people I want to interact with regularly use Twitter/Facebook. There have been a few more attractive options that I would like them to move to (G+, Path, etc.), but they haven't budged. Now here's a new alternative that thinks they should pay to use a service they're already getting for free. Good luck trying to convince them, because I'm not going to bother this time.


All the people I want to email are on hotmail. I'd like them to switch to gmail but they haven't budged. Well, I guess I have to stick with the email my friends use.

Does this sound ridiculous? It should. It is equally ridiculous that users of one social network can't interact with users on another. This is the problem that needs to be fixed, not ads.


Can't agree with you more. I had written the following about 3 months ago:

In an Internet 1.0 world "Facebook", would have happened via a 'social' protocol on the Internet just like SMTP, and Zuckerberg would have been a hacker icon just like a Tim Berners Lee.

And I went on to write:

PS: If mails had happened in Internet 2.0 world. We would have gmail users only mailing to other gmail users and hotmail users only mailing to other hotmail users ... but actually gmail would not have happened as Sabeer Bhatia or Microsoft would have been still ruling the mail world ;-) ... But thankfully it did not turn out that way, as there was already a protocol called SMTP!

The comment was this one: http://news.ycombinator.com/item?id=3949048

Edit: Added more relevant text


Since we're using movie analogies, let's say that app.net has decided not to "end the party early" because there is no party to begin with. (That quote is from "The Social Network.") App.net has a very similar business model to the first online community, the WeLL. The WeLL is still around after 25 years.


I have trouble taking a concrete prediction seriously when it's deduced from such vagaries.


This may not be the place for attacks on an author's writing style, but I really find it hard to take any of MG Siegler's "I'm hyped about Movie X and so I'll make up an article or story around it"-type posts seriously. Some of the articles even make some decent points, but the article as a whole is a bitter pill wrapped in insistence to swallow.


So what does all this amount to then ... ?

A carte blanche to do what you want to do anyway, regardless of the negative consequences spread through ruthless self-interest.

(I must admit, I wasn't overly surprised when I discovered it's written by Mr Siegler ...)


These are all the same things that people wrote back when Myspace was the 800 pound gorilla of social networking. Having expressed that, I think app.net's funding methodology sucks for a direct delivery to customer project.


Myspace just got replaced with a different version of Myspace (facebook). If some community funded, privacy secure, no ad service like Diaspora had replaced it, that would be a different story because the core model would have changed. But it didn't.

I don't think anyone is saying Twitter will never fall; they just don't think it will fall to this profit model.


This site and the ones hosted on the same platform have a body font that is extremely blurry on my Android phone. Very annoying as there are regularly articles posted I would like to read.


Wow, to call your own site massivegreatness, that's something!


Here is the thing that tech writers seem to forget... You don't need to be Facebook or Twitter to be successful, especially if you have paying customers.

People will pay for hosting. Look at Wordpress. Wordpress is a nice free platform, but plenty of companies make great money hosting Wordpress for paying customers.

Why wouldn't people pay for their own hosted twitter like service? If App.net can pull that off, then there is probably a business there. It isn't maybe a billion dollar a year business, but with a small team 7 or 8 figures a year is nothing to sneeze at.


While I disagree with much of what is said in the article, I think this is an important point:

  And the best services tend to sprout from the best 
  entrepreneurs. And the best entrepreneurs eventually realize
  they need to build the best businesses, lest their services
  die or worse — linger in mediocrity.
We need another Richard Stallman or another Linus Torvalds for the internet age. This time, however, it's going to be much harder for such people to appear because in this day and age it seems like it's easier to make a lot of money from software - you don't need to build another Microsoft - so software developers are much more easily tempted.


Yes that quote was key to the whole article. If you subscribe to the view that success is defined by scale, then pretty much everything he said follows logically from that.

Of course we know that App.net will not compete with Twitter on volume. But leave it to a guy with a blog titled Massive Greatness to assume that's the only thing an A-player would want to do. One has to wonder what would happen to MG Siegler exposed to the Apple of the mid 80s if his Apple fanboyism was forced to confront his idea that greatness is by definition massive.

As for giant figures like Linus or RMS, remember, Linus is still around, and the work he does creates more value than probably any single company, because his software is everywhere. Probably 95% of all companies are realizing some value from the existence and maintenance of Linux. The economics of this work because the work he does is just manipulating a small number of bits and publishing those changes for everyone to take advantage of. The economics of this are completely different from running a service where costs scale linearly with adoption. There have been many attempts to make distributed versions of Twitter to gain the economics of open source, but a centralized service is too valuable.

What Dalton is doing here is seeing if he can create something sustainable for developers that has the benefits of a centralized service without the risk of users being outbid by advertisers. It doesn't have to go anywhere near Twitter to be a massive success. Just validating the business model at a small scale will already be producing proportionately orders of magnitude more value than the huge volumes of banal shit floating through Twitter's tubes.


I don't agree. At least, I don't see the problem the same way.

Companies become more complex as they get bigger, and morally ambiguous as they get larger, and once a company reaches the point that it's making hundreds of decisions per day that affect other peoples' lives, it's impossible for it not to fuck a few up. Look at what happened to Google. It hasn't actually become "a villain", but they've made some very public mistakes (Real Names policy, dropping the ball on "Real Games") and some catastrophic private ones (implementing Welch-style stack-ranking in "calibration scores"). Google was designed by good people with the best intentions, and this stuff still happened. It seems hard not to have cataclysmic fuckups on a daily basis at a certain size.

For a semi-related side note, I'm starting to agree with the Yegge hypothesis on codebase size: it's not that certain programming techniques (IDE vs. no IDE) or language properties (static vs. dynamically typed) fail "at scale" and others don't. All do. Largeness in a codebase is uniformly undesirable; it makes pretty much any programming environment, language choice, and development methodology go to hell. I've yet to see a programming environment where programmers (a) have to interact with a genuinely large codebase (and aren't working in a well-carved-out walled garden) and (b) enjoy their jobs. Once you have too much code, maintenance becomes the majority of the job, and per-programmer productivity falls to 10% speed (~15 LoC per day is commonly cited, although LoC is actually a horrible measure seeing as codebase size is a problem, not accomplishment) and morale goes into the toilet; programmers are unusual in the working world in that their happiness is positively correlated with how hard they are working (or, I should say, able to work). The only long-term solution is the Unix philosophy and small-program methodology, but MBA types seem to prefer huge, over-ambitious, all-or-nothing monolithic projects. So small-program Unix philosophy has been losing for a long time in favor of huge, object-oriented mudballs, even though the small-program way (each program does one thing and does it well; and if you need complexity, you build a system and give it the respect-- modularity, thought given to robustness and fault-tolerance-- that a system deserves) is an objectively much better way of doing things.

Companies may have the same illness. Bigness may become terminally inefficient in the near future. To make large companies work well, you have to carve out "honor's colleges" (to get the best people) and walled gardens and sandboxes and research labs, but that effort is guaranteed to meet political resistance simply on account of the complexity of the company. Imagine if a large, boring technology company decided to reinvent itself and really get behind R&D and put 10% of its engineers into blue-sky R&D work. It would be great for the company and society in the long run, but the political fighting would be immense. You'd have a sudden airdrop of desirable work/jobs, you'd have powerful people pledging to support the change only if their proteges got jobs in this sexy new research division (so the positions of power would be allocated politically rather than on merit and leadership) and the conflicting demands and requirements coming out of big-company complexity (any time an initiative needs approval, the gate-keeper will ask for some payoff, and usually an inappropriate one that compromises the initiative) might end up miring it in a bog from the start. I'm not saying it couldn't work. It easily could. But the political problem would be harder than anything else.

It wasn't always this way with companies-- a lot of things were achieved by large companies because only huge corporations could even attempt them-- but it might be becoming that way. With the rapidly increasing technical complexity of modern work, we might be reaching a point where for a company to hold $10 billion worth of value and employ 15,000 people is no longer effective or desirable. Old-style huge companies were a lot simpler, because the bulk of their people were doing the same grunt work. In a modern "knowledge economy" where people are doing different work, and in which the work of poorly-motivated or unskilled people is of negative value (rather than merely low positive value coming from the weakest performers in typical "commodity" labor) huge companies may just be unmanageable.

It's not about becoming "the villain" or having to make "hard choices". It's just about complexity. It's about the fact large, powerful things pretty much always underperform relative to our expectations of them because complexity imposes so much drag, and it's hard to see this until one has a good sense of what unmanaged, undesirable complexity (that's 99% of all complexity) looks like and where it comes from. Huge organizations don't become "villainous" by intent. They become complex and inefficient and reach a point where the only thing anyone can agree on is growth-for-growth's-sake, which macroscopically makes it look like the firm is driven by sociopathy and hubris. But it's not that simple. There are a lot of well-intended, talented people in these megalithic companies with great ideas they'd love to implement. The problem is that the only thing that seems to come out of the company macroscopically (instead of being cancelled out by internal forces and drag) is the one thing everything in the company can agree on: more money and power and headcount and just flat-out size for the company, under the assumption that increasing the firm's "bigness" will improve the position (and compensation) of each person within it.


The biggest problem facing humanity today isn't the singularity or global warming. It is that we don't know how to grow successful things without making them suck. For want of a better name, I tend to call this gravity-like tendency 'the tragedy of the commons'. But I think I'm interpreting it more broadly than is conventional[1]. Some examples that aren't generally associated with the idea:

a) The patent system. It has decayed because it's an externality to be dumped to, in the interest of individuals to overload and to game[2].

b) The cat signal[3]. We have a tendency to flatten nuanced subjects (apathy) into flat memes (here lolcats) and fight them with a single weapon (here blackouts[4]) that grows ineffective with use. Blackouts are an externality; people will eventually grow sick of them. Everyone knows this. So the game-theoretic optimum strategy is to exploit them as quickly as possible before they're milked dry.

c) Code becomes an externality as the collaborators grow. Think of the last time you saw someone bolt an argument onto a function. The number of arguments isn't 'important'. It doesn't affect anyone's performance metrics. Everyone has a vision for the codebase, needs to mould it somehow to further his ambitions. The codebase becomes a mute vehicle for everyone's ambitions, and as such an externality to be dumped to. Bolting arguments onto functions is merely the smallest sin that can be committed[5].

There's elements of regulatory capture here[6]. I think the two together serve to explain the fall of Rome, the rise of bureaucracies and the decay of the reddit frontpage.

But the problem is solvable. I think the solution will come from software. But not the kind of software we tend to write today. Something is deeply broken about how we write software, and I've been trying to tease out what it is. My current hypothesis is that the enemy is abstraction. We tend to prematurely freeze interfaces. Everytime you freeze an interface in your code you give up ownership over its future evolution. You can't take things out, so it's going to get polluted over time, get things bolted on. It immediately turns into an ugly step child of your otherwise beautiful code. And so we neglect interfaces, treat them as externalities, bolt features on, make simple interfaces ugly and complex. Interfaces are like walls separating jurisdictions. Neither jurisdiction cares about the wall.

Every now and again someone says, "this interface is too complex; I'm going to simplify it". And creates a new simple interface. But they then commit the Great Error: they freeze their interface in its turn, and the cycle repeats with it. All we've done is add another layer of crap atop all our layers[7]. As we add layers on top the bloat compounds. I think if you truly looked at the tower of abstractions in your codebase today, and took out everything that didn't serve your use today, you'd end up with a codebase two or three orders of magnitude smaller.

I've been exploring replacing backwards compatibility with unit tests. Imagine a world where code sharing took place but with no guarantees for the future. This version here makes certain guarantees, but if you upgrade or do a git pull, all bets are off. It might delete a function you rely heavily on. Or it may make it work differently one time in a thousand[8] and cause subtle, insidious bugs. The only way for you to guard against this is by having a comprehensive suite of unit tests. You have to be certain that if the tests pass the software is safe for public consumption. It's a very different discipline; the wall can now move, and both sides watch its evolution closely using the barbed wire of tests. But it could lead to far smaller codebases, and our lives as software developers would be less circumscribed. Every interface we have to support is a line drawn through the state space constraining our movement, the kinds of software we could write. It's a wall limiting our jurisdiction. Fewer interfaces imply fewer walls, greater freedom of movement across mental terrain, better software.

And if our software is better, less hamstrung, more responsive, we may be able to automate more. We may be able to think about all the dysfunctions in the real world, constantly seek new externalities and create sensors to monitor their health.[9]

---

Related (if you squint a little): http://www2.macleans.ca/2012/06/11/artisan-chocolate-and-soc...

[1] The traditional motifs (http://en.wikipedia.org/wiki/Tragedy_of_the_commons) are both more concrete and more libertarian. I don't think the tragedy can be solved by eliminating all commons.

[2] http://akkartik.name/blog/2010-12-19-18-19-59-soc

[3] http://internetdefenseleague.org

[4] Another example is our overuse of anti-biotics.

[5] No judgement; I'm as guilty of this as anyone can be.

[6] http://en.wikipedia.org/wiki/Regulatory_capture

[7] Think of the xkcd on standards: http://xkcd.com/927

[8] http://news.ycombinator.com/item?id=4295681

[9] But we have to guard against tying everything to a single metric. The last thing I want is a manager reading this and deciding to flatly limit the number of arguments to a function by diktat. The moment you create a metric you encourage people to stop exercising judgement and simply game the metric. Metrics to fight externalities can themselves become externalities.


I'm reading your thesis as "stable APIs are bad because it's hard to get rid of cruft, and if we just test enough, stability won't matter". As a net-consumer of APIs, I'm not sure I can get behind that.

Of course, an API can be expected to change rapidly early in its life. Such APIs are usually not considered ready for serious production use and breaking changes aren't really a big deal. Later on, people tend to expect more stability out of APIs and tend to stop using (or if that's not possible, post strongly-worded rants to HN about) APIs that remove features unexpectedly.

There are extreme cases to be sure. Microsoft is famous for keeping new versions of Windows bug-for-bug compatible with the past. Apple, on the other hand regularly deprecates and removes features that see little use. In light of Steve Yegge's recent post about liberal and conservative attitudes in software, I would call Microsoft's position on this issue very conservative and Apple's centrist.

I think what the world you're envisioning would actually look like is massive fragmentation, with people maintaining many more forks of libraries that have since removed some important functionality.

That's not to say the problem you describe doesn't exist or that there aren't solutions. An appropriate deprecation policy is certainly one part. Another component could be wider use of dynamic binding to help keep certain code out of APIs and in clients. A third could be more effort to keep APIs simple in the sense that Rich Hickey uses the word.


Yeah, I should clarify: I'm a lot less certain of the solution than of the problem.

I was implicitly assuming some preconditions: a) You're a programmer trying to solve a problem, b) You have access to the source code of your dependencies. It might be a web API, but you must be able to setup your own server to service the API. If you can't fork a project my points are irrelevant.

If you can in fact fork, my idea is to explicitly deemphasize eco-system health and fragmentation in favor of just keeping your integrated stack clean. I think it's an approach worth trying out.

OSS people love to say, "you have the source, you can change it to do what you want." On the one hand it ignores that it takes more than just the sources to accomplish something in the presence of real-world constraints (time, resources). On the other hand, when you do take the steps to change it to do what you want there's a negativity associated with 'forking a project'.

I want to raise a counter-point that encourages people to fork projects rather than trying to work around issues with hacks atop black-box dependencies. This does already happen in the real world. Ubuntu does patch packages rather than wait for upstream to accept them. I think there's benefit to more people trying this in all parts of the eco-system.

The eco-system would be better off if projects were partly chosen based on how encouraging they are of forking. Sometimes the appropriate response to a patch may be, "thanks, this is great, but it's a little outside our ambit, so why don't you fork the project?" And baking this choice into the workflow would encourage simpler architectures that are easier for others to understand and start forking.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: