View  Info

Transcript 001

[Thanks to Brian Pelton for the transcript!]

[Joel Spolsky and Jeff Atwood chat about]


Spolsky:    We are on the air and you’re listening to the very first episode of what we hope will become a weekly podcast.

Do we have a name for this podcast yet?

Atwood:    We do not.

Spolsky:    We do not have a name.  Okay.  We'll get you a name next week.

Coming to you from the bright lights of New York, New York, I'm Joel Spolsky.

Atwood:    And from sunny El Cerrito, I'm Jeff Atwood.

Spolsky:    Jeff Atwood, how are you doing today?

Atwood:    Good.

Spolsky:    Okay.

Spolsky:    This is our first podcast.

Atwood:    Yeah. It’s exciting.

Kind of weird to have an audience now.

Spolsky:    Yeah, we have an audience of zero.

No, my dad will listen to this.

Atwood:    Yeah.

Spolsky:    Do we want to tell the people what we're doing here?

Atwood:    Sure.  So, we're building a website.  One of the reasons I want to do this is because I kept getting a lot of pressure on my site.  I know on Joel's blog, he doesn't really have comments - but you have a separate discussion area, right?

Spolsky:    Yeah.

Atwood:    I've never really had that; I just have your traditional blog comments.  Those work well, but they don't really scale to the level that I'm seeing now.  And I also want to go in a slightly different direction.

Spolsky:    They work good for like 20 people.

Atwood:    Yeah, people ask me, “Who reads 250 comments?”  The answer is, well I have to read them all.

Spolsky:    Um, hmm.

Atwood:    Because it's my site and I feel like it’s kind of rude if I don't read all the comments.  I'm not really sure anyone else does.  So I wanted to harness some of that energy and maybe create some type of developer community site where rather than just randomly commenting on things, we could actually build things that are actually useful to people, right?  Not that blog comments aren't useful, but...

Spolsky:    No, I would pretty much go so far as to say blog comments are not useful.

Atwood:    I don't entirely agree with that, but it’s a question of signal-to-noise.

Spolsky:    Yeah, that's true.

Atwood:    I certainly think a lot of them are pretty useful, in particular when you throw in a rating-type system like Digg.  I think then the cream rises to the top pretty rapidly.

Spolsky:    So, what we're trying to get here, we could say, a place where you can ask questions, technical questions since we're programmers, and get answers and then get those answers rated and try to have the signal rise to the top and the noise just disappear forever.

Atwood:    And also, I liked one of your observations early on, Joel.  This is not a another place to discuss tabs vs. spaces.

Spolsky:    Right.

Atwood:    There is a lot of that, and I'm sure I'm guilty of that as well as there are a lot of religious issues in programming.  One thing I always liked; not to get into platform issues, but one thing I actually like about the Windows ecosystem of developers is that there is a nice focus, and -- this is a generality, to be clear -- on just getting stuff done.  Versus just the elegance of a solution, or how politically correct or how religiously correct is this particular solution.  Just, ‘hey this is a job, we get things done’ right?  We all hopefully want to make money.

Spolsky:    The Windows programmers I've met, the reason they are Windows programmers is that they are being super pragmatic and they just have to get their code to run on computers that people actually have.  And as a result, they are very much just gonna do what it takes to get the job done and then they kind of lose interest in it.  Some other platforms not so much, they tend to be a little more idealistic, I guess.

Atwood:    Right, I mean there's pros and cons, and again this is a broad generality.

Spolsky:    We should just make a rule that you don't have to say "this is a generalization", it should be understood that these are generalizations.

Atwood:    Okay.  I think for particular phrases you have to be careful.  I get a lot of email -- I'm sure you get tons and tons of email -- but I've started to get quite a bit of email.

Spolsky:    The thing that bothers me is that people are not subtle at all.  They are assuming that if I'm writing a blog that I'm either pro-Microsoft or anti-Microsoft and if I say something that in any way implies that Windows programmers are pragmatic that I must be pro-Microsoft and how can I possibly be pro-Microsoft after what they did to Netscape, or after what they did to open source, or that memo... In other words, they don't understand how you could have a nuanced approach that includes some positive and some negative things about a company as large and as diverse as Microsoft, that has as many different products as they have.

Atwood:    Right.

Spolsky:    I think the last thing I wrote was something about how IE8 was, in my opinion, making what will become a controversial decision about how to treat old web pages. Whether to run them under the IE7 emulation or whether to run them under the new thing unless you specify otherwise.  And, I really don't want to take a side on the issue because both sides result in a lot of breakage for a lot of people.  A lot of people said "Well, this is insufficiently angry".  In other words, it's Microsoft's fault that they got into this mess with browser compatibility standards blah blah blah and the only possible article -- and to some people the only article I could have written was “Microsoft is bad and evil and cruel for having gotten us into this mess” and nothing else matters, nothing else you want to say about this matters, you just have to be angry at Microsoft.  And any other kind of article that tries to go into what should Microsoft do now given that they have done something bad and gotten themselves into a mess, that article is going to make people upset unless it says what they wanted to write, which is “Microsoft is evil.”

Atwood:    Right.

Spolsky:    Okay, fine Microsoft is evil.  Next.  It’s not what I want to write about.  Enough people are writing that -- I don't care.  Let's move on.  I want to talk about the issue with compatibility and backwards compatibility and what you have to do to maintain it and whether or not you should, because you may have your own engineering problems in the future that are based around compatibility issues like that and if you plan for them, you won't get into the kind of mess that Microsoft did.

Atwood:    Right.

Spolsky:    And that's what I wanted to write about.  But some people -- Gruber or Mark Pilgrim -- I think they read that and they were like, "This article is not angry enough at Microsoft and so it must be pro Microsoft and therefore I must take a contrary stance".

Atwood:    Right.  Yeah, I actually like that article.  I thought it was too long.

Spolsky:    Yeah, it was too long.

Atwood:    I wasn't a huge fan of the first half of it, but I definitely thought the last half was very strong.

Spolsky:    At the time, I thought I had to say all this stuff. But later, I realized if I had taken another week I probably could have trimmed it about 30%.

Atwood:    Yeah.  It wasn't bad, you know.  Not to get into butt kissing, but I don’t think anything you've ever written has been bad.

Spolsky:    Oh wait, I'll find something.

I take that as a personal challenge.  Are you kidding?

Atwood:    The stuff that you publicize, you take a lot of care in terms of the way you write it.  The way I write is very ‘from the hip’.  I don't vet my writing like you do.  If you look on Paul Graham’s site, you'll see that each article is proof read by the following ten people.

Spolsky:    And then some name dropping.

Atwood:    Yeah the name dropping.

[On my site] there's no proofreading.  It just comes out.  I get the impression that you put more thought into your writing in terms of editing and so forth.

Spolsky:    I think I go over the article 30 or 40 times before it gets out.

Atwood:    For me, it would be like twice -- while I'm editing it.  So it's a little bit looser.  So I appreciate it.

Spolsky:    That's also why I don't write very much.

Atwood:    Yeah, there's certainly an issue of scale there.

One issue that's interesting with regards to Microsoft, is I think Microsoft has a lot of problems now.  Serious, deep, deep problems.  I don't perceive Microsoft as being in a strong position anymore.  I totally respect Microsoft -- there's a lot of people that work there -- but in terms of the whole Microsoft monopoly, I think it is the weakest is has ever been.  Not in terms of absolute numbers now, but in terms of the underpinning of where their money comes from and how their business runs -- they are really, really vulnerable.  I don’t view it as you need to attack them very much anymore, I think it is self evident to decent analyst that Microsoft has huge problems and it is not at all clear that they are going to overcome these problems.

Spolsky:    I don't know if it’s clear.  There was a big hullabaloo about Gartner making some statement about how Vista was -- what was the word they used, that was provocative? Disaster?

Atwood:   Yeah. Something like that.

Spolsky:   Catastrophe. Of Katrina scale.

The weird thing is that that was newsworthy and this is something that for three or four years that geeks -- even before Vista came out -- geeks have been saying there is something that is seriously wrong here because developers -- going back to the API war, the geeks have known that it just doesn't matter anymore what is on the desktop anymore because all of the interesting development is happening on the web.

Atwood:    Since you yourself brought it up.  At your FogBugz world tour one of my favorite things you said was "Remember that blog entry I did about how 'there are five things you can’t do in a web browser...'"

Spolsky:    Yeah.

Atwood:    Now you can do all those things. Underline, spellcheck...

Spolsky:    Our intern Jacob did them all. In one summer.

Atwood:    I give you tremendous credit because you're right.  It is so hard to see the future.  Nobody really saw the browser as being this strong of a platform but, clearly, it really is.

Spolsky:    Sometimes it's kind of weird, you extrapolate the wrong way.  Like, for example, when the browsers first came out, I kept thinking "gosh with the HTML protocol, there is something wrong with this".  I was working at MSN at Microsoft and we had a different protocol for hypertext multimedia that was based on help files.  Basically, so you'd write an Microsoft help file instead of an HTML page.  This is funny, but HTML was just not known then.  At Microsoft, if you wanted to see the web you went to the library where there was one computer that was connected to the web, in those days.  This is like 1993 or 1994 so it was before anybody had the web.  So, not to blame them too much.  But, they had this idea that they wanted this multimedia thing with hyperlinks, and stuff like that, for creating content for MSN. 

The first idea was to use help files since they already had this multimedia format with hyperlinks.  In the protocol they built, instead of using something simple like HTTP, where you just get the file, they had a slightly more sophisticated protocol where you got the text first, and you got the dimensions for the pictures so that space could be left for the pictures, and then you got a blurry picture and then sharper and then sharper.  So, the text would appear right away.  In those dates 9600 baud modems were the fastest you could get, most people had 2400 or 9600.  I think 19.2 might have been on the horizon.  I'm not really sure. But they were going to build MSN on this crazy frame relay dial-up system which would have been lucky to see 4800 baud.  Anyway, it seemed like you needed a protocol that showed you the text first and the pictures later.  HTML in those days did not do that.  As soon as the web browser saw a picture, it would start trying to download that as well, even thought there was maybe some text that should have been downloaded first.  The story I'm trying to tell is, the web did not look very good -- kind of clunky.  It did not look as good as what you could do with a specialized protocol.  But then, of course, the speed of all these things improved and it just didn't matter what order you did things in.  The limitations of HTTP turned out to be its strengths and the web really did sort of take over the world.

I sort of looked at early versions of the web and said that’s kinda clunky and dumb and we could build something a lot slicker and more professional looking.  I was kinda wrong about that.  And then, years later I was looking at the early WAP websites and everyone was saying that "WAP is crap" and "WAP is slow" and "these web browsers phone things are just awful and any kind of web experience you have on a phone is going to be ghastly".  And I thought, "but that's what I thought about the web so maybe the phone experience will get better".  And it didn't.  It really never did.

Atwood:    Well, I would say there is the iPhone.

Spolsky:    Well, the iPhone is not the web experience.  That's just a shrunk desktop browser, basically.

Atwood:    That's what I'm saying.  That's what turns out to be the future.  The handheld devices get so powerful they become mini desktops.  The phone becomes a mini-desktop.

Spolsky:    They are doing the same thing the desktops are doing and that’s the only way to make it work. And indeed like WAP just never did evolve into something fast enough and nice enough that it could become better.

The point of the story is sometimes you are looking at something and you can't see the future because you don't extrapolate it enough, and so you say "Eh, this sucks" but you're not extrapolating to when it is going to be really good.  And sometimes the opposite problem happens and you extrapolate too much and you say "This is crap but it is going to get much better!" and it never does.

Atwood:    Right.  That's the bubble 1.0 right?

Spolsky:    Yeah.

Atwood:    Everybody is going to shop online even though they don't have broadband.

Spolsky:    [laughs] Right.

Atwood:    They're all behind modems.

These rich web experiences that were just way, way ahead of their time.

Spolsky:    At MSN in 1993 we were all thinking around 1996 the whole country is going to be wired up for broadband.  They'll basically be able to have; I think at that time, people were actually predicting that by 1996 people would have enough bandwidth into their homes for 4 television channels at once.

Atwood:    Wow.

Spolsky:    And that was MPEG-1. Is that possible?

Atwood:    I think they were only ten years off with their prediction.

Spolsky:    MPEG-1 was 150.  Yeah, it would have worked at DSL speeds.

Atwood:    Getting back to what we're doing, and I think the reason this ties in is one of the reasons we think the site will hopefully matter is that we believe that programmers are going to learn online.

Spolsky:    That's right.

One thing we are noticing is that the book market, the programming book market has just completely vanished.  It is falling apart, catastrophically.  The programmers I know don't really learn new technologies from a book any more.  What they do is they find a tutorial on the web -- maybe -- and they try to do something and then they page fault in knowledge.  Basically, they get stuck on something and they either post to a discussion group, or they type their question into Google.

Atwood:    Right.

Spolsky:    And those are the two things we want to serve basically is the posting to the discussion group and typing things into Google.  Our longer term goal, if we’re successful, is that you're trying to figure out how to do something in Python like how to merge two arrays in Python and you go to Google and you type "merge two arrays python" and submit that, and our goal is to be the number one hit that comes up with a really good edited answer to that question that some individual has contributed and maybe other individuals have edited.

Atwood:    Right. And also to reduce of the friction, kind of like Twitter and Tumbler did for blogging.  Yeah, we could have a blog where some guy loves Python write a whole blog entry about how to merge arrays in Python.  First, it seems like kind of a weird topic for an entire blog entry.  I mean I guess you could.  But, a lot of that stuff ends up being buried on forums or documentation that nobody clicks through to.

The classic example -- not to pick on Microsoft, I feel bad actually -- the MSDN documentation site, although it is actually pretty good – it’s just that the way they set it up is so painful.  It is almost a formatting problem more than a content problem.

Spolsky:    It’s not true HTML, things move around too much.  Things are never there.

Atwood:    The tree on the left just kills me.

Spolsky:    Yeah what's that?  That's never worked on the Internet!

Atwood:    Again, they can't let go of the whole desktop metaphor.  This drives me crazy.  Websites that "Oh, I need to look like Windows applications" or even OS X applications.  This is really wrong.  If I see an app that looks like a desktop app I'm like "you failed -- immediately you failed."  You don't get the fact that this is a different medium; it should look different.  It should not look like the old way.  We’re trying to get away from the old way.  There were problems with that.

Spolsky:    They put everything between a firewall, which is new name for passport

Atwood:    Right

Spolsky:    So, you can't even get MSDN anymore and it’s not being searched properly by Google and their own search sucks.  So, basically they're constitutionally incapable... a lot of people that have the documentation are constitutionally incapable of putting it up on the 'net in a format that is actually searchable and findable.  That's not true of everybody.

Another thing I noticed happen -- let's say I've got a Mac at home and in order to connect to my desktop at work I use CoPilot.  But I don't always use CoPilot because it’s kind of slow.  So, a thing called Remote Desktop Connection because I have a VPN all set up and there is a Mac client for Remote Desktop Connection and there is a new version of the Mac client for Remote Desktop Client -- which is really good -- out only it is in beta.  And it took them much longer than they expected to actually ship the damn thing, so the beta expired.

Atwood:    Nice.

Spolsky:    And so you couldn't run it.  So then you go search on the Internet for "Mac remote desktop connection beta expired" and you get all kinds of discussions; people discussing what to do and how to work around this problem, and "how stupid is Microsoft that they can't solve this problem."  What's interesting is that within five days Microsoft had indeed released a new version of it with the expiration removed.  So, it is still the beta because they’re still late but it’s not actually telling you that it’s expired anymore.

So that's fine, but here's the point: in the mean time, all those previous blog articles about this thing being removed are still the results you're getting from Google.  And so the number one result from Google doesn’t know about the new thing – the fix.  In other words, there is something that happens when something is broken and then gets fixed.  The brokenness gets into Google and gets page ranked and that tends to sort of dominate the results for a long time because it’s got the earliest dates on it and a lot of the times you're trying to solve something and you find a discussion on the Internet that says "the solution to this problem is there is no solution and you are borked" and you can't do anything about it.  And that's wrong, that's no longer correct, you're not looking at the correct information anymore.

One of our goals is to have a place where if somebody posts a wrong answer or they post an answer that used to be right but it becomes wrong that there is a way to remove that and to get that out of the site and to get the new right answer at the top of the page.

Atwood:    So, it’s very Wikipedia-like in that sense.  There is a flavor of wiki to what we’re doing.  I do agree with that because that is a problem with blog entries because when you write about something it is a point in time and that's why dates are so important.  When you go to content and there is no date and you're like "I’m hosed because I don't know when this was written."

Spolsky:    I still get angry email where I said it was a mistake for the Netscape guys to rewrite the whole browser from scratch and they should have started with their existing code base.  I believe it took, correct me if I’m wrong, I think it took six years.  No.  How long did it take between the last version of Netscape and the first version of Firefox shipping?

Atwood:   Oh, it was a long time. [In March 1998, Netscape released most of the code base for Communicator under an open source license.  Mozilla 1.0 was released on 5 June2002.  Firefox 1.0 was released on 9 November 2004 ]

Spolsky:    I think it was three or four years at least.  Anyway, they definitely lost a couple of years by starting from scratch and I think that article is still correct and I think that those few years that they lost while they rewrote basic things that had already been working in the original version of Netscape.  When they rewrote those from a green field, from a clean slate instead of just trying to even use the old code as a blueprint at the very least.  Those few years they lost probably correspond to the same period in which IE went from 0% market share to 90% market share.  And so now Firefox has to claw its way up from the bottom.  But anyway, I still get email from people says "it looks like you were wrong!  Firefox is now shipping!!"  As if that proves me wrong that later -- and I'm like look at the date on the article dude!

Atwood:    Right.

I remember reading that and saying "oh he's right."  Netscape is so dead.  But then it’s like Firefox and phoenix -- such [a] great name -- really did come back from the dead.

Spolsky:    They came back from the dead, but there are still not at 50% market share.

Atwood:    No, of course not.

Spolsky:    I don’t know where they are -- that's probably debatable.

Atwood:    I think it is really high in Europe, gosh I don't want to say because I'll probably wrong but I would say 10% to 20% to guess. [Firefox had 19.03% of the recorded usage share of web browsers as of June 2008]

Spolsky:    It depends; it is probably much higher among tech savvy people.

Atwood:    Oh, way, way, way higher, yeah absolutely.

Spolsky:    The good news is that it is high enough that everybody knows they have to test with Firefox.

Atwood:    Yeah, and that is the important thing where we've gone to an ecosystem where there is Coke and Pepsi, finally.  If you look at commercial markets there is a strong argument to make that there needs to be one strong competitor for things to move forward.  Like the whole Microsoft problem, people say this about Microsoft - and it really is true - unless someone is really pushing them, they just kinda just stop.  IE is the classic example.

It is absolutely important that there be other contenders for the market to work.

Spolsky:    Maybe you could argue that's why Vista was such a dud because they didn't notice anybody pushing but now that there's Leopard and pretty much a lot of the Windows users... well not a lot, but there are enough people switching to Mac now that they may feel threatened by that that they might have to do something.

Atwood:    Innovate.

Spolsky:    Yeah, actually add some features that people want in a desktop Operating System.

Atwood:    Yeah, there is definitely a lot of truth there.

Spolsky:    I was just thinking how pissed I am that you won't be able to get XP anymore.  I just know I can't give my parents Vista.  I always tell people if you have to get a Windows PC, at least get XP on it.

Atwood:    What's with the Vista hate?  I actually like Vista.  I think the Start Menu is way better.  What specifically would you point to that you don't like about Vista?

Spolsky:    What I don't like about Vista, for me personally, is that a lot of the stuff is moved.  For example, if I go into Network Connections, stuff is just not in the same place as it used to be.  And it’s still there but it is in a different place or a different way of getting it and I don't know those new places and eventually I guess I would learn them but I don't know where they are. So for me, you've moved a bunch of stuff around so everything that I try do is not where I expect it -- it’s a little frustrating when I'm trying to get stuff done -- and what I get for this is nothing.  In other words, there are no other benefits to me that I can perceive for switching to Vista.

Atwood:    That's fair.  It’s true that Vista doesn't add much. Right?

Spolsky:    Yeah.  I mean if you had just added one or two things that I wanted.  I mean I know it added things, but nothing I want.  Then it might be worth it.  For example, when I upgraded Mac to Leopard on my Mac, it had Spaces which I love.  And I use that all the time and that's awesome and that's like just a small thing.  They could put that in Windows in ten minutes and that's enough for me to switch to Leopard.

Atwood:    Right.

Spolsky:    Then I would undergo some pain if I have to get used to the command key or option key being in different places or whatever it takes getting used to; I can deal with that.  But, if I'm going to get nothing and all you've done is rearrange things so I don't know how to do things.  There’s a lot of stuff that I've memorized ways of doing things like I know directly what Control Panel to go to.  It is bad enough in XP you go into the Control Panel you have to click on that 'switch to classic mode' so you can find anything.  Because otherwise it’s going to just put different names of stuff and it’s jumbled it around in places where you don't recognize it.

Atwood:    I think that that's fair.  Just in interest of equal time I would point to two features that I really like in Vista.  One, the Start Menu is huge that I can hit the Windows Key and type and get what I want.

Spolsky:    Yeah, I've got this thing -- what's it called, Launchy?

Atwood:    Yeah, but you have to install that.

Spolsky:    Oh, It's worth it.

Atwood:    I think stuff should be built in.

Spolsky:    Yeah, it should.

Atwood:    And the fact that everything is indexed.  Any keyword, if it’s in My Documents folder, the indexing actually works.  It is very Google like.  Also the way every Explorer window has if you hit Ctrl+E it goes to the search box, just like it does in your browser.  So it really unifies the browser world and the Explorer world.

Spolsky:    Ctrl+E is search?  Oh yeah, look at that, Ctrl+E is search.

Atwood:    Yeah, it is just like in your browser.  It works the same way in Explorer now, in Vista.  So there is the grand unification of the way things work.  But I definitely hear you in terms of they didn't change a lot of things.

Spolsky:    It may even be the problem with Vista is that I put it on this cheap-o Dell Latitude 620.   The cheapest laptop you've ever seen.  It's their high-end laptop too, but the keyboard is crap and it’s got all these plastic parts all over the place and it's clunky and ugly and heavy and it's just a yucky laptop.

Atwood:    Yeah, you should get what I have.

Spolsky:    I just have a bad experience whenever I run Vista.

Atwood:    Yeah, that's fair.  I think Vista has much higher hardware requirements.  It is doing a lot more stuff in the background.

Atwood:    I don't want to harp on this, because I always talk about this on my blog.  But I'm a very outspoken critic of the whole Windows security model.  The fact that everybody runs as an Administrator so they had to put in all these weird hacks that impact performance.  You have to have Defender running, you have to have Anti-Virus.  All of that stuff costs performance, big time.  People say "oh I just need this stuff".  But this stuff destroys essentially your disk IO performance.

Spolsky:    Maybe it is because I'm kind of an expert but I've never had any kind of anti-virus or protective...

Atwood:    Yeah I don't want to open that whole can of worms.  But I will say that Vista may be perceived as being slower because it has a lot more security stuff.  It has Defender and it has the indexing...

Spolsky:    I'll tell you what is slower.  Yesterday I opened my Vista laptop which I haven't used for two weeks to watch a video.  Now why was I watching a video on my Vista laptop?  Because the stupid iMac MacBook Air just doesn't have sufficient cooling so if you try to watch an hour TV show or something, unless you literally hold it up in the air, it doesn't cool enough to be able to.  So what happens is it has two CPU cores in there and it gets hot enough that it shuts down one of them and then you do not have enough CPU power to watch video.

Atwood:    Oh, I had not heard that about the Air.

Spolsky:    Oh yeah, there's a whole bunch of people carping about it on the 'net.  And they have a hot fix that made the fan go on a little sooner and that sort of solves it, but the problem is -- like many laptops -- the fan is on the bottom surface and the only thing that keeps the fan from being blocked by whatever the laptop is sitting on is those little rubber feet.  But if you put the laptop on your lap or on a pillow on your lap or just lie back on the couch and hold it on your knees or something, it blocks that fan and so the laptop can't cool itself.

So they say "the only way you can use a laptop --" and it says this in the manual -- "is if you actually put it on a desk."  But sometimes if you put it on a desk it still doesn’t cool enough to watch more than an hour of video.  It seems kind of flaky; which is really upsetting.

So I pop out the Dell 620 which is twice as heavy and clunky and ugly and yucky and stuff like that and I try to watch video and in the background without telling me it has decided to reinstall something... I don't know what.  There is some process running that is just slamming the hard drive and driving the CPU up to 100% and all I can tell is that it is the Windows installation service.  The WMI installation service.  And I never asked for this and I never approved it and I never clicked okay and it just runs for the first 20 minutes while the video stutters and it just sort of parks on my hard drive.  So I think there is sort of a lot of... I don't remember giving permission just to install stuff.

Atwood:    There's a ton of stuff that goes on in the background in Vista, it's hugely increased.

Spolsky:    All that indexing which I always turn off just because when you have a laptop sometimes you're on the plane and you don't want it just waste battery power...

Atwood:    It does actually disable it when it goes on battery power -- the indexing is smart.  But not everything in Vista is smart.  You know it is sort of designed by committee.  That’s the other problem with Vista.

Remember your start menu article.  I think that is an example of design by committee where you don't have a Jobs-like figure to dictate "oh no, it's going to be this way."  You have to satisfy everybody so you have some parts of Vista that are very good and some parts are just like "Eh, turn that off immediately."

Spolsky:    There is something interesting about if you study architecture or design there is this concept of the minimalist design and minimalism in architecture.  It takes ten times as much work to make something truly minimalist than to makes something decorated.  The classic example is look up at your ceiling and look to where the wall hits the ceiling in whatever room you're in.  Do you have any kind of molding up there?

Atwood:    No, we don't.

Spolsky:    You don't have molding.  So the wall just hits the ceiling it just a nice clean curve?  It is just a square 45 [90] degree angle where the wall hits the ceiling.  So that's really hard to achieve that look.  If you have that, the builder had to work really hard to make that nice and clean.  And the reason is it just hard to get these things to line up and not look stupid, and to not crack and all that kind of stuff.  The molding is usually there because it hides all kinds of sins basically.  You probably have molding between the floor and wall because it is impossible to make the floor really flat.  The minimalist look is that look of "let’s just have a 45 [90] degree angle with no molding and it looks cleaner and sharper and more modern."

But that takes much more work, it costs more in labor and it is just sort of more effort to get that right than if you could just slap a piece of molding on there and cover up whatever mess you make when you tried to get the floor really flat or when you tried to get the wall to line up with the floor or whatever the case may be.

Atwood:    Yeah.  I think that's an excellent point.  Microsoft is their own biggest enemy right now.  I don't think they really need anyone like [John] Gruber to attack them I think they're doing a fine job of attacking themselves at the moment.

Spolsky:    Don't worry.  They'll screw themselves, seriously.

When you look at a MacBook air, and you look at -- Let's just take a MacBook, which is just the equivalent laptop.  It not just uniquely thin, it's just a laptop.  Enormous amounts of effort have gone into removing seams, removing lines, removing all kinds of things that would make it non-minimalist.  Even just looking at the bottom of a ThinkPad versus the bottom of a MacBook.  The number of vents and ribs and buttons.  Most ThinkPads have a little modem operating thing taped on at the bottom.  Literally with cellophane tape.  They've got bar codes, they've got FCC stickers.  They've got something here in Chinese... I don't know what it says.

Atwood:    Oh right!  All the stickers on the bottom.  I had totally forgotten about that.

Spolsky:    Yeah.  And there's like 18 little holes and vents and clips and I don't know what... and buttons and screws.  When you look at the bottom, if you just count the number of features of a laptop and compare Mac versus an Intel laptop or a Wintel laptop, the Mac has far fewer.  And every one of those screws, holes, rivets, seams, stickers that they have removed was done at enormous effort.  Like, a lot of effort went into figuring how to not have that thing be there.

Atwood:    Absolutely.  That's ironic that it seems the best way to judge a laptop is to turn it over.  The part you don't see is more indicative of the design effort than the part on top -- the obvious part.  You're right, I didn't even think about that but if you flip any laptop -- even the nicer Windows laptops -- I have a Dell XPS 1330 which is pretty sexy for a Dell.  It is very thin and very clean lines but if you turn it over it is mishmash of labels and FCC tags and vents.

Spolsky:    That's where all the garbage went.

If you look on a MacBook, those labels – they won’t do that -- they'll do it in a silver colored paint that's carefully chosen to disappear as much as possible and the smallest legal font that they can put it on if there is something that legally has to be there.

Atwood:    I've got another neat one.  Actually, my wife pointed this out of all people.  I feel like an idiot for saying this but -- camera phones have a mirror on the back, so you can see yourself.  I guess this is a big thing for camera phones taking a picture of yourself.  It never occurred to me, I don’t know why.  What is this shiny thing?  I thought it was a piece of equipment.  She said, "if you look at the iPhone -- the Apple logo is the mirror."  The Apple logo is very, very shiny, and that’s what it’s for.  Isn't that cool?  It serves a double use - they don't have to have this stupid bumpy truck driver mirror hanging off the back of their phone; they have this shiny Apple logo so you look at yourself when you take a picture.  I thought that was very, very clever.

Spolsky:    Also something I talk about in my speeches a lot is how I think one of the reasons people like the iPod and the iPhone is that seamlessness.  Part of the reason the seamlessness is there, or one way they achieve that seamlessness is that they don't let you change the battery.  Because they don't want to have a battery cap -- they don't want there to be a panel that your remove that has to have a seam all around it.  That has to have little nubbins that you push to provide friction to remove it.  That’s just a feature they didn't want to have and it wasn't worth it to them to let you change the battery.  They're just like: don’t change the battery, it's something that you do once a year.

Atwood:    And I think people don't like the honesty.  Most people who buy cell phones are really just going to throw them away at the end -- or recycle them hopefully.  They're not really going to buy five batteries and use that phone for the next ten years, right?

Spolsky:    There is some usefulness.  Sometimes I forget to charge my phone and luckily I've always got a battery that's charged so I can just swap them.

Atwood:    That's fair.  I'm probably the worst example but the way I use my phone the embedded battery is just a better solution for me.

Spolsky:    Yeah -- it's just a trade off, but in order to get that minimalism, in order to get the clean perfection -- you have to expend physically effort.  You have to have people that are fighting for minimalism.  You have to have people that are saying: let's just have one way of turning it off that you don't have to think about, and one way to turn it on and we just figure it out.

I know there are good reasons to have nine different ways to turn off a computer but let's just fight to get it down to one.  And that takes a lot of fighting and actually I have heard from sources that that is going on at Microsoft now, with regards to the shutdown menu at least.  We'll see if there is a version that comes out with fewer ways of turning it off.

Atwood:    So bringing this back to what we're doing, and I think the reason this discussion is important is I truly believe in this minimalism.  And certainly, if you look at my blog I get very excited when I can remove something from my blog.  I remember removing the "remember my settings" checkbox.  I'm like, "I'm just going to remember your settings, I'm going to assume that you want that, I don't want a checkbox that says 'remember my settings'." 

I don't want to think about that.  So, I think the same rules are going to apply to StackOverflow. 

Spolsky:    Oh yeah, we have a name -- StackOverflow -- did you get that domain name?

Atwood:    Yeah.  We do have it and I want talk a little…

Spolsky:    In your possession?

Atwood:    It is.  It is in my possession.  I actually put up a tiny landing page with a funny little cartoon.  If you're curious you can go there and see it. I don't want to spoil the surprise.

Spolsky:    Oh, it’s got a cartoon.  I know the book that that's from actually; I have that book.

Atwood:    I just like that.  I like the 'magic.'  We're going to make the magic happen -- we're going to invoke the miracle at this point.  You know what we're doing now -- I talked about this on my blog -- we're going through, essentially, paper prototypes.  I'm actually using a graphics editor -- because I actually suck at writing with a pen.  But that's what we're doing.

The names that we came up with -- and I only want to cover the top four -- the winner was StackOverflow, in terms of voting.  There are 6,790 votes.

Spolsky:    Holy... How many??

Atwood:    Six thousand, seven hundred and ninety.

Spolsky:    That's the population of Wyoming!

Atwood:    Yeah right.  [laughs]

I think even Wyoming does a little better than that.

Spolsky:    That’s a lot of people.

Atwood:    StackOverflow won with 25% of the vote.  Privatevoid.  Now, Joel and I talked about this and we decided we liked StackOverflow -- there's a lot of names we liked.  Naming is really hard. 

Spolsky:    I'm Joel, Joel is me.  Oh, you're talking to our audience.

Atwood:    I'm talking to the audience -- I'm not talking to you Joel -- you're not even -- you're just accidental at this point.

Spolsky:    The audience is totally imaginary.  If they haven't shut this off by now.  We’re thirty-seven minutes into this thing.

Atwood:    Now privatevoid had weird connotations -- like using the bathroom.

Spolsky:    Oh yeah, using the bathroom.  Or, it’s also like a Beetle Bailey character in the army sort. And he's got no brains. So we call him Private Void.

Atwood:    So, under that: Dereferenced.  I kind of like Dereference, but it seemed a little snarky like defamer.  It seemed a little negative and I want a positive.

Spolsky:    A stack overflow is positive.  It’s an awesome...

Atwood:    It's overflowing with awesomeness!  You stack it all up and you don't have enough room for all the awesome so we're going to put some on our website.

Spolsky:    I should mention to the listeners -- since you're addressing our listeners -- we're going to setup an email address somewhere.  Do we have that yet?

Atwood:    I can. But what'd you have in mind?

Spolsky:    People will call in -- no wait, how do people call in to an email -- they will record an mp3 file and email it to that address.

Atwood:    Or they can just email a question -- we can read their questions, right?

Spolsky:    No, we've got to get them talking.  Definitely.  Totally.

Atwood:    So it has to be an audio attachment.

Spolsky:    Yup you've got to record yourself asking a question -- or a comment or an idea or something you thought of and it’s got to be like 90 seconds.  Anything more than that and you're just cut off dude because I'm not sitting here editing these things in Audacity.  Record a little mp3 with a question a comment and suggestion an idea or just love and affection and email it to: an email address to be determined.

Atwood:    We'll put that up -- when and if we put these podcasts up. 

Spolsky:    Wherever you see these podcasts look around there for an email address. We'll mention it in the next show.

It works much better when you're able to say "hey we got this message from Floyd in Tempe, Arizona, who has a suggestion."  And then we can play it and talk about it -- ridicule it.

Atwood:    But the reason I wanted to cover the vote is because I do value -- the whole reason I have my blog -- the reason it has become this big thing is the community around and I wanted tap into that.  Naming is hard and they should have a hand in that too, right?

Spolsky:    Didn’t -- StackOverflow won by a lot, right?

Atwood:    A lot.  Yeah, not quite double, but close.

Spolsky:    That's enough to make you feel like this is the better name.

Atwood:    In the interest of fairness, ‘other’ got 6%.  So, that other means to me "all your names suck."

It beat ‘other’ by a lot which is important because if you’re not beating ‘other’ then it’s just noise.

Spolsky:    Then you have a bunch of bad names.

Atwood:    I do want to talk the other one that beat ‘other’ that was still a contender was humbledeveloper.  Now humbledeveloper is good because -- for the famous essay by Edsger Dijkstra.  I don't want to try to say it.

Spolsky:    Is it “dEX-trah”?

Atwood:    Is that right?  I'm horrible with pronunciations.

The humble programmer is a really, really famous essay, right?  And I totally believe in that.  The first thing you want to do as a developer is say, "I suck."  You've got to acknowledge your own suckiness. [ ]

Spolsky:    But you see StackOverflow is not for the humble developer. It is for the arrogant developer who hasn't bothered to RTFM and is now looking things up because he thinks he is so hot shit that he doesn't have to learn the programming language before he starts banging away code and now he's run into a problem and he's asking people how to append to lists ...

Atwood:    I think that's fair and I think people saw that and said "Okay Jeff, what you do on your blog -- this is doing."  And they're right about that, but this site, StackOverflow, is going to be doing is a little bit different than what I do.

I do think it was an appropriate name for me because people were asking, "why don’t you just make it ‘’" and I was like "well I'm trying to build something a little bit different than that."

Some of the ‘other’ names that were suggested were quite funny as well.  One that I liked and I didn't get any feedback from you on this was duh-velopment.  That was very funny.

Spolsky:    The trouble is you don't want something that can't be read out loud.  That needs to be explained.  You want something that when you say it the first time.  People that who are literate in English will be able to type it the first type.

Atwood:    Well you know, coding horror gets misheard as coding whore a lot; you know that, right?

Spolsky:    I haven't even thought of that one yet.

Did you register coding ho?

Atwood:    Coding whore.

It is registered to a friend of mine.  Actually Scott C. of the company I used to work for –Vertigo – registered it just for me as a gift.

Spolsky:    Coding ho!

Atwood:    Coding ho, exactly.

Spolsky:    Okay that's okay coding slut dot com is pretty good too.

Atwood:    Did you ever read [...] coding slave?

Spolsky:    Who's that, that sounds familiar?

Atwood:    I can't remember his name -- he’s a character.

So, what I have today is I have comps.  I don't know how this is going to work on a podcast format.

Did you want to do that now?

Spolsky:    What is a comp?

Atwood:    A design comp?

Spolsky:    Just the like the paper prototypes.

Yeah, well, why don't you email those to me?

Atwood:    It’s in the wiki.

Spolsky:    Oh it’s in the wiki.

Atwood:    We're using FogBugz.  And I must say FogBugz is truly an excellent product.  I have enjoyed using FogBugz.  I would buy it again and again. 

Spolsky:    Good.

It's broken [...] Here we go.  Okay, Paper prototypes.

Alright I’ll have to go over this...

The question is: do we want to put these up on the web somewhere where people can look at them?

Atwood:    I don't think -- based on the early feedback I've gotten from just trying to explain what we're doing: it was bad.

Spolsky:    Ok, never mind then.  Forget it.

Atwood:    You need something more for people to look at for them to understand what it is.  We need to go through at least one cycle on the paper prototypes before we show anybody anything.

Spolsky:    Fair enough. The first thing people see will be like a really really rough beta that just has some basic functionality.  They can start giving us feedback based on that.

Atwood:    You've been through this a million times.  People don't really understand what it is until you put it in front of them – that they can actually touch it in some way.  That's why paper prototypes can kind of work but I think it is better to have something a little more fleshed out.

Spolsky:    Okay.  We should talk about -- you just sent me a random email talking about some of the horrible Q & A sites that are out there like askville. 

Atwood:    I wouldn't say horrible.  I think the problem these sites have -- and actually Jarrod the other......

Spolsky:    [Reading from askville] "How do I beat a big daddy in BioShock?"

Atwood:    [laughs] that's a great question!

Spolsky:    But that's easy!

Atwood:    Just shoot it a lot.

The problem these sites have is they're everything.  It is sort of like walking into Blockbuster -- back when we rented movies physically -- and like what do I want to watch.  It’s like: who knows there's like drama, there's action, there's comedy.  Who knows what you want?

Spolsky:    Yeah but when you're on the plane and there's only six choices -- it’s easy.

Atwood:    Yeah so I think having a developer community that's targeted around programmers and programming topics and again not religious stuff but specific things you're trying to do in a programming language or environment I think that narrows it down substantially.

Spolsky:    I did actually try asking some programming questions on askville and got absolutely nowhere.

Atwood:    Oh yeah search for C# or something, and you'll get this garbage, it's like the worst stuff you've ever seen. It's horrible.

Spolsky:    It is at a much lower level than our audience will be at.

Atwood:    The other thing I've got to say, is I'm glad we have a technical audience.  Because a lot of the users of these systems are very unsophisticated -- as in the all caps answer type unsophisticated.

Spolsky:    [Reading from askville] "Will C# completely replace C++.  If so, by what date?"

Atwood:    You should answer that one!  I think you're uniquely, you know, skilled to answer that question.

Spolsky:    That's such a... that's like a question that reveals a level of…

Atwood:    It’s a stupid question!

Spolsky:    Well yeah, exactly.

It's a question that reveals a lack of sophistication.

I remember once I was sitting in the computer lab at school and I guess I must have been a sophomore and the freshman class had just come into the computer lab for the first time and they were just hanging out with the computers and there was this one kid there who was trying to impress a girl and she was like asking him all these questions -- in a flirty way -- and he was just being the man who knows everything about computers and telling her all the answers.  And she said, "what exactly is C++".  And he's like, "Well the history of programming languages is that they started out with a language called C and they improved that and made a language called C+ and now we’re on this thing called C++ which is the most improved language."

And he was saying that like he absolutely knew what he was talking about, just to sort of impress her.

Atwood:    I love that story because the idea that the guy is totally oblivious to the fact the girl is flirting with him is just too perfect.

Spolsky:    That's always true! Maybe he wasn't oblivious.

Atwood:    I'm pretty sure.  Oh man.  Yeah.  [clearly experiencing flashbacks]

Spolsky:    It's not that he was a geek -- he was kind of more of a show off.

Atwood:    I see.  That's more important to us guys, right.

Before we let this go too long, we might want to actually end the podcast part.

Spolsky:    Let us end the podcast.  I think we want a maximum podcast length of an hour.

Atwood:    Even an hour is a little long.

We're going to have to be a little careful.  We might want to even edit this a little.

Spolsky:    What?

Atwood:    I know.

Spolsky:    [laughs] No.  I like your original idea.

The podcast has to be a side effect of the conversations we're having anyway.

Atwood:    True.  I think we just have to stay focused.

Spolsky:    So we're going to end the podcast for this week.  Tune in next week for another exciting episode of: something that will have a name.

Atwood:    And it can only get better from here.

Spolsky:    Stack Overflow pod cast.  Podcast overflow?  It's the Stack Overflow pod cast!

Atwood:    Could be.

Spolsky:    That’s terrible.

Atwood:    We'll see.

[46:13 ends]

Last Modified: 12/29/2010 8:47 PM

You can subscribe to this wiki article using an RSS feed reader.