Jeff and .NET

The .NET musings of Jeff Putz



My Sites


March 2008 - Posts

The ASP.NET community's only real problem is education

After reading this post from Dan Hounshell (via Rob Howard's post), I'm drawn to more questions about "what's wrong with the ASP.NET community," and I'm still convinced that people are asking the wrong questions.

To really understand where we are, I think we need to look at where we've been. There's a history when it comes to this platform, and I don't think you can really get to the meat of the platform's development and community without having that context.

In 2001 and 2002, I was yet another person beginning the transition out of the horrible ASP 3.0 world to ASP.NET. I was immediately active on GotDotNet, and then the forums. I posted a ton in CrystalTech's user forum, and was designated .NET guy of the year or something on SitePoint's forum. I was all about trying to help people out because, by extension, it strengthened my own experience.

Let met get back to that in a moment though. In the pre-ASP.NET world, as I mentioned, we were in ASP. Visual Basic 6 and other previous versions were about as common as Windows itself in little shops in every IT department. That Visual Basic world was powerful because you didn't have to be a programming genius to make stuff work. And in the world of drag-and-drop, you didn't even need to be all that handy with code.

ASP really required us to know how to write script, but by the very nature of script, we were focused on simply getting things done in the fastest and easiest way possible. These were very task-driven days. Thinking of a Web site as an application was more or less unheard of.

It isn't surprising that a great many people, I'm even willing to bet a majority, came to ASP.NET from one of those two worlds. That's a very different world from those who had experience with C++ or Java. It's something that was apparent in my experience with the various communities I frequently visited. I might have been an early adopter and forced myself to better understand the OOP world, but maybe that's because I was in an unemployment phase and had time to learn. To this day, a lot of questions in these communities are along the lines of, "How do I do this in ASP.NET" or "What's the command that does this." These are the wrong questions. A lot of people, in an effort to make something work, are looking for classes as if they were keywords in the language they're using.

In my book, I say in the first chapter, "The classes you write are not any different from those written by Microsoft in the .NET Framework." I'm surprised when I run into people with questions that they don't really understand this. It's the first problem with .NET education, that people aren't learning what objects are, or instances, or how a class is different from an instance. Most people fast forward to, "How do I save a cookie," without the slightest understanding or care about the moving parts like HttpCookie or the request/response lifecycle of ASP.NET. That's a problem.

I've felt that the lack of instruction involving object-oriented programming and how ASP.NET itself works is a huge problem. It's a problem that I wanted to further write about in my book, but was bullied into the chapter list I ended up with. Honestly, how to do "Hello World" with a Label control is like chapter 10 in my mind, but that's not how it is approached by anyone.

There is a lot of failure to throw around in that arena, none of which is attributed to any specific individuals or organizations. Books are written assuming OOP understanding or to learn whatever in seven days. Web articles, blogs and forums have zero cohesive vision, and it's a Google-and-go world. The only way I can think of to overcome this is the desire on the part of the individual to dig deeper, and you can't force that.

So by now you're thinking, "Dude, this isn't what community leaders and bloggers are even talking about." Yeah, no kidding, that's my point. That pyramid on Dan's blog post, you see that enormous part at the bottom? That's who we're talking about. The conversation, however, gets into whether or not you should use NUnit or the VS testing framework, or whether or not some new framework is open source or community developed or Microsoft developed or whatever. It's like this horrible "inside baseball" conversation that is totally irrelevant for the bulk of the community that the self-appointed thought leaders are talking about.

Before you get all up in my grill, I'm not suggesting that these aren't some important things to discuss. I'm just suggesting that these subjects are self-serving for a very small constituency of the community. To the cookie guy, this is like string theory, and there are a lot of cookie guys out there.

Since we're talking about it, I'm extremely happy with the direction that the platform has gone the last two years or so. Guthrie's various teams are kicking ass and adding value to their products in a way that makes my life easier. Ultimately, that's what I want from a company when I'm buying their products. C#3 and VS2008 were like the ultimate Christmas, and their ongoing open efforts, delivering something early and often (MVC comes to mind) is awesome.

In any case, I think the thought leadership needs to step away from the computer science and development methodology religion and think a little more about how we get those developers up to where we'd like them to be. God knows we'd like to hire more people like that. 

Posted: Mar 26 2008, 12:35 PM by Jeff | with 26 comment(s) |
Filed under: , ,
Leo Laporte and TWIT are getting out of touch: "Web developers don't like Microsoft"

I was listening to TWIT #136 and, wow, Leo Laporte is totally out of touch. Patrick Norton is not far behind. Listen starting around 36:30. I've found that lately these guys are hanging out in Pundit Valley and completely missing what's going on in the rest of the world. He's actually got the balls to suggest that Web developers don't like Microsoft, and that believing in Silverlight is akin to drinking the Kool-Aid®. Had Leo actually gone to Mix08, I think he'd feel differently.

You can throw all kinds of sites out there that use ASP.NET today, like Chase,, Sharebuilder, Schwans, Ars, and this little start-up I work for called, and he still would believe something different. The funny thing is when they go on to say only a million people who use Twitter, which, I know this comes as a shock to the non-blogging valley types, most people don't have any desire to use. Put the Calacanis Twitter attention whoring aside and put it in perspective.

Mix08 was certainly a coming out party for the part of Microsoft some of us already knew about. Going back to 2004 when I started writing my book, I was surprised at the way things were opening up. Today, you can debug the .NET Framework code, the very sweet MVC framework is being developed with full source exposure, and (gasp!) unit testing. Silverlight is cross-platform and finally nails down the designer vs. programmer problem. We can make fun of Windows Vista and Office all day long, but if you're paying attention, you'll see that Microsoft has amazing tools, shipping, today.

I'm not qualified to say that they're better, because I don't have time to learn every new technology that comes around. But, Patrick Norton, .NET has been shipping and improving now since 2001's "go live" beta license. I have a site written using ASP.NET v1.0, and running on v3.5. Before you start pontificating about the platform, maybe you should talk to people who actually use it.

This Web developer loves Microsoft, in particular Scott Guthrie's entire division. Come to Mix next year, Leo and Patrick, and get clued in. You guys cease to be credible pundits when you stop paying attention.

Mix08: Some overall impressions
I've got two more sessions to go, but while it's fresh in my mind, I'd like to rattle off some overall impressions of this conference. When it's over, I'm going to purge my brain with alcohol, gambling and shows.

First off, what I dig about this conference is that it's very diverse in its content and target audience. Most conferences are endless code demos that make you want to kill yourself. I consider myself a well-rounded person who enjoys the code, but also the creative side, the business and the culture.

It also has a bit of a rock star vibe. In addition to Microsoft execs being here, you get the authors of the books you read, "Web 2.0" (I hate that term) types behind major sites changing the way we use the Web, and people everywhere who might build the next big thing.

And there's something I haven't really touched on, is the conversations in the halls and at meals. Ballmer mentioned that you can get the whole conference, essentially, online, but that's not entirely true. The people you meet are a huge part of what you get out of it. I mean, I met a guy who works for Oprah's studio rolling his own media management software. How cool is that?

Silverlight is obviously a huge deal at this conference, and for good reason. I admit, I'm drinking the Kool-Aid now. It probably has zero application to my day job, but it's fascinating to me. The very clear separation of code and presentation is exactly what I wish Flash did. That, and I wish Flash used C#.

This conference is a good blend of now and future. There really isn't anything here that is pie-in-the-sky future porn. Yes, there's a certain level of Microsoft centricity, but that's to be expected since it's their conference. And as a Microsoft developer, I don't mind. Unlike some of the local events though, they're not pushing crap I don't care about.

Overall, this conference really delivers, and this one was even better than the 2006 event. It's ridiculously expensive, but they do take care of you in terms of food and such. The party sure is a nice touch. They announced that next year's event will be here at The Venetian as well. I hope I can attend again next year!
Posted: Mar 07 2008, 01:17 PM by Jeff | with no comments
Filed under: ,
Mix08: The future of advertising
Like a moron, I didn't realize that the added session on Hard Rock's Silverlight memorabilia site was first, not last, today, so I went to a really boring session on what Microsoft thinks the future of advertising is.

And the truth is, I don't think they know. The presenter said that the entire process of buying and displaying ads online is terribly inefficient (he neglected to mention it's not nearly as bad as other forms of media). The future is going to work more along the lines of ad exchanges, a la the stock market, which is something we've heard countless times in other places, so there's no new information there.

The problem as I see it is not a technical one. Sure, there's no question at all that we can achieve better targeting and transparency, but who is going to be willing to share their data in these exchanges? I'm a little skeptical there. For example, can you see Google saying, "Yes, we have about a half-billion ad impressions available for 30-something females who like bowling?" If they were willing to share that, my suspicion is that they'll want a cut for that, and as a publisher, I worry about the revenue being even further diluted.

Indeed, when you look at the fact that only 5,000 companies buy 90% of the advertising, you start to wonder if it matters.

I'm in the room now where the Hard Rock demo was, and I'm annoyed. I guess I'll have to catch that one on video later.
Posted: Mar 07 2008, 12:47 PM by Jeff | with 1 comment(s)
Filed under: ,

Not surprisingly, the ASP.NET MVC session last night was absolutely packed. Scott Hanselman, as it turns out, is a pretty dynamic speaker, and frankly pretty funny. MVC is a very computer sciencey kind of concept, but it's also a very neat way to generate Web sites.

The thing that's kind of hard to deal with is that Microsoft is going entirely the opposite direction from eight years ago, where a limited number of people saw something and we had a big bang release. This is something that is truly agile and being developed completely in the open. With that transparency comes the "when it's done" ethos, which is fine, but I worry that there's some expectation gap there for customers who have release and support expectations. I mean, until it's RTM, I can tell you that we'll never be using it at (I'm not indicating we would anyway, I'm just giving an example.)

In any case, there's a lot of appeal to drive the site in part by the URI. What feels strange is letting go of the postback model, which you very much have to do in this case. That forces you into a very smooth and task-driven way of designing an application. You can see this in all its glory on pretty much anything built with Ruby on Rails today. There's a "forced" style of sorts you see in those sites (see any of the 37signals sites). I'm not suggesting that's bad in any way, because I think it's actually pretty cool. As Hanselman was quick to point out though, it's not ideal for every situation. What I'm anxious to see is how people are using it in the real world, and how they roll it in a meaningful way with Web forms and even the AJAX framework.

If it were out today, I have a personal project in mind that I'd love to try it out on, but even when it's a small "me" project, I don't know that I want to commit to non-final bits.

Mix08: Silverlight porn

In case you haven't already seen it, this is the drool-worthy thing using Silverlight 2. Gasp!

Mix08: The Steve Ballmer interview by Guy Kawaski

Kawasaki took no time to take cheap shots at Ballmer, working in chair throwing jokes in the first minute.

Google he says they're definitely underdogs in the search and advertising markets. He says Apple also does good work in the music and PC space, and he hopes they can do a better job on their products.

Ballmer says he's driven by three things. Great products, great people and the challenges of the industry. This is the part I respect about him, and his excitement, even if it becomes funny video on YouTube.

He says that Silverlight is at its core their attempt to offer developers a no-compromise opportunity to develop what people really want.

Ballmer really stuck it to Kawasaki for his "heavy" MacBook Air, when he was asked "What's the deal with Vista?" Apparently it seems Kawasaki had it running on the thing.

He says Microsoft does two things well, desktop and enterprise, but they're trying to build new skillsets in the consumer device and online areas. He also says that driver and app compatibility has been an issue with Vista (no shit). Overall, he's been surprisingly candid when I've seen him make a lot of comments previously that are so head-in-the-sand. I think much of that is PR, because he's clearly not stupid.

Someone asked how IE got left behind while .NET has been quickly evolving since its release. Ballmer says they tied it to Vista, and shouldn't have, saying they needed to get things out faster and not tied in.

Another asked what MS will do with many of the PHP apps running in Yahoo, and he said they'd likely continue running. He says they'll do what makes sense, but not run two of everything. He said they want Windows Server to be the best place to run PHP.

Regarding synergies with Yahoo properties, he says that reaching a greater scale for advertising is important to be effective. The body of advertisers they have, as well as Yahoo, doesn't match Google, who can basically serve an ad for almost any search term.

Some douche from the Seattle Times asked a question about the Sonics. Ballmer shot him down.

Given my distaste for the OS wing of Microsoft, I still think there's enough going on with the smart people there that despite all the stumbling, they're figuring it out. Ballmer doesn't come off as an obstacle the way that I thought he might.

Mix08: Web 2.0 sustainability

I just got out of a panel discussion that included the guy from Me.dium, a VC, Scoble, Kevin Rose, and some other guy I don't remember. Interesting discussion, and the general theme was do right by your users, and find the mix of advertising and subscription models to pay the bills.

I asked Scoble and Kevin the same thing I asked the King of Kong guy the other day, regarding the transformation of video delivery and monetization. They both said they're not trying to kill cable or broadcast, but rather serve a specific audience. The moderator was kind of a douche and wouldn't allow the discussion to keep flowing, unfortunately, and God knows Scoble had more to say.

After the session, I got a moment of Kevin's time to congratulate him on his success and tell him that his success is a real inspiration to schmucks like me who have a hard time turning ideas into real and sustainable businesses. He was very gracious about it. For a guy who's basically a rock star, he strikes me as a very down to earth kind of guy.

Posted: Mar 06 2008, 02:43 PM by Jeff | with 1 comment(s) |
Filed under: ,
Mix08: Air and gender
I'm sitting here in Nikhil Kothari's session on ASP.NET AJAX, and he's going through some of the more basic stuff to start. So I'm reading e-mail and kinda scoping out the room. First of all, there's a guy with a MacBook Air sitting in front of me. It's very cool. I couldn't help but notice he was looking at Google Analytics, and that his site has had 14 million visitors and 124 million page views in the last month. Gasp! I guess he can afford that laptop.

Here's something I did not expect. This is the first session I've gone to that was very heavily code/developer-centric. I'm very surprised to see how many women there are here. It's no secret that this profession tends to be a sausage party, either because of gender tendencies or some kind of discrimination (I honestly don't know or care). The only reason I even notice is because gender and racial diversity in work, to me, feels more like real life. It's hard to explain exactly.

OK... Nikhil's getting to the good stuff, gotta pay attention.
Posted: Mar 06 2008, 12:02 PM by Jeff | with no comments |
Filed under: , ,
Mix08: Creepy stalker guy

If you're in the SEO session about to start, and you're trying to take a picture of one of the speakers with your big zoom lens, I'm sitting behind you, watching you. You're being creepy.

Posted: Mar 05 2008, 05:56 PM by Jeff | with 2 comment(s)
Filed under: ,
More Posts Next page »