first_page

The Historical Significance of the ASP.NET ListView and DataPager and Why I am Still Looking for a Job

Ray Ozzie and Scott Guthrie at MIX07 Yes, I am still looking for a job. I know Ed Dunn gave me advice to look for something more but I am sure there are plenty of my sisters out there who have failed to get the message out that they are looking for serious partnerships—and it’s not like I’m hiding from potential partners/investors. What I notice during the lowly job interview and meeting my fellow Americans in general is that they insist they know more about me than I know about myself. So, in many extreme cases, it does not matter what I say or how I say it—these folks have ‘a very strong vision’ of me to which they are committed. What it takes is a tremendous amount of chemistry to break these bonds—and one of the reasons why I majored in physics was to avoid taking chemistry.

I had to take chemistry to major in pharmacology. The plan was to become an expert in drugs in preparation for the religious conversion in the first years of medical school. Once I found out that I disliked 1980s chemistry education (for its crude rote ways), my medical school plans were finally laid to rest. My high-school-era idea of being a doctor was outdated anyway. What my parents did not know what that the fantasy of the country doctor was being systematically assassinated by Big Pharma and “the healthcare industry”—most U.S. doctors are highly paid employees instead of independent partners.

So, what happens during one too many technical interviews is that my lack of knowledge about ASP.NET forms is “exposed”—I say “exposed” because many of these interviews feel like criminal investigations into finding impostors and liars (and it enrages me to be thought of as an impostor and a liar—which is quite self-destructive and I need to get over this). You see, kids, ASP.NET forms make it easy for developers who don’t give a shit about the Web to make Web sites. That’s a primary design goal. The problem with this design goal is that it sacrifices performance, testability and maintainability for this ease of use. These sacrifices hurt business—but these businesses will defend/invest in ASP.NET forms blindly because of its entrenchment. And these business “leaders” will scoff at me with a smirk of condescending disinterest in hearing me talk about ASP.NET MVC.

In dnrTV.com show #149, “Bill Wolff on ASP.NET Technologies,” as far as I’m concerned Bill and Carl are basically talking directly to me when they lament over the fact that ASP.NET “Web Forms” can seduce developers into a false sense of productivity. In fact, Bill Wolf identifies the .NET-3.5-era ListView and DataPager as Microsoft’s apology for almost all of the other data-rendering ASP.NET forms server controls. Over two years ago, Rick Strahl was already (slowly) accepting this apology (which why he is still surely making money in this business and I’m currently not):

I spent a couple of hours today looking over the ListView and DataPager controls in ASP.NET 3.5. Both controls sound interesting and both provide welcome new features to the ASP.NET control arsenal. Although I’m a little wary of having yet another list control (as if we haven’t enough of those already between DataGrid, DataList, Repeater, GridView and now the ListView) the ListView control kind of combines functionality of all of these controls into one. Maybe the most important feature of this control is that like the Repeater control it provides much more control over the rendering process at the cost of more markup code in the page.

The ListView is a sort of hybrid between a DataGrid and Repeater that combines the free form templating of the Repeater with the editing features of the data grid. It looks interesting because it basically allows you much more control over the layout than a DataGrid does while still giving you many of the more advanced features of the data grid. The ListView doesn’t support paging natively, so the DataPager serves as an external control to provide paging features. The advantage of a separate control is that it gives you much more control about what the pager looks like and where it can be placed on the page—anywhere basically. The Pager is essentially an extender control that extends the ListView with paging capabilities.

Campus Construction You see, kids, I was never around to accept this ‘apology.’ I left the building—that particular structure on the Redmond campus. I left before “Web 2.0” blockbusters like flickr.com came out to woo Wall Street… I was long gone before Microsoft even publically wrote or spoke the word “RESTful” in connection with their new .NET offerings. Where was I? I was using ASHX handlers and XSLT waiting for Scott Guthrie to come to power… But the problem—my problem—which is now a financial problem—is that the tough job market that Ed Dunn warned me about does not need to see just how difficult it is to build a system with ASHX handlers and XSLT. What many of them are looking for are warm bodies that worked with perfect contentment with ASP.NET “Web Forms”—they are not looking for “rebellious” mavericks doing shit that’s not a keyword in a resume search. This does not make me angry because it is a fact. I already explained earlier what makes me angry.

I know me quite well. I can’t make me do things just for money—many times this is an inconvenient truth. I need a conceptual impetus to make a move. And this idea of addressing my apparent “lack” of skills in ASP.NET forms by studying patterns featuring the ListView and DataPager is appealing to me. I could “wish” that I picked up on this concept three years ago—but that’s just wishing. Now that I have found a point of entry into this ‘old world’ of ASP.NET “Web Forms” I can have what I call a ‘compromise’ with the employers out there that should help avoid me going homeless and my children less protected.

By the way, I could also “wish” that what I now know about ASP.NET MVC was available to me four months ago—especially when I was in talks with VEVO. I am objectively unable to regret what has happened. For me, regret comes when I remember explicitly rejecting an explicit offer that was meant to help me later. I leave the implicit and the unspoken to the real street hustlers. In my poverty (which is not about the money), kids, I have no regrets.

rasx()