The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Search by ID vs Name?

Hello,

Our system is enrollment (for school). Back then, when the application was new, searching by last name was easy and effective. But now, when searching for last name, the result displays alot of duplicates, and therefore make it harder to find.

What I'm suggesting is to use their ID instead of name. Probably a barcode would be better but currently we can't afford it. So entering the ID would rather be a pain for the users for a while.

On the payment side, maybe the cashier would require the student's white-form (where their name + ID + fees are printed) to be presented first, for searching and processing on the computer. In this way, the possibility that e.g. student name *Peter* paid and the amound was given to student name *Peters* (similar name) will be prevented.

And, is it better to have each student's picture stored on the database for easy validation?

Any suggestions is appreciated.

Thanks.
iDevelop
Monday, January 16, 2006
 
 
Read the magnetic strip on their student ID maybe.
Bill
Monday, January 16, 2006
 
 
You should be able to search on any field or set of fields.

Is this a student id #? Are they unique? Do extension students have them as well? Can non-students buy things in your store?

If you store photos, make sure you comply with all laws regarding data security. How will you handle African or Aboriginal students who object to the use of such images? Will you ban them from attending your school?

This is for enrollment, what is the issue where a person's sister comes and signs him up because he is at work? Does it really matter if that happens and you have to stop it?
Art Wilkins
Monday, January 16, 2006
 
 
Thanks for the reply.

<< Is this a student id #? Are they unique? >>

Yes. Student id is unique.

<< Do extension students have them as well? >>

I don't know what you mean by extension students?

<< Can non-students buy things in your store? >>

No. Only students should pay their balances. btw, this is not a web-based application its an internal client/server application.
iDevelop
Monday, January 16, 2006
 
 
When you say duplicates, do you mean many students with the same last name, or does the same student show up several times and you have to guess which record is correct?  I assume you mean that there are many students with the same last name, otherwise, it might just be a query problem.

When I wrote an alumni database for the law school at my old college over 6 or 7 years ago now, lookups were usually performed by first and last name for the same reasons, but you could also enter in the year they graduated to narrow it down further.

I agree with the previous comments, you should have a number of fields available for putting in your search criteria.  They can leave any of them blank, but have the option to fill in any data they can so to narrow the search.
Ben Mc Send private email
Monday, January 16, 2006
 
 
I assume by duplicates, you simply mean a lot of people with the same or similar names. You need to support multiple ways of finding the correct record. Tell them to bring their white papers with the ID on it. This can be typed in. May be next year you can print a bar code on it to be scanned (a magnetic strip someone suggested above is not necessary, just a non-magnetic visual barcode on regular paper). But if they don't have their white sheet you have to use their name and address, or any supporting information. Telephone number is also handy if you have it in your system. When the potential match is found, all the identifying (and less-invasive, such as address) information should be displayed so that the match can be verified as the funds are taken.

You can have one search key field which will search both names and numbers, which makes it a lot easier for the person at the computer. In other words, don't force them to enter the search item in a separate entry field based on what type of item it is. That's the little bit of extra work the computer can do to make it significantly easier for the user.
Ben Bryant
Monday, January 16, 2006
 
 
Uggh... sorry. But this is just another case of a clueless programmer who has been put in charge of developing a system for a group of clueless people.

<rant>
My daughter's school just put in a new lunch purchasing system. Each kid now has to remember a 6 digit numeric code so that they can purchase their lunch. They even need to use this code to purchase milk! Did I mention that these are elementary school kids?!?! Adults can't remember a six digit code let alone children under the age of 10. The lines are huge now because these kids are trying to remember and properly key their code into a keypad at lunchtime. Half of the kids aren't even getting through the line in time to eat! And the worst part is that the idiots who designed the system didn't give each student ID a check digit. This means that if a kid keys in even a single wrong digit, their lunch gets charged to someone else! What kinds of idiots made this system?

One of my biggest beefs is that the teachers/school should have known better. They work with kids all year long. They known damn well that a kid in first grade can't remember and key in a six digit number by themselves. Yet they let this system go through. Morons...
</rant>

I have no advice for you. And I'm sorry if I sound bitter. But just remember that someone's tax dollars are paying for your stupidity. So try not to botch this project up any more than you probably already have.
anon
Monday, January 16, 2006
 
 
Sounds to me like kid #123456 is going to end up with a mighty long bill...
Larry Lard Send private email
Monday, January 16, 2006
 
 
Anon, would you be willing to call out the school district by name?

Los Angeles Unified School District used to display this kind of mentality (and still do to some extent) but I've heard that new management is trying to restore some sanity to their systems.

Apologies for hijacking the thread, but I've been approached to write software for administrating schools such as enrollment systems and milk purchasing systems and I always turned them down because I didn't think that I wanted to work with such clients.
Anonymous Coward
Monday, January 16, 2006
 
 
It is a school district in Ohio. That's all I'll say. It's just another case of software gone horribly wrong. No wonder the software industry gets such a bad rap. They bring it on themselves.
anon
Monday, January 16, 2006
 
 
Sounds like a great use for RFID. Imagine the student passing their RFID badge close to the reader to pay for lunch, sign-in at the office, and check out library books. You could also track students throughout the school by placing sensors on every door.

Where is little Johnny Smith? Why... he's in the third floor boy's bathroom...
Turtle Rustler
Monday, January 16, 2006
 
 
Well the only way to make something like this work is have some form of an ID carried by or on the student.....Tatoo a bar code that can then be read? 

In this case no matter what answer you come up with it will not make everyone happy.  Best bet, is the bar code on the paper with a bar code reader (like Joel used in his shipping process), have the bar code number under that so when the reader is broken or no working it can be keyed in manually.  Give student ID's for all student to carry so they can be looked up when they forget their paper (also with bar code)

And when all else fails, back to the last name, first name search, but make that a simple one that accepts pretty much anything, like smith, j or smith john or john smith and lists exact, then close matchs.

Good luck.
Glad I'm not in your shoes
Monday, January 16, 2006
 
 
anon - simply put...they got SOLD. (period)

It's not a good idea to have a 6 year old remember a 6 digit code, and they probably knew that going in, but someone made the goods out-weight the bads and they bought the darn thing.
Ben Mc Send private email
Monday, January 16, 2006
 
 
That number thing for kids is stupid. Meal cards are in extensive use in many places, and they work very well... Yes, with kids there is always a possibility to lose them (just like they could forget hte number), but the registers let the cashiers lookup the clients too (well, where I ate they could) or something like that...

As for that original problem, well, barcode or a magnetic strip would probably be best (more efficient, quicker, less error prone, etc) and pay for itself even if the readers aren't cheap.

Monday, January 16, 2006
 
 
In my experience at University the common approach is a keypad on all the counters. You wait in line, you step to the counter, you key in your SSN, and then your record pops up on their screen. Works well.
Shane Harter Send private email
Monday, January 16, 2006
 
 
Thanks.
I choose the single entry field and let the computer decides or build the query.
e.g if the user enters a number. - query for student id
    if the user enters with comma - query for lastname + firstname combination.
 etc..
iDevelop
Monday, January 16, 2006
 
 
anon,

You are too judgemental. You ask question in this forum to get information. I can put fictitious scenarios to elaborate well. As I sighted an example: worst scenario when, account "Peter" paid, and was given to account "Peters". Whould it really happen in the real world? Yes. When all the confirmations were neglected. But it can be easily traced on their printed receipt.
iDevelop
Tuesday, January 17, 2006
 
 
The simple approach for multiple matches to simply offer a 2nd prompt.

For rare names…you type in the first few charters…and then hit enter….

You see the “list” of possible matches…at this point you either hit down arrow to select the match..or type in a few first char names…

I have a few screen shots here…

http://www.members.shaw.ca/AlbertKallal/Search/index.html

The above is in ms-access, but I used the above approach in at least a dozen different development systems and it wins every time. So, use the above as your spec on how to do this.

To find a Joan smith in 50,000 records (with 100’s of smiths)…I count less then 10 keystrokes (including the arrow keys and enter key to pick from the list…..

I have the above in use on systems with record counts in the millions of records, and when a bar code, or OCR ID is not available, then the above is used….


Albert D. Kallal
Edmonton, Alberta Canada
Kallal@ msn.com
http://www.members.shaw.ca/AlbertKallal
Albert D. Kallal Send private email
Tuesday, January 17, 2006
 
 
Really interesting article Albert D. Kallal, thanks :)
Monkeyget Send private email
Tuesday, January 17, 2006
 
 
iDevelop I apologize for being so harsh. I know nothing about your application or you in particular. When I read this thread it just made me furious because it reminds me of my own child's system. Yours is probably nothing at all like the one I'm talking about.

I sincerely apologize for hijacking your thread and being so nasty. It was completely uncalled for.
anon
Tuesday, January 17, 2006
 
 
"I choose the single entry field and let the computer decides or build the query.
e.g if the user enters a number. - query for student id
    if the user enters with comma - query for lastname + firstname combination."

Really? Wow, that's exactly what I did for some software I wrote for a local university in the late 90's.

There is one input field. If they enter a number, I treat it like their student ID. If it's letters, I look for a comma and search by last+first if found, last only if no comma. The search uses an SQL LIKE clause so they see several matches.

Their old system just allowed searching by student ID and displayed the entire student table. It was hammering the network.
MBJ Send private email
Tuesday, January 17, 2006
 
 
So how do your train people to know that they can enter search criteria that way? It doesn't sound intuitive to me. I like the idea because it proves that we are indeed allowed to be clever in software development. As long as our users don't have to read a 1000 page guide to figure out how to use our software.  ;)
Turtle Rustler
Tuesday, January 17, 2006
 
 
You have a prompt that says:

"Enter Student ID, Lastname, or Lastname,Firstname"

And you make a point to mention it during training.

The nurses and front desk people loved it, as sometimes the students forget their ID card and the last thing the user wants to do is have to move the cursor to the next field. Especially 100 times a day.
MBJ Send private email
Wednesday, January 18, 2006
 
 
I think that it is a clever idea. I would also say that this is the kind of thing that you are allowed to make slightly "non-standard". The more someone uses a specific feature, the more they are willing to invest in learning the intricate details of how it works. It sounds like this is the key entry point to the application for the user. Everything else probably hinges off of this query. It doesn't sound like it would be too hard to understand and could be a real time saver.

See... there is hope for the software industry after all. I like it!
Turtle Rustler
Wednesday, January 18, 2006
 
 
It's no different from what Google does when you enter an address. The first entry you see in the search results is a link to a map. They must be looking for names of states, zip codes, etc.
MBJ Send private email
Wednesday, January 18, 2006
 
 
anon, I sincerely appreciate your apology. Sorry for being bit over reacting.
iDevelop
Wednesday, January 18, 2006
 
 
Shane: for God's sake never use an SSN as a "unique ID" in anything _you_ write.  Unique IDs have two requirements: they have to be unique, and everyone who might conceivably use the system has to have one.  SSNs fail on both counts.
Iago
Friday, January 20, 2006
 
 
>> Shane: for God's sake never use an SSN as a "unique ID" in anything _you_ write.  Unique IDs have two requirements: they have to be unique, and everyone who might conceivably use the system has to have one.  SSNs fail on both counts. <<

And they have to be immutable, which SSN's aren't.
David Aldridge Send private email
Friday, January 20, 2006
 
 
SSNs aren't unique?
BenjiSmith Send private email
Friday, January 20, 2006
 
 
Lots of NULLS as soon as you get away from USA.
John Joske
Monday, January 23, 2006
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz