This milestone was challenging in the fact that Squeak was still a new language and unfamiliar. This milestone was probably the most helpful in learning the basics of Squeak and how to do things in terms of OOP by passing messages and such. A big part of this was deciding whose design was best from the first milestone. We had to base this on whose was best organized to implement the functionality contained in the upcoming milestones.
Starting early on this milestone was a good idea, and in the end saved us from having to stay overnight to finish the project. Additionally, starting early allowed us to accommodate for the learning curve associated with the programming in the Squeak environment. Also, our original design made traversing someoneís family tree quite difficult, so a meeting to think of alternative designs proved very helpful in that we came up with a design that made traversing the family tree very easy. We took the advice from the milestone webpage that a family is considered a person, their spouse, and their children. Implementing this with a Family object, which every Person has as an attribute made completing this milestone much easier as well as helping us out in milestones to follow. Also, we implemented a global search of the query string to search all possible facets of a Personís information, as well as embedded in other strings, i.e. if the search string was ĎAlí, information containing ĎAlabamaí would be counted as a match. Additionally, the use of a code, much like a social security number, for each Person, where each Person had a unique number was a good idea as it proved useful in upcoming milestones.
We were not completely thorough in checking all of a Personís relatives when searching a Personís relatives in the Query methods. However, after turnin, this problem was fixed to include any and ALL relatives of a Person when searching with the Query methods.