to known base classes to log information on a low
level. If additional information about the application
design exists, customized aspects can be developed.
OBJC has several tools for analyzing binary
applications at runtime. F-Script is a well-known
tool revealing enough information about almost any
application to allow easy integration of AOP into
existing applications.
5 CONCLUSIONS
As in the definition of AOP, the term cross cutting
concern can be perfectly applied to usability
engineering interests. The concept of AOP therefore
is perfectly suitable for adding data collection
facilities to existing applications for usability testing.
AOP is also easily portable to other programming
languages and the application within this paper just a
sample for how easy it is to reduce the effort for
usability testing. A best case scenario reduces code
to a single implementation of a shared concern
across all relevant classes without increasing code
complexity. Still the evaluation of the gathered data
is a challenging task. Automatic processing of
collected data is essential as large volumes can
easily be gathered. Several usage patterns like
repetitive operations on a single element were
identified hinting at usability issues. Also the
detection of heavily used features can be used to
further increase the user satisfaction by optimizing
these workflows and every change can be evaluated
afterwards for its effectiveness. A downside of the
easy application of AOP is related to privacy
concerns. Collected data should always be
anonymized and the least amount of sensitive
information should be recorded. A user notification
and opt-in mechanism is mandatory, in order to
avoid negative user experiences.
ACKNOWLEDGEMENTS
We thank Karl Heinz Struggl for the technical
support in implementation of the sample application.
REFERENCES
Calisir, F., Bayraktaroglu, A. E., Gumussoy, C. A., Topcu,
Y. I. & Mutlu, T. (2010) The relative importance of
usability and functionality factors for online auction
and shopping web sites. Online Information Review,
34, 3, 420-439.
Di Francescomarino, C. & Tonella, P. (2009) Cooperative
Aspect Oriented Programming for Executable
Business Processes. New York, IEEE.
Elrad, T., Filman, R. E. & Bader, A. (2001) Aspect-
oriented programming - Introduction. Communications
of the ACM, 44, 10, 28-32.
Furfaro, A., Nigro, L. & Pupo, F. (2004) Multimedia
synchronization based on aspect oriented
programming. Microprocessors and Microsystems, 28,
2, 47-56.
Holzinger, A. (2005) Usability engineering methods for
software developers. Communications of the ACM, 48,
1, 71-74.
Ivory, M. Y. & Hearst, M. A. (2001) The state of the art in
automating usability evaluation of user interfaces.
ACM Computing Surveys (CSUR), 33, 4, 470-516.
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C.,
Lopes, C., Loingtier, J. M. & Irwin, J. (1997) Aspect-
oriented programming. In: Aksit, M. & Matsuoka, S.
(Eds.) Ecoop'97: Object-Oriented Programming.
Berlin 33, Springer-Verlag Berlin, 220-242.
Kojarski, S. & Lorenz, D. H. (2007) AWESOME: An
aspect co-weaving system for composing multiple
aspect-oriented extensions. ACM Sigplan Notices, 42,
10, 515-534.
Nielsen, J. (2005), Medical Usability: How to Kill Patients
Through Bad Design In: Jakob Nielsen's Alertbox,
April 11. Online available: http://www.useit.com/alert
box/20050411.html, last access: 2011-01-13
Rolleke, T. (2009) Incident reports to BfArM support the
importance of usability for patient safety. In: Dossel,
O. & Schlegel, W. C. (Eds.) World Congress on
Medical Physics and Biomedical Engineering, Vol 25,
Pt 12. New York, Springer, 298-300.
Sommerville, I. (2010) Software Engineering 9. New
York, Addison-Wesley.
Tarby, J. C., Ezzedine, H., Rouillard, J., Tran, C. D.,
Laporte, P. & Kolski, C. (2007) Traces using aspect
oriented programming and interactive agent-based
architecture for early usability evaluation: Basic
principles and comparison. In: Jacko, J. A. (Ed.)
Human-Computer Interaction, Part 1, Interaction
Design and Usability. Berlin, Springer-Verlag Berlin,
632-641.
ICE-B 2011 - International Conference on e-Business
56