I've received some good feedback from my article, "Is Inheritance Overrated?" The real issue, it seems, isn't inheritance, but rather strong typing. One of the requirements of this project is that it be more or less self-maintaining: new content types will be added fairly often; my bosses don't want me to have to go spelunking in the code every time that happens. An advantage of my generic framework is that the app's users can maintain the system simply by creating templates and editing data; few (if any) changes to the underlying code will be required. David Bayley thinks the generic framework will be more difficult to maintain than a strongly-typed object model. What do you think?
I had looked forward to using implementation inheritance for the first time in my current project. Is it just me, or is inheritance more trouble than it's worth? [Read more]
27 Nov 02 5:49 PM · Tags: Programming
You may have heard this story, about a man who allegedly burned his, uh, lap's top while using his laptop. But I think this version, which was automatically translated by Google from the German-language CNN site, is far more amusing. Source: Larry O'Brien's Weblog
Apropos of nothing... Have you seen the Apple "Switch" ad featuring Ellen Feiss? Apparently she's attracted considerable attention because she appears rather... mellow in the ad. Now, at last, after turning down offers from Letterman and Leno, Ms. Feiss has granted her first interview. Too funny.
Update: My referer logs have alerted me to the fact that, as a result of this item, my site now appears in the Top 10 results of a Google search for "Ms. Feiss." Now I face a dilemma: Do I honor my stated purpose for this site, to discuss primarily ASP.NET development issues? Or do I generate traffic by shamelessly pandering to the techno-zeitgeist? ;-)
Speaking of user experience (see below), what do you think of this article on Microsoft's "inductive" user interface guidelines? Essentially, it argues that a good UI helps the user answer two fundamental questions when looking at a screen: "What am I supposed to do now?" and, "Where do I go from here to accomplish my next task?" The UI helps answer these questions by focusing each screen on a single task, and by providing clear links in consistent locations to secondary tasks.
I've tried to apply these guidelines in the design of my current project (a browser-based content management system), but I wonder if the principles apply primarily to infrequently-used apps? Will frequent/experienced users become annoyed at the "one screen per task" hand-holding approach of the inductive user interface? Joel Spolsky makes an interesting point about the difference between learnability and usability. I'm having a difficult time finding the right balance between the two.
Amazon.com rocks! OK, I'll admit that it's a little weird that a single site sells books, CDs, electronics, power tools and clothing. But, its product catalog notwithstanding, if I were creating an e-commerce site, I would imitate as much about Amazon.com as I thought I could get away with. I love its personalization features, and it simply makes online shopping a breeze. GoodExperience.com features an interview with Maryam Mohit, Amazon.com's V.P. of Site Development, with responsibility for the online customer experience. Want your e-commerce site to rock? Check it out.
In my ASP.NET content management system, I wanted to use a tab control to allow an author to edit individual pages of an article. I quickly discovered, however, that changes to the text box weren't being saved when I switched to a different tab... [Read more]
20 Nov 02 11:23 AM · Tags: Programming
OK, here's a nugget that could have saved me several hours: XML is case-sensitive!
I'm working on a content management system which saves content objects as XML in a SQL Server database. A typical content object might look something like this:
So, I wrote some code (in VB.NET, which is not case-sensitive) to extract individual content elements, and it wouldn't work -- kept returning empty strings! I spent hours poring over the code, tweaking the XML, banging my head against my desk... Turns out I was looking for an Item whose Name attribute was equal to title instead of Title. GRRRR!
Go ahead and laugh, but if you ever make a similar mistake, you'll thank me!
Welcome to philweber.net! I currently work as a software developer for FTPOnline. For most of the past year, I've been developing applications in ASP.NET; I decided to start this weblog to share my ever-growing collection of tips, techniques and stupid mistakes. I've learned this stuff the hard way; hopefully you won't have to!
MiscTalk to Me