so Ive just sat down for two hours and redesigned the interface of my project. its now clean, tight and simple.
unfortunately it means I need a rather different backend as well. oops.
why do I only ever understand the problem domain well enough to design a good interface once Ive already designed and implemented a bad one?
> unfortunately it means I need a rather different backend as well.
Don't worry, cosmetic surgeons can do wonders these days.
March 21st, 2007 7:11am
Nothing wrong with the wagon you're dragging, zz. I'd like to do you doggy-style sometime. Don't worry, I'll be sure to give you a hand-jobby while I slide you my salami.
Snoop Doggy Doggy-Style
March 21st, 2007 7:36am
Congratulations, zz, you've just given us a perfect illustration of how complicated doing software is.
You design a front end that should work, implement a back end to work with it, then redesign a new front end (using insights gained the first time) which works much better.
But now you have to re-do the back end to match it. This is a CLASSIC problem.
I'd like to say, "With enough experience, you design a good front end in the first place." -- except I don't believe that. Or, "enough experience" assumes the technology doesn't "move" on us every few years.
March 21st, 2007 9:27am
You can read about all of this in my new book "Who Moved My Cheese and Where is My Gun"
March 21st, 2007 9:29am
"I feel the warp overtaking me... it is a good pain!"
March 21st, 2007 10:19am
>> But now you have to re-do the back end to match it. This is a CLASSIC problem. <<
I'm reading "Dreaming in Code" at home, and the author just went over this -- how reusable objects/components are a pipe dream because they never give you the part that is what will make your app unique in the marketplace.
March 21st, 2007 10:47am
"why do I only ever understand the problem domain well enough to design a good interface once Ive already designed and implemented a bad one?"
This is just called "the normal design process".
March 21st, 2007 10:57am
"Who Moved My Cheese and Where is My Gun"
This is why I think getting into stuff like LINQ is a good idea.
March 21st, 2007 11:22am
Personally I can't code and design user interfaces at the same time. It takes two different mindsets/parts of the brain. At least different days are required. Sometimes it's weekday vs weekend.
sour grape snowflake
March 21st, 2007 12:33pm
I agree, different days are necessary.
Thats the problem really, when working on my own stuff, I set up an initial interface, hack at the back end for months*, I start to sense the deficiences in the interface but put off working on them until I have a firm grasp on a vaguely decent alternative, then once the backend to the crap interface is finished I decide to do a redesign of the interface on the theory that the backend is pretty flexible and...bang. there it goes.
all that time I might as well have spent being a good daddy, partner, person or sleeper.
hey! anyone want to purchase a half finished shareware product?
and Im sick of the damn thing, Ive got a _much_ better idea for the next product...I would be working on it now if only I hadn't promised myself that I would start actually finishing things regardless of how interesting the next project seems at the time...
* of actual time, real programming time is limited to those few hours a week I can claw from my life to work on my own stuff.
March 21st, 2007 10:24pm
"I would be working on it now if only I hadn't promised myself that I would start actually finishing things regardless of how interesting the next project seems at the time"
I've got that too. I wonder if there's a pill...
March 22nd, 2007 11:02am