View  Info
Compare   Restore  
   Revision #16 - 5/27/2009 1:43 AM     

Podcast 054


Intro, advertising


Jeff: So we have some StackOverflow news, actually quite a bit of StackOverflow news...

Joel: Ok, so let's go on and take notes.

Jeff: Actually, I'm just going to the list, so we should...

Joel: Let me just take attendance here. Jeff?

Jeff: Ah, check. Present.

Joel: Right, and Joel, present. Ok, let's go ahead. StackOverflow news...

Jeff: Ok, Marie (ed: Osmonds?), sounds good.

Joel: Hehe.

Jeff: Yeah, we, let's see, we implemented the flair feature.

Joel: Yes, I've been waiting for that. Flair. And you know, the first... I guess I tried the beta, and it wasn't quite working out.

Jeff: Well sometimes what we do is to put stuff on the blog for... really the blog is a small fraction of our overall audience, so... that's a way of sort of beta-testing the features by announcing them on the blog, not really making any explicit links to it on the site, and then sort of see how it works, 'cause what we found is that no matter what we think the feature should be like, and our (?) the feature should work?

Joel: Yeah.

Jeff: There's always changes you know, there's always things you didn't think about or... you know... Things people want that...

Joel: Sure.

Jeff: ... we just couldn't think of ourselves, so... We feel like every feature gets changed pretty rapidly after we deploy it, so... That was sort of the intent there, to deploy it, see the feedback we got and make some changes and redeploy. I think we're pretty happy with what we have now.

Joel: Ok.


Jeff: Have you gotten it to work?

Joel: I haven't tried recently. I was just going to ask if you've fixed it. So you have a choice of an iframe or a little javascript?

Jeff: That's right, and there's actually a couple of different internal formats. There's like json, there's like jsonp, there's... bunch of different formats you can choose from to get the data back.

Joel: Yeah, but... but... but... but... but... most people are just gonna want to cut and paste... a blob of code into their html. Presumably.

Jeff: Right, and that should work. I think it was just a styling issue, it was the way the styling was coming down, or not coming down...

Joel: Yeah.


Jeff: ... certainly on the blog demo I've been using the iframe just because it's a little bit simpler.

Joel: But doesn't... did you fix the problem where the iframe is coming out with all kinds of extra scrollbars, and... meh, it just wasn't looking right.

Jeff: Make sure you... make sure you copy, when you copy the snippet that there's a bunch of parameters to the iframe you need to set.

Joel: Ok.

Jeff: So, check that, but it should be working.

Joel: I will try that. Tell you what, why don't you sing us a little song... sing us a couple of rounds of row your boat, and I'll try that right now. Citydesk...

Jeff: For what purpose?

Joel: So that I can try putting the flair on my site while our listeners are entertained.

Jeff: Oh, I see.

Joel: So I go to, and you listeners can do this to, you go to and hit users... no, you hit your name... and.... where's the flair button? You say... users slash flair (users/flair)?

Jeff: Yes, users/flair

Joel: Isn't that weird, if there was a user named flair? Hehe, who is not ... never mind.

Jeff: We actually run into that, it's a routing issue, where the way you name your routes in ASP.NET MVC. If you do it wrong you'll run into conditions where you can't have have a user named "update", and things like that, so you tend to be careful about that.


Joel: .... "flair". StackOverflow, and I'll go in here, and I'll change that to that, put a little script in... All right, let's see how this... how this worked... Ooops. Ok, never mind, that's gonna be an hour before this finishes publishing, and I can see what it looks like.

Jeff: hehe

Joel: So anyway, for the confused listeners at home, the thing we've called flair is like a little badge that you put on your own website, which at all times will show... like if you have a blog or something, will show your StackOverflow identity and your reputation and bagdes and stuff like that, in like... a little rectangle that shows up on your website. It's just a little way of showing off your StackOverflow "creds" on your blogs.

Jeff: Right, this was a feature that was highly voted on UserVoice, eventually we got to it, we satisfied a lot of the requests on top of it, eventually it became the highest rated request.

Joel: Yeah

Jeff: So we figured it was time we do it, and I'm pretty happy with how it came out.

Joel: You know you can put these on your T-Shirt.

Jeff: hehe

Joel: That's true, you can get your flair on your T-Shirt, Brent Ozar (?) has a little page, where is that thing.

Jeff: I don't know the exact Url, but I know what you talk about. We'll link it in the show notes.

Joel: Yeah, ehm... I'd like to do it for my... Here we go, it's a website called, anyway the Url is






Chris: Hi Jeff and joel, Chris ?? from the UK here, Thanks for your podcast, I really enjoy it. I have two questions for you today:

Firstly, I want to re-ask a question I've already put on Stack Overflow which is number 204572. This is the question, it's a bit of a business one.

When working for ?? agency how do you win well-priced work? It seems there is so much competition that pricing is driven down very low and hard to argue with the cheapest provider. 

I know some client will pay the correct amount for projects but a lot of people are just looking at bottom-line. I feel this line work is very different from a software product company or even an internal IT department in terms of budget.

As joel has said before, like internal IT, we mainly only get to version one of the products. Unless the client is big enough. This means that it does not make business sense in the short term for us to make the product as good as it could be ?? project being ?? budget is.

I was previously working somewhere that always took home work for too little money, and the products were either not up to scratch or the project dragged down until they started to cost the company money to complete the work.

To answer my own question, I believe the answer is to stick to correctly priced work and also to spec extremely thoroughly.

But I'd be interested in experiences you might have had with issues like this.

Question two is…

Joel: Alright…


Joel: I think that the answer that Chris is proposing is not the right answer actually. That you first intuition is better specs and correctly priced jobs, like more nailed down specs and I think that's the obvious answer and obviously everybody's been trying that and yet everybody always has this problem, this is sort of a consistent problem of the small to medium sized build-something-for-you kind of shop. Did this happen at Vertigo a lot?

Jeff: OMG all the time.

Joel: Yea, so that's the size of shop where it happens a lot. And for some reason you don't here about this happening with ten million dollar engagements

that IBM Global Consulting Mega Services does for you. Although– which is not to say they're necessarily any more successful, but they don't seem to get into this problem of like getting an infinite amount of work and we never get paid for it. Maybe they do, maybe they do just as much.

Here's my approach, my approach is you have to understand that just spec'ing something is not gonna solve the problem, if we learnt anything from all the writers on agile software development, the one thing we should learn, it should be that you have to, uh– the spec has to evolve as you develop the code. It just has to. I mean, you can write down as much as you want upfront, which I'm all in favor of, but to then freeze that so that it's the only thing that we can possibly deliver, will guarantee that what you deliver will be, you know, unsatisfactory. 'Cause as soon as you see it you discover these things. 

Hey just in this podcast we've probably mentioned ten things that–, not ten, seven things that we saw in the development of Stack Overflow and we changed about the design. Like you said, we'd never have thought that we'd need the ability to make it impossible to delete a question that you put up after it's got good answers, for example.

Jeff: Alright.

Joel: So you're not going to solve somebody problem unless you do these things, so this conflict comes from the fact that the client needs you to solve a problem, they don't need you to implement a spec, even if they promise that all they need is for you to implement the spec. You have to stop thinking of it as 'theres a client, and the client has a peice of software they need built, and I'm the software builder, thats the relationship we're going to have, that I'm going to deliver the software product, in exchange for some money', and if you think about it that way you're going to run into this conflict again and again and again. And if you think the way to fix it is to get the client to sign every page in blood, of the spec - have a very detailed spec, and you can say 'nerh nerh I delivered *exactly* the spec', you know, you might win in a court of law, but your not going to solve the clients problem, you're not going to make them very happy, and their going to throw away your code and not ever hire you again.

So, the way to think about this instead is, you have to take a slightly bigger picture, your job is not to deliver some code according to a spec.



Jeff: I actually have a Stack Overflow question we could do, if you don't mind?

Joel: Yeah, let's do.

Jeff: So one that I have had tagged for a long time is from December, it's "What’s Up with O(1)?". The number is 332952 and the asker is orcmid...


[69:16 ends]

Outro, advertising


Last Modified: 12/18/2009 7:45 AM

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