Evaluation of the Model-View-Controller Design Pattern When Applied to a Heterogeneous Application to Distribute Newspaper Textual Content to Mobile Devices
Total Page:16
File Type:pdf, Size:1020Kb
ISSN 1744-1986 Technical Report N O 2006/ 27 Evaluation of the Model-View-Controller design pattern when applied to a heterogeneous application to distribute newspaper textual content to mobile devices Sakib Supple 30 September, 2006 Department of Computing Faculty of Mathematics, Computing and Technology The Open University Walton Hall, Milton Keynes, MK7 6AA United Kingdom http://computing.open.ac.uk Evaluation of the Model-View- Controller design pattern when applied to a heterogeneous application to distribute newspaper textual content to mobile devices A dissertation submitted in partial fulfilment of the requirements for the Open University’s Master of Science Degree in Software Development. Sakib Supple (M4764010) 6 March 2007 Word Count: 13820 M4764010 Sakib Supple 1 of 121 Preface Thanks to my employer, Guardian News & Media Limited, for being very understanding and also for providing the substantial resources required for this project. Thanks also to the numerous people who helped me during the project: Gavin Bresler for installing the blackberry application on numerous devices (frequently with very little notice); Nick Passmore, Lee Dunn, John Stuttle, Rob Johnson, James Bunch, Suzanne Amos and Harold Frayman, all of whom kindly agreed to help with the evaluation of the user interface. M4764010 Sakib Supple 2 of 121 Table of contents Preface...........................................................................................................................2 List of figures ................................................................................................................6 List of tables ..................................................................................................................7 Abstract..........................................................................................................................8 1 Introduction...........................................................................................................9 1.1 Problem domain ..................................................................................................... 9 1.1.1 Commercial background...................................................................................................9 1.1.2 Academic overview ........................................................................................................10 1.2 The aims and objectives of the research project ............................................... 13 1.3 Overview of the dissertation................................................................................ 14 1.4 Contribution to knowledge.................................................................................. 15 1.4.1 Commercial considerations.............................................................................................15 1.4.2 Academic contribution....................................................................................................16 2 Literature review .................................................................................................17 2.1 Bridging patterns ................................................................................................. 17 2.2 Design patterns..................................................................................................... 20 2.3 Model-View-Controller ....................................................................................... 21 2.4 MVC combined with the J2EE Service to Worker design patterns ................ 25 2.4.1 Service to Worker design pattern....................................................................................26 2.4.2 Modifications to Service to Worker................................................................................27 2.5 Model-Presentation-Controller-Coordinator .................................................... 29 2.6 Struts framework ................................................................................................. 31 2.7 User interface design and evaluation.................................................................. 33 2.8 Research question ................................................................................................ 35 3 Research methods ...............................................................................................36 3.1 Multi-channel bridging pattern .......................................................................... 36 3.2 User interface design............................................................................................ 37 3.3 User interface evaluation..................................................................................... 38 4 Data collection.....................................................................................................41 4.1 User interface evaluation..................................................................................... 41 4.2 Preliminary analysis of the user interface evaluation....................................... 41 4.2.1 Quantitative analysis.......................................................................................................41 4.2.2 Qualitative analysis.........................................................................................................42 5 Results..................................................................................................................43 5.1 Choosing the design pattern................................................................................ 43 5.1.1 Constraints imposed by the Octopus Content Server......................................................44 5.1.2 Other constraints.............................................................................................................48 5.1.3 Multi-channel bridging pattern .......................................................................................48 M4764010 Sakib Supple 3 of 121 5.1.4 Comparison of patterns based on architectural and implementation considerations ......49 5.2 Implementation .................................................................................................... 51 5.2.1 Overview ........................................................................................................................51 5.2.2 User interface design ......................................................................................................53 5.2.3 Implementation...............................................................................................................53 5.2.4 Mechanism for adding a new device ..............................................................................62 5.3 Evaluation plan .................................................................................................... 63 5.3.1 Elements of the evaluation..............................................................................................63 5.3.2 Participants .....................................................................................................................64 5.3.3 Evaluator.........................................................................................................................65 5.3.4 Evaluation tasks..............................................................................................................65 5.3.5 Location of evaluation ....................................................................................................66 5.3.6 Running the session and data collection .........................................................................66 5.4 Quantitative analysis............................................................................................ 68 5.5 Qualitative analysis.............................................................................................. 71 5.6 Validation.............................................................................................................. 71 6 Conclusions .........................................................................................................74 6.1 Project review....................................................................................................... 74 6.2 Future work.......................................................................................................... 75 References ...................................................................................................................76 Glossary .......................................................................................................................81 Appendix A: Source code for the implementation.....................................................83 Appendix B: Oracle database tables...........................................................................84 Appendix C: Usability evaluation forms ....................................................................86 Pre-session questionnaire ................................................................................................. 86 Participatory Heuristic Evaluation ................................................................................. 86 System Status................................................................................................................................87 User Control and Freedom............................................................................................................87 Consistency and Relevancy ..........................................................................................................87