iSort: A Card Sorting Application For Mac Developers
Michael Ball
December 2002
Advisor: Susan Reiser
Project Description
Card sorting exercises provide insight into how individuals mentally
categorize data. The information derived from performing and
analyzing many card sorts within a potential user base can be used
to make websites or applications much more intuitive. Traditionally,
this task involves creating multiple decks of index cards
representing granular pieces of data for the users to sort into
categories of similar items. Then, an analyst would perform the task
of analyzing the sorts with pencil and paper. To ease this task, a
few applications were developed to automate the process. Each is
actually a pair of applications, one for card sorting and one for
analysis. Both pairs require the Microsoft Windows platform.
Considering the number of web developers using the Apple's Mac
platform, I was suprised to find that no similar application existed
for Apple's Mac OS X. For my senior project, I designed and
implemented iSort, a single, native Mac application that provides
comparable result to its Windows-based counterparts.
Hardware and Software Used:
Apple iBook: Served as the development and initial test
hardware used in implementing my application.
Mac OS X Version 10.2 Jaguar: The latest
operating system available from Apple. Using Mac OS X provided me
with the opportunity to expand my development experience to a new
platform.
Objective-C and Cocoa APIs: The standard
programming language and Application Program Interfaces (APIs) for
developing software on Mac OS X.
Project Builder and Interface Builder: The de
facto standard Integrated Development Environment (IDE) for
programming native applications on Mac OS X. This environment stems
from the advanced tools for NextStep development.
Implementation:
After performing initial research and basic object oriented design (OOD),
I focused on working through a number of tutorials to familiarize
myself with a completely new programming environment. From that
point the development process went extremely well, except for
problems due to sparse documentation when the books on the subject
did not cover a needed topic. I also found that keeping a current
object diagram was vital in being able to visualize a growing amount
of code.
Conclusion:
I feel satisfied that I have implemented an application in a
relatively short period of time that required a language, API's,
IDE, and development platform that I had no prior training with. I
also plan to continue the development of iSort, in hopes of bring a
needed tool to the Mac development community. |