Software design, beta testing, and the like
Software design, beta testing, and the like
- Subject: Software design, beta testing, and the like
- From: Michelle Steiner <email@hidden>
- Date: Wed, 16 Jan 2002 12:10:12 -0700
There were some comments about last-minute changes causing problems with
Applescript. Sometimes last-minute changes are unavoidable. Here's a
history of something that happened with the Emailer development that can
show why last-minute changes might be warranted.
The original design for Emailer 2.0 called for address book contacts and
address groups to be completely separate from each other; they would
appear in the same listing within the address book window, but none of
the members of any groups would be related in any way to any of the
individual contacts.
This meant that group members had to be manually added to a group (unless
there was a mail action to do so), and if you added someone to a group,
that person would not be in the address book. It also meant that if you
removed someone from the address book, and that person were in a group,
you would have to manually remove that person from the group--and if that
contact were in more than one group, you would have to manually remove it
from each group separately. Ditto if a contact changed email address;
you would have to edit each group individually.
There were valid reasons for this design decision, but one of the major
criticisms of Emailer 2.0 was that there weren't any links between
contacts and group members.
So, in Emailer 2.0v3, we added the links (along with completely rewriting
the address book). When this got to our beta testers, we started getting
lots of complaints. It seems that people had hundreds, if not thousands,
of entries in a group (usually a listing of known spam addresses that a
mail action would check). These addresses suddenly showed up in the
address book as contacts, even though the user didn't want them in the
address book. (This was one of the reasons for the original design
decision, BTW.)
So, although it was late in the beta phase, and feature additions and
changes were supposedly frozen when we went into alpha, we had to address
this problem. The solution was to add a boolean to each address-book
entry; depending on the value of the boolean, the address was hidden or
not in the address book. Of course, there had to be a way to access them
at times, so we added a check box to the address book to show or not show
invisible contacts. If the check box were checked, the invisible
contacts would be rendered visible despite the boolean. However, they
were displayed in italics so they could be distinguished. We also
changed the smart-completion feature of the address field of an outgoing
message to ignore invisible contacts.
Naturally, these changes caused bugs; fortunately, we weren't at the very
last minute, so we still had enough time to identify and address them.
Last-minute changes are sometimes unavoidable.
--Michelle
----------------------------------------------------------------------
| Michelle Steiner | We're not human beings having a spiritual |
| | experience. We're spiritual beings |
| email@hidden | having a human experience. |
----------------------------------------------------------------------