Eric Sink, a software developer and company founder, writes about version control, the browser wars, programming careers and small software businesses.
Commenters call him a great developer and blogger, recommend his archive and his free book on version control, and cite his .NET abstraction pile essay.
D is a niche language that didn't quite manage becoming mainstream. I came across an excellent article Why your F# evangelism isn't working (https://ericsink.com/entries/fsharp_chasm.html) that explains why this didn't happen for F#, but the insights generalise to other languages. Here's my summary:
- Adoption of any technology is by a normal distribution.
- The segments are early adopters, pragmatists, late adopters and laggards.
- If you want a technology to become mainstream, you need to make the pragmatists adopt it.
- This is rational behaviour and there's no use trying to convince the pragmatists otherwise. They will choose "predictably disappointing" over "excellent and unproven" every time.
- Technology is merely a tool to them. They don't care if it's fun or not, as long as it gets the job done.
- Mainstream success is impossible without getting the pragmatists on board. Until then you have a curiosity used only be early adopters.
- How to cross the chasm? He recommends finding a pragmatist in pain and solving their problems. Gradually convert pragmatists one by one.
I don't think D was ever able to articulate to the pragmatists why they should adopt D over C++ or other languages. Fixing a few warts with C++ wasn't enough.
Meanwhile Rust managed to appeal to the pragmatists by saying "we know you use C and C++ because of the performance despite the issues with it. Why don't you try a language with the same performance, which also fixes some of the issues…
There are some really insidious errors in this comment. It's close enough to the truth that it runs the risk of being taken at face value, despite the errors.
> Microsoft licensed the source code to NCSA Mosaic
Not quite. They used Spyglass Mosaic, which shared only the name. Spyglass Mosaic was a from-scratch implementation.
https://ericsink.com/Browser_Wars.html
> What never seems to get mentioned in these threads about Chrome and Mozilla is that Google hired a couple of Mozilla Firefox developers to kickstart Chrome.
Not quite. Early Firefox development resembled Linux: multiple industry actors collaborating on a single codebase—pretty unlike the way it works today, where a single (bumbling) corporation is almost totally responsible for marketing, product direction, and development. Google was one of the biggest contributors to Firefox development. The Firefox lead was a Google employee being paid to do just that.
When Google decided to do Chrome, they pulled their engineers off Firefox, with parallels to what later happened with the WebKit -> Blink fork: an initial cooperative effort, followed by their chafing at the overheads of collaboration and the lack of total control, followed by breaking away to do their own thing.
If there was any amount of poaching/brain drain that should be mentioned but no one really talks about, it's how many ex-Mozilla Corp folks left for Facebook and is partially responsible for the engineering culture there.
Eric Sink suggested pretty much this exact idea some years ago, but said he didn't think it would work because of the risk of people treating cars badly.
http://www.ericsink.com/Choose_Your_Competition.html
I tend to agree; I'd not be at all keen to loan my car to some random stranger. I'm more attached to it than the average person, but there just seem to be too many things that could go wrong; what if they smoke in it? What if they drive it into something? What if they steal it? Maybe those things aren't likely, but they'd worry me too much. And yes, they're apparently insured, but the inconvenience of having your car off the road for a week or two goes far beyond just the cost of getting it fixed.
But if other people want to rent their cars this way, great. Sounds pretty good from the rentor's point of view. Also, the existing car rental companies could do with a damn good shake-up and if this gives it to them, so much the better. I guess I'm not in their target audience - I'm not anyway since I don't live in the States, but I'm interested to know if enough people are keen on something like this to make it work. My gut feeling has been 'no', but I wouldn't mind being proven wrong.
It worked for me!
Not having to answer to investors saved a ton of hassle (and having all the equity and control at the end is really spiffy) but (to echo some of the other comments here) there are a few pitfalls:
- Don't be a tightwad. In my first year, I would avoid spending wherever possible and often made do with free tools rather than spend cash to buy a perfectly good commercial solution. I quickly learned that's almost always stupid: If you can make a problem disappear for good by buying the solution, reach into your wallet and pay the cash.
- You should be marketing before you've even started development. Marketing isn't just advertising -- it's the social component of design. Where you're 'making something people want', marketing identifies both the 'people' and the 'something' (that is, the market for your product). If you don't have those, you'll end up with a spiffy 'make' that nobody wants.
Erik Sink provides a great summary of the topic under his "Marketing for Geeks" articles (at http://www.ericsink.com/Marketing_for_Geeks.html ). I'd call it a 'must read' for any software entrepreneur.
We realized that our startup had two probems: A really long sales cycle (on the order of years for some clients), and a lack of the necessary sales skills on the founding team. We weren't able to address the former. But while trying to address the latter, I found the following articles useful.
In Four Steps to the Epiphany, Steve Blank has some great advice on hiring sales staff before product-market fit:
http://www.amazon.com/Four-Steps-Epiphany-Steven-Blank/dp/0976470705
Basically, he says, "Don't do it," with the possible expection of a single "sales closer" who loves working in the field, and who has been avoiding promotions to VP of Sales. As I understand it, you're not looking to build a sales organization yet, but you may need some sales skills to close your first 3 deals and prove that the model works. But even then, he has a checklist of customer discovery tasks to do first.
There's also some amusing advice from Eric Sink on hiring sales staff in a micro-ISV:
http://www.ericsink.com/bos/Closing_the_Gap_Part_1.html
http://www.ericsink.com/bos/Closing_the_Gap_Part_2.html
This fine article is from 2003 (oldie but goodie).
So posting rules is just a way to insult the majority of the law-abiding citizens and it doesn't deter the morons who think their own poo smells delicious and nothing they post could possibly be against the rules.
Here's a link to posted forum guidelines dated 2006:
http://www.ericsink.com/entries/BOS_Guidelines.html
No registration necessary in '03:
But requiring registration does NOT improve the quality of the conversation or the average quality of the participants.
Sifting through archive.org, even in late '07, users didn't have to register but were being gently nudged into creating accounts as anonymous posts would most likely be deleted.
In 2009, you'll now find that you can no longer post/reply unless you register:
This community works best when people use their real names. Please register for a free account.
What changed?
I'd really love to hear an updated take on this topic from Joel himself.
Any differences in creating or nurturing an online community now compared to 6 years ago?
Any new challenges?