www.codinghillbilly.com   kyle.baley.org  Subscribe / Contact
 
 
 
 
LATEST POSTS
Tuesday, November 20, 2007

Jeff Atwood wrote on the spoilage of software and laments on how software seems to be doomed by the fact that people will pay for features but not bug fixes.

This is something I've thought long and hard about for the better part of a half hour over the last year or so. And every time I start up Paint.NET, I wonder, "how long, dear friend, how long?"

Here's what I would like to see more of, if you'll forgive a humble hillbilly ending statements on a preposition: Software where features are plug-ins, not reasons to upgrade. The basic application is nothing more than a shell. You want your word processor to be able to italicize text? Download the "Slanty Text" plug-in. You need to add shadow effects to your images, grab the Shadowizer plug-in. And so on and so forth.

One of the nice parts about this, assuming it can be pulled off, is that the core application needn't change often. Only when something fundamental needs fixing or adding. Or when you want to allow a whole new class of plug-ins.

This isn't to say you leave the app wide-open for third-party developers to mix and match any way they want. Yes, you allow for those types of plug-ins but for the "core" plug-ins, those are all you. You build them, you distribute them, you decide where they go in the application. Third-party plug-ins can be handled the same way these applications handle them now.

Another bonus could be in the economics. The core shell costs relatively little and each plug-in costs a couple o' bucks. And of course, you could create bundles for common plug-ins at some reduced price. This would allow people that "just want something that works" to go with a default configuration that costs something reasonable in total.

This mere theory and conjecture, mind you, despite the deep thought that went into it. It probably would work only for a certain class of operations, despite my previous example that implied Word could pull it off. And I'm sure there are a few logistical problems I haven't considered or thought through. For example, it's hard to take advantage of new UI paradigms when you are saddled with a shell you wrote five years ago (unless that is pluggable as well, I suppose).

Still, when I can type an entire blog post while waiting for an application to load up, one has to wonder...

Kyle the Patient

Thursday, November 29, 2007 12:08:56 AM (Eastern Standard Time, UTC-05:00)
Main problem with this is configuration- ever try to keep more than one machine with firefox configured the same way? How about Eclipse?
Thursday, November 29, 2007 2:04:43 AM (Eastern Standard Time, UTC-05:00)
Oh I dunno. I've got my little set of configurations whenever I install a fresh install of Word: Change the default font, turn off spelling/grammar checking, etc, etc. Not to mention the process it takes just to install the components you want in it as it is.

But it's a point well-taken and one that should be considered for longer than I did when I typed this up.
Kyle
Comments are closed.

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Copyright © 2010 Kyle Baley. All rights reserved.
 
CATEGORIES
.NET General (18) alt.net (4) altnetconf (9) ASP.NET AJAX (40) ASP.NET MVC (29) Bahamas (1) Bahanet (9) BDD (1) Brownfield (21) Career (10) Castle (1) Code coverage (1) Code review (2) Coding Style (6) Communication (1) Community (18) Conscientious Coding (35) Continuous Integration (11) dasBlog (12) Development (16) DevTeach (4) Domain (2) Environment (4) Estimating (1) Featured (14) Flamingo (10) Games (1) Google App Engine (3) GWT (9) Hardware (6) Java (2) Javascript (7) Linq (2) Livelink (6) Lucene.NET (2) MbUnit (1) Metrics (2) Miscellaneous (25) Mocking (4) NAnt (4) NHibernate (12) NInject (1) Office (3) Office Development (6) Open Rasta (1) Patterns (6) Presenting (14) Professional Development (15) Refactoring (10) ReSharper (11) REST (3) S#arp Architecture (5) Security (3) Software (11) Sundry (19) TDD (19) Tools (22) User Interface (6) Utilities (9) Visual Studio (8) VSTO (1) Web development (12) Windows (3) Working Remotely (17) Workplace (3) Writing (6)
 
LATEST POSTS
 
POPULAR POSTS
 
 
ARCHIVE