SHIP IT NOW culture produces shit like Discourse



  • Good article.



  • Interesting indeed. Though like most opinion writing, it doesn't address the "Compared to what?" question.



  • Yeah I actually kind of take it back, the article isn't that great, especially since the first few comments kind of (and very well) tear it apart.

    Nobody mentions that there are some places where there's forward progress and using escape codes designed for a machine from 1978 is alien and unheard of. But that would involve writing the dreaded "M" word. (Or the even more dreaded "M C" OS.)


  • SockDev

    What's wrong with shipping? It's just harmless fun, writing fan-fiction where two characters- oh, shipping software.


    The article's got a point, I guess, but it doesn't really go anywhere with it.



  • In particular, if we didn't have "ship it" culture, stuff would change a lot more slowly. Which kind of contradicts some of this points. Not that there aren't downsides to "worse is better" (what he's really bemoaning), but there are downsides to everything.



  • I think the big fault is to completely ignore normal customer research in favor of just shipping broken half-baked shit and seeing what they complain about.

    LET'S USE A CAR ANALOGY!

    You think when Ford wants to try out a new car styling, they'd go ahead and produce 25,000 of them-- oh but the engine stalls out at every stoplight, the battery goes dead in only a week, and the trunk is welded shut-- just to see whether people like the shape of the hood? Oh, and they sell them to the general public at full price. Would Ford do that? No, that's fucking stupid.

    But that's exactly what the .com people are doing here. And again, the perfect example: Discourse.

    Why don't you do the customer research before releasing the (now fully-baked) product to the public? How about you pull people from the street into your office and do some usability testing? Maybe find some people in your target audience and ask them what features they like and hate in other competing products? (Heck, for that matter, maybe use other competing products for a few weeks before starting to build your own.) Isn't that a much better idea? I mean, it's common wisdom in every other goddamned industry on Earth, but not in tech.


    As for shipping slowly, I'd rather have revolutionary new ideas shipped slowly but fully-baked than a cascade of half-baked ideas. Not to praise Apple too much, because God knows I hate their business practices, but they definitely get this right-- for some reason, the .com companies that idolize Apple haven't picked-up on it at all.



  • @blakeyrat said:

    I think the big fault is to completely ignore normal customer research in favor of just shipping broken half-baked shit and seeing what they complain about.

    Maybe. But..

    @blakeyrat said:

    And again, the perfect example: Discourse.

    No, that's not Discourse's problem (no research). There are plenty of people who like it. I find it a lot better than CS in many ways. I think this is just projection on your part. Shipping immature products isn't the same as not doing customer research and finding out what people want.



  • Just wait until you deal with data formats designed for physical teletype machines (AFTN 10 -- used for weather messaging), or mainframes for that matter (oh, packed zoned binary and EBCDIC, how I miss you...NOT!)

    So -- while improvement is good, yes -- it's constrained by network effects all the same.

    Also, yes -- his stated example of JS misbehavior really showed his own cluelessness -- every machine that's not 70's (or maybe early 80's) era bigiron will do that no matter WHAT language you're using -- IEEE 754-1984 decreed it so, and for very good reason!

    @blakeyrat said:

    As for shipping slowly, I'd rather have revolutionary new ideas shipped slowly but fully-baked than a cascade of half-baked ideas. Not to praise Apple too much, because God knows I hate their business practices, but they definitely get this right-- for some reason, the .com companies that idolize Apple haven't picked-up on it at all.

    Apple's able to pull this off because of their tight lips -- they, as you say, intentionally sacrifice some first-mover for polish; this means they can get things right -- but it also hurts their adoption in some areas because they weren't there when the decisions were made.

    It's a tradeoff: "Do you want to be right, or do you want to be popular?" Most people go with the "popular" route because that's what they're conditioned to do -- it takes a fair amount of courage to go with the unpopular but right route.



  • @boomzilla said:

    No, that's not Discourse's problem (no research).

    They've acknowledged they do no usability research. Not to mention Atwood's dumb "complaint-based fixes" idea.

    @boomzilla said:

    There are plenty of people who like it.

    Apparently, but that has nothing to do with my point. A lot of Ford owners might love the hood on that car, maybe even think it was worth the full sale price, but that doesn't magically make the trunk work correctly.

    @boomzilla said:

    Shipping immature products isn't the same as not doing customer research and finding out what people want.

    No; I think you misunderstand.

    It's true that those things are (on paper at least) unrelated. The problem I have is the purpose of shipping immature products in .coms is specifically to find out what people want.

    What I'm saying is if they found out what people wanted via other means (like every other industry does.) then that reason for shipping immature products would go away and maybe we'd start getting some mature products for once.


  • I survived the hour long Uno hand

    When I first heard about agile, people said things like "You could in theory ship after Iteration 1! Of course, nobody'd do that, there's usually a ton of fixes before you're ready to ship."

    Nowadays people never enter iteration 2. "What, you're still working on that? It shipped, move on."



  • @blakeyrat said:

    They've acknowledged they do no usability research. Not to mention Atwood's dumb "complaint-based fixes" idea.

    It seems like you're conflating usability research with any sort of market research about what people want in a product.

    @blakeyrat said:

    The problem I have is the purpose of shipping immature products in .coms is specifically to find out what people want.

    Eh...OK, but the alternative is that nothing gets shipped because barriers to entry are so much higher. So we're back to, "Compared to what?"

    Which, it's fine if you think (as you apparently do) that we'd be better if the barriers were higher. But then, that's a little odd compared to you generally wanting barriers to be lower for people getting involved in programming in general.


  • I survived the hour long Uno hand

    Watching the linked video "A Whole New World". "Answering the question 'what code runs when this request comes in' is actually really hard in modern languages."

    WTF happened to software engineering that made us think Ruby was a good idea?



  • @boomzilla said:

    It seems like you're conflating usability research with any sort of market research about what people want in a product.

    User research is user research. The important thing is getting the average Joe Sixpack you expect to use the software into your office and fucking talk to them. That's the thing very very few of these guys are doing.

    Whether you file the results into "usability improvements" or "feature improvements" is a petty issue in comparison.

    @boomzilla said:

    Eh...OK, but the alternative is that nothing gets shipped because barriers to entry are so much higher.

    How would the barriers to entry be higher? I need an explanation of this.

    @boomzilla said:

    So we're back to, "Compared to what?"

    Compared to the Apple philosophy of letting products stew internally until they're 100% ready to be released to the public.

    @Yamikuronue said:

    Watching the linked video "A Whole New World". "Answering the question 'what code runs when this request comes in' is actually really hard in modern languages."

    After working with WebApi 2.0 at this new workplace, I HEAR THAT. Goddamned FUCK is this shit pointlessly complex.



  • @blakeyrat said:

    User research is user research. The important thing is getting the average Joe Sixpack you expect to use the software into your office and fucking talk to them.

    Whether you file the results into "usability improvements" or "feature improvements" is a petty issue in comparison.

    I can definitely say that the discourse guys talk to users all the time. It seems to me that they started building a product that they wanted. I'm not sure what levels of research would satisfy you.

    @blakeyrat said:

    How would the barriers to entry be higher? I need an explanation of this.

    You're saying they should do more research. Usability research in particular seems pretty expensive, especially for a guy with an idea and not much else.

    @blakeyrat said:

    Compared to the Apple philosophy of letting products stew internally until they're 100% ready to be released to the public.

    OK, back to barriers, we're talking about a company with cash reserves that uses numbers that most people cannot comprehend. If you can afford that sort of method of operations, great, but realize the trade offs you're making (or advocating).



  • @boomzilla said:

    I can definitely say that the discourse guys talk to users all the time.

    Only those who proactively reach out to them. You're not reading what I'm saying, buddy.

    @boomzilla said:

    It seems to me that they started building a product that they wanted. I'm not sure what levels of research would satisfy you.

    "More than zero" would satisfy me.

    @boomzilla said:

    You're saying they should do more research. Usability research in particular seems pretty expensive, especially for a guy with an idea and not much else.

    It's not expensive in anything except time, if you count that. But I bet 3 hours of usability research would produce a MUCH better result than 3 hours of, say, dicking around with Docker VM containers.

    @boomzilla said:

    OK, back to barriers, we're talking about a company with cash reserves that uses numbers that most people cannot comprehend. If you can afford that sort of method of operations, great, but realize the trade offs you're making (or advocating).

    I guess?

    The bigger problem is that the market doesn't really support fully-baked products over half-baked products. Another part of the problem is that the invisible hand guiding .coms doesn't give a shit if their products actually work or not. I don't know how to solve that one.


  • Discourse touched me in a no-no place

    @boomzilla said:

    I can definitely say that the discourse guys talk to users all the time. It seems to me that they started building a product that they wanted. I'm not sure what levels of research would satisfy you.

    Blakeyrat's answer wasn't specific enough, but I think I can provide the missing details.

    1. Ask blakeyrat what features the software would have and how they should work.
    2. Implement the software exactly to blakeyrat's specifications (including the undefineds).
    3. Done.


  • Christ you people.

    LOOK. If you wait for users to come to you to provide feedback, you're getting feedback from only the 0.1% of users who care enough about your product to go out of their way to talk to you. The 99.9% of users are just fucked.


  • I survived the hour long Uno hand

    ..your know your blakeyrat hate-on might be reaching obsessive levels if you're defending DISCOURSE in order to spite him.


  • Grade A Premium Asshole

    @blakeyrat said:

    Not to praise Apple too much, because God knows I hate their business practices, but they definitely get this right-- for some reason, the .com companies that idolize Apple haven't picked-up on it at all.

    Ironically enough, Steve Jobs is the one who started the trend you are moaning about. He is the one who started the phrase "ship early, ship often". So many of their products have come out half-baked, but people always forget about those.


  • Discourse touched me in a no-no place

    Funny thing, that. I've actually pretty much gotten used to Discourse, and the activity level is higher than it ever was on CS.

    And who said I was defending Discourse anyway? My checklist applies to any software.



  • @Polygeekery said:

    Ironically enough, Steve Jobs is the one who started the trend you are moaning about. He is the one who started the phrase "ship early, ship often".

    That's not even close to true.

    @Polygeekery said:

    So many of their products have come out half-baked, but people always forget about those.

    Their half-baked products came out when Jobs wasn't running the company. Jobs had nothing to do with the Apple Pippin. Again: I don't like defending Jobs, he's a gigantic douche, but this is one thing he got right.


  • Grade A Premium Asshole

    @blakeyrat said:

    That's not even close to true.

    Really? You should read a book by Guy Kawasaki, I believe it was in "The Art of the Start". He worked closely with Jobs for many years, that is the way he tells it.

    @blakeyrat said:

    Their half-baked products came out when Jobs wasn't running the company. Jobs had nothing to do with the Apple Pippin. Again: I don't like defending Jobs, he's a gigantic douche, but this is one thing he got right.

    Horseshit.


  • I survived the hour long Uno hand

    folklore.org agrees with Jobs being deadline-driven: http://www.folklore.org/StoryView.py?story=Real_Artists_Ship.txt



  • Fine; maybe he said "release early, release often", but he didn't use the phrase in the way people today use it. Which is more like, "release SO EARLY IT BARELY KIND OF WORKS".



  • Instead we get some bizarro-world where you can call functions with the wrong arity, where NaN !== NaN*, and a chart like this exists for something as simple as comparing two values.

    Someone didn't read his copy of IEEE 754.

    Edit: I read the footer of the article. Seems like I was XSH'd.


  • Grade A Premium Asshole

    @blakeyrat said:

    Jobs had nothing to do with the Apple Pippin.

    Perhaps not, but he did mastermind the fucking Lisa... Also on the list: Newton (came out after Sculley was in charge, but the program started under Jobs), Motorola Rokr (precursor to the iPhone), the original iteration of Apple TV (what a useless POS), the 20th anniversary Mac (Hey, let's sell a near $8K computer that is completely incapable of being upgraded), Siri was and is a POS, Apple Maps has always been laughable, the first=gen iPhone was a hunk of shit, multiple iterations of the iPhone have had issues that should have been caught before they hit consumer hands (Was it the 4S that lost all cell signal if you held it in your hands?), the first-gen iPod was a sack of shit, the list goes on.

    The thing is, people like you seem to forget all of Apple's failures, and they do also because they started the evangelization culture around their company. Talk up all the positives, never respond to any negatives and let them go away.


  • Grade A Premium Asshole

    @blakeyrat said:

    Fine; maybe he said "release early, release often", but he didn't use the phrase in the way people today use it. Which is more like, "release SO EARLY IT BARELY KIND OF WORKS".

    Yeah, look at my other list. They have done that shit all the time. People just forget about it. Even Airport was a sack of monkey shit in its first iteration.


  • :belt_onion:

    @antiquarian said:

    Funny thing, that. I've actually pretty much gotten used to Discourse, and the activity level is higher than it ever was on CS.

    I think ANY forum software tied to the main articles like this is would have increased activity....



  • If you subtract the posts and topics about discourse, and subtract the constant idiot back-and-forth between Accalia and various other cretins, I bet the activity level is exactly the same.

    It's just dumber now.


  • SockDev

    @blakeyrat said:

    the constant idiot back-and-forth between Accalia and various other cretins

    Hey! I resemble that remark!



  • Whatever. So the example was bad; that doesn't change the point or the message.


  • :belt_onion:

    @darkmatter said:

    main articles

    @blakeyrat said:
    It's just dumber now.

    Isn't that what I said? undefined



  • @blakeyrat said:

    Whatever. So the example was bad; that doesn't change the point or the message.

    "I was wrong, but I didn't mean to, so I'm still right"?


  • SockDev

    @darkmatter said:

    Isn't that what I said?

    well Discourse let me in, right?

    CS was at least right to call me a spammer and deny my application to join.


  • Grade A Premium Asshole

    Did you have a point? 😉

    I thought the article was mostly silly. Yeah, I agree with him about MongoDB. As for Javascript, it is ubiquitous. You can count on it being able to be processed by any browser. Until someone comes up with something different, that is as widely available, the point is moo.

    Personally, I thought the article was way more half baked than even Discourse .1a. I think that market research is usually massively flawed. People generally do not know WTF they want until you get them using it. You can talk to them about their likes and dislikes for current products, but to get plebs to understand new paradigms is very difficult. It would be akin to trying to explain a Mercedes S-class to a 19th century farmer and how it relates to their horse.

    I tend to agree with the mantra of "ship early, ship often". Now that we are in a world where you do not have to ship floppies or CDs to people to update their software, why not do it? Get them using it and let them tell you what works and what doesn't. Let them use it and collect information about actual usage so you are not wasting time optimizing areas that do not fucking matter.

    But, I would also agree with you that a lot of companies do the concept wrong. They fuck off and "cold map" everything instead of fixing shit. When it is done right, everyone forgets your initial teething pains. Do it wrong and your company will die.


  • Grade A Premium Asshole

    @Gaska said:

    "I was wrong, but I didn't mean to, so I'm still right"?

    You forgot undefined


  • I survived the hour long Uno hand

    @Polygeekery said:

    "ship early, ship often"

    You forgot the inevitable part three: "abandon the project".


  • Grade A Premium Asshole

    @Yamikuronue said:

    You forgot the inevitable part three: "abandon the project".

    The people who do that give those who "Do It Right" a bad name.


  • SockDev

    @Yamikuronue said:

    You forgot the inevitable part three: "abandon the project But don't announce you're doing that. Just vanish off the face of the internet instead".

    FTFY



  • @darkmatter said:

    I think ANY forum software tied to the main articles like this is would have increased activity....

    Perhaps. But the bottom line is that it's easier to post in discourse than in CS. No matter what we're talking about.


  • Discourse touched me in a no-no place

    My personal philosophy, which I have used to great success works like this:

    1. Design a useful, compelling product. Do all that fucking work up front.
    2. Determine the minimum useful and compelling set of features. This becomes 1.0.
    3. Split everything up to 1.0 it into sprints. "Releases" are only notional internal or alpha audience milestones.
    4. Deliver 1.0.
    5. Switch to a more traditional sprint-delivery-repeat feedback loop model for beta audiences, but only deliver full releases when they are useful and compelling.

    The "useful and compelling" qualifier is, I think, what gets missed most often.



  • NaN

    I'm curious. How often does one actually need to deal with square roots of negative numbers, logarithms of negative numbers, etc. from Javascript? Are there any real use cases?

    I think he's making it more complex than it needs to be.



  • @Polygeekery said:

    It would be akin to trying to explain a Mercedes S-class to a 19th century farmer and how it relates to their horse.

    Even so, I think they'd realize it's overpriced.


  • I survived the hour long Uno hand

    I think the horse vs car analogy has been overused. Sure, I might not know EXACTLY what I want, but I can give you a good idea of what sort of features I use in existing products and how they don't suit my needs, or detail an elaborate workflow that's mostly made of work-arounds that you can simplify into a better product. Or, to use the metaphor, I might not tell you I want a car, but I know I'd like to go faster, don't like getting rained on, and hate shoveling horse crap.


  • Grade A Premium Asshole

    @Yamikuronue said:

    Or, to use the metaphor, I might not tell you I want a car, but I know I'd like to go faster, don't like getting rained on, and hate shoveling horse crap.

    But, if you know nothing but riding a horse, how could a person explain a modern car to you?

    Granted, very few of our leaps are that drastic, but it has happened.

    And yes, the analogy is overused.


  • I survived the hour long Uno hand

    Why do they have to explain it? Ask me what I want, show me the design, I'll figure it out. Nobody gives a crap HOW their car or software work so long as it does


  • Grade A Premium Asshole

    @Yamikuronue said:

    Nobody gives a crap HOW their car or software work so long as it does

    Absolutely true.


  • Grade A Premium Asshole

    @Yamikuronue said:

    Nobody gives a crap HOW their car or software work so long as it does

    Well, with the exception of @blakeyrat. I am pretty sure he is still droning on about the CVT in his hybrid and how open-source sucks.


  • I survived the hour long Uno hand

    I should say, no non-programmer. Techies sometimes get up in arms about weird things XD



  • @Polygeekery said:

    I think that market research is usually massively flawed. People generally do not know WTF they want until you get them using it.

    I would say, at the very least, that most companies severely misunderstand the purpose and limits of Market Research. The MR company I was at for the longest did huge amounts of business with H-P's consumer printer division. They did all the "right" things. They got Joe Sixpack user in the focus groups at the design stage of the next generation. But then they treat these people like they are engineers instead of real people.

    Their focus groups we would moderate would have lists of things they wanted covered. Things like how they feel about 802.11g vs 802.11n wireless networking. What would they be more likely to spend more money on? A multifunction printer/scanner/fax or a multifunction printer/scanner/copier?
    How about on-board memory? How do they feel about x amount vs x amount? Do they want a touch screen menu or do they prefer physical buttons?

    The whole thing was ridiculous. Normal people don't give a shit about these things. They care about if the thing does what they want when they want it to do it. This is the stage where you should be listening, not asking highly targeted questions.

    So the next stage up was the quant stage. Of course, at this point, they are confirming what they thought they learned from the focus group. So basically the same questions, just this time sent to thousands of people instead of just a handful. And they got confirmation--that mathematically what they were getting was actually just noise. No one really understands any of the questions they are answering, but if you look hard enough for it, you'll find a "statistically significant" result here and there. And everyone pats themselves on the back. Well done, everybody.

    Now comes the part where you put people through a conjoint study to find out the exact mix of different features for each product line that will maximize revenue and end-user acceptance. That's when a bunch of people go through a mind-numbing exercise of ranking various features they don't understand for a product they don't care about, then the analyst puts it all through a statistical torture device he doesn't understand, and out pops the product/feature matrix for the next generation of printers.

    Then comes the part where we partner with Best Buy to do shopper marketing research to find out which order to put them on display in the stores and what exactly gets printed on the little feature cards (that in reality are almost never arranged to point at the correct printer anyway).

    This is--needless to say--all completely wrong. And as the MR company, it was our job to tell them so. I think we sort of made a half-assed try one time. And then we got a call from a VP who said that this is their process and if we can't work with it and tell them what they want to hear, then they'll happily take their 50 million MR budget elsewhere. And that was that.

    Repeat this process for every large consumer electronics company. This is how most smartphones get designed. This is how almost everything gets designed. It's even, believe it or not, worse in consumer packaged goods. But we notice it less because the products are so much cheaper. We don't really care about all this WTF-ery when we buy a package of baby diapers. But I can tell you first hand that Kimberly-Clark does all of this exact same process for every diaper that's out there on the market.

    I guess I should have a point now.

    1. Yes. MR is often massively flawed.
    2. No, "Just do some research, dammit!!!" is not the answer to better product development.
    3. Sometimes these things can be useful if they are used the right way.

Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.