Comment On The Ultimate Address Book

Das recently started at a small software company on the verge of completing the ultimate application: a fully-customizable system. The initial design of the system was to be so generic that they could simply edit some configuration files and go from a client management system to an order entry system. Halfway through, when they realized that they had essentially reinvented Microsoft Access, they decided to change directions and build the application towards the actual client requirements: a contact management system. [expand full text]
« PrevPage 1 | Page 2 | Page 3Next »

Re: The Ultimate Address Book

2006-02-27 14:30 • by adam
Pure Brillance!

Re: The Ultimate Address Book

2006-02-27 14:33 • by BlackTigerX
62048 in reply to 62047
second!

Re: The Ultimate Address Book

2006-02-27 14:35 • by someone
Third!

Re: The Ultimate Address Book

2006-02-27 14:35 • by wintermyute
Awesome, totally awesome.  This reminds me of the example of overengineering at the beginning of Refactoring to Patterns.

Re: The Ultimate Address Book

2006-02-27 14:36 • by R.Flowers

What they should have done was create one column called 'ContactInfo', make it 'Memo' (if this is Access), then put a contact's data in there in one big XML blob. That way, you don't have to go to all that trouble with forms and classes and extra tables - you just put in another node in the XML.


(Yes, it's a joke. But I did resist the temptation to invoke 'Brillant' or talk about how they should have used JavaScript.)

Re: The Ultimate Address Book

2006-02-27 14:36 • by toxik
Erm... Sure a WTF.



Besides the content of this post,

The real WTF is the forum-time. WTF was posted on 2:30 PM? Oh yeah.

Re: The Ultimate Address Book

2006-02-27 14:39 • by Anon
fist

Re: The Ultimate Address Book

2006-02-27 14:41 • by Kaine
Seems like they need a generic procedure and form to go along with their generic values. Seriously, though, I can think of one reason to edit the genders: to add 'pre-op male', 'pre-op female', 'post-op male', and 'post-op female' to the list. Some hospitals need to keep track of that.

Re: The Ultimate Address Book

2006-02-27 14:43 • by Hans Hammer
I hope this was a fixed-price contract.  I hate to speculate how much the local suburban city hall paid for this application.

Re: The Ultimate Address Book

2006-02-27 14:44 • by Ribbly Screwspigot
62057 in reply to 62054

Is this the same team that designed Active Directory?


In NT, I mean. Back before they had standards.


 


See you in the bar,


Ribbly

Re: The Ultimate Address Book

2006-02-27 14:45 • by Colin
It's like creating SQL within SQL where there's a table for every column and a table for every column's value.



I'm curious, though, to see how they map attributes to objects or
whatever they're using.  I bet that's another WTF all on its own.

Re: The Ultimate Address Book

2006-02-27 14:45 • by Arancaytar
Maximal customizability is no substitute for having some kind of idea what the application is actually going to store, I would say.

The customizable gender has something though. Just in case anyone ever comes up with a few new gender classifications...

It's sex, not gender

2006-02-27 14:48 • by Andrew Magerman
It's sex. Not gender. Gender is "a distinction of words roughly answering to sex (gram). So, the gender of "La maison" is feminine. Whether a person is a man or a woman is his or her sex. Not his gender.

Re: The Ultimate Address Book

2006-02-27 14:50 • by Sum Fag
62061 in reply to 62051
R.Flowers:

What they should have done was create one column called 'ContactInfo', make it 'Memo' (if this is Access), then put a contact's data in there in one big XML blob. That way, you don't have to go to all that trouble with forms and classes and extra tables - you just put in another node in the XML.


(Yes, it's a joke. But I did resist the temptation to invoke 'Brillant' or talk about how they should have used JavaScript.)



No, it's not. A joke is something that at least marginally touches the concept of "humour", which your unfunny shit lacks.

Re: The Ultimate Address Book

2006-02-27 14:52 • by Satanicpuppy
62062 in reply to 62059
You know, I hate access. It's a common feeling among DBAs and programmers...The damn thing won't let you do anything you really WANT to do.

However, it's amazing for people who aren't otherwise technically skilled. Everything is drag and drop and very intuitive, you can build (massively inefficient) SQL queries without knowing SQL, you can link tables with a simple drag and drop, and it'll enforce relationships...

I think their biggest screwup was not in trying to reinvent access, but in reinventing access, poorly. This whole "infinitely extensible" trend is getting out of control. I can give you an extensible system in a few minutes...Modern programming language + Modern Database = extensible system. Now all you need is a few doen people to run it and you're good to go.

Re: It's sex, not gender

2006-02-27 14:53 • by zamies
62063 in reply to 62060
well surely this will cut down enormously  the implementation cost :)
Maybe they should have invented a new programming language. A framework perhaps :)

ooh no wait a minute they just did that...


Re: The Ultimate Address Book

2006-02-27 14:54 • by Maurits
This doesn't sound unreasonable.  What gender is a role account?  What gender is Paaaaaaat?

Re: The Ultimate Address Book

2006-02-27 15:03 • by Zulu_man
62066 in reply to 62052
Anonymous:
Erm... Sure a WTF.



Besides the content of this post,

The real WTF is the forum-time. WTF was posted on 2:30 PM? Oh yeah.


You don't live in the Eastern Standard Time Zone?

Pity.

Re: The Ultimate Address Book

2006-02-27 15:06 • by Zulu_man
62067 in reply to 62062
Satanicpuppy:
You know, I hate access. It's a common feeling among DBAs and programmers...The damn thing won't let you do anything you really WANT to do.

However, it's amazing for people who aren't otherwise technically skilled. Everything is drag and drop and very intuitive, you can build (massively inefficient) SQL queries without knowing SQL, you can link tables with a simple drag and drop, and it'll enforce relationships...

I think their biggest screwup was not in trying to reinvent access, but in reinventing access, poorly. This whole "infinitely extensible" trend is getting out of control. I can give you an extensible system in a few minutes...Modern programming language + Modern Database = extensible system. Now all you need is a few doen people to run it and you're good to go.


The ultimate in exstensibility is the Dictionary (pick your favorite).   Every word you're ever going to need is in there.  You just have to drag-n-drop the right ones.  Aye, there's the rub. . .




Re: The Ultimate Address Book

2006-02-27 15:07 • by xcor057

I think they should have used an enum to represent a GenderStatus within a bit mask.  To account for the PAT situation a tri bool is in order.

public enum GenderStatus

{
Male= 1,
Female= 2,
PreOpMale= 4,
PreOpFemale= 8,
PostOpMale= 16,
PostOpFemale= 32,
Reject = 64,
Rejected = 128,
Deleted = 256,
Removed = 512,
UnRejected = 1024
}
public enum GENDERBOOL
{

TRUE,
FALSE,
NOT_TRUE_OR_FALSE
}
 

Re: The Ultimate Address Book

2006-02-27 15:13 • by Fark Beans
x

Re: The Ultimate Address Book

2006-02-27 15:13 • by osp70
62070 in reply to 62068
Anonymous:

I think they should have used an enum to represent a GenderStatus within a bit mask.  To account for the PAT situation a tri bool is in order.

public enum GenderStatus

{
Male= 1,
Female= 2,
PreOpMale= 4,
PreOpFemale= 8,
PostOpMale= 16,
PostOpFemale= 32,
Reject = 64,
Rejected = 128,
Deleted = 256,
Removed = 512,
UnRejected = 1024
}
public enum GENDERBOOL
{

TRUE,
FALSE,
NOT_TRUE_OR_FALSE
}
 


 


Fortunately we beat the crap out of this a couple days ago.  A few hundred more posts on the validity of a system based on this would be entertaining to read again though.


 


 

Re: The Ultimate Address Book

2006-02-27 15:16 • by Matt
Actually, this is the way Remedy works.  They have some pre-defined screens and templates, but all the tables are 't93202' with columns 'c392020'.  What these tables and columns mean is kept in a meta-data repository associated with the application.  Also, if you want to join tables you have to create a view, which has obvious problems.  So Remedy tables tend to have an enormous number of columns.

-Matt

Re: The Ultimate Address Book

2006-02-27 15:20 • by mrsticks1982
62075 in reply to 62069

Anonymous:
Dude, the tribool would have worked fine...    


 


ahh, sweet sweet memories!! *sniff*

Re: The Ultimate Address Book

2006-02-27 15:27 • by Manni

I'm going to blow everyone's minds by givin' you all a little knowledge about why having 2 genders sometimes isn't enough.


I was talking with a friend of mine who works at a U.S. government facility. Apparently they have 3 types of bathrooms you can use: men, women, and gender non-specific. There is such a thriving population of gender reassignments that they had to create a third type of bathroom because the men didn't want a guy with boobs in their bathroom, and the women didn't feel comfortable with the idea either. Scary.

Re: The Ultimate Address Book

2006-02-27 15:27 • by Rusty B

 



all one had to do was ...



  • Create a class for that attribute that allowed for values of the attribute to retrieved, added, deleted, and edited.
  • Create a form to be used to manipulate the class
  • Add the form name and class name to a global constants file
  • Create a values table for the attribute
  • Create a history table for the attribute
  • Add the name and table names to the attributes table
  • Add the name to the the entity-attrribute linking table
  • Add the form name and properties to the and the forms table


I'm just surprised they didn't develop a management interface to accomodate an end user making these changes rather than a programmer ....

Re: The Ultimate Address Book

2006-02-27 15:29 • by Manni
62081 in reply to 62075

Hey Alex is there a way to ban an IP from the forums? Maybe think about blocking retards like Fark Beans? Thanks for playing, dumbass.

Re: The Ultimate Address Book

2006-02-27 15:30 • by StarfishC
The real WTF is that someone points out the forum's flaws in every single post...

"Obviously I am not yelling hard enough, or this would be fixed already."

Re: The Ultimate Address Book & Hacks

2006-02-27 15:34 • by Kaine
62084 in reply to 62070
At least it gets away from a potential dangerous situation with booleans: Would males or females be true? It could lead to discrimination by officially stating in the business's software which gender is "seen" as "superior". Imagine how many people would love to be offended over such a nuance! Anyone else dealt with people who look for the least reason to take offense?






About the hacks:

Someone set us up a bomb, Fark Beans? These not too well thought out "hacks" don't work as well as you may think. All you have to do is disable inline styles for the page (via the Web Developer Toolbar in Firefox). Too bad for you. All your hack fixes are belong to us.

Re: The Ultimate Address Book

2006-02-27 15:45 • by dasmb
Das here.

Alex took a few liberties here (my fault -- I never got around to giving him a code snippet or an engaging narrative).  The actual code wasn't that bad and the database schema and abstraction mechanism were quite nice (copied as they were from Visual Studio Magazine).  The "coders who came before me and left under mysterious circumstances" leveraged visual inheritance quite nicely.  The WTF here is application of abstraction, persistence, inheritance and the various layers of indirection involved in these to track one of the most concrete and immutable aspects of humanity.  Even allowing for "null," "indeterminate" and any jokes about alternative behaviors you want, you're still looking at several thousand lines of code to support a handful (really, 2) of values.

Alex also misstated I left the company over this.  In fact, I stayed on, fixed the program, and made it a whole hell of a lot better.  I left three years later, to work on more exciting stuff.

dasmb

Oh, and for a real WTF: I told my wife -- a Marxist anthropologist, and that's Marxism as a social theory, not an economic one -- about this WTF, and she scoffed "You're talking about sex, not gender.  Gender is a social construct and changes frequently...you really should be tracking that."  I guess those guys deserve credit for helping to model our ever changing society.

Re: The Ultimate Address Book

2006-02-27 15:47 • by gravey

Neat... didn't know the dot net obfuscator could be used on data structures....

Re: The Ultimate Address Book

2006-02-27 15:51 • by HelluvaEngineer
I'd say this system was designed from the start to milk as much money from the local government as possible.



"Oh, you want to add another field?  No problem.  Of course, that's going to be the standard 20 hours at $120 / hr."

Re: The Ultimate Address Book

2006-02-27 16:08 • by dasmb
62093 in reply to 62080
I'm just surprised they didn't develop
a management interface to accomodate an end user making these changes
rather than a programmer ....

Oh, I and my co-workers added a great deal of this to the baseline system I found this WTF in.  But you have to understand -- this was a very small shop that made its money by selling generic software to many agencies, most of whom didn't even have networks before they got our system requirements.  And most of our customers had very little knowledge of basic windowing, which went hand-in-hand with their simple needs (data entry, data display, search capability).  Some of them were folks who were more comfortable with file folders in a pile on their desk than a shiny new Celeron, but who were forced to use our software by some political agent who thought they were dangerously inefficient (with or without cause).  Therefore, there was rarely both literacy AND desire to customize the application beyond what we delivered.

As a result, the app did have a large amount of setup -- hours and hours of work produced by a capable installation, customer support and quality assurance team.  They brought the real value to the generic crap we re-wrote -- the meta-program that did as much, if not more, than the program itself in terms of verifying inputs and maintaining real-world processes and display.

dasmb

Re: The Ultimate Address Book

2006-02-27 16:12 • by reed
Honestly, I see nothing wrong with this idea.   Using a full RDBMS to store the data was probably not the right choice, and they certainly could have made it easier to create new objects (e.g. steps 1 and 2 in the list should already exist in generic form; the rest of the steps are database stuff that should be automated by the software; and if they weren't trying to  stuff their already-general-purpose system into a general-purpose database, then they would be less complex).

But the idea is sound.

Re: The Ultimate Address Book

2006-02-27 16:14 • by Randolpho

Ahh, the perfect example of what happens when you try to over-abastract a system.


In the words of the imortal Scotty: "The more they try to over-think the plumbing, the easier it is to stop up the drain."

Re: The Ultimate Address Book

2006-02-27 16:18 • by ferrengi
62098 in reply to 62054
Anonymous:
Seems like they need a generic procedure and form to go along with their generic values. Seriously, though, I can think of one reason to edit the genders: to add 'pre-op male', 'pre-op female', 'post-op male', and 'post-op female' to the list. Some hospitals need to keep track of that.


I work with hospitals too. They typically have as table like this:

M - Male
F - Female
U- Unknown

Re: The Ultimate Address Book

2006-02-27 16:19 • by reed
62099 in reply to 62094
(Or, if the full RDBMS was related, then they could have named things more reasonably and simplified it a bit; another idea would be for the interface to be built based on discovery (introspection) done on the database itself, and used another interface to set up the database for that other program to use.... lots of ways to improve things, but not a pure WTF.)

Re: The Ultimate Address Book

2006-02-27 16:20 • by boxmonkey
62100 in reply to 62098
I agree with Das's wife. Gender and sex are not the same thing.  

Re: The Ultimate Address Book

2006-02-27 16:20 • by rbriem
62101 in reply to 62087

dasmb:


<snip>
dasmb

Oh, and for a real WTF: I told my wife -- a Marxist anthropologist, and that's Marxism as a social theory, not an economic one -- about this WTF, and she scoffed "You're talking about sex, not gender.  Gender is a social construct and changes frequently...you really should be tracking that."  I guess those guys deserve credit for helping to model our ever changing society.


Those Marxists! They're loads of fun at parties ...


:)

Re: It's sex, not gender

2006-02-27 16:20 • by cadi
62102 in reply to 62060

your are not quite right sir.
(though you would have been one hundred years ago...)


Anonymous:
It's sex. Not gender. Gender is "a distinction of words roughly answering to sex (gram). So, the gender of "La maison" is feminine. Whether a person is a man or a woman is his or her sex. Not his gender.


c.1300, from O.Fr. gendre, from stem of L. genus (gen. generis) "kind, sort, gender," also "sex" (see genus); used to translate from Gk. Aristotle's grammatical term genos. As sex took on erotic qualities in 20c., gender came to be used for "sex of a human being," often in feminist writing with reference to social attributes as much as biological qualities; this sense first attested 1963. Gender-bender is first attested 1980, with reference to pop star David Bowie.


 


http://www.etymonline.com/index.php?search=gender&searchmode=none

Re: The Ultimate Address Book

2006-02-27 16:21 • by mpswaim
62103 in reply to 62087

Anonymous:
Das here.
Oh, and for a real WTF: I told my wife -- a Marxist anthropologist, and that's Marxism as a social theory, not an economic one -- about this WTF, and she scoffed "You're talking about sex, not gender.  Gender is a social construct and changes frequently...you really should be tracking that."  I guess those guys deserve credit for helping to model our ever changing society.


  Sex changes, too. I work in a hospital, and capturing patient data is fun, fun, fun. There's genetic sex, which is different than physiological sex (and can include hermathrodites), and physiological sex can change. What's really fun is date processing. Besides having to handle partial dates, we also handle values such as N/A, Unknown, and Ongoing.

Re: The Ultimate Address Book

2006-02-27 16:24 • by eddieboston
Alex Papadimoulis:

Form:




Database tables:

















ATTRIBS
ID NAME TABLE HIST_TABLE
221 Gender ATTRIB_0221 ATTRIB_0221_HIST

















ATTRIB_02
ID VALUE ACTIVE
1 Male
2 Female 1




















TTRIB_0221_HIST
ID 0221_ID WHAT WHEN
1 1 Created 2004-03-01 18:22.33
2 2 Created 2004-03-01 18:22.33



Shouldn't the creation date of "Female" be a day later than "Male?"  After all, she came from his rib, right?

Re: The Ultimate Address Book

2006-02-27 16:29 • by seebs
I don't see anything odd about wanting to be able to add new gender values.  Not everyone is unambiguously male or female, people sometimes apparently change, and there are circumstances under which you might face lawsuits if you oversimplify.  Might be better to just drop the datum alltogether; unless you're boffing someone, it's generally none of your business.

Re: The Ultimate Address Book

2006-02-27 16:30 • by dasmb
62107 in reply to 62090
This company made their name by NOT being one of these sorts of contractors.  In fact, it's really difficult to be that kind of contractor in this space.  Government gets broker as it gets smaller, and we hit the smallest segments.  Villages with 4 digit populations -- some of these agencies had so little money they operated out of a guy's house or had mostly part-time employees.  It's a space in which many, many companies fail, precisely because their software costs too much to customize.  Remember, the budgets for these projects come from the most transparent part of government funding -- property and school taxes -- and thus are under great scrutiny.  Our software would get voted on at town meetings by people who lived in the town and could see the dollar signs, not approved in some rider on some multi-million dollar appropriations bill.

With our stuff, simple customizations, stuff that fell within program setup were free as part of the service contract.  It was really full-service stuff, and had to be...the up-front cost was usually slashed, with the real money coming from towns that re-upped on their support every year..  It was working pretty well when I left...they had a banner year.

dasmb

Re: The Ultimate Address Book

2006-02-27 16:39 • by Thomas Ammitzb&#248;ll-Bach
62108 in reply to 62069
Anonymous:
x


True, true



Yours xincerely

Thomas

Re: It's sex, not gender

2006-02-27 16:46 • by ParkinT
62109 in reply to 62060

Anonymous:
It's sex. Not gender. Gender is "a distinction of words roughly answering to sex (gram). So, the gender of "La maison" is feminine. Whether a person is a man or a woman is his or her sex. Not his gender.


SEX is a verb,


GENDER is a noun


 


I disagree with you.


In addition, my RACE is the same as everyone else: HUMAN

Re: The Ultimate Address Book

2006-02-27 16:51 • by R.Flowers
First time I have noticed... one of the posts is 'Locked' - the 'Reply' and 'Quote' buttons are missing. I've heard of locking a thread, but not an individual post.

Re: The Ultimate Address Book

2006-02-27 16:53 • by Monkey Trouble
62111 in reply to 62107
public enum GenderStatus
{
Male= 1,
Female= 2,
PreOpMale= 4,
PreOpFemale= 8,
PostOpMale= 16,
PostOpFemale= 32,
Reject = 64,
Rejected = 128,
Deleted = 256,
Removed = 512,
UnRejected = 1024
}

Tee hee hee... never has an "obligitory previousWTF" post been so perfect...

I get PostOpFemale (32) is the same as Deleted (256)... unless Deleted wasn't an operation, but
rather, an accident.
Removed (512) would be... uhm... a tragic misunderstanding over some lipstick stains...

UnRejected (1024)... I guess that's if it was Rejected (128), but it grew back?

Oh how I snorted coffee over this one!.... nice.

Oh, and yeah, the Captcha works like 1 time in 3 on Firefox. ugh...

Re: It's sex, not gender

2006-02-27 17:08 • by Sam
62112 in reply to 62109
ParkinT:

SEX is a verb,


GENDER is a noun


In addition, my RACE is the same as everyone else: HUMAN



 


Huh??  Please conjugate the alleged verb "sex"?


And human (aka homo sapiens) is a species.  Personally, I'm part of the great rat race.;)

Re: The Ultimate Address Book

2006-02-27 17:24 • by kipthegreat
62115 in reply to 62100
Anonymous:
I agree with Das's wife. Gender and sex are not the same thing.  


^^^^^^
Hippie bullshit
« PrevPage 1 | Page 2 | Page 3Next »

Add Comment