A Global Web Enablement Framework for Small Charities and Voluntary Sector Organisations

Tom Robinson

Supervised by Dr. Rachel J. McCrindle School of Systems Engineering The University of Reading, England

A dissertation submitted in partial fulfillment of the requirements of The University of Reading for the degree of Master of Science in Engineering and Information Sciences.

Abstract
With more people gaining access to the internet every day, the web enabling of core services and business processes is becoming essential. There is a great deal of existing research covering techniques and approaches to web enablement for commercial and public sector organisations, but very little that is aimed specifically at small charities and voluntary sector organisations. Numerous studies have shown that charities often lag behind commercial organisations when it comes to their internet infrastructure and the extent of web enablement. This dissertation investigates the needs and issues which charities face, in order to define a number of key web enablement aims and objectives. Some problems are unique to the charitable sector whilst others apply to all types of organisations. As most web applications can be accessed from anywhere in the world, globalisation is an inherent web development issue. A number of the most common issues associated with globalisation are examined and current best practice solutions suggested. The Foundations, Fundamentals, Features and Future (F4) Framework is the outcome of the research into the situation, needs and issues faced by charitable organisations. It offers a simple but detailed framework designed specially for web enablement projects within charitable organisations. The framework is broken down into four key stages of web enablement – foundations, fundamentals, features and future possibility. Through the four layers, the framework covers key business drivers, internet access and security, error-handling techniques through to global database access and undeveloped future technologies. The framework was developed and refined through research and work undertaken with GAP Activity Projects, a worldwide gap year charity. To demonstrate the implementation of the framework, GAP is used as a case study. A number of web and related applications are developed and evaluated including an online application system, mass mailing tools and an extranet application. The case study demonstrates a number of novel techniques that have been developed to solve some of the problems which were faced, including the use of XML as a data storage method and a unique form validation technique. Although the evaluation of the framework shows that it meets well the objectives it set out to achieve, there are opportunities for improvement and future work. A number of future expansions possibilities are examined including the use of mobile technology and content management systems.

i

A Global Web Enablement Framework

Tom Robinson

Table of Contents
Chapter 1. Introduction ......................................................................................................... 1 1.1. Chapter outline ............................................................................................................... 1 1.2. Area of work................................................................................................................... 1 1.2.1. Definition of web enablement............................................................................. 2 1.3. Charities and voluntary sector organisations ................................................................. 3 1.3.1. What is a charity? .............................................................................................. 3 1.3.2. Profitability vs. growth....................................................................................... 4 1.3.3. Trustees and volunteers...................................................................................... 4 1.3.4. Size variance in charities ................................................................................... 4 1.3.5. Financial contribution of charities .................................................................... 5 1.3.6. Why do charities need to be web enabled? ........................................................ 6 1.4. Case study ...................................................................................................................... 6 1.4.1. Knowledge Transfer Partnerships ..................................................................... 6 1.4.2. GAP Activity Projects......................................................................................... 7 1.5. Aims ............................................................................................................................... 8 1.6. Objectives....................................................................................................................... 8 1.7. Key web enablement drivers .......................................................................................... 9 1.7.1. Competitiveness.................................................................................................. 9 1.7.2. Cost cutting ........................................................................................................ 9 1.7.3. Communication with volunteers......................................................................... 9 1.7.4. Globalisation...................................................................................................... 9 1.8. Overview of the remaining chapters ............................................................................ 10 1.8.1. Chapter 2 – Literature review.......................................................................... 10 1.8.2. Chapter 3 – Problems to be solved .................................................................. 10 1.8.3. Chapter 4 – The F4 Pyramid Framework........................................................ 10 1.8.4. Chapter 5 – Case study – GAP Activity Projects ............................................. 10 1.8.5. Chapter 6 – Summary, evaluation & further work........................................... 11 1.9. Chapter conclusions ..................................................................................................... 11 Chapter 2. Literature review............................................................................................... 12 2.1. Chapter outline ............................................................................................................. 12 2.2. Previous research and studies....................................................................................... 12 2.2.1. Giving (in) to the Internet................................................................................. 12 2.2.2. Virtual Promise ................................................................................................ 13 2.2.3. Hall Aitken........................................................................................................ 14 2.2.4. Civic and community technology ..................................................................... 15 2.2.5. Developing the ICT capacity of the voluntary and community sector ............. 15 2.3. Existing models and frameworks ................................................................................. 16 2.3.1. The technology trap.......................................................................................... 16

ii

A Global Web Enablement Framework

Tom Robinson

2.3.2. Application Service Providers (ASPs).............................................................. 17 2.4. Support organisations and websites ............................................................................. 19 2.4.1. Charity IT Resource Alliance (CITRA) ............................................................ 19 2.4.2. London Advice Service Alliance (LASA) Knowledgebase................................ 19 2.4.3. Making the Net Work........................................................................................ 20 2.4.4. IT 4 Communities ............................................................................................. 20 2.5. Globalisation ................................................................................................................ 20 2.5.1. Definitions ........................................................................................................ 21 2.5.2. Planning for multiple localised websites ......................................................... 21 2.5.3. Directing users to the appropriate site ............................................................ 22 2.5.4. Automatic redirection....................................................................................... 23 2.5.5. Language and cultural differences................................................................... 24 2.5.6. International characters and writing systems.................................................. 25 2.6. Chapter conclusions ..................................................................................................... 26 Chapter 3. Problems to be solved........................................................................................ 27 3.1. Chapter outline ............................................................................................................. 27 3.1.1. Similarities between business and charities..................................................... 27 3.2. Communication ............................................................................................................ 28 3.2.1. Email ................................................................................................................ 29 3.2.2. Moving from basic to advanced uses of email ................................................. 29 3.2.3. Sending bulk emails.......................................................................................... 30 3.3. Non-technical issues..................................................................................................... 31 3.3.1. Organisational culture ..................................................................................... 31 3.3.2. Fear of failure .................................................................................................. 31 3.4. Legislative compliance................................................................................................. 32 3.4.1. Data protection ................................................................................................ 32 3.4.2. Disability Discrimination Act........................................................................... 33 3.5. Globalisation ................................................................................................................ 34 3.5.1. Local infrastructure.......................................................................................... 34 3.5.2. Language.......................................................................................................... 34 3.5.3. Culture.............................................................................................................. 35 3.5.4. Design sensitivity.............................................................................................. 35 3.5.5. Legislation and currency.................................................................................. 36 3.6. Infrastructure ................................................................................................................ 36 3.6.1. Variance in technology, infrastructure and security overseas......................... 36 3.6.2. Designing for technical limitations .................................................................. 37 3.6.3. Weight............................................................................................................... 37 3.7. Chapter conclusions ..................................................................................................... 37 Chapter 4. The F4 Pyramid Framework............................................................................ 39

iii

A Global Web Enablement Framework

Tom Robinson

4.1. Chapter outline ............................................................................................................. 39 4.2. The framework ............................................................................................................. 39 4.2.1. Development of the framework ........................................................................ 39 4.2.2. Framework model and framework infrastructure............................................ 39 4.2.3. The layers of the framework model .................................................................. 40 4.2.4. Why a pyramid? ............................................................................................... 41 4.2.5. Content of each layer ....................................................................................... 42 4.2.6. Implementing and using the framework ........................................................... 45 4.3. Foundations (F1) .......................................................................................................... 47 4.3.1. Introduction...................................................................................................... 47 4.3.2. Checklist ........................................................................................................... 47 4.4. Foundation: Internet access.......................................................................................... 49 4.4.1. Connectivity...................................................................................................... 49 4.4.2. Hosting ............................................................................................................. 49 4.5. Foundation: Email ........................................................................................................ 50 4.5.1. Spam ................................................................................................................. 51 4.6. Foundation: Security .................................................................................................... 51 4.6.1. Firewalls........................................................................................................... 52 4.6.2. Anti-virus.......................................................................................................... 52 4.7. Foundation: Software ................................................................................................... 53 4.7.1. Reduced price software .................................................................................... 53 4.8. Foundation: Data storage ............................................................................................. 53 4.8.1. Databases ......................................................................................................... 53 4.8.2. File storage and backup................................................................................... 54 4.9. Foundation: Programming platform............................................................................. 54 4.9.1. Programming environment choices ................................................................. 54 4.9.2. Java 2 Platform, Enterprise Edition (J2EE) .................................................... 55 4.9.3. Microsoft .NET Framework ............................................................................. 55 4.9.4. LAMP ............................................................................................................... 57 4.9.5. Using the Microsoft .NET Framework............................................................. 58 4.9.6. Recommended programming platform features............................................... 58 4.9.7. Object-oriented programming (OOP).............................................................. 58 4.9.8. XML & web service support............................................................................. 59 4.9.9. Intermediate code............................................................................................. 59 4.9.10. .NET managed code ......................................................................................... 60 4.10. Summary of foundations .............................................................................................. 61 4.11. Fundamentals (F2)........................................................................................................ 62 4.12. Fundamental: Industry guidelines and best practice .................................................... 62 4.12.1. Coding style and naming conventions.............................................................. 62 4.12.2. Standards compliance ...................................................................................... 62 4.12.3. Proprietary technology .................................................................................... 62 4.13. Fundamental: Code Library ......................................................................................... 63 4.13.1. Database access ............................................................................................... 63
iv

A Global Web Enablement Framework

Tom Robinson

4.14. Fundamental: Error handling ....................................................................................... 63 4.14.1. Alerting the user ............................................................................................... 64 4.14.2. Alerting support staff........................................................................................ 64 4.15. Fundamental: Membership........................................................................................... 65 4.15.1. Registration ...................................................................................................... 66 4.15.2. Role based security........................................................................................... 66 4.16. Fundamental: Testing................................................................................................... 67 4.16.1. Browser testing................................................................................................. 67 4.16.2. User testing ...................................................................................................... 68 4.17. Fundamental: Documentation ...................................................................................... 68 4.17.1. Wikis ................................................................................................................. 68 4.17.2. Inline source code based documentation ......................................................... 69 4.18. Summary of fundamentals ........................................................................................... 70 4.19. Features (F3) ................................................................................................................ 70 4.19.1. Choosing modules and the order of development ............................................ 71 4.20. Feature: Online community.......................................................................................... 73 4.21. Feature: Sending multiple emails................................................................................. 73 4.21.1. Sending bulk emails.......................................................................................... 73 4.21.2. Centralised email functionality ........................................................................ 74 4.22. Feature: Online forms................................................................................................... 74 4.22.1. Layout and navigation...................................................................................... 75 4.22.2. Validation ......................................................................................................... 75 4.22.3. Server-side and client-side validation.............................................................. 75 4.22.4. Loose validation ............................................................................................... 76 4.22.5. Partially completed forms ................................................................................ 76 4.23. Feature: Extranet .......................................................................................................... 77 4.24. Feature: Global data access .......................................................................................... 77 4.24.1. Consolidating existing databases..................................................................... 77 4.24.2. Web enablement of databases .......................................................................... 77 4.25. Feature: Global file access ........................................................................................... 78 4.26. Summary of features .................................................................................................... 79 4.27. Future (F4).................................................................................................................... 79 4.28. Future: Mobile web enablement................................................................................... 80 4.29. Future: Mobile text messaging..................................................................................... 81 4.29.1. Economic viability............................................................................................ 82 4.30. Future: Content management ....................................................................................... 82 4.31. Summary of future ....................................................................................................... 82 4.32. Chapter conclusions ..................................................................................................... 83 Chapter 5. Case Study – GAP Activity Projects................................................................ 84 5.1. Chapter outline ............................................................................................................. 84

v

A Global Web Enablement Framework

Tom Robinson

5.2. GAP Activity Projects.................................................................................................. 84 5.2.1. Who are GAP Activity Projects........................................................................ 84 5.2.2. Size ................................................................................................................... 85 5.2.3. What do GAP’s IT systems need to support? ................................................... 85 5.2.4. Offices worldwide............................................................................................. 85 5.3. The University of Reading ........................................................................................... 85 5.3.1. Student projects ................................................................................................ 86 5.3.2. Student coursework .......................................................................................... 86 5.4. Implementing the framework ....................................................................................... 87 5.5. Foundations (F1) .......................................................................................................... 88 5.5.1. Email ................................................................................................................ 88 5.5.2. Internet access.................................................................................................. 88 5.5.3. Security............................................................................................................. 88 5.5.4. Software............................................................................................................ 88 5.5.5. Data storage..................................................................................................... 89 5.5.6. Programming platform..................................................................................... 89 5.6. Fundamentals (F2)........................................................................................................ 89 5.7. Fundamental: Membership – myGAP.org ................................................................... 89 5.7.1. Login and authentication ................................................................................. 89 5.7.2. Registration form.............................................................................................. 89 5.8. Fundamental: Industry guidelines and best practice - GAP Website........................... 90 5.8.1. Removal of unnecessary scripting.................................................................... 90 5.9. Fundamental: Documentation ...................................................................................... 91 5.9.1. Wikis for documentation................................................................................... 91 5.9.2. Inline source code documentation.................................................................... 92 5.10. Features (F3) ................................................................................................................ 94 5.11. Feature: Sending multiple emails - GAP Mailer.......................................................... 94 5.12. Feature: Online community - GAP Community .......................................................... 97 5.12.1. Open source and free software......................................................................... 97 5.12.2. Implementation................................................................................................. 97 5.12.3. Integrating separate login and authentication systems.................................... 98 5.12.4. Results .............................................................................................................. 99 5.12.5. Photo galleries ................................................................................................. 99 5.12.6. Customisations ............................................................................................... 100 5.12.7. Overcoming Globalisaton issues.................................................................... 101 5.13. Feature: Online Forms – GAP Online Application System ....................................... 102 5.13.1. Flexible error checking .................................................................................. 102 5.13.2. Automatic saving without user action ............................................................ 103 5.13.3. References ...................................................................................................... 103 5.13.4. Online Application Viewer ............................................................................. 104 5.13.5. XML application forms................................................................................... 107 5.13.6. XPath for data extraction............................................................................... 109 5.13.7. XSLT for data display..................................................................................... 110

vi

A Global Web Enablement Framework

Tom Robinson

5.14. Feature: Extranet – GAP Extranet.............................................................................. 112 5.15. Feature: Global data access – GAP Alumni Update System ..................................... 113 5.15.1. Alumni and the Business Partnership Scheme ............................................... 113 5.15.2. Issues with previous system............................................................................ 114 5.15.3. Key benefits of web enablement ..................................................................... 114 5.15.4. Method............................................................................................................ 114 5.15.5. Security........................................................................................................... 116 5.15.6. Storage format................................................................................................ 116 5.16. Feature: Global data access – GAP Management Information System ..................... 117 5.16.1. Web-based MIS .............................................................................................. 117 5.16.2. System convergence........................................................................................ 117 5.16.3. Legal aspects .................................................................................................. 118 5.17. Feature: Global data access – GAP Project Profiles .................................................. 118 5.18. Feature: Global file access – FTP server.................................................................... 119 5.19. Methods and tools resulting from the case study implementation ............................. 120 5.20. Chapter conclusions ................................................................................................... 121 Chapter 6. Evaluation, further work & summary .......................................................... 123 6.1. Chapter summary ....................................................................................................... 123 6.2. Summary & critique ................................................................................................... 123 6.2.1. Did it meet aims and objectives?.................................................................... 123 6.2.2. What makes the framework unique? .............................................................. 123 6.2.3. Is the framework suitable for a business environment?................................. 123 6.2.4. Benefits demonstrated by the case study ........................................................ 124 6.2.5. Scalability....................................................................................................... 124 6.2.6. Maintainability ............................................................................................... 125 6.2.7. Industry recognition ....................................................................................... 125 6.3. Challenges faced during implementation................................................................... 125 6.3.1. Email address validation................................................................................ 125 6.3.2. Online application system .............................................................................. 126 6.3.3. Automatic application form saving ................................................................ 126 6.3.4. Alumni update system..................................................................................... 126 6.3.5. GAP Mailer .................................................................................................... 127 6.3.6. User registration ............................................................................................ 128 6.4. Future work ................................................................................................................ 128 6.4.1. Globalisation.................................................................................................. 128 6.4.2. Mobile technology .......................................................................................... 129 6.4.3. Refinement and improvement of the model .................................................... 129 6.4.4. Specialisation of the model ............................................................................ 129 6.4.5. Team development.......................................................................................... 129 6.4.6. Exploration of methods and tools................................................................... 129 6.5. Chapter conclusions ................................................................................................... 130

vii

A Global Web Enablement Framework

Tom Robinson

Table of Figures
Figure 1. Percentage of total income for Charities in different income brackets [4] ................. 5 Figure 2. The Technology Trap................................................................................................ 17 Figure 3. International gateway example ................................................................................. 22 Figure 4. Business and charity issues....................................................................................... 27 Figure 5. Data Protection Act 1998.......................................................................................... 32 Figure 6. The F4 Pyramid Framework ..................................................................................... 41 Figure 7. Direction of expansion and progress ........................................................................ 42 Figure 8. Foundations............................................................................................................... 43 Figure 9. Fundamentals ............................................................................................................ 43 Figure 10. Features................................................................................................................... 44 Figure 11. Future ...................................................................................................................... 44 Figure 12. Implementation flowchart....................................................................................... 46 Figure 13. Foundations checklist ............................................................................................. 48 Figure 14. Defence in depth ..................................................................................................... 52 Figure 15. Microsoft .NET Framework ................................................................................... 56 Figure 16. Intermediate code compilation................................................................................ 59 Figure 17. Summary of Foundations........................................................................................ 61 Figure 18. Example of wiki entry history comparison with MediaWiki ................................. 69 Figure 19. Summary of Fundamentals ..................................................................................... 70 Figure 20. Feature Planning Matrix ......................................................................................... 72 Figure 21. Example of an XML email template....................................................................... 74 Figure 22. Summary of Features .............................................................................................. 79 Figure 23. Web browsing on mobile and simple devices ........................................................ 80 Figure 24. Summary of Future ................................................................................................. 83 Figure 25. Mapping between F4 Framework and case study................................................... 87 Figure 26. Problems with proprietary code.............................................................................. 91 Figure 27. GAP's Documentation Wiki ................................................................................... 92 Figure 28. Example inline code documentation....................................................................... 93 Figure 29. Example output from NDoc.................................................................................... 94 Figure 30. GAP Mailer with addresses imported from Excel .................................................. 95 Figure 31. GAP Mailer showing message entry tab................................................................. 96 Figure 32. Using a web service to synchronise different systems ........................................... 99 Figure 33. Example of Community Server gallery image ..................................................... 100 Figure 34. Default Community Server Header ...................................................................... 101 Figure 35. Customised Community Server Header ............................................................... 101 Figure 36. Further visual customisations ............................................................................... 101 Figure 37. Error checking before application submission...................................................... 102 Figure 38. Reminder for applicant to check the page for potential errors ............................. 103

viii

A Global Web Enablement Framework

Tom Robinson

Figure 39. Confirmation that the page validates .................................................................... 103 Figure 40. GAP Online Application Viewer.......................................................................... 105 Figure 41. Example of online application form in viewer ..................................................... 106 Figure 42. Application Form Stages ...................................................................................... 108 Figure 43. Uses for various sections of the application form................................................. 110 Figure 44. Using XSLT for processing online application forms .......................................... 111 Figure 45. GAP Extranet........................................................................................................ 113 Figure 46. FreeTextBox control in action .............................................................................. 119 Figure 47. Benefits for GAP .................................................................................................. 124 Figure 48. Save Now button on online application form ....................................................... 126

ix

A Global Web Enablement Framework

Tom Robinson

Table of Tables
Table 1. Locale codes combing location and language............................................................ 24 Table 2. Examples of world writing systems ........................................................................... 25 Table 3. Basic and advanced email usage ................................................................................ 30 Table 4. Comparison of .NET and J2EE features .................................................................... 58 Table 5. Registration and linking scenarios ........................................................................... 115 Table 6. Account linking scenarios ........................................................................................ 116 Table 7. Methods and tools resulting from the case study implementation........................... 121

x

A Global Web Enablement Framework

Tom Robinson

Chapter 1.
1.1.

Introduction

Chapter outline

This chapter will introduce the area of work that this dissertation covers and look at the overall aims and objectives. This chapter will also include an outline of the dissertation structure and a description of the contents of the remaining chapters. Each chapter in this dissertation starts with a short introduction explaining the chapter contents and setting the scene.

1.2.

Area of work

This dissertation begins by looking at the reasons why charitable organisations can benefit from the web enablement of current and future business processes. While many businesses now use the Internet as a core part of their operations, charities and smaller organisations can find it more difficult to find the time and resources to successfully web enable their business processes. Most previous work on web enablement has concentrated on commercial organisations where funding and resources are less scarce than in the charitable sector. This dissertation will look at ways in which the web, related Internet technologies and a suitable IT infrastructure can be of benefit to charities, community organisations and even small businesses. After looking at the background and identifying the key problems involved with web enablement, the dissertation introduces a framework to achieve a structured approach to web enablement. Following an exploration of the framework as a generic approach to web enablement there is a case study demonstrating an actual implementation of the framework. The defining features of a charitable organisation are examined and the management culture and other issues explored, in order to justify the need for a structured web enablement framework such as the one described in this dissertation. The framework has been designed for organisations that have little or no in-house computing expertise, a limited budget and short timescales. These types of organisation are most likely to need a framework to follow, to enable them to get the most out of their investments in technology.

Page 1

A Global Web Enablement Framework

Tom Robinson

A case study of the work carried out for an international educational charity is used to illustrate and provide evidence of the effectiveness of the framework. The charity used for the case study is GAP Activity Projects (GAP) Ltd1, a non-for-profit charity based in Reading but with offices worldwide. GAP is the largest gap year organisation for 17-25 year olds in the United Kingdom. As the Internet allows almost instant communication to anywhere in the world, there is additional material focusing on the web enablement of a charities global operations, hence the title of the dissertation. The Internet is a key tool in allowing a charity to increase its reach to a global audience but there are a number of complex challenges which must be overcome, in order for a successful outcome. The final stages of the dissertation deal with suggestions for further work, outline some limitations of the framework and finally look at an evaluation of the project, framework and the example implementation. The reason for choosing to study web enablement for the charitable and voluntary sector is that there is a lack of information about web enablement which is specific to the unique needs and issues of such organisations. Although there is a large amount of research which applies to the needs of commercial organisations, relatively little is specific to charities or gives any mention to the unique challenges they may face. There are however a number of detailed studies into use of the internet and web technology within charities, this is covered in the literature review. 1.2.1. Definition of web enablement In order to justify use of the term web enablement rather than e-enablement or Internet enablement we need to look at what the web is and how it differs from the Internet. Chaffey et al [1] highlight the key differences between the Internet and the World Wide Web in the following way:
The Internet The Internet, refers to the physical network that links computers across the globe. It consists of the infrastructure of network servers and wide-area communication links between them that are used to hold and transport vast amount of information on the Internet.

1

http://www.gap.org.uk/ Page 2

A Global Web Enablement Framework

Tom Robinson

World Wide Web The World Wide Web is a medium for publishing information on the Internet. It is accessed through web browsers, which display web pages and can now be used to run business applications. Company information is stored on web servers, which are usually referred to as web sites.

In the context of this dissertation, web enablement is defined as the process of increasing an organisations ability to conduct work and offer services using globally accessible web applications. The scope of this work also includes related Internet technologies such as email and the File Transfer Protocol (FTP), so it could more accurately be described as Internet enabling. The reason for using the term web enablement is that the focus will be the World Wide Web rather than the many other Internet technologies which are available. Internet technologies are important complimentary technologies to web enablement and will be examined where appropriate.

1.3.

Charities and voluntary sector organisations

are a number of important differences between the way commercial organisations and charitable organisations operate. One of the major differences, implied by the fact that most charities operate as not-for-profit organisations, is the decrease in the importance of profitability on investments. Although in many cases this is an important difference between the two types of organisation there are many other differences which can make a difference – organisational culture, existing infrastructure, lack of an internal IT team and differences in priority and purpose of the business. 1.3.1. What is a charity? To be officially recognised as a charity, the organisation must be registered with the Charities Commission1, a government funded organisation that regulates the charitable sector in England and Wales. Scottish charities must register with the Office of the Scottish Charity Regulator2. There are similar systems for regulation in the United States, Australia and Canada. The Charities Act 1993 [2] is the most recent act detailing the definitions and structure of UK charities. There are over 190,000 charities registered with the Charities Commission, employing over 600,000 staff and 900,000 trustees [3].
1 2

http://www.charity-commission.gov.uk/ http://www.oscr.org.uk/ Page 3

A Global Web Enablement Framework

Tom Robinson

1.3.2. Profitability vs. growth Charities aim to grow and to fulfil a vision or purpose, such as the development of a cure for a disease, rather than aiming for profit. This is a major contrast to commercial organisations where profit for shareholders or company owners is usually the main goal. 1.3.3. Trustees and volunteers Trustees are the people responsible for administration and control of a charity. Depending on the type and size of the charity this may include the Executive or Management Committee, Directors or in the case of a charitable trust – Trustees and Governors. Trustees come from a range of social backgrounds and a variety of age ranges although they must be over 18 and there are requirements which must be met regarding previous convictions and bankruptcy status. Trustees are generally unpaid volunteers who take on responsibilities on behalf of the charity. Volunteers are an essential resource for many charities. Whilst staff working in the head office are likely to be salaried, they are often supported by numerous volunteers who work a variety of hours and participate in a wide range of activities. Many organisations such as Riding for the Disabled1 have more volunteers than paid employees. Volunteers are a very unique feature of charitable organisations and must always be taken into consideration when changing business processes or developing new tools. 1.3.4. Size variance in charities There are currently over 190,000 registered charities in England and Wales [3]. The majority, approximately 57%, of these charities have a recorded income of £10,000 or less [4]. Small charities represent nearly two-thirds of registered charities but make up less than 1% of the total charity income. The Charity Commission’s 2005 Annual Report [3] states that the largest 500 charities are responsible for over 46% of the total charitable income. The size of charities varies as much as the size of non-charitable organisations but many of the core characteristics stay the same. The European Union [5] defines a small enterprise as an organisation with less than 50 full-time employees and a turnover of less than 7 million Euros.

1

http://www.riding-for-disabled.org.uk/ Page 4

A Global Web Enablement Framework

Tom Robinson

Charities vary in size enormously; the largest non-profit organisation in the United States is the Bill and Melinda Gates Foundation1, which has an endowment of approximately $27 billion. At the other end of the scale are small charities for local communities whose turnover is negligible. Many charities have wholly owned subsidiary organisations that operate as separate legal entities and can make a profit, as long as the profit is donated to the parent organisation. One of the largest charitable trusts in the UK, The Wellcome Trust2 has established a wholly owned trading subsidiary, Wellcome Trust Trading Limited, to handle non-charitable trading at the Wellcome Trust Conference Centre. GAP Activity Projects (GAP) Ltd. also has a similar subsidiary called GAP Activity Projects (Enterprises) Ltd. The operation of a separate legal entity removes some of the restrictions which a strictly charitable organisation must comply with and allows a charity to fundraise by selling merchandise or renting facilities. 1.3.5. Financial contribution of charities Non-profit organisations are growing rapidly in the UK and currently accounting for approximately 8% of the gross domestic product (GDP). The non-financial benefits that charities contribute to society are even greater and cannot easily be measured on a financial scale. Charities are legally obliged to submit their accounts and annual returns to the Charities Commission [3].

£1,001 - £10,000 £10,001 - £100,000

£0 - £1,000 £1m - £10m

£100,001 - £250,000 £250,000 - £1m

Figure 1. Percentage of total income for Charities in different income brackets [4] (Source: Charity Commission)

1 2

http://www.gatesfoundation.org/ http://www.wellcome.ac.uk/ Page 5

A Global Web Enablement Framework

Tom Robinson

The chart above illustrates the importance of small charities with regard to the total charitable income. With 86% of total income for charities coming from organisations with an income of less than £100,000 the importance of small charities is significant. 1.3.6. Why do charities need to be web enabled? Web enablement can bring a number of benefits to small organisations, some of which would be prohibitively expensive using traditional forms of communication. Publicity materials can be sent around the world at a greatly reduced costs, and the organisation’s message can be globally available to anyone with internet access. An organisation may also be able to make gains in terms of the efficiency and speed of their operations. As the resources of small charities are limited, it is important that they are able to make the most of these opportunities.

1.4.

Case study

1.4.1. Knowledge Transfer Partnerships Knowledge Transfer Partnerships (KTP)1 are a Department of Trade & Industry (DTI)2 sponsored scheme to encourage and support the transfer of knowledge between academic institutions and companies. A committee comprising academic staff, staff at the company and Knowledge Transfer Partnership support staff, manages each partnership. The partnership involves the employment of one or more graduates who work at the company on a fixed term contract, with the support of the knowledge base partner. The government sponsors the scheme by contributing up to 60% of the total programme cost. Grants includes the graduate salary, academic support and budgets for equipment, personal training & development and travel & subsistence. For all organisations, and especially charities who might not otherwise be able to afford it, a KTP scheme can be of great benefit. It allows for the employment and support of a new employee at a significantly reduced cost. GAP Activity Projects is currently working with The University of Reading as part of a Knowledge Transfer Partnership. GAP chose to embark on a KTP scheme for the web enablement of its key business processes and for greater use of IT generally. This dissertation is a result of a combination of research and work carried out with GAP.
1 2

http://www.ktponline.org.uk/ http://www.dti.gov.uk/ Page 6

A Global Web Enablement Framework

Tom Robinson

1.4.2. GAP Activity Projects GAP offers an interesting case study as it is a large and well-established organisation with a number of interesting organisational features, making it possible to examine the impact of web enablement in a number of areas. GAP has a variety of offices and partnerships worldwide. The main office is based in the United Kingdom and employs around 30 full-time staff. Other offices are smaller, with GAP Australia having around eight full-time staff whilst other smaller offices have as few as one person working full-time. GAP also works in partnership with YouLead1 in Canada who perform similar functions to the other overseas offices but are not owned or directly controlled by GAP. Large numbers of volunteer staff, both in the United Kingdom and overseas, are an essential part of GAP’s operations. There are well over a 100 volunteer staff actively working for GAP and there are many opportunities to allow them to become more involved through web enablement. The range of ages, IT skills, locations and access to infrastructure of GAP’s volunteers brings a number of unique challenges and complexities. Prior to the implementation of the work detailed in the case study, GAP only had one full-time member of staff who dealt with IT matters. This support was limited to day-to-day maintenance of the infrastructure, and all development work or creation of new systems was outsourced to a consultant at a significant cost. The most significant product created by external consultancy was GAP’s ‘Core’ database, which stores and manages the majority of GAP’s operational data. This was completed shortly before the web enablement process began. The basic IT infrastructure required for the framework to be implemented was not as good as it could have been to start with, however, GAP has had a broadband Internet connection, fairly modern PCs for each member of staff, an internal network, a large website and a comprehensive central database for some time.

1

http://www.youlead.org/ Page 7

A Global Web Enablement Framework

Tom Robinson

1.5.

Aims

The main aims of the research and this dissertation are to: 1. Demonstrate the importance of web enablement in the charitable sector. 2. Examine the current state of the art. 3. Develop a generic framework to support and guide web enablement of charitable sector organisations. 4. Show how the framework can be applied. 5. Discuss the effectiveness of the framework and ideas for expansion and improvement.

1.6.

Objectives

The wider aims are to be achieved by completing the following objectives: 1. Give background information regarding charities and voluntary sector organisations, web enablement and globalisation. 2. Compare and contrast charitable and commercial organisations so that key differences can be highlighted and business drivers identified. 3. Outline the problems which a charity may face when dealing with web enablement. 4. Look at existing research which is relevant to the subject area. 5. Highlight the key problems to be solved, both technical and non-technical. 6. Develop a framework which deals with all areas of web enablement, from the infrastructure through to future possibilities. 7. Demonstrate an implementation of the framework by use of a case study. 8. Evaluate the framework using the lessons learnt from case study and make suggestions for resolving any issues or limitations. 9. Offer suggestions for further work to expand the framework.

Page 8

A Global Web Enablement Framework

Tom Robinson

1.7.

Key web enablement drivers

All voluntary sector organisations have a number of key business drivers which must be taken into account when developing a web enablement strategy. 1.7.1. Competitiveness Charities often compete against commercial organisations in the market place. Smaller organisations also compete against larger charities with bigger spending budgets. Although not all charities are a competitive market, those that are need to be able to keep up with other organisations in their market area. Web enablement is an area where larger and commercial organisations tend to be ahead of smaller organisations that have more limited resources. 1.7.2. Cost cutting Charities are always looking for ways of keeping costs down. Traditional methods of communication and advertising are expensive to produce and physical items cannot reach a worldwide audience. By using the web as a marketing and communication tool, costs can be kept down and new markets can be reached. Rather than posting documents, charities can use email and websites to distribute material to almost anywhere in the world at a very low cost per transaction. 1.7.3. Communication with volunteers Many charities rely on volunteers to perform key tasks. As voluntary staff, they are likely to be part-time, often retired and may not work in the charity’s office or even in the same country. The web can be a useful tool for communicating with voluntary staff and integrating them into the core of the organisation. 1.7.4. Globalisation Many charities are either globalising their operations or looking to do so. This brings a completely new set of challenges which the organisation must face. Globalisation also brings many opportunities for growth and the ability to spread an organisation’s message overseas. By harnessing the power and abilities of the World Wide Web, a charity can expand its reach at a very low cost, provided that the technical and cultural aspects are taken into account.

Page 9

A Global Web Enablement Framework

Tom Robinson

1.8.

Overview of the remaining chapters

1.8.1. Chapter 2 – Literature review This chapter looks at the work of other researchers in the areas covered by this dissertation. There is a look at previous research and studies which have been conducted within the charitable sector. Coverage of existing frameworks is limited, as most past work has been aimed at commercial organisations and not charities. Charities usually have very different aims and objectives and the methods they use must allow for this. The ability of a web application to be globally accessible is essential for many organisations, even small organisations that do not have any staff or volunteers overseas. As the issues surrounding globalisation have been around since the birth of the Internet, there is a great deal of existing work in this area. This chapter also looks at some of the key technical issues and the solutions which are appropriate for the type of web applications discussed elsewhere in this dissertation. 1.8.2. Chapter 3 – Problems to be solved This chapter looks at the web enablement challenges facing charities and voluntary sector organisations. Some of these problems are unique to charities whereas others apply to any small organisation, particularly those with little in-house computing expertise and limited funds. 1.8.3. Chapter 4 – The F4 Pyramid Framework This chapter outlines a generic framework for web development, designed primarily for charitable organisations, but also suitable for many small businesses. The framework uses a modular approach to web enablement and covers suitable approaches and techniques for web enablement of a number of key business areas. 1.8.4. Chapter 5 – Case study – GAP Activity Projects This chapter introduces GAP Activity Projects, the case study being used to demonstrate the ideas developed in the framework. It then goes on to describe how the framework has been used successfully in projects at GAP. GAP is a non-for-profit charity which helps organise gap year placements for 17-25 year olds. The main office employs approximately 30 staff and there are a number of regional offices around the world. As well as paid staff, GAP also has

Page 10

A Global Web Enablement Framework

Tom Robinson

nearly 200 members of volunteer staff. The complexity, size and distribution of GAP as an organisation makes it an interesting case study for the framework. 1.8.5. Chapter 6 – Summary, evaluation & further work In this chapter, the framework as well as examples if its use and implementation will be evaluated. The starting point for the evaluation is the challenges faced during implementation. This leads to an evaluation of the effectiveness of the framework itself and a discussion of ideas for further work, expansion and refinement.

1.9.

Chapter conclusions

This chapter has introduced charities and voluntary sector organisations and has highlighted some of the unique features that differentiate them from commercial businesses. With the exception of communication with volunteers, charities have similar web enablement drivers to many small businesses. The aims and objectives have been outlined and these are to be the basis for the remaining chapters.

Page 11

A Global Web Enablement Framework

Tom Robinson

Chapter 2.
2.1.

Literature review

Chapter outline

This chapter looks at the work of other researchers in the areas covered by this dissertation. There is a look at previous research and studies which have been conducted within the charitable sector. Coverage of existing frameworks is limited, as most past work has been aimed at commercial organisations and not charities. Charities usually have very different aims and objectives and the methods they use must allow for this. The ability of a web application to be globally accessible is essential for many organisations, even small organisations that do not have any staff or volunteers overseas. As the issues surrounding globalisation have been around since the birth of the Internet, there is a great deal of existing work in this area. This chapter also looks at some of the key technical issues and the solutions which are appropriate for the type of web applications discussed elsewhere in this dissertation.

2.2.

Previous research and studies

There have been a number of studies and reports on Internet and Information Communication Technology (ICT) use within charities and voluntary sector organisations. The majority of these studies are based on surveys. A selection of the most significant and appropriate studies are detailed in this section. 2.2.1. Giving (in) to the Internet The results of Goatman’s 2004 [6] e-communications survey revealed that larger charities tended to be more positive about the potential impact of their website. They perceived the costs and barriers to entry to be lower than smaller charities did. They were positive about the potential of their website and the possibilities for extension and improvement. The majority of those surveyed used email both internally and externally, however half of those wanted to be able to use email more, particularly as a way of spreading information. Again, larger charities with a bigger fundraising income were more positive than those in lower income brackets. Across all sectors surveyed, there was a concern that email could become prone to being caught by spam filters. Intranets and extranets were found to be in use by some

Page 12

A Global Web Enablement Framework

Tom Robinson

organisations although they tended to be used as internal tools, rather than reaching out to other stakeholders. Goatman concludes that there is a wide variety of engagement with web and email technologies but that the majority of organisations see it as having a positive future and are anticipating making improvements in the future. 2.2.2. Virtual Promise The latest Virtual Promise report [7] contains the results of annual surveys of charities’ use of the Internet between 2000 and 2004. Because Virtual Promise is an annual survey, the report is useful in demonstrating trends in terms of the speed and direction of change. The ability to compare results with previous years distinguishes it from one-off surveys, which give less indication of trends. The survey found that 78% of charities now have a budget dedicated to their website, an increase from the previous year’s 65%. This demonstrates that more charities are realising the importance of setting aside resources for web enablement. To back this finding up, it was also found that the number of staff employed full-time in Internet-based roles had increased. The majority of respondents had the following features as standard features of their websites – information, links, news, downloadable files, an email enquiry services and job vacancies. Whilst this shows good progress, it is still static content. Whilst static content is useful and will always be necessary, a website can be improved by having dynamic content such as events calendars that respond to the current date and news pages which are driven by an easily updatable database back-end. Worryingly only half of the responding organisations had websites that conformed to the accessibility guidelines [8] of the W3C1. There is clearly a lot of work to be done in ensuring accessibility to website content. 64% of charities were found to be using content management systems; this is an encouragingly high percentage for a relatively new way of managing website content.

1

http://www.w3.org/ Page 13

A Global Web Enablement Framework

Tom Robinson

An extract from the conclusion of the report, which is applicable to the purpose of this dissertation, is quoted below.

Charities have entered a second phase regarding the Internet, moving from asking “should we have a website?” to “now that we have a website, how can we make it better?” 2.2.3. Hall Aitken In 2001 a comprehensive report titled E-enabling the Voluntary and Community Sectors was prepared by Jeremy Wyatt [9] for Hall Aitken1 under commission from the Active Communities Unit, the Department for Education and Skills and the Office of the E-Envoy. The aims of the study were to assist with government policy development for ICT and related matters within the voluntary and community sectors. The study comprised of a telephone survey of 1,400 organisations as well as follow-up email surveys, focus groups, interviews, desk research and informal discussion. Although the report is now around 4 years old it was arguably the first large scale survey of ICT use in the sector. The study found that organisations could improve the effectiveness of their services by using the Internet as a delivery tool but found that the organisation needed to be suitably ICT enabled in order to do so. Whilst most organisations were using basic ICT functions such as word processing and email, only a few were found to be using more advanced functions such as web based donations, online recruitment and acceptance of electronic payments. There were concerning findings regarding the ICT infrastructure of many organisations; the worst being that 60% of organisations with 25 to 49 employees had less than nine computers between them. The number of organisations with an Internet connection was found to be significantly lower at 78% compared to 94% of commerical businesses. In general, the voluntary sector was found to be behind business in a number of key areas. Businesses were significantly in the lead when it came to having a website, the speed of Internet connections and the use of an intranet. This lack of infrastructure was found to affect an organisation’s ability to take advantage of web technologies leaving the voluntary sector behind when it comes to online promotion and online recruitment. The study followed up
1

http://www.hallaitken.co.uk/ Page 14

A Global Web Enablement Framework

Tom Robinson

these findings with interviews which revealed that a lack of funds and limited knowledge amongst some senior staff were the main causes of the lack of a suitable infrastructure. 2.2.4. Civic and community technology Wilcox and Pearl [10] discuss what they term ‘civic and community’ use of the Internet. They outline a number of uses for the Internet and web technology, particularly by government and non-profits, and look at the success of projects in previous years, enabling them to identify the common problems which emerge. They later cite Adrian Hancock of the Improvement and Development Agency (IDEA) as stating that there are two key attributes which are needed for successful use of technology – skills and finance. He warns that there is more to planning an IT strategy than the initial phase and that there should be resources available to allow the project to develop further, otherwise a project may not reach its full potential. An interesting point made in the article is that even when a system is web enabled, there may be some cases where the previous system needs to still be available. Even with the large number of people who can access the Internet at home or work there may still be others who are unable to, for one reason or another. So that these customers, donors or volunteers are not ignored, they must be able to access services by alternative methods. If this is not carefully considered when developing a web application, then it is likely to be problematic later on. Even ‘online’ businesses like Amazon still have a postal address, fax and phone number although it is not needed, advertised or made visible to most people. According to the Wilcox and Pearl [10], one of the main lessons to be learnt from previous projects is that there is a major skills shortage in the sector and therefore a requirement for adequate and structured training for all staff, not just those that are developing systems. In addition, many projects are not carefully planned or are unsuitable for the organisation’s current internal state which can cause them to be less successful than they could be or even to fail. 2.2.5. Developing the ICT capacity of the voluntary and community sector The National Council for Voluntary Organisation’s (NVCO1) report [9] to the Active Community Unit (ACU) of the Home Office contains the results of market research carried out by independent consultants amongst the NCVO’s 2,500 members and 500 non-member
1

http://www.ncvo-vol.org.uk/ Page 15

A Global Web Enablement Framework

Tom Robinson

organisations. They found that although 61% or organisations had Internet access, some organisations were far more restricted. It was found that 14% of organisations only had a single point of Internet access and 22% only had access for key staff. This demonstrates that some organisations neglected or were unable to fund a network infrastructure to support their Internet connection. Web enablement requires organisation wide internet access, not just access for key staff or a single terminal. An area neglected from many reports but covered by the NVCO is the need for risk management. They state that whilst benefits of ICT can be very positive they can also bring associated risks. There are a number of risks which any new way of working brings, but the areas which are of particular concern in ICT projects are security, privacy, intellectual property, transparency and compliance with legislation. These issues could be the reason why some organisations are cautious about web enablement of their processes, and often with good reason. A further conclusion, and one shared by other reports, is that there is a lack of understanding and knowledge at management and trustee level of the relevance and benefit of ICT and the Internet.

2.3.

Existing models and frameworks

2.3.1. The technology trap Wilcox and Grunwald [11] use the matrix in Figure 2 to explain what they call “The Technology Trap”. They explain that in order for an organisation to make a change, such as successful web enablement, there needs to be change in at least two dimensions of the matrix.

Page 16

A Global Web Enablement Framework

Tom Robinson

Figure 2. The Technology Trap (Source: D. Wilcox and T. Grunwald [11])

The goal is to move from “Old, Old” (1) ways of working to “New, New” (4) ways of working. The two traps which may be fallen into, are to introduce new technology without the organisational approach being changed (3) or changing the way the organisation works, but not having the technological infrastructure to back it up (2). 2.3.2. Application Service Providers (ASPs) Application Service Providers are businesses that offer services, generally via the Internet, which customers can access remotely. The business model behind ASPs1 is to provide a service which is complex or expensive to set up but which many organisations would find useful. The service provider then sells access to this service for a small amount, but to a large number of customers, and is therefore able to profit from the revenue generated and cover their initial investment. There are many different ASPs available and they can range from email providers to remote application providers to processor time on super computers. For charities without the resources to have complex or expensive systems in-house, an ASP can provide very useful services at a good price. ASP resources are usually paid for on a
1

It should be noted that the term Application Service Provider (ASP) is unrelated to the term Active Server Page (e.g. ASP and ASP.NET) which is a development technology not a concept. Page 17

A Global Web Enablement Framework

Tom Robinson

pay-as-you-go basis. There is no need for a specialised infrastructure as most services are accessible using the Hypertext Transfer Protocol (HTTP) as web pages, or Extensible Markup Language (XML) web services. When it comes to looking at the issues with ASPs, one of the main problems is that there is limited scope for customisation of the service. For many customers, this is not a problem but there may be times when the only way to get the required service is to develop and manage it in-house. ASPs work best with services that can be used by a large number of different organisations but which would be too expensive or difficult to be provided and managed internally. Services that are bandwidth intensive are not always suitable for provision as an ASP either, unless there is a suitably fast connection between the provider and the consumer. An example of an ASP, which fits the model very well, is a service for looking up address details given a postcode. This is a good service for an ASP to provide as it is useful to a large number of organisations, the bandwidth required for each transaction is low and it would be very expensive for a small organisation to buy and manage its own postcode database. By subscribing to an ASP such as this, a charity could dramatically reduce the time it takes for a visitor to fill in a literature request form online. ASPs allow the organisation to use a complex system to improve the user experience but with very little in-house expertise other than the initial set up and linking to the ASP. Whilst postcode lookup is a relatively basic service, there is no limit to the potential complexity of an ASP. A more complex example is one of the many services which provide online survey systems. These ASPs allow organisations to design and publish questionnaires and then make the results accessible online. There is no need for the consumer organisation to have its own website to take advantage of the system. To develop a similar system in-house would require many resources and the total cost of ownership could be higher, especially for smaller organisations. Larger organisations may prefer their surveys to be managed in-house but for smaller charitable organisations, that may be a luxury which they cannot afford. A useful guide produced by CompassPoint Nonprofit Services [12] contains a detailed directory of ASPs which provide services either specifically for the charitable and non-profit sector or for any type of organisation. Some examples include remote donor database

Page 18

A Global Web Enablement Framework

Tom Robinson

packages, workgroup collaboration systems, event management, questionnaire providers, payment providers and volunteer matching systems.

2.4.

Support organisations and websites

There are a growing number of organisations that offer help and resources tailored for charities and other voluntary sector organisations. Some offer commercial consultancy services as well as free advice while others such as the Charity IT Resource Alliance (CITRA)1 are founded by a group of collaborating organisations. There are too many potentially useful organisations and websites to list them all but the selection below gives an indication of the variety of help available and is a good starting point for a more in depth investigation, based on an individual organisations needs. 2.4.1. Charity IT Resource Alliance (CITRA) CITRA is a collaborative technology alliance formed by eight charity sector bodies – the Institute of Fundraising2, Charity Consortium of IT Directors Group (CCitDG)3, Charity Technology Trust (CTT)4, The Association of Charitable Foundations (ACF)5, Charity Logistics6, smartchange7, and Community Network8. Its aims are to help improve access to relevant and trusted IT information, people and resources and through the collaborative alliance has a combined membership of over 40,000 individuals and organisations. The CITRA website contains forums, white papers, polls, surveys, resources and event information. 2.4.2. London Advice Service Alliance (LASA) Knowledgebase LASA9 is a development and resource agency for advice and information providers. The aims of the organisation are to make good advice available to all those who need it and to promote the development of high quality information and advice services. Whilst the scope of their
1 2

http://www.citra.org.uk/ http://www.institute-of-fundraising.org.uk/ 3 http://www.cfdg.org.uk/ 4 http://www.ctt.org/ 5 http://www.acf.org.uk/ 6 http://www.charitylogistics.org/ 7 http://www.smartchange.org/ 8 http://www.community-network.org/ 9 http://www.lasa.org.uk/ Page 19

A Global Web Enablement Framework

Tom Robinson

work covers more than just IT, the Information Systems Knowledgebase gives good advice on many subject areas including accessibility, buying equipment, databases, Internet and web development, IT management, project management, software and troubleshooting. 2.4.3. Making the Net Work Making the Net Work is a website which provides guidance for organisations, individuals and communities who are looking to improve or set up their online presence. The Department of Trade and Industry (DTI) funded the first project that the founders were set and later projects have been funded by the Department for Education and Employment (DfEE)1. The site contains a great deal of information and is especially suitable for charitable organisations looking into web enablement as it has an extensive set of links to other useful online resources. 2.4.4. IT 4 Communities IT 4 Communities2 allows IT professionals to volunteer their services to community and charitable organisations. It is supported by a partnership of organisations including the British Computer Society (BCS)3, the Worshipful Company of Information Technologists (WCIT)4 and the industry publication, Computer Weekly5. The partnership aims to increase the number of IT professionals volunteering in local communities and to make sure that the input they provide is effective. For charities which cannot afford their own IT staff or the often high costs of consultants, this, and other similar services, can be of great benefit.

2.5.

Globalisation

The ability of a web application to be globally accessible is essential for many organisations, even small organisations that do not have any staff or volunteers overseas. As the issues surrounding globalisation have been around since the birth of the Internet, there is a great deal of existing work in this area. This section looks at some of the key technical issues and the

1 2

http://www.dfes.gov.uk/ (formerly Department for Education & Employment) http://www.it4communities.org.uk/ 3 http://www.bcs.org/ 4 http://www.wcit.org.uk/ 5 www.computerweekly.co.uk/ Page 20

A Global Web Enablement Framework

Tom Robinson

solutions which are appropriate for the type of web applications discussed elsewhere in this dissertation. 2.5.1. Definitions Internationalisation (i18n) is the process of design or modification of a software project so that it can be later localised. With web projects, this is often done by separating the content from the design so that localised variations can be made without major rewrites and modifications of the design. The aim is to produce software that is free of any dependency on language, culture, script, and coded character sets. Localisation (l10n) is the process of converting a, preferably internationalised, application so that it is suitable for another language, culture or location. This often includes rewriting content and navigation into the target language, but sometimes involves more complex changes such as handling special character encoding methods. If the original application has not been internationalised first then the localisation may prove more difficult. Localisable products separate data from code, correctly display the target language and function properly after being localised. Globalisation is often used to as an alternative description for internationalisation. Globalised software is written to change the locale-specific information it uses to process data and display information to the user based on the configured locale of the operating system, or the personal preference of the user. 2.5.2. Planning for multiple localised websites It is important to think about the long-term plans for the website structure, even if there are currently no plans to have localised sites. Country Coded Top Level Domains (ccTLDs) are the approach taken by Google and many other companies. Each localised website is hosted at the root of its own dedicated domain. This approach works well if the domain name is available for each of the required localised regions. A limitation of this approach is that in some cases there may need to be further subdivision for multiple languages. Google uses the ISO language code on the end of the domain to resolve this complication. For example, the URL of Google Switzerland in French is:

Page 21

A Global Web Enablement Framework

Tom Robinson

http://www.google.ch/fr Where it is not practical to obtain a ccTLD for each localised site, a common approach is to obtain a generic Top-Level Domain (gTLD) such as ibm.com and then use sub domains for each localised site. Wikipedia is a well-known example of this. The example below is for the International English version of Wikipedia. http://en.wikipedia.org/

Directory based is another common technique used by a number of sites. It is similar to the sub domain approach, but the localised site is referenced as a directory, rather than a sub domain, as used by IBM UK: http://www.ibm.com/uk

2.5.3. Directing users to the appropriate site Many sites use an international gateway page to direct users to the most suitable localised site. The most difficult part of this is often that it needs to cater for visitors from many cultures and languages so has to be as clear as possible, whilst also maintaining a corporate look and feel. There are two routes which can be taken to reach a gateway page. The first approach is direct access, so that the gateway page is held at the root of the site. This means that when the main site URL is entered, e.g. ford.com then the first page to appear will be the gateway page. The second option is to have a link to the gateway page somewhere on the site’s front page. This works well where the localised sites have their own domain names and visitors are less likely to come across the incorrect site for them. For example, www.microsoft.co.uk goes straight to the Microsoft UK site, as it is presumed that any visitors who have used that domain name will be visiting from the UK.

Figure 3. International gateway example (Source: Wikipedia)

Page 22

A Global Web Enablement Framework

Tom Robinson

2.5.4. Automatic redirection To automatically redirect a user you must determine the location of the user and the language they prefer to use. The Internet Protocol (IP) address of a visitor can be determined with each request that a visitor makes. Geolocation software can use this information to determine the geographical location of a visitor by comparing it with databases of the IP address ranges and their location. Additionally the IP address can be matched against other similar IP addresses where the physical location is known. Unlike Internet servers, which are relatively static, home users with dialup connections are often assigned different IP addresses and hostnames each time a new connection is initiated. In this case the location can be hard to determine as it’s likely to change regularly, depending on where the dialup user is. The naming conventions used by some ISPs includes information which can be used to help determine location, for example:

Modem-226.ca.us.dal.net

With the example hostname above, geolocation software can take a good guess that the user is connected with DALnet in California, USA and is on a dialup modem. When a web browser makes a request for a page, the HTTP header can contain data about the preferred language of the browsers user. This is normally based on the language settings of the operating system, but it can be altered in the browsers settings. For example, the header may contain:

Accept-Language: cy, en-gb;q=0.8, en;q=0.7

Which means the user would prefer to retrieve a Welsh (cy) version of the page but will accept British English (en-gb) and other types of English if Welsh is unavailable. The variable q gives each language a quality factor, i.e. weighting between 0 and 1, where any value over 0 is acceptable. In this example, British English (en-gb) is given a higher preference to International English (en).

Page 23

A Global Web Enablement Framework

Tom Robinson

2.5.5. Language and cultural differences The localisation of a web application requires more than just direct translation. There are many differences in local culture which need to be reflected in a localised web application. For example, in Germany it is seen to be unprofessional to use lowercase text for titles and site logos whereas in other countries this is often done to give the site a more youthful image or to show informality. A technical problem, which is caused by the complexities of location, culture and language, is representing all the possible combinations. If a web application is to be localised for different languages, cultures and locations then there needs to be a way or representing these. The approach taken in many applications is to combine the ISO1 language code and ISO country code, in the hope that this will be enough to distinguish between different cultures. These combinations are often referred to as the locale – a combination of language and location.

Code en-UK en-US fr-CA Fr-FR

Language (Location) English (United Kingdom) English (United States) French (Canada) French (France)

Table 1. Locale codes combing location and language

If the location is not relevant, then language code on its own can be used. This is often the case with scientific or academic websites where slight regional variations do not matter, so there is no need to assign a specific country code. The problem with this approach is when there is a need to distinguish between two different cultures where the language and location are the same; a further level of specification is required.

1

International Organization for Standardization (http://www.iso.org/) Page 24

A Global Web Enablement Framework

Tom Robinson

2.5.6. International characters and writing systems There are many hundreds of languages which require special characters, accents and completely different language structures and writing systems to English. Some examples of this are show in Table 2. Although some languages share similarities, such as English and French, both are derived from Latin, other languages are completely undecipherable without being learnt from the ground up.

Type Phonetic (Alphabetic)

Language English/Latin

Example1

Characters represent vowels or consonants, left-toright.

Phonetic

Arabic Characters represent vowels or consonants, right-toleft.

(Alphabetic) (right-to-left)

Phonetic (Alphabetic)

Russian/Cyrillic Characters represent vowels or consonants, left-toright.

Phonetic (Syllabic)

Tagalog (Philippines) Characters represent combinations of consonants and/or vowels, each called a syllabary.

Ideographic

Chinese Thousands of ideographs used to communicate meaning, traditionally written top-to-bottom but nowadays left-to-right is commonly used.
Table 2. Examples of world writing systems

1

“Design will save the world” and translations sourced from http://www.artlebedev.com/studio/slogan/ Page 25

A Global Web Enablement Framework

Tom Robinson

2.6.

Chapter conclusions

Existing research and studies show that there is a clear need within the voluntary sector for improved IT infrastructure and an increase in web enablement. The previous research and studies carried out support this by highlighting the technology gap between commercial organisations and charities. Although an existing web development framework for charities could not be found, there are many support groups and communities which aim to help IT development within the charitable sector. These can be valuable resources and worth investigating at all stages of a web enablement programme. In terms of globalisation issues, most of the solutions which are applied to businesses are equally applicable to charitable organisations.

Page 26

A Global Web Enablement Framework

Tom Robinson

Chapter 3.
3.1.

Problems to be solved

Chapter outline

This chapter looks at the web enablement challenges facing charities and voluntary sector organisations. Some of these problems are unique to charities whereas others apply to any small organisation, particularly those with little in-house computing expertise and limited funds. 3.1.1. Similarities between business and charities Many of the issues and problems to be solved apply to both businesses and charities. There are also issues which only apply to businesses or only apply to charities. The diagram below illustrates this and shows that there is a large overlap between business and charity issues when it comes to web enablement. These differences are explained and explored further in this chapter. When researching and developing the framework, the primary target organisation type was small charities but many aspects of the framework are also suited to commercial organisations.

Figure 4. Business and charity issues

Page 27

A Global Web Enablement Framework

Tom Robinson

Due to the way they are funded, charities and non-profits tend to be more financially sensitive than businesses. They are often referred to as ‘mission-based’ because their aims are to fulfill an aim or mission, rather than to make purely monetary gains. Selby [13] states that it is important to recognise that commercial and non-commercial organisations have their differences, even though they can also be considered similar in many respects.

3.2.

Communication

Communication is the passing on of ideas and information. In business, it is essential to have good clear channels of communication. Communication in an organisation where there are a large number of people who need to be contacted and a small staff to handle communications can be helped a great deal by a good web enablement strategy. Traditionally organisations would communicate either face-to-face, over the telephone or by letter. This list of potential communication medium was later expanded to include faxes and then email. A charity will want to be able to communicate with a variety of people and the more it can use email or other electronic systems to do this, the more it can cut postage and phone call costs. There are five main groups of people which a charity will want to communicate with: 1. Internal staff including other offices and branches. 2. External staff, e.g. volunteers. 3. Existing customers and/or donors. 4. Potential customers and/or donors. 5. Suppliers and other business-to-business (B2B) communication. All of these communication recipients can be contacted using email or other Internetbased communication streams. Email should not necessarily be the only communication method as there are many cases where contact that is more personal is needed or where a recipient does not have access to email.

Page 28

A Global Web Enablement Framework

Tom Robinson

3.2.1. Email There are few modern organisations that do not have email access to some degree but research has shown (see Chapter 2) that not all of them will be fully utilising email as a communication method. Email can be described as an active communication method, as messages are sent at a given time and the content is often only valid for a certain time after the email has been sent. An example of this would be an email asking team members to read a draft proposal before it is sent to a higher-level manager. Whilst many organisations are able to reach a large passive audience, email is one of the cheapest and simplest ways of actively communicating to a large audience. 3.2.2. Moving from basic to advanced uses of email The table below compares some of the basic and advanced use of email.

Basic tasks Sending email As one of the most basic tasks, sending a basic email includes the entry of a recipient, subject and message body. Receiving email This is the process of accessing and reading new emails but to be effective it should also include the ability to check for emails regularly and to have emails sent to individuals rather than the organisation as a whole. Using attachments Attachments are a useful extension to standard text emails although care must be taken to keep the size of attachments to a minimum and to ensure that attachments are not potential security risks. Sending multiple emails using CC or BCC fields This is the most basic method of sending emails to multiple recipients. The main disadvantage is that using the CC field reveals the recipient list to all recipients. Using the BCC field keeps the list private but makes it more likely that the message may be mistakenly marked as spam.

Page 29

A Global Web Enablement Framework

Tom Robinson

Advanced tasks Sending multiple personalised emails This is where multiple emails are sent but with small customisations depending on the recipient. It also reduces the chance of a message being mistakenly marked as spam as each email is sent to a single recipient. Sending HTML formatted emails and newsletters Sending any email with HTML must be done with caution to ensure that all recipients can view the contents. As long as HTML emails are properly prepared and used for appropriate purposes they can be a useful communication tool. Sending automated emails based on events Automated emails sent by systems and applications can be useful for notifying the recipient of an error or an action that must be taken due to an event. Allowing automated subscriptions to mailing lists Rather than having somebody manually adding and removing recipients from a mailing list, it is very useful to have a tool which allows the users to do this without any action from staff. Receiving, parsing and recording email contents It is possible to machine read the contents of an email and to take action based on the content. Spam and virus filters read email contents to decide whether to block messages or not. An email address set up to receive messages formatted in a certain way can be set up to extract data and to store it in a database, perhaps then deleting the email if it’s no longer needed. Email redirection or filing based on contents An automated system can be used to send enquiry emails to the appropriate person depending on the keywords found in the email.
Table 3. Basic and advanced email usage

3.2.3. Sending bulk emails The results of Goatman’s study [6] showed that there were concerns across all sizes and types of organisation that external emails may be regarded as junk mail and blocked by spam filters.

Page 30

A Global Web Enablement Framework

Tom Robinson

As email becomes more important to an e-enabled business, it is important to be able to send large numbers of emails without them being blocked before they reach the recipients.

3.3.

Non-technical issues

3.3.1. Organisational culture If an organisation has staff that are inexperienced with modern technology, particularly Internet and computing skills, then this can be a major issue in IT development. Wyatt [9] discovered that middle aged and older people were often reluctant to use ICT. As well as a lack of skills, some staff may be reluctant to change the way they do their job, particularly if they have been used to completing their work successfully without the help of computer technology. In this case they may see change either as a threat to the way they work or even as a threat to their job. In [9] it was revealed that some people were not used to the culture of information sharing and the passing of documents via electronic means. Charities are generally not-for-profit organisations, which means that any returns are fed back into the organisation rather than to shareholders and owners. Non-profits cannot issue dividends or financially reward their directors to the same extent as commercial organisations. This is complicated by the fact that even though the overall aim of a charity is not to make a profit, they still need to make money the same way as a commercial organisation in order to expand and grow. Charities are likely to find it harder to get funding in the first place, as they do not have the investment opportunities that profit making organisations have. As in any small business, there is often a lack of formality in the way charitable organisations operate. This is part of what makes many organisations work effectively, as each member of staff is empowered to use their initiative and make their own decisions without lengthy consultation with senior staff. This is something which must be thought about when planning to web enable an organisation, as it could affect the way in which it is received. 3.3.2. Fear of failure Cravens [14] suggests that one of the barriers preventing organisations from becoming web enabled is a fear of failure and a perceived waste of already scarce resources if a high-risk

Page 31

A Global Web Enablement Framework

Tom Robinson

web project fails. There may be a tendency for an organisation to stick to what it knows but this can leave it behind when it comes to taking advantage of web technology. Cravens [14] even suggests that some people may see the use of new technology as a ‘fad’, perhaps this is understandable given the speed at which technology and particularly the Internet has developed.

3.4.

Legislative compliance

3.4.1. Data protection The Data Protection Act 1998 [15] applies to all UK businesses, including charities. The act was created to protect the privacy of individuals and businesses by setting rules for the use and storage of personal data. To comply with the act anyone processing personal information must follow the eight principles of good information handling practice, which state that data should be:

1. Fairly and lawfully processed 2. Processed for limited purposes 3. Adequate, relevant and not excessive 4. Accurate and up to date 5. Not kept longer than necessary 6. Processed in accordance with the individual’s rights 7. Secure 8. Not transferred to countries outside European Economic area unless country has adequate protection for the individual
Figure 5. Data Protection Act 1998 (Source: Information Commissioner's Office1)

Large commercial organisations, who are likely to have more resources available to manage data protection, may find it easier to comply with the eight principles than small
1

http://www.informationcommissioner.gov.uk/ Page 32

A Global Web Enablement Framework

Tom Robinson

charities with less time to ensure legislative compliance. Whatever the size of the business the rules are the same so it is important that the principles are kept in mind when developing new systems and processes which deal with data. For organisations that have overseas operations and where data needs to be transferred outside of the country of origin, the complication increases. The country importing the data must have equivalent protection as stated in principle 8. 3.4.2. Disability Discrimination Act The Disability Discrimination Act 1995 [16] covers a number of topics but the most relevant in the context of this dissertation is “Part III - The provision of goods, facilities and services” which specifically mentions websites (Pages 7 – 71). Although the legislation clearly covers websites, the part of the act regarding it is very general and does not mention any specific standards that must be met. The act states that:

The Disability Discrimination Act makes it unlawful for a service provider to discriminate against a disabled person by refusing to provide any service which it provides to members of the public.

If the service is provided via a website then it must be made accessible to all. If a website is not accessible then steps must be taken to improve the ability of visually or otherwise impaired users to access and use the services the site provides. Although the act does not specifically mention any requirements for accessibility of websites there are widely recognised standards which can be used to check for website accessibility. The most widely supported are the World Wide Web Consortium’s (W3C) Web Content Accessibility Guidelines 1.0 (WCAG) [8] which define three levels of conformance (A, Double-A and Triple-A). The three levels of conformance allow for the distinction between basic accessibility guidelines being met, through to highly accessible websites, and a lack of conformance shows a low level of accessibility. The guidelines offer both guidance and a method of checking conformance against a set standard. Tools to check a website are

Page 33

A Global Web Enablement Framework

Tom Robinson

available on the W3C website and commercial accessibility testing tools such as WatchFire’s WebXM1 (formerly known as Bobby).

3.5.

Globalisation

For the scope of this dissertation, an international charity is defined as one which has volunteer or salaried staff working away from the country of origin for extended periods of time. It also includes any charities which are reaching out to a global market place. International charities face the additional challenges of long distance communication, language barriers and variations in infrastructure. 3.5.1. Local infrastructure Local infrastructure will affect the speed, reliability and ease of access to information. Although many countries now have widespread broadband connections, others have very limited access and slow, unreliable connections. Another problem is the age and ability of computer hardware and software. Many technologies for information sharing depend on new standards which are not always supported by older software. 3.5.2. Language Information presented in a language that is not understood by the reader is likely to be either indecipherable or at best, difficult to understand. Some languages share similarities, languages based on Latin for example. Although language similarities can allow the target audience to get a basic understanding of the information, it can easily be misinterpreted or only partially understood. If the difference between the languages of the source and target are large then it is very unlikely that it will be understood at all. The difference between English and Chinese is vast and makes it very difficult to translate using guesswork and language similarities. Cultural differences mean that it takes more than just straightforward translation to make something suitable for use in another culture. A major factor in translation complexity is the number of regional variations. The French spoken in Canada is different to the French spoken in France so language that is suitable for one region may not be suitable for another. Some countries have more than one official or commonly spoken language. The federal Constitution of Switzerland stipulates that German, French, and Italian are Switzerland's
1

http://www.watchfire.com/products/webxm/ Page 34

A Global Web Enablement Framework

Tom Robinson

official languages as well as Romansh for communicating with Romansh-speaking persons. Additionally, English is increasingly being taught from an early age, often in preference to a second official language. Each additional language that must be catered for adds to the time needed to translate and manage a web application. A further complication, which sometimes occurs, is when the translation of a name, product or trademark has an unintentional meaning in other languages. This can occur even if a web application has been localised because logos and brand names are often kept the same. The Clairol “Mist Stick” (a curling iron) was sold in Germany under its English name which, in German slang, reads as “Manure Stick”. These sorts of problems can also occur because of bad translation – the Kentucky Fried Chicken slogan “finger-lickin’ good” was originally translated to Chinese as “eat your fingers off”. 3.5.3. Culture Culture is a difficult aspect of information sharing as, although languages can be translated, it is more difficult to translate the overall content of the information so that it is suitable for another culture. Information can either be translated directly, possibly causing problems if it does not come across well to another culture, or it can be translated indirectly. Indirect translation is often necessary for marketing information where the market and culture varies greatly from country to country. Many web projects are designed without giving a lot of attention to the expansion of the service to other languages and cultures, causing problems when there is a later need to expand a product overseas. There are a huge number of issues which need to be dealt with when globalising a web application. These issues include but are not limited to language, culture, currency, legislation, infrastructure, security and reliability. Dealing with each of these elements is a major challenge although some are more difficult than others. 3.5.4. Design sensitivity The perception of colour varies across the world. In Egypt, the colour white often represents joy whereas in Japan it more commonly represents death [17]. These are generalisations and it does not mean that a white colour scheme for a Japanese audience is necessarily bad but it is worth considering this aspect of colour during the design. The problem with using a variety of

Page 35

A Global Web Enablement Framework

Tom Robinson

colour schemes is that global branding can be affected and it adds an extra level of complexity to any internationalisation attempts. 3.5.5. Legislation and currency Legislation differs depending on physical location. In Canada, it is illegal for a job application form to ask somebody’s religion or ethnicity whereas in the United Kingdom it is common, even if only for statistical purposes. The biggest problem with legislation is that it is constantly changing and therefore time consuming and complex to manage. Varying exchange rates and different currencies often require a web application to dynamically change the pricing for each country. The alternative is to have stabilised prices for different but this can lead to problems if customers discover that a product is effectively cheaper to buy using a different currency with a more favourable exchange rate.

3.6.

Infrastructure

3.6.1. Variance in technology, infrastructure and security overseas The quality and availability of access to the Internet varies overseas. In Africa Internet penetration as a percentage of the total population is only 1.4% whereas in North America this is much higher at 66.5% [18]. Much of this is due to the infrastructure and the perceived importance of Internet access. The world’s information infrastructure is developing rapidly, with more countries becoming Internet enabled and a huge number of languages and cultures to deal with. Allowing easy access to information in the relevant language and format is an important issue and needs to be studied to encourage widespread use of any major web application. One solution to this wide variance in access is to make web applications technically and culturally neutral. The downside to this is that it can remove the personality of the web application and make it seem too biased towards the dominant culture. There is a large gap between the technological infrastructure in developed countries and the infrastructure of developing countries. While broadband is popular in North America it is very unusual to find it in poorer countries. The way in which the Internet is accessed also varies. In richer countries users tend to use it at home or in the workplace, whereas elsewhere

Page 36

A Global Web Enablement Framework

Tom Robinson

in the world it may only be possible to gain access at Internet cafés or libraries. When developing web applications for global use, this is an important area to look at and could be the difference between the product working or being unusable. If a site has been developed for the US market, with lots of animation and images then it is not likely to succeed well in countries with slower access speeds. 3.6.2. Designing for technical limitations Although the growth of new technologies has been fast, not everyone is able to keep up with the latest developments in hardware and software. This can restrict the technologies used, especially if it needs to be deployed in poorer countries or organisations with older technology such as schools and other charities. The infrastructure and age of resources is a limiting factor and may mean that some of the advanced features available in modern web browsers cannot be used until they are mature enough to have a wide and global penetration; this can take many years. 3.6.3. Weight Heavy use of multimedia for a UK audience is often suitable as a large proportion of the population have access to broadband Internet connections. In poorer countries where the infrastructure is often unreliable and slow, and the hardware and software a few years behind, then the weight of a site must be decreased significantly. The weight of a site is the quantity of information which must be downloaded from the web server to the user, for the page to be displayed. It is usually measured in Kilobytes. Graphically intensive pages have a greater weight than pages which just carry textual content. Yahoo!1 Is often used as an example of a lightweight, yet content filled, site even where there’s the opportunity for it to exploit the high bandwidth available to some of its visitors.

3.7.

Chapter conclusions

This chapter has investigated some of the key problems which charities looking to web enable may face. Communication is a key business driver but must be carefully thought out to avoid common pitfalls. Non-technical issues faced by the sector cannot always be solved immediately but by understanding them it can help to make the web enablement process
1

http://www.yahoo.com/ Page 37

A Global Web Enablement Framework

Tom Robinson

easier and less likely to fail. For smaller organisations, it can be hard to find time and resources to ensure legislative compliance, however it is an important issue and all organisations must do their best to follow laws such as the Data Protection Act and the Disability Discrimination Act. As shown by Figure 4, there is a large overlap between the issues faced by charities and commercial organisations. Now that the issues have been explored more fully, it is useful to refer back to Figure 4 to see which issues are unique and which issues apply to both sectors. Now that charities have been introduced, problems discussed and existing work examined, the dissertation can move on to the development of a framework designed for assisting charities and voluntary sector organisations to achieve their web enablement goals.

Page 38

A Global Web Enablement Framework

Tom Robinson

Chapter 4.
4.1.

The F4 Pyramid Framework

Chapter outline

This chapter outlines a generic framework for web development, designed primarily for charitable organisations, but also suitable for many small businesses. The framework uses a modular approach to web enablement and covers suitable approaches and techniques for web enablement of a number of key business areas.

4.2.

The framework

4.2.1. Development of the framework The framework was developed and refined based on previous research and existing information in the area of web enablement, as well as through the work carried out at GAP Activity Projects. GAP is examined in more detail in the next chapter, where practical examples of the framework are shown and put into an actual business context. Ideas for the framework were based on previous experience as well as general reading about the current state of the art (see Bibliography). By consulting with management staff, colleagues and through contact with other charities, it was possible to develop a clear picture of the needs and desires of charitable organisations and their unique needs. This led to the requirements of a framework being collected, which were then applied to the design and implementation. Within GAP there are a number of departments, including Marketing, Operations, Development and Finance, all of whom were consulted during the research process and while implementing the framework. 4.2.2. Framework model and framework infrastructure Whilst this chapter primarily deals with modelling of the framework and its processes, the case study, and the applications created as a result of the practical implementation of the model, have resulted in an infrastructure of tools and methods to support the framework. These tools and methods are investigated and explored in more detail in the next chapter but at this stage it’s useful to be aware of the two separate but complimentary aspects of the overall framework.

Page 39

A Global Web Enablement Framework

Tom Robinson

4.2.3. The layers of the framework model The many components which make up a web enabled organisation can be split into any number of categories or layers. However, after looking at these components in terms of the order in which they should be implemented, it was decided that they would fit best into four distinct ordered layers. The first layer of the framework model is the Foundation (F1) layer which consists of the underlying IT infrastructure. The Fundamentals (F2) are components which require the foundations to be in place and which are necessary to support the Features (F3) layer. All layers rely heavily on the Foundations which includes hardware components as well as suitable software. The Features layer contains features which build upon the Fundamentals layer. The top layer of the pyramid is the Future (F4) layer. A well-planned web enablement project should leave room for future possibilities and new technologies which are not available at the time of the initial implementation. Unlike some projects with a fixed tangible deliverables, web enablement projects are usually ongoing concerns and it is important to allow for the fact that there will be a constant need for change and refinement during the lifecycle. For this reason, the top layer has been illustrated as clear, as it is a vision rather than a tangible layer.

Page 40

A Global Web Enablement Framework

Tom Robinson

Fea tu

res

l es odu M ry & libra odule e Cod rship m be mem e& ctur ility stru b Infra Availa T I net nter I

Fun d

ame n

tals

Fou nda ti

ons

Figure 6. The F4 Pyramid Framework

4.2.4. Why a pyramid? A pyramid is used to represent the framework model for a number of reasons. By showing the higher layers as smaller than the layers below, it demonstrates that the size of the underlying layer has a direct affect on the size and scope of layer above. For example, if the IT infrastructure can only cope with 25 concurrent database connections then the layers built on top of those foundations will also be limited, unless the Foundations layer expands. The pyramid model has no units of measurement and can therefore be scaled to fit any size of web enablement project. Like a real Egyptian pyramid, the lower stages must be built first in order to support later work built on top. The higher layers will only ever be able to grow if the underlying layers allow them to do so. Figure 7 illustrates how layers of the pyramid can be expanded to represent potential future expansion needs, but because of the pyramid shape, the lower layers must always be expanded first. Progress through the pyramid

Page 41

A Global Web Enablement Framework

Tom Robinson

stage is vertical from bottom to top. It is important to make sure the foundations are in place for the implementation to be both scalable and supportable.

Figure 7. Direction of expansion and progress

The converging tip of the pyramid demonstrates that the possibilities for future progress are going to be finite and limited by the lower layers. The wider and more supportive the rest of the pyramid is, the further away the limiting tip becomes. 4.2.5. Content of each layer The diagrams below show the order of progress and the suggested contents of each layer of the pyramid.

Page 42

A Global Web Enablement Framework

Tom Robinson

Foundations

Foundations Some of the key elements in this layer include:

Internet access Email Security Software Data storage Programming platform

• • • • •

Internet access Email Security Software Data storage Programming platform

Figure 8. Foundations

These primarily consist of the IT infrastructure and are likely to already exist in one form or another in many organisations. This layer is important in highlighting the need for a stable base layer before developing further tools and applications.

Foundations Fundamentals

Fundamentals Some of the key elements in this layer include: • • • • • Industry guidelines Best practices Code library Error handling Membership Testing Documentation

Industry guidelines Internet access BestEmail practices Code library Security Error handling Software Membership Data storage Testing Programming platform Documentation

Figure 9. Fundamentals

• •

Fundamentals move away from the physical infrastructure and deal with processes, data structure, documentation and the methodology used.

Page 43

A Global Web Enablement Framework

Tom Robinson

Foundations Fundamentals

Features Some examples of applications that can be developed for this layer include: • • • • Online communities Sending multiple emails Online forms Extranet Global data access Global file access

Features Industry guidelines Internet access BestEmail practices Code library Security Online Error handling Software forms etc. Membership Data storage Testing Programming platform Documentation

Figure 10. Features

• •

In this layer the features developed for different organisations are likely to vary. The examples given above are explored further later in this dissertation but there are many more possibilities. This is the stage where the benefits of web enablement become clear to all as the new developments will reach out beyond internal processes and systems.

Foundations Fundamentals

Future Some future technologies applicable to this layer include: • • • Mobile features New technologies Expansion of current features

Features Industry guidelines Internet access BestEmail practices Code library Security Online Error handling Software forms etc. Membership Data storage Testing Programming platform Documentation

Figure 11. Future

The future cannot be predicted accurately, particularly in the fast-paced IT industry which web enablement projects are a part of. It is important to look at what the future may bring

Page 44

A Global Web Enablement Framework

Tom Robinson

4.2.6. Implementing and using the framework The flowchart in Figure 12 can be used as a high-level guide to implementing the framework. It covers implementation from the start, all the way through the four stages of the framework. As web enablement projects tend not to have a finish, there is no end state. The diagram is split into IT Development and Software Development tasks. This distinction is useful if an organisation is looking to employ a software developer but, to reduce employment costs, does not want to begin employing them until they are needed or are able to work effectively. For a software developer to be effective, the foundations must already in place.

Page 45

A Global Web Enablement Framework

Tom Robinson

The summaries referred to in Figure 12 are available in this chapter as well as the Appendix.

Start

F1
Suitable foundations in place? No

Ensure suitable foundations are in place using Foundations Checklist (see Appendix) IT DEVELOPMENT

Yes

SOFTWARE DEVELOPMENT Refer to Summary of Fundamentals (see Appendix)

Maintenance & documentation of code begins

F2
Develop Fundamentals

Refer to Summary of Features (see Appendix)

F3
Implement Features

Add new Features

F4
Explore Future ideas

Refer to Summary of Future (see Appendix)

Figure 12. Implementation flowchart

Now that the overall methodology has been shown, the next stage is to explore each of the four layers in turn, and investigate each in detail.

Page 46

A Global Web Enablement Framework

Tom Robinson

4.3.

Foundations (F1)

4.3.1. Introduction The framework is dependant on an underlying IT infrastructure. The basic IT infrastructure, which the framework depends on, consists of items such as a Local Area Network (LAN), client PCs, servers, software and Internet access. The programming platform chosen must meet suitable generic requirements such as object orientated programming features. The Microsoft .NET Framework meets and exceeds the requirements for this layer of the framework and was used to develop the tools and applications in the case study. For the layers built on top to work effectively, there needs to be a solid and reliable infrastructure underlying the systems and processes. This is analogous to the building of foundations before building a house, the foundations have to be built or it is impossible to build the rest of the structure. With software engineering projects, there can be a bit more flexibility as it is possible to improve the foundations after, or at the same time as, the projects which are built upon it. In an ideal world, the underlying infrastructure would be put in place before software was developed on top of it but in reality, most software projects have to be built upon on existing infrastructure. The exception is completely standalone projects, or brand new organisations who can afford to invest in a suitable infrastructure from day one. Because small charities are likely to have limited funding there’s a good chance that this will be reflected in the quality of their existing computing infrastructure. 4.3.2. Checklist The Foundations Checklist in Figure 13 can be used as a starting point for planning and implementing the foundations. Initially it can be used for auditing purposes and then later used to check progress in the implementation of foundations. Although a basic list, it is designed for use by non-specialist staff that need a starting point and an indication of the work which is required. The checklist requires a level of technical understanding but the reader only needs to be know what an item on the list is and means, not how to implement it.

Page 47

A Global Web Enablement Framework

Tom Robinson

Figure 13. Foundations checklist

Page 48

A Global Web Enablement Framework

Tom Robinson

4.4.

Foundation: Internet access

4.4.1. Connectivity Before an organisation can e-enable itself, it needs a fast, reliable and preferably always-on connection to the Internet. The report, E-enabling the Voluntary and Community Sectors [9], showed that voluntary and community sector organisations were less likely to have an Internet connection. Whilst 94% of businesses expected to have a connection by the end of 2001, only 78% of voluntary sector organisations expected to have the same level of access within the same timeframe. The speed and type of Internet connection required will depend on the number of users in the organisation who will be using it to contact the outside world as well as the number of users and other staff who will be using it to connect to information systems within the organisation. Most connections only advertise the download speed and leave the upload speed in the small print. If an organisation is planning to host a website itself then the upload speed should be at least 512kb/sec. Synchronous connections such as Synchronous Digital Subscriber Line (SDSL) are preferable to Asynchronous Digital Subscriber Line (ADSL) but are generally more expensive. The contention ratio should also be kept low, preferably at least 1:20. Any Internet connection that is business critical should have a suitable service level agreement attached to it. This may drive the price of the service higher than an equivalent consumer level contract but if the business depends on Internet access to operate then it can save on support costs in the long term and provide a better service to customers. 4.4.2. Hosting Hosting of websites can either be managed by internal staff or outsourced to consultants; it can also be physically hosted externally or internally. Often a combination of these approaches is useful. External hosting is better suited to websites which receive a lot of traffic and which need to have an availability of close to 100%. Using externally managed hosting is often good value for money because it is now such a large industry and therefore it is the approach most organisations take. Externally managed hosting also relieves internal staff of the burden of managing and supporting the servers. As with other external contracts, it is

Page 49

A Global Web Enablement Framework

Tom Robinson

important that a service level agreement is signed to make sure that the hosting will be suitable for its purpose. For more advanced web applications, it may be desirable to have the server physically hosted in a major data centre so that it has access to fast and reliable Internet connection but is still managed by internal staff. This costs a lot more than shared managed hosting but it has the major advantage of complete control over the server but without having to worry about connectivity to the outside world. The major disadvantage is that if anything goes wrong then the responsibility lies with the operator, not the network provider. A cheaper alternative to the above approach is to host some web applications internally. This can be a good approach to take when a site is being developed and changes are constantly being made. At a later date, and if visits increase beyond the capacity of the corporate Internet connection, then the server can be transferred to a data centre with the required capacity.

4.5.

Foundation: Email

Most organisations have already realised the benefits of widespread access to email. To be truly web enabled then all staff, including volunteers should have regular and reliable access to email. This level of pervasiveness enables applications to be developed which can use email as a key part of their functionality. An example is enabling staff to receive email notifications when a website visitor requests literature to be sent to them. The old approach might be to list on the website the phone number of the relevant contact who would deal with the request. A better approach would be an online form which the visitor can fill in and send directly to the relevant staff member. As well as requiring the user to be less proactive in contacting the organisation, it also makes the service available 24 hours a day. An advantage of online forms over email is that it is easy to set up specific fields on the form which can only contain certain values or that must be filled in for the form to be submitted. This should reduce the chances of the requester having to be contacted again to clarify exactly what they want or meant. Without a staff culture of regularly checking email, this system would fail so it is important that this requirement is met before building projects that rely on it.

Page 50

A Global Web Enablement Framework

Tom Robinson

Whilst an organisation without a web presence can operate without email, it is rare to find an organisation with a web presence that does not regularly use email. Some organisations have made the complete transition from physical presence to online presence and can only be contacted by email or through their websites. Amazon 1and eBay2 are well known companies which operate entirely online, not even displaying a contact phone number on their website. 4.5.1. Spam A hazard of web enablement is the increased reliance on email over more traditional methods of communication. Spam, phishing and viruses are issues which affect most email users to some degree, but once they start affecting business critical systems the problem can worsen significantly. Suitable spam filters should be set up to reduce the volume of unsolicited mail reaching staff but without blocking genuine emails. A compromise is often the best solution as it blocks most spam, but does not result in as many false positives.

4.6.

Foundation: Security

Security is becoming increasingly important in recent years and many organisations are placing it very high on their list of IT priorities, if not at the top. There is good reason for this given the increased severity, intelligence and frequency of attacks on users and the systems they use. Current best practice recommends that security should be both physical, policy based and software based. This is based on the concept of defence in depth where a layered approach reduces the attackers chance of success and increases the attackers risk of detection as they penetrate or fail to penetrate each layer of the defence strategy.

1 2

http://www.amazon.com/ http://www.ebay.co.uk/ Page 51

A Global Web Enablement Framework

Tom Robinson

Figure 14. Defence in depth (Source: Microsoft)

4.6.1. Firewalls Firewalls are the first line of physical defence on computer networks. They act as a gateway between the organisation’s internal network and the outside world. Firewalls significantly reduce the initial attack surface as they block access to all ports other than those which need to have external connectivity. Two of most common firewall ports left open are port 80 for HTTP and port 443 for SSL/HTTPS. These ports must be open to allow web traffic through the firewall and into the web servers on the organisations network. The topic of secure firewall setup and usage is beyond the scope of this dissertation but it is definitely something which any organisation, and even home users should make sure they have in place as a bare minimum. 4.6.2. Anti-virus The impact of viruses, worms and Trojans can range from minor annoyances to complete system failures or data loss. As with any size of organisation, a large loss of data can be a disaster both financially and operationally. Smaller organisations and charities may find it

Page 52

A Global Web Enablement Framework

Tom Robinson

particularly hard to recover. A firewall offers little protection if a virus arrives as an email attachment, on removable media or is unintentionally downloaded from a website. In accordance with the defence in depth model shown in Figure 14, there should be appropriate anti-virus protection on the client and servers, even though they are already partially protected by the preceding layers of security.

4.7.

Foundation: Software

Software is needed for a number of areas of the foundation layer. There must be suitable operating system software on the servers and workstations which comprise the organisation’s network. The operating system software must be able to take advantage of Internet connections, be able to support a range of server and client applications and be secure and stable. 4.7.1. Reduced price software Most software vendors offer software to charities and academic institutions at a reduced rate. Where a normal small business might opt for cheaper alternative software, charities often have the advantage of being able to buy more advanced products at a similar price to cheaper alternatives. Thanks to the generosity of many software vendors towards the sector GAP Activity Projects has been able to use some of the latest industry standard software packages including Microsoft Windows1, Microsoft Office2, Macromedia Studio3, Adobe Photoshop4, Adobe Illustrator5 and Microsoft Visual Studio6.

4.8.

Foundation: Data storage

4.8.1. Databases Databases can be used for a variety of tasks. They may be used for complex enterprise-wide databases with hundreds of tables right down to simple single table logging applications. To web enable an organisation there needs to be the infrastructure available to allow applications
1 2

http://www.microsoft.com/windows/ http://office.microsoft.com/ 3 http://www.macromedia.com/software/studio/ 4 http://www.adobe.com/products/photoshop/ 5 http://www.adobe.com/products/illustrator/ 6 http://msdn.microsoft.com/vstudio/ Page 53

A Global Web Enablement Framework

Tom Robinson

to write to and read from databases. Although it is possible to run a website without a database back-end, it is not possible to develop features such as dynamic news pages or subscribable mailing lists. 4.8.2. File storage and backup Organisations of any size, including sole proprietors, should ensure that any data and files used by the business are kept securely and easily accessible. If possible, an organisation should aim to store its data centrally on a physically secured server. It should also set up a regular backup routine in the event of a hardware or software failure, fire or theft. Most PCs are initially set up under the presumption that all data will be stored on the local hard drive. Whilst this may be necessary in some cases, high bandwidth video editing for example, the use of network storage devices should be encouraged and made as easy to use as possible. A common setup is to give users access to a protected directory for their own files and then to have one or more public or departmental file shares available for more general use. Email is increasingly becoming used for the storage of critical information in the form of file attachments and messages. It is essential that email is also backed up regularly. As well as file storage being available, it should be fast enough for the user not to notice that it is not stored locally. Capacity should be monitored so that it can be increased before users begin to hit the limit and potentially lose data.

4.9.

Foundation: Programming platform

4.9.1. Programming environment choices In a small organisation with limited resources and time, it makes sense to limit the number of core technologies and programming environments that are used. It is a major advantage and cost saving to be able to re-use knowledge and code from one project and use it in others. The requirements are listed below. 1. Ability to interact with legacy applications and code. 2. Ability to develop web, desktop and server applications. 3. Scalability and flexibility for future growth. 4. Extensibility if the required functionality isn’t available as standard.

Page 54

A Global Web Enablement Framework

Tom Robinson

5. Reliable and tested technology, not experimental technology or betas. At present, the two most prominent technologies which meet the criteria above are the Microsoft .NET Framework and the Java 2 Platform, Enterprise Edition (J2EE). Another architecture which is worth considering is the LAMP open source software collection, comprising of Linux, Apache Web Server, MySQL database server and PHP/Python/Perl, hence the acronym. 4.9.2. Java 2 Platform, Enterprise Edition (J2EE) J2EE is a platform defined by a specification from Sun Microsystems, it uses the Java language which was also developed by Sun. The core technologies which comprise J2EE are Enterprise Java Beans, Servlets, Java Server Pages and a number of web services technologies. J2EE has a number of features which differentiate it from the Microsoft .NET Framework, the most commonly cited being its ability to operate on multiple platforms from different vendors. This ability to operate cross-platform is something which makes it attractive to organisations which have a variety of existing hardware and operating systems, it also reduces the reliance on one particular operating system vendor and hardware architecture. 4.9.3. Microsoft .NET Framework The Microsoft .NET Framework shares many similarities with J2EE and has been on the market for less time than Java. The most significant difference between the two platforms is that the .NET Framework utilises a technology called the Common Language Runtime, which allows .NET applications to be written in almost any high-level language. J2EE’s Virtual Machine technology is similar but only the Java language can be used. Although the Microsoft .NET Framework offers greater language flexibility it is more restricted in terms of cross platform abilities. Microsoft understandably only fully supports its use on Microsoft platforms and with the Microsoft developed languages of C#, Visual Basic and J# (based on Java). Other languages which can be used include Perl, Python, COBOL, Eiffel, Pascal, Fortran, SmallTalk, Java, RPG, Ada and APL. This gives a great deal of flexibility, particularly if a charity already has a developer or consultant who works with a less commonly used language and does not want the expense and inconvenience of retraining them.

Page 55

A Global Web Enablement Framework

Tom Robinson

Although Microsoft itself is not currently pushing cross-platform support there are a number of projects looking to improve on this. The most well known is Mono1, supported by Novell, which includes both developer tools and the infrastructure needed to run .NET client and server applications on Linux. The Microsoft .NET Framework makes a lot of sense if an organisation is already using a lot of Microsoft technology as the integration between products is extensive and planned to become even more so because of Microsoft’s Common Engineering Criteria2. The common criteria must be met by all major new Windows server products and requires support for the .NET Framework as well as other key Microsoft technologies. This is a positive step towards reducing the complexity of integrating multiple systems.

Figure 15. Microsoft .NET Framework (Source: Microsoft)

The diagram above (Figure 15) shows how the various components of the Microsoft .NET Framework fit together. The languages which meet the Common Language Specification [19] can be used to create both web applications and traditional Windows applications. The core code for each task is the same, the only difference between programming a web and a Windows application being the specific functionality and abilities of the environment. The next layer is ADO.NET, which deals with connections to databases
1 2

http://www.mono-project.com/ http://www.microsoft.com/windowsserversystem/cer/allcriteria.mspx Page 56

A Global Web Enablement Framework

Tom Robinson

and other data sources, including XML. The code is compiled and run by the Common Language Runtime, which interacts directly with the operating system. Visual Studio .NET is Microsoft’s preferred tool for producing code and managing each of the layers of the Framework but it’s possible to use other tools, including a simple text editor and the command line compiler. 4.9.4. LAMP The LAMP architecture is an unofficial acronym for a suite of commonly used open source software packages which are frequently used to create integrated web application solutions. The major difference between LAMP and J2EE/Microsoft .NET is that the originators of the individual applications did not originally design their software to work together. The term LAMP was popularised by Michael Kunze in an article for the German computing magazine “c't” in 1998. There are now a number of other collections of software using similar acronyms, this is to be expected as the choices of technology change and new packages gain popularity over others. For a long time MySQL was the most popular choice of database back-end among PHP 4 developers but with the advent of PHP 5 and its integrated SQLite database engine, as well as the increasing popularity of PostgreSQL, the choice of database platform is less clearcut. There is no reason to expect development of open source alternatives to J2EE and Microsoft .NET to cease to exist but it is likely that they will continue to operate as a number of smaller components for a while to come. For this reason the highly integrated Microsoft .NET Framework and J2EE platform may offer less confusion for small charities who prefer the future direction of their platform to be controlled by a software vendor; Microsoft and Sun Microsystems respectively. For a commercial organisation open source software can offer a significant cost saving and the extra complication of managing multiple packages may not be so much of a problem if there is a large enough team to support it. For charities, there are currently significant discounts available for purchasing the software required by the Microsoft .NET Framework. The core software components of J2EE are available to download free of charge.

Page 57

A Global Web Enablement Framework

Tom Robinson

4.9.5. Using the Microsoft .NET Framework Both the Microsoft .NET Framework and J2EE share a common base functionality, which makes them suitable for the requirements of the techniques used in the framework and case study. For the rest of this dissertation the Microsoft .NET Framework will be the platform which is used for examples. J2EE is just as suited to the task but as the case study, and therefore the practical work supporting this dissertation, has been developed using Microsoft .NET it is sensible to concentrate on showing examples using this platform for the remainder of the dissertation. The table below lists the equivalent technologies for the two platforms:

Microsoft .NET Framework

Java 2 Platform, Enterprise Edition (J2EE)

C#, C++, J# and Visual Basic programming languages .NET Framework Class Library ASP.NET IL Common Language Runtime

Java programming language

Java core API Java Server Pages (JSP) Java Virtual Machine and CORBA IDL and ORB

Windows Forms ADO.NET and SOAP-based Web Services

Java Swing JDBC, EJB, JMS and Java XML Libraries (XML4J, JAXP)
Table 4. Comparison of .NET and J2EE features

4.9.6. Recommended programming platform features There are a number of features which it is recommended the chosen programming platform includes, or is capable of using. The features are explained in this section along with a justification of why they are useful. It is still possible to implement the framework without some of these features, but they should make development easier, faster and more reliable. 4.9.7. Object-oriented programming (OOP) Object oriented programming practices have been used for the example implementation of the framework. The ability to re-use code allows for easy expansion, scalability and flexibility.
Page 58

A Global Web Enablement Framework

Tom Robinson

ASP.NET offers a unique development approach where everything in a web page, even down to the basic level of a tag, can be treated as an object. This gives a powerful means of accessing and controlling web applications with properties to set and retrieve information, and respond to events occurring within the application. 4.9.8. XML & web service support The .NET Framework has been developed with thorough XML support and allows easy access to web services and other XML data. XML is also a commonly used tool for international web projects as it has full Unicode support and is therefore suitable for storing data in any language. With the rising popularity of web services it is sensible to choose a development platform with built in XML support so that web services can be easily integrated in future. 4.9.9. Intermediate code Microsoft .NET and Java both use the concept of intermediate code which is compiled using a JIT compiler (just-in-time). Java uses intermediate code, or byte code, to make applications cross-platform. The byte code uses a lower level language than the high-level Java code but it is still generic enough to be used on multiple platforms. Before the code is executed it is compiled on the Java Virtual Machine (Java VM) which runs on the host computer. This compiles the byte code ‘just-in-time’ and creates machine code which is then executed. The .NET Framework is very similar but calls the CPU-independent instructions Microsoft Intermediate Language (MSIL), as shown in Figure 16. The Common Language Runtime is the equivalent of the Java VM although at present it is only generally available for use on the Windows platform.

Figure 16. Intermediate code compilation (Source: Microsoft)

Page 59

A Global Web Enablement Framework

Tom Robinson

4.9.10. .NET managed code Managed code is useful for reducing the chances of coding errors causing unexpected and dangerous behaviour. Before the code is run, the MSIL is compiled into executable machine code. The managed execution environment (CLR) can make guarantees about what the code is going to do. It can insert traps and appropriate garbage collection hooks, exception handling, type safety, array bounds and index checking. This stops a range of common programming mistakes occurring and, as well as making code more reliable, it reduces the chance of a security hole being opened. The slight speed decrease of running managed code is made up for by the improved reliability and safety, especially with web applications where the bottleneck is usually the user’s connection rather than the speed the server returns pages.

Page 60

A Global Web Enablement Framework

Tom Robinson

4.10.

Summary of foundations

The diagram below (Figure 17) is a summary and breakdown of the Foundations (F1) layer of the framework. This can be used as a guide to the tasks involved and some of the key points to be taken in.

Figure 17. Summary of Foundations

Page 61

A Global Web Enablement Framework

Tom Robinson

4.11.

Fundamentals (F2)

The Fundamental layer is a combination of software development, research and best practices which must be applied and put in place before features are developed.

4.12.

Fundamental: Industry guidelines and best practice

Before beginning development work it is important to be aware of, and to follow, best practices in terms of the way code is written and technologies are used. 4.12.1. Coding style and naming conventions It is useful to adopt a standard coding style and naming conventions. Rather than this framework suggesting a proprietary coding style and set of naming conventions, it is suggested that the recommended coding style of the language/platform vendor is used. This information is usually made freely available on the vendor website or can be derived by looking at sample code from trusted sources and Software Development Kits (SDKs). 4.12.2. Standards compliance While creating a web application it is sensible to ensure compliance with the latest web standards. Developing a web application using web standards is essential for compatibility, maintainability and long-term success of a project. This simplifies and lowers the cost of production and delivers sites which are accessible to more people and more types of Internet devices. Following web standards will allow a web application to continue to function correctly in the future as browsers evolve and new devices such as Internet TV and handheld devices become more popular. 4.12.3. Proprietary technology There are a large number of existing websites which make use of proprietary software on their sites. This is something that should be avoided wherever possible to ensure that web applications will work on a wide variety of computers in different countries. Because of the previously high penetration of Microsoft’s Internet Explorer browser, many developers only target and test their applications for one browser. This is a very bad idea as it may mean that a website is unusable in any other browser and there is no guarantee that the targeted browser
Page 62

A Global Web Enablement Framework

Tom Robinson

will still be the market leader a few years later [20]. Proprietary technologies such as VBScript, ActiveX and other custom extensions that only work with Internet Explorer, should be avoided and replaced with technology that is supported by all browsers. This may mean that a web application cannot be as advanced as it could be, but it is more important that everyone is able to use it without feeling frustrated. The only possible exception to this rule is where the application is being developed for an intranet or extranet and the software configuration of all users is known and can be controlled.

4.13.

Fundamental: Code Library

In almost any modern programming language, there is the potential for reusing existing code. This is a key aspect of the Object Oriented Programming (OOP) paradigm. It can decrease the time it takes to develop new products and services if some of the code needed has already been written and can be re-used. By developing an organisation-wide code library, it gives new projects a head start, as there is already a foundation of code that can be used to perform common tasks. The required components of a code library will vary depending on the organisation, the projects being developed and any existing systems which must be interacted with. 4.13.1. Database access Rather than rewriting the database access code for each application it can be useful to have a number of common methods for selecting, inserting, updating and deleting database records. By putting this code into a library it also means that any changes in the data layer do not require a rewrite of existing applications, only the library needs to be altered. Common database access tasks such as lookups based on ID numbers and reference codes are also sensible to include in a code library.

4.14.

Fundamental: Error handling

Errors and exceptions should be dealt with appropriately. Showing the user the raw error message is a security risk and will not be of any use to the majority of users. The most friendly and secure approach is to display a friendly error message to the user whilst alerting the development team of the error in as much detail as possible. Email is a sensible option for alerting developers of a problem as there is unlimited space for error content and attachments

Page 63

A Global Web Enablement Framework

Tom Robinson

as well as appearing as soon as the error occurs. Another more complex method of recording error reports is to use a database. This allows multiple error reports containing the same information to be grouped together and a frequency associated with the errors. The database approach can be used as an extension to basic email alerts and for tracking purposes. As well as a general error message for unexpected errors there should also be specific error messages for expected errors, such as a temporary problem connecting to a database. These errors, which may be expected from time to time, should reassure the user and ask them to try again in a few minutes or whatever behaviour is appropriate. It is a good idea to have a common method for alerting developers and administrators when errors occur. A major difference between error handling in internal applications and external web applications is that internal users will usually let support staff know when an error occurs. Unfortunately, many web users may see an error without reporting it; they may even give up what they are trying to do and not come back. Handling an error in any web application consists of two key stages; alerting the user and alerting support staff. 4.14.1. Alerting the user The user should be shown an appropriate error message. This should not contain anything which could compromise security or confuse the user. There should be no system defined error messages, codes or any other information which the user does not need to know. With a web application, the easiest approach may be to redirect users to a friendly error page when an error occurs. This could be specific to a particular error or generic if an unexpected error occurs. The error page should explain that a problem has occurred, reassure the user and encourage them to try again later. The message should assume that the error is able to be fixed by support staff or is a temporary problem such as a database server going offline for maintenance. 4.14.2. Alerting support staff The second stage of handling an error, once the user has been taken care of, is to alert administrators and developers to the problem. The recommended approach is to use email as a freely available and cheap alerting method. The key advantage email has over any of the other communication methods which predate it is that it is stored digitally and can be read and created by computers. There are ways of machine reading faxes and recording human voices

Page 64

A Global Web Enablement Framework

Tom Robinson

but as they are not natively digital formats they cannot be guaranteed to be accurately recognised. Email error messages can be processed and sorted according to date, time, application, user and many other variables. This can help to spot patterns and causes when a bug is being tracked down. Email error messages should be as detailed as possible so that the source of the problem can be tracked down. Messages should contain all relevant error codes, system messages and context details to make diagnostics as easy as possible. For web applications, the following are likely to be of particular interest: • • • • • • • The URL of the page causing the error. The contents of the query string (GET) and form fields (POST). The ID and contents of the current session. The contents of associated cookies. The user agent (browser) the visitor is using. The users host name (resolved from the IP address if possible). The users identity (if authenticated). If using the Microsoft .NET Framework there are a couple of specific details which may be useful in diagnosing a fault: • • The stack trace – for identifying the code which was executed prior to the error. The view state – which can be decoded to allow the state of form controls to be identified.

4.15.

Fundamental: Membership

In order to provide many of the features of a modern website it is essential to have a system for allowing anonymous visitors to become authenticated members. Without a system like this, it is difficult to provide online services which are tailored to a particular visitor’s needs as there is no way to clearly identify who they are.

Page 65

A Global Web Enablement Framework

Tom Robinson

4.15.1. Registration Registration is something which most website users find irritating as it acts as a barrier to parts of the site and requires them to take time from their visit goals to type details into a form. Most registration forms require the user to choose an email address or username and a password. Many web users will already have registrations for many other websites, all of which may have different requirements for password complexity and username length. Due to other people’s registrations users may be forced to use variations of their preferred username. Security best practices recommend that users have different passwords for each site which, for many users, is inconvenient and therefore ignored; this can lead to their other accounts being made vulnerable if a user’s standard password is compromised. To encourage users to register and discourage them from giving up prematurely, the size and complexity of the registration form should be kept to a minimum. Questions and fields should be logically grouped and in an expected order, i.e. forenames before surnames and address details before post code. The main hazard of unattended online forms is that the web application must be responsible for checking the correctness of entries. Whilst it is relatively easy to check that a required field has been filled in, or contains a valid date, there is no easy way to check for spelling mistakes and typing errors in names, email addresses and passwords. As the two most important fields in any registration form are often the email address (or username) and password it is recommended that these are asked for twice. This duplication of data allows a simple check to be performed which matches the two entries and alerts the user if there is a mismatch. 4.15.2. Role based security The most basic way of differentiating between users is to categorise them into anonymous users and authenticated users. This is extremely limited, especially when members of the public will be authenticating in the same way as members of staff. The solution to this is to assign one or more roles to a user. This allows access to be granted to a user to they can perform a restricted action. Before the page is loaded or an action takes place a simple check is done to check the user has been assigned to the required role. Roles can be added and removed from a users account as required. A simpler, and often used, approach is to assign each user to a single group, e.g. Staff, Administrator or Member. Although assigning a user to

Page 66

A Global Web Enablement Framework

Tom Robinson

a single group is simpler, it has the major disadvantage that a user can only belong to one group at a time which decreases the system’s flexibility. For basic systems this can be acceptable but when looking at using a single system for a number of tasks, some not yet planned, then role based security is the only viable option.

4.16.

Fundamental: Testing

Testing should be done throughout the development of each module as well as before the module goes live. It is important that any problems in a module are discovered and resolved as soon as possible, otherwise they can affect modules which are built on top of them, potentially causing a complex chain of problems. 4.16.1. Browser testing Web applications have the unique and often awkward feature that they may be used on a range of browsers, operating systems and devices. Additionally they may be used with a range of screen sizes, colour depths, font sizes and connection speeds. The use of web standards and related best practices regarding design and coding of web applications is a good start but the only way to find out how an application will look is to test it on a number of different devices, operating systems and browsers. Because of the large number of combinations, it would be too time consuming to test with all possible systems. A good compromise is to look at the web server log files, preferably using a log file analyser or web statistics package, identify the most popular combinations and then set up tests accordingly. Rather than having a separate machine set up for each browser and operating system combination it’s possible to use virtual machine software packages which emulate computer hardware in software and allow multiple machines to run on one machine. Machine emulation software is available from VMWare1 and Microsoft among others. Another alternative is to use a service such as BrowserCam2 which, for a service fee, returns a number of screen grabs from different browsers and operating systems. Whichever approach is used, browser testing is an important but often overlooked part of the testing process.

1 2

http://www.vmware.com/ http://www.browsercam.com/ Page 67

A Global Web Enablement Framework

Tom Robinson

4.16.2. User testing If possible, an application should also be tested by users who are not directly involved with the project. These testers may be staff from other areas of the organisation, volunteers or pilot groups of actual users. User testing is sometimes the only way to discover a problem with a system as it uncovers crucial user experience issues which can be missed when tested by developers who know how the system is meant to work. Users will use a system how they expect it to work, and this can reveal flaws in the application logic, user interface as well as other unexpected problems which are hard to test.

4.17.

Fundamental: Documentation

4.17.1. Wikis A Wiki is a website which can be freely edited ‘online’ using only a standard browser. It differs from a content management system in that editing and modification of content is actively encouraged, rather than being hidden from the end user in the case of a traditional content management system. One of the most famous Wikis is Wikipedia1, an online encyclopaedia supported by the Wikimedia Foundation. Wikipedia has grown thanks to contributions from thousands of members of the public who have contributed their knowledge and the site is now one of the 100 most visited websites in the world. Part of this success is due to its ability to cover multiple languages. Although Wikipedia is a huge project with thousands of people using it every day, the concept of a Wiki can be applied to many different scenarios. Although Wikis were originally designed for open editing by anyone, it is also possible to restrict access to authorised users. The advantage of a Wiki over traditional documentation is that it can be edited and kept up to date without having to reissue and reprint large manuals and ensure that all staff have the latest copies. The web accessibility of a Wiki is also useful as it is accessible from any PC provided that the user is authorised to view or edit the information held on it. A key benefit of using a wiki for documentation is that version changes are tracked and changes can be reversed or rolled back to a previous version. As an example of versioning, there may be occasions where there is a need to look at what the settings for a system used to be. This can be easily checked by looking at previous versions of a wiki page
1

http://www.wikipedia.org/ Page 68

A Global Web Enablement Framework

Tom Robinson

and seeing who made the change and what the change was, as shown in Figure 18. If content is accidentally deleted but the mistake is only realised later, then the deleted content can still be restored.

Figure 18. Example of wiki entry history comparison with MediaWiki

4.17.2. Inline source code based documentation Documentation and comments inline with code is a very quick and easy way of documenting a large and constantly changing project. There are documentation generators available for both Java and the C# programming language which take specially formatted comments in code and convert them to a more readable format, commonly HTML. These tools can very quickly auto-generate a website containing documentation for all the classes, methods and events in a project. The main advantage of this approach is that documentation is written at the same time as code, or at least alongside it. This means that if functionality is removed or

Page 69

A Global Web Enablement Framework

Tom Robinson

changed, then the auto-generated documentation can quickly be resynchronised without having to open a separate documentation application such as a word processor.

4.18.

Summary of fundamentals

The diagram below (Figure 19) is a summary and breakdown of the ideas discussed and explored for the Fundamentals (F2) layer of the framework. This can be used as a guide to the tasks involved and as a reminder of some of the key points.

Figure 19. Summary of Fundamentals

4.19.

Features (F3)

The features of the framework are split into a number of modules. This approach is suited to small organisations for a number of reasons. Taking a modular approach to web enablement allows the work to be broken down into manageable work units. Each module can be treated
Page 70

A Global Web Enablement Framework

Tom Robinson

as a separate project and should only rely on previously completed modules of the framework foundations. By concentrating on one module at a time, it reduces the complexity of ensuring that new systems are compatible with existing systems. Any existing modules should have been documented and tested before new modules are developed. As charities cannot always afford to make large investments for a single large project then modular development can allow funding to be gained gradually, as confidence in the success of each web enabled module grows. 4.19.1. Choosing modules and the order of development The pro-forma in Figure 20 can be used to take ideas for features and structure them according to importance and complexity. The initial ideas may come from a brainstorm session but a system such as the one illustrated allows a list to be broken down into a structured view of the modules that need to be developed.

Page 71

A Global Web Enablement Framework

Tom Robinson

Time needed

Soon

Later

Figure 20. Feature Planning Matrix

Page 72

A Global Web Enablement Framework

Tom Robinson

Once the desired features have been identified and placed in the appropriate section of the grid it is easier to prioritise work depending on complexity and the time when a feature is needed. Basic features which are needed soon are often good features to begin with as they can be completed easily and are unlikely to cause problems or require outside assistance to complete.

4.20.

Feature: Online community

An increasingly popular way of attracting regular visits to a site is to make sure that it contains fresh and regularly updated content. With limited resources, it can be hard for staff to find the time to keep a website regularly updated with new content. As long as the site has a big enough initial audience then forums and message boards are a proven way of providing regularly updated content, by encouraging the users to contribute themselves. Forums can increase the sense of community, which in turn leads to a valuable form of free marketing – word of mouth. There are many pre-built systems available for community building but before being chosen, it is important to make sure it is compatible with existing membership and authentication systems.

4.21.

Feature: Sending multiple emails

Email is an important tool for any size or type of organisation. Over half of the respondents to Goatman’s survey [6] said they would like to be able to send more email and over 60% saw fundraising as a legitimate use for email. 4.21.1. Sending bulk emails Without a suitable system for sending bulk emails, the only alternative is often to send a standard email using the “To”, “Cc” or “Bcc” fields to hold multiple addresses. As well as exposing the email addresses of other recipients it’s also more likely to be flagged as spam and also comes across as a lot less personal. Ideally, there needs to be a way of easily sending large numbers of emails, to customise them for the user and for them to be sent as individual messages. There are a number of applications and websites which can do this for an organisation but for advanced customisation and control a custom application might need to be written.

Page 73

A Global Web Enablement Framework

Tom Robinson

4.21.2. Centralised email functionality By creating a carefully designed set of classes and methods it’s easy to have a shared system for creating and sending automated emails, such as those sent to confirm a user’s registration. The key components are a class to represent instances of an email, a class containing static methods to customize the email appropriately and a set of email templates such as the one shown in Figure 21. XML is a good way of storing email templates as it can easily be read and edited by hand and can contain HTML within CDATA blocks for advanced HTML emails.

Figure 21. Example of an XML email template

4.22.

Feature: Online forms

Online forms have a variety of uses, from an online job application form to a request for literature.

Page 74

A Global Web Enablement Framework

Tom Robinson

4.22.1. Layout and navigation To prevent users from being overwhelmed by a complex form it is often a good idea to split it into multiple, logically grouped, pages. If a multi-page form is implemented then it is also a good idea to allow users to navigate around the pages as freely as possible. Many online forms rely on a number of Next and Previous buttons to do this but a better user experience can be gained by allowing navigation through the pages using a side navigation menu or dropdown ‘jump’ list. 4.22.2. Validation The care and attention which different users take when completing forms varies considerably. Where possible the use of free text fields should be limited and dropdown selection lists or tick boxes should be used instead. Unfortunately, this is not always possible and most forms need to have at least one free text entry field. Free text entry means the user is able to enter any text they like whether it is appropriate or not. Minor cases of commonly entered bad data are incorrectly capitalised names or unnecessary punctuation. More severe cases of bad data entry are invalid email addresses, invalid characters in a telephone number, wrongly formatted postal codes and the correct data but in the wrong box. In order to keep the data submitted through a form as clean and correct as possible it is important to validate all data entered by the user. 4.22.3. Server-side and client-side validation There are two stages when a form can be validated. The first to be triggered, and the most user-friendly, is client-side validation using JavaScript or another suitable client-side technology. This method performs validation before the form data is sent to the server for processing and further validation. There are a number of good reasons for performing clientside validation and one major disadvantage. Validation on the user’s browser is more responsive as it does not require a round-trip to the server and a reload of the page. It can also be used to dynamically alter the HTML of the page so that incorrect form entries can be highlighted and help messages can be added in the appropriate place to give the user information to fix the validation problem. The major disadvantage of client-side scripting is that JavaScript may be turned off or may not be compatible with the particular browser being used. For this reason, any client-side scripting

Page 75

A Global Web Enablement Framework

Tom Robinson

must be replicated on the server. This combination of methods provides the best protection from invalid data entries whilst offering the user a better experience if their browser settings allow for it. 4.22.4. Loose validation An approach developed as part of this framework is to aim for loose validation. This is particularly suited to long and complex forms such as an online job application. The method was developed for the Online Application System at GAP Activity Projects. The problem with traditional approaches to validation is that for long and complex forms it can be too restrictive. Each time a new validation check is added to a form, it increases the strictness of the validation procedure. For forms with many data items, this may stop the form from being completed and result in a confused user and an email or phone call to the administrator asking for help. Unfortunately the larger the form, the more chance there is of it needing validation before it can be submitted. A solution to this is to keep existing validation methods, but not to restrict the form from being submitted even if there are validation problems. The intention is to encourage as many valid entries as possible but not to make the process so rigid that there is no way of submitting a form which has failed some validation checks. This can be done by making the form submission into a two-stage process. Rather than offering a submit button immediately the first available option should be to check the form for errors, i.e. to force a validation without submitting the form. This can then highlight any areas that need correcting. In the event of the user being unable to get the form to validate there should still be the ability to submit the form as it is. The button that submits the form can be hidden until the form has been checked for errors, or after the user ticks a box to say that they understand the consequences of the form not being fully validated. 4.22.5. Partially completed forms Often it can be useful to save a partially completed form to come back to it later. Some forms require validation of the data to be completed before the form can be saved. This is a bad idea because an incomplete form is likely to contain errors and mistakes which might stop it from validating. The only validation which should occur when saving partially completed form instances is security checks to protect against SQL injection and cross-site scripting attacks.

Page 76

A Global Web Enablement Framework

Tom Robinson

4.23.

Feature: Extranet

An extranet can be thought of as an intranet which is accessible from anywhere in the world, as long as the person accessing it can be authenticated and is authorised to do so. An extranet allows an organisation to have a central information repository for all web users. Organisations with an extranet often set it as the home page of their employee’s browsers so that it is the first page to appear when they start a web session. An extranet can be anything from a simple one-page website to a complex web application with online calendars, news systems, message boards and downloads. As the entry requirements for an extranet are low, it is a good idea for any organisation to implement one if they have the technical capabilities. The more accustomed people become to using an extranet for accessing internal company data, the more likely they are to keep using it while it expands with new features.

4.24.

Feature: Global data access

Many organisations store data using file-based databases such as Microsoft Access. Whilst this is suitable for a small organisation, which does not need to allow external or web access to the data, it is not the best approach for successful web enablement. 4.24.1. Consolidating existing databases Before looking at giving external access to existing databases, the first step should be to attempt to consolidate existing databases into a single centralised database. This is sometimes known as upsizing. Before upsizing existing databases there needs to be a suitable central database management system in place. Microsoft SQL Server or Oracle are commonly used database management systems with the robust features and enhanced functionality required for web enablement of databases. 4.24.2. Web enablement of databases Most modern web programming languages have the ability to extract data from common data sources. The web enablement of a database may be required for many different purposes: • • • Allowing volunteers and overseas staff to view and edit data. Letting people book places at an event. Recording the results of an online questionnaire.

Page 77

A Global Web Enablement Framework

Tom Robinson

Displaying data on a website to show current status or historical data. The web enablement of a database can be very dangerous unless adequate security

measures are in place. One of the common flaws which allow malicious web users to access data they should not have access to is known as SQL injection. This exploits a flaw in many online forms and can potentially allow the user to view data they should not be able to access.

4.25.

Feature: Global file access

Before the arrival of the Internet, the only way to transfer data from one site to another was to physically transport it on disk, tape or optical media. The Internet, web and email allow sharing of data to be performed between multiple sites in a much faster and easier way than before. Even so, many organisations rely on email for the majority of their external data transfers. This can be suitable for many purposes but it has a number of problems. Firstly, there have to be two people involved with the transfer of data or a document – the sender and the recipient. This can be acceptable when there is no rush or the recipient knows exactly what they want, but it can often cause delays. This is a particular problem when offices in different time zones need to share data. For an organisation with offices in the United Kingdom and Australia, there is no overlap in standard working hours so it can take up to a day for a request from one office to be fulfilled by the other. The solution is to allow direct access to files, usually through the Internet using FTP or via the web using HTTP. It is important to ensure that, before this is considered, there are adequate security features in place to make sure that only authorised users can access files belonging to the organisation. An organisation will usually have some files which are stored for archive purposes and others which are used regularly. It is a good idea to restrict the number of files that are available through the Internet to reduce the impact of a security breach. Other options include setting up a synchronisation system to synchronise files between two or more offices. This is complex to set up and may require a lot of bandwidth, depending on the size of the transfers.

Page 78

A Global Web Enablement Framework

Tom Robinson

4.26.

Summary of features

Figure 22 is a summary and breakdown of the Features (F3) layer of the framework, based on the previous section. This can be used as a guide to the opportunities available and some of the key points to be taken in.

Figure 22. Summary of Features

4.27.

Future (F4)

The final stage of the pyramid is for future technologies and expansions of the framework. There should always be consideration for unexpected developments in web technology and time should be spent investigating any new options which could be used to enhance the

Page 79

A Global Web Enablement Framework

Tom Robinson

service an organisation offers. Once a future technology has been explored and is feasible then it can be incorporated as a new or existing feature in the Features (F3) layer. Not all future possibilities are unknown and many, such as the mobile web, are well developed. A selection of technologies and concepts which should be investigated as future expansions are detailed in this section.

4.28.

Future: Mobile web enablement

Whilst the Internet is now being used to some extent by the vast majority of organisations, mobile enablement, as a relatively new technology, is less commonplace. The growth of the mobile phone market in the UK and overseas shows there is an increasing demand for web applications to be available for mobile use. By the end of May 2001, Japan had over 40 million people accessing the Internet through their mobile phones [21], 71% of the total number of web users [22]. In addition to mobile devices, there are now a number of consumer devices which have been designed or adapted for Internet access, digital TV set top boxes being a major example. Mobile devices tend to have small screens and a limited number of input controls. TV based web browsers tend to be more basic and restricted than their PC based equivalents and may be controlled by simple remote controls, rather than keyboards or mice.

CNN on a mobile phone

Yahoo! Japan on Web TV

Amazon.com on a PDA

Figure 23. Web browsing on mobile and simple devices

Page 80

A Global Web Enablement Framework

Tom Robinson

4.29.

Future: Mobile text messaging

All major UK mobile network providers offer customers the ability to send and receive text messages and it is rare to find a phone that cannot take advantage of the service. Although text messaging (SMS) is more limited than email in terms of the size and complexity of a message, it does have a number of advantages under certain circumstances. In Western Europe, there are currently over 381.3 million mobile phone connections [23] and as of December 2004 the number of phones in circulation in the UK exceeded the UK population size [24]. Many owners of mobile phones do not have regular access to email or even a computer so text messaging offers the ability to communicate with a much larger potential audience. In 2004 over 26.2 billion text messages were sent [24] and there has been a steady increase each year. A popular new use for text messaging which is of particular interest to charities, is the concept of making text donations. The donor simply texts a code word to the specified number and a charge, usually one or two pounds, is made to their bill. The recipient charity then receives the majority share of the total donation from the mobile operator. For larger donations the donor can resend the message as many times as they want to. There are some concerns that the mobile operators make a profit from the transactions but as all fundraising tends to costs money this is a price which can be worth paying in order to reach out to a larger market. The National Blood Service uses targeted text messaging to remind donors of upcoming appointments, sessions in their area and thank you messages after successfully giving blood. The scheme was initially piloted with students [25] as they represented a user group who had previously been difficult to keep track of when moving around. There are a number of problems with text messaging which must be considered. Text messaging from an organisation can be seen as invasive unless there is a good reason for the message being sent. Unlike email, which is ‘pulled’ from the server and read when it suits the recipient, text messages ‘push’ themselves onto the users phone. When the phone sounds an alert to indicate the arrival of a new message there is no easy way of distinguishing between an important message from friends or family and an automated message sent from an organisation. If text messaging is being used as a marketing tool then it should be kept to a minimum and only sent to those who have expressly consented to it.

Page 81

A Global Web Enablement Framework

Tom Robinson

Many service providers and mobile phones also offer Multimedia Messaging (MMS), which allows short videos and images to be sent in a similar way to text messages. There are many possibilities for MMS technology and companies are only just beginning to make use of the technology. 4.29.1. Economic viability A number of respondents to the 2004 Virtual Promise survey [7] were concerned with what they saw as the prohibitive costs of exploiting mobile technology, text messaging and digital TV. This is likely to continue for the short-term while the technology is evolving and maturing. Larger charities who can make a larger investment in their infrastructure have, and are likely to continue to be able to, use this technology to their advantage.

4.30.

Future: Content management

Content management is a popular way of allowing non-technical users to manage the content of large websites. The basic principle is that the site layout is separate from the content. The layout and site look could be designed by professional designers and coded by professional developers and then the control of textual and basic graphical content is then empowered to the staff. This produces consistent looking and powerful websites without burdening the content creators with the coding of pages, or the management of files and links. Content management systems tend to be used for larger web projects where the content needs to be updated regularly without technical assistance. Content management systems require an authentication system to define which users have access and editing abilities for which content.

4.31.

Summary of future

In Figure 24 some of the predicted future aspects of the framework are outlined, to act as a reminder of the discussions earlier in this section.

Page 82

A Global Web Enablement Framework

Tom Robinson

Figure 24. Summary of Future

4.32.

Chapter conclusions

In this chapter, the F4 Framework has been introduced, explained and detailed. The four layers of the framework, Foundations, Fundamentals, Features and Future have been broken down and explored. The framework model has been targeted specifically at charities but due to the large overlap between business and charity issues, many aspects of the framework are suitable for use in both sectors. For any type of organisation the framework should bring both long term and short term benefits and cost savings. By being able to see tangible results at an early stage of the process, the benefits of web enablement can be realised as soon as possible. Now that the framework has been introduced, the next step is to give examples of how it can and has been used in a real-world situation before moving onto an evaluation of its effectiveness.

Page 83

A Global Web Enablement Framework

Tom Robinson

Chapter 5.
5.1.

Case Study – GAP Activity Projects

Chapter outline

This chapter introduces GAP Activity Projects, the case study being used to demonstrate the ideas developed in the framework. It then goes on to describe how the framework has been used successfully in projects at GAP. GAP is a non-for-profit charity which helps organise gap year placements for 17-25 year olds. The main office employs approximately 30 staff and there are a number of regional offices around the world. As well as paid staff, GAP also has nearly 200 members of volunteer staff. The complexity, size and distribution of GAP as an organisation makes it an interesting case study for the framework.

5.2.

GAP Activity Projects

5.2.1. Who are GAP Activity Projects GAP Activity Projects is the largest year out organisation for school-leavers in the UK. It is a not-for-profit organisation, specialising in voluntary work placements overseas for 17-25 year olds, in a transition year before going on to further education, training or employment. GAP gives 17 to 25 year-olds the chance to live and work in a completely new environment with the security of knowing that the placement they are going to has been checked by GAP staff. In order to put the case study in progress it is useful to look at GAP’s vision and mission statement:

“To be the leading provider of year-out experience for young volunteers worldwide.”

GAP’s Mission Statement is equally broad but with mention of the specific target audience of young people.

“Our mission is to provide a distinctive and international volunteering experience, which is inclusive to all young people. We will do this through a journey of discovery that fosters independence, helps others and promotes global understanding.”

Page 84

A Global Web Enablement Framework

Tom Robinson

The first key element of the mission statement, which affects the way GAP’s web enablement strategy is developed, is to ensure that it is “inclusive to all young people.” This includes making publicly accessible features easy to use, accessible to those with disabilities and in a format which appeals to young people. The second key element is that it should be distinctive (through use of innovative techniques) and international (to appeal to a worldwide audience). 5.2.2. Size GAP currently arranges over 1,000 placements annually in 27 countries, for volunteers from the UK and 750 placements in the UK for overseas volunteers. GAP has arranged almost 25,000 placements overseas since they started over 30 years ago. GAP is a small organisation but with a wide reach. 5.2.3. What do GAP’s IT systems need to support? GAP has over 250 volunteer staff around the world who work for expenses only, helping to keep the costs to volunteers low, whilst enabling GAP to offer a wide choice of projects. Volunteer staff work as project managers, interviewers, overseas representatives and in the UK providing pastoral care to overseas volunteers. GAP estimates that the time given by volunteer staff equates to the equivalent of 25 full time staff. 5.2.4. Offices worldwide GAP has offices in Reading, England; Melbourne, Australia; Palmerston North, New Zealand; Johannesburg, South Africa; and Vancouver, Canada. The UK office has 24 fulltime and two part-time staff, a large number of whom are returned GAP volunteers. The GAP Australia office has five full-time members of staff with volunteer staff working in every state and territory in the country. Both the South African and New Zealand office have one member of staff and they are developing placements across their respective countries. GAP Canada is managed and run by YouLead at the University of British Columbia and serves Canada.

5.3.

The University of Reading

GAP has useful links with the University of Reading and has plans for continuing these links, beyond the scope and duration of the KTP programme that initiated the partnership.

Page 85

A Global Web Enablement Framework

Tom Robinson

5.3.1. Student projects Final year IT students at the University of Reading are required to complete a substantial project in their final year. The projects are often suggestions made by academic and administrative staff in the Schools of Systems Engineering. Projects based on actual needs are preferred where possible and local businesses are often used as a source of projects. GAP proposed two potential project briefs to The University of Reading and these were offered to students looking for a project. Alistair Burnell, a Microsoft Student Partner (MSP), chose to complete a project with GAP for his final year project. The project chosen was the creation of a fundraising portal which sits alongside the myGAP website. The second project, a brochure and literature request system will be offered to the next intake of students later this year. Through the student projects, GAP has not only increased the strength of its links to the University of Reading, but has also gained links with the Microsoft Academic Team. 5.3.2. Student coursework GAP currently uses a printed brochure as a major part of its marketing strategy. Because of the size and weight of the brochure it costs a great deal to have printed, takes up a lot of storage space and is costly to post. GAP was interested in looking at the viability of producing a CD-ROM based brochure as an alternative to the traditional paper brochure. Normally this would involve one or more commercial design agencies coming up with a prototype and bidding for the contract. Using the links with the School of Systems Engineering at the University, GAP was able to adapt the CD-ROM design brief so that it was suitable for an MSc student group project. The outcome from this project was the production of prototypes of a complete CD-ROM brochure, at no expense to GAP. The project provided the students with real-life examples, making the requirements gathering and evaluation stages of the project much more realistic than an artificial project. Another successful project for both GAP and the University of Reading was a coursework assignment for MSc students taking the Graphical User Interfaces module. The task was to study and evaluate the websites of a number of gap year organisations including GAP Activity Projects. As well as providing the MSc students with the opportunity to evaluate a range of websites which they may not have previously come into contact with, the results were passed on to the marketing team at GAP, acting as useful research material. The

Page 86

A Global Web Enablement Framework

Tom Robinson

results of the study were interesting and have allowed GAP to make improvements based on unbiased feedback and comparison from students in the target age ranges.

5.4.

Implementing the framework

The main purpose of this case study is to demonstrate the framework being used and implemented in a business critical situation. Now that GAP and the background for the case study have been introduced we can look at how each layer of the framework was applied to GAP and what features or changes were developed. To give an overview, Figure 25 shows the F4 Framework with a mapping to each of the key elements and modules that GAP developed and used.

F1

F2

F3

The case study uses the model and processes from the previous chapter and shows the results of an actual implementation of the framework in a business critical real-life situation. At the same time as demonstrating practical usage of the framework, the case study also develops a number of tools and methods which are applicable to other similar organisations. These are sometimes specific to GAP’s particular needs but many could easily be adapted and used as the basis for web enablement in other organisations.

F4

Figure 25. Mapping between F4 Framework and case study

Page 87

A Global Web Enablement Framework

Tom Robinson

5.5.

Foundations (F1)

GAP already had most of the required foundations in place prior to using the framework but the checklist and model was useful for ascertaining this. It is beyond the scope of this chapter to cover the foundations at GAP in great depth but each core requirement is briefly described below for the purpose of setting the scene. 5.5.1. Email GAP staff have access to email on all networked PCs which they access using Microsoft Outlook. A Microsoft Exchange server acts as a central store for all messages and is backed up daily. Since upgrading to Exchange 2003 it is also now possible to access email externally via Outlook Web Access which provides web access to emails from anywhere in the world. 5.5.2. Internet access Internet access is provided through a wireless DSL (WDSL) connection which provides a synchronous connection of up to 512 kbit/s upstream and downstream. Under normal use, this can support up to 30 light web and email users. There is enough capacity for web applications to be hosted in-house without any disruption to either local or remote users but it is expected that as GAP expands its use of web technology, the connection may need to be upgraded. 5.5.3. Security All GAP users have individual passwords, which are kept secret and must meet a certain level of password complexity. A firewall blocks external access to internal servers, with the exception of the web, FTP and mail server ports. The firewall also blocks external access to dangerous websites. All desktop PCs, laptops and servers run Microsoft Windows and are automatically patched with critical and security updates using Windows Server Update Services, a central repository and management system. Finally, a McAfee anti-virus solution is deployed on all computers and is centrally managed with McAfee ProtectionPilot. This ensures that all computers are up to date, applies virus definition updates and allows scheduled scans to be performed. 5.5.4. Software GAP has bought the majority of its software at reduced charity rates. This has allowed it to use industry standard software such as Microsoft Office, Adobe Photoshop and Macromedia
Page 88

A Global Web Enablement Framework

Tom Robinson

Dreamweaver without paying full commercial rates. Using industry standard software is useful when collaborating with suppliers and volunteer staff, as there are fewer compatibility issues. 5.5.5. Data storage GAP’s data is stored on three servers, organised by type – mail, databases and files. Data on all servers is backed up nightly onto high-density tape using a rolling backup cycle. Backup tapes are stored off-site in the event of a disaster. The hard drives on the servers are mirrored which prevents most disk failure scenarios from causing data loss. 5.5.6. Programming platform All of GAP’s applications for Windows and the web are written using the Microsoft .NET Framework and Visual Studio 2003. The primary reason for choosing this platform was its low cost due to charity pricing and its tight integration with the existing Microsoft technologies already in use.

5.6.

Fundamentals (F2)

As GAP had most of the foundations already in place, the fundamentals were where the majority of initial work was carried out.

5.7.

Fundamental: Membership – myGAP.org

5.7.1. Login and authentication It was decided that the registration and authentication system would use email address instead of a username. Many of myGAP’s users may not be regular visitors so it was decided that asking them to remember a username could cause problems if it was forgotten between visits. Email addresses have the advantage of being globally unique and, unless the user changes it after first registering, they are easier to remember than a site-specific username. 5.7.2. Registration form The registration form uses many of the techniques developed for the F4 Framework for online forms. User entered data is checked by both client-side scripting and server-side scripting to

Page 89

A Global Web Enablement Framework

Tom Robinson

ensure that the data is as accurate and complete as possible. The user’s email address and password are asked for twice, to allow for a simple matching check to be performed. Rather than asking for the email address the first time and then immediately asking for it again, the second entry of these fields was put at the end of the registration form. The reason for doing this is that some users are often tempted to simply copy and paste their previous entry to save typing it in again. Unfortunately, this quick approach may mean that a typing mistake is missed as the two entries match. By putting it at the end, the user is more likely to type it in again rather than scrolling up to the top of the form and copying it from there.

5.8.

Fundamental: Industry guidelines and best practice - GAP Website

Like many websites that were first developed a number of years ago, GAP’s website had a number of issues in the areas of accessibility and standards compliance. In recent years the importance of sticking to web standards and making sure websites are accessible to all users has been highlighted but when GAP’s site was first developed many designers only worried about whether it worked for unimpaired users using Microsoft Internet Explorer. 5.8.1. Removal of unnecessary scripting The front page of the GAP site used proprietary VBScript and Internet Explorer specific styling features to display a series of images which faded in and out. Although this looked good, it only worked on some browsers, increased the size of the page dramatically and even caused script errors on some incompatible browsers. Figure 26 shows the old site in two different browsers and demonstrates that testing and developing for just one browser is not a good idea.

Page 90

A Global Web Enablement Framework

Tom Robinson

Internet Explorer 6.0

Firefox 1.06

Figure 26. Problems with proprietary code

The solution to this problem was to replace the fading images with a static image that changed each time the page was visited. This allows a wide variety of images to be used on the site and gives it a fresh appearance as visitors see something different each time. Another area where the site used scripting but potentially alienated users was on the side navigation menu. To provide a rollover effect some client-side scripting was used but it had not been designed to fall back if the scripting engine was not available or was disabled. This meant that unless Internet Explorer was used with scripting enabled, none of the links could be visited. This also meant that search engine spiders could not get any deeper into the site than the first page. The solution to this problem was to replace the script with standard Hypertext Mark-up Language (HTML) hyperlinks and to use Cascading Style Sheets (CSS) to provide the rollover effects. As well as stopping some users from visiting pages beyond the home page, the previous method also restricted any search engine spiders from going beyond the front page, reducing the exposure of the site to search engine databases.

5.9.

Fundamental: Documentation

5.9.1. Wikis for documentation GAP uses a Wiki to store documentation for its IT systems but only enables access to GAP staff and only gives authorised staff editing rights.

Page 91

A Global Web Enablement Framework

Tom Robinson

Figure 27. GAP's Documentation Wiki

5.9.2. Inline source code documentation All of GAP’s recent development projects have been documented using the NDoc Code Documentation Generator for .NET. NDoc is an open source project which uses a combination of .NET’s reflection capabilities and the XML documentation files generated by the C# compiler. Documentation is generated by the use of XML comments within the source code, as shown in Figure 28. There are a wide range of tags for specifying different documentation items and they can be used for documentation of classes, methods, events and parameters. Some of the common XML tags used to contain documentation include descriptions, parameters, return values, overloads, exceptions, cross-references and example code.

Page 92

A Global Web Enablement Framework

Tom Robinson

/// <summary> /// Multiplies two numbers together. /// </summary> /// <param name="x">The first value</param> /// <param name="y">The second value</param> /// <returns>The value of x multiplied by y</returns> public static int Multiply(int x, int y) { return x*y; }

Figure 28. Example inline code documentation

The output can be generated in a number of formats, including HTML, which makes it suitable for creating documentation for hosting on an intranet or extranet. The example in Figure 29 shows a sample documentation output. All that is needed to create similar documentation is correctly formatted documentation comments added inline with the code, and the NDoc compiler which turns the source XML data into HTML.

Page 93

A Global Web Enablement Framework

Tom Robinson

Figure 29. Example output from NDoc

5.10.

Features (F3)

The bulk of this case study looks at how GAP has implemented features on top of the previous two layers, Fundamentals and Foundations.

5.11.

Feature: Sending multiple emails - GAP Mailer

Before GAP Mailer was developed, it was very difficult to send emails to large groups of people without resorting to entering each recipient into the “To” “Cc” or “Bcc” field of the email. This is a very bad way of sending multiple emails for a number of reasons. Unless the “Bcc” field is used (blind carbon copy), then each recipient has access to the email addresses and often names of each of the other recipients. Whilst this is acceptable for emails to internal staff, who are willing for their details to be shared, it’s not good practice for promotional mail-outs or event notifications. The second major problem is that emails like this are often identified as possible unsolicited ‘spam’ email and may be blocked or filtered by the recipient’s mail provider.

Page 94

A Global Web Enablement Framework

Tom Robinson

The solution developed was to create a Windows application which could be used, instead of Microsoft Outlook, to pull names from an Excel spreadsheet (Figure 30) and most importantly, to send each recipient an individual copy of the email addressed only to them. From the recipient’s point of view the emails appear to have been sent only to them, which technically they have, reducing the chances of the message (Figure 31) being wrongly identified as spam and removing any privacy concerns. As an expansion of this basic functionality, it is also possible to customise each mail further by adding more columns to the source document, the Microsoft Excel spreadsheet. This is most commonly used to provide a personalised introduction to the email in the form of “Dear Forename”. This adds the personal touch to each email and may improve the chances of the email being read and actioned by the recipient. Further personalisation is made possible by having an extra column of personalised information which can be placed anywhere in the email using a placeholder. When the emails are sent the data in the third column replaces the placeholder. This makes it easy to send, for example, emails to a group of potential volunteers with their individual interview date and time as well as a personalised introduction.

Figure 30. GAP Mailer with addresses imported from Excel

Page 95

A Global Web Enablement Framework

Tom Robinson

Figure 31. GAP Mailer showing message entry tab

After GAP Mailer had been used a number of times it was noticed that a large percentage of emails bounced back as unrecognised or no longer active. The ability to contact large numbers of recipients highlighted the need to keep email addresses up to date and to make sure they were entered correctly. This was a good reminder of how important it is that an organisation’s database is up to date and accurate so that email campaigns can be fully effective. Unlike postal mail, which is often forwarded to the new address, incorrectly addressed email usually bounces back with an unfriendly error message. As a small extension of the GAP Mailer application, a small utility was created which searched the text of returned emails and recorded the address which failed. This can then be cross-referenced against the database to remove old records.

Page 96

A Global Web Enablement Framework

Tom Robinson

5.12.

Feature: Online community - GAP Community

5.12.1. Open source and free software The software used by GAP’s community site on myGAP.org is a modified version of Community Server by Telligent Systems Ltd1. Although not fully open source, the core source code is published and community contributions are encouraged. This allowed the software to be modified to fit in with the existing login and authentication system, which was developed prior to the first release of Community Server. Open source software can be of great use to the charitable sector. As well as being free to download, open source software is fully customisable as long as there is sufficient expertise available to make the required modifications. 5.12.2. Implementation It was very important that if forums were implemented they would require people to login to be able to post messages. This was so that any users who post can be tracked back easily and warned or banned for inappropriate behaviour. To restrict forums in this way, a login system was needed. Community Server uses its own login system, based on the early previews of the ASP.NET 2.0 Membership functions. As myGAP already had a login system with many registered users, there was a need to integrate the two systems so they would work together. The approaches considered were: • Replace the myGAP authentication system with the Community Server login system. Although the Community Server system is more technically advanced it is also very complex and would tie the whole of myGAP into a third party authentication system. This could cause problems further down the line if the Community Server project ran into difficulty and was no longer supportable. It could also limit any customisation of the authentication system required by future projects built on myGAP. • Replace the Community Server login system with the myGAP login system. This is unfortunately extremely difficult to do, if not impossible, without a large rewrite of major components of Community Server. Because the login systems are so different and Community Server’s system is more complex and feature rich, the myGAP login system was not suitable as a replacement.

1

http://www.telligent.com/ Page 97

A Global Web Enablement Framework

Tom Robinson

Use both login systems together with no integration. This is the simplest option but it would have required users to register separately for the two different parts of the website. The vast majority of users would find this confusing and irritating.

Use both login systems but keep the Community Server login system behind the scenes by creating a communication interface between the two different systems. This was the chosen option as it allowed the minimum disruption to the two code bases but gave all the functionality required for a seamless user experience.

5.12.3. Integrating separate login and authentication systems Although the techniques described below were applied to myGAP (a bespoke system) and Community Server (based on ASP.NET 2.0 Membership functions) the approach can be easily adapted for limited synchronisation of many different systems and is not limited to login systems. The key to the integration was to create a web service which opened up a limited interface to the required authentication and membership class methods of Community Server. The only change made to the Community Server code-base was to add a new web service (*.wsmx) file to the existing solution, as shown in Figure 32. This ensures that when Community Server is upgraded and modified, there should be no complications other than a few small modifications to the web service to reflect the functionality changes in the new version. The key tasks which needed to be possible were: • • Creating a new Community Server user when a new myGAP user is registered. Logging in a user automatically to Community Server once the user has been successfully authenticated by the myGAP application. • • Synchronisation of usernames and passwords between the two databases. Automatic logoff if initiated from either application.

The diagram below shows the flow of information between the two applications. The myGAP application makes requests to the web service layer which then performs the required action and returns a response. For some tasks, the response is either a success or failure message, for example to let myGAP know that the user has been created successfully. In other cases, the response can contain data such as the role groups that a user is a member of.
Page 98

A Global Web Enablement Framework

Tom Robinson

Figure 32. Using a web service to synchronise different systems

5.12.4. Results The GAP Forums have proven extremely popular with over 3,052 users, 3,605 threads and 4,008 posts1 after just 6 months. As well as providing an incentive for regular visits from users, they have also brought many of the advantages commonly obtained by adding forums to a previously static site. Visitors are able to share their experiences and questions with their peers in an open way without having to contact staff at GAP. Even for visitors who do not have anything to contribute themselves, they can still read and search the previously posted messages which can help answer many of the common questions. GAP staff have noticed a marked reduction in the number of common questions they have to handle, giving them more time to investigate more complex or urgent issues which people have. 5.12.5. Photo galleries As well as providing forum facilities, Community Server provides a powerful system for creating and organising photo galleries. This allows any member of staff to put photos from

1

As of 19th September 2005 Page 99

A Global Web Enablement Framework

Tom Robinson

events online, as shown in Figure 33. Whilst the main website contains photos relevant to the topic currently being viewed, a photo gallery as an entity in itself allows a much larger number of photos to be displayed to those who are interested in seeing them without cluttering the main website where photographs must be carefully selected. The photo gallery is interactive and allows comments to be added, photographs to be rated and statistics to be viewed. It is even possible to order prints of a favourite photograph. All this functionality is made available by Community Server so there is no extra overhead for staff other than the initial setup and creation of galleries.

Figure 33. Example of Community Server gallery image

5.12.6. Customisations As well as the customisations made for the login and authentication system there were a number of other changes which were made to the default Community Server application. Because the full source code is made available, it is possible to get a very good level of customisation. Small but critical visual differences made were in the appearance of the pages. The GAP logo and taglines were used to replace the default graphics, the tabs for each section

Page 100

A Global Web Enablement Framework

Tom Robinson

were modified and the colour scheme was changed to match the rest of the myGAP site. The screenshots below demonstrate the changes side-by-side.

Figure 34. Default Community Server Header

Figure 35. Customised Community Server Header

Figure 36. Further visual customisations

5.12.7. Overcoming Globalisaton issues The GAP Community can be accessed from anywhere in the world and anyone who takes the time to register can post messages on the forums. At an early stage, GAP had to decide how to deal with language use on the forums. It was important to set up any rules from the outset, rather than being reactive to usage. The main concern was that non-native English speakers would post messages in their local language, making it difficult for GAP staff to understand and answer queries and potentially allowing unsuitable language and messages to be posted without anybody realising. The only workable solution was to enforce English as the only language which should be used on the forums. This has worked well, even though many

Page 101

A Global Web Enablement Framework

Tom Robinson

visitors are from overseas and do not speak English as their native language. There have not been any issues or complaints about the English language policy as most visitors are also able to speak English in addition to their native language. Without this policy, it would be very easy for a foreign swear word to be used unless it was recognizable to the moderators, primarily English speaking staff working for GAP.

5.13.

Feature: Online Forms – GAP Online Application System

5.13.1. Flexible error checking The approach taken for input error checking was based on the loose validation concept outlined in the framework. This means that the applicant will never find that they cannot submit their form, even if there may be some mistakes in their application. Although this sounds like a risky strategy, it has worked well. Due to the way the applicant is encouraged to check for errors themselves there have only been a small number of cases where information on the submitted form has been incorrect or missing. Compared to a paper application where there is no validation at all, and handwriting can often be difficult to read, this is a great improvement. Nobody has contacted GAP saying that they are unable to submit their application because they cannot get past a rigid validation check.

Figure 37. Error checking before application submission

Page 102

A Global Web Enablement Framework

Tom Robinson

Figure 37 is shown before users can submit their application. It shows which sections of the form have passed the validation checks and allows users to see which parts of their application they have or have not checked. At the bottom of each page of the application form the user is encouraged to check that page’s contents for validity. If the test passes then the last page of the application shows this and the user is notified that all is well. If the checks fail, the invalid fields are highlighted to allow the user to correct any mistakes before checking that section again.

Figure 38. Reminder for applicant to check the page for potential errors

Figure 39. Confirmation that the page validates

5.13.2. Automatic saving without user action Because of the way ASP.NET handles post backs, it is possible to use any control to submit the page (which comprises largely of a form). Normally form submission is limited to the traditional post back methods of buttons or image buttons, unless client-side JavaScript is written. ASP.NET deals with the creation of the client-side JavaScript automatically and requires no extra code to be written by the developer. This was used for the online application form to automatically save the applicants progress whenever a new page is visited. Normally a multi-page form has a “Next” button at the bottom of the page which submits the data entered so far and moves onto the next page. Using the navigation menu to submit the form data allows the user to seamlessly move around the form without ever having to explicitly save or submit each page of their application. 5.13.3. References GAP requires all applications to include a reference from someone in a position of trust and authority, who has known the candidate for at least two years. With the paper system this was

Page 103

A Global Web Enablement Framework

Tom Robinson

on the last page of the application form itself and the applicant was required to pass this onto their referee and then send the entire form to GAP once all sections had been completed. The online application system still requires a reference, but it is done very differently. Once the applicant has completed their application and made the payment, they are shown a screen containing details on how to contact their referee. The preferred method is for them to enter their referees name and email address, allowing an automated email to be sent to their referee. When the referee receives this email, they are given detailed instructions on the purpose of the reference, the importance of it and how to go about completing it. By visiting a URL containing a unique code, the referee is presented with a form, similar to the paper version, which allows them to fill in their reference online and then submit it instantly to GAP. This improves the reliability and privacy of the information contained on the reference as it is never seen by the candidate unless they request a copy. It also means that the applicant does not have to hand over their application form to somebody else, something which could take a while in some situations such as school holidays. Once the reference is complete, it appears on the Online Application Viewer as a completed application. The applicant is sent an email to inform them that the reference has been completed and their form is ready for processing. The whole process is a lot faster than the paper method and reduces the time an applicant has to wait before they can be considered for a placement. 5.13.4. Online Application Viewer The Online Application Viewer (Figure 40) is effectively a replacement for an in-tray and filing cabinet containing paper application forms. The interface is simple and initially consists of a list of applications and a drop down list box, which allows the forms to be filtered according to their status. The initial view shows completed applications, as this is the stage where applications need to be checked by administrative staff. The stages of the application process shown in the viewer are: 1. New/Incomplete – forms which have been started but haven’t yet been submitted. 2. Awaiting reference – when payment has been received and the form has been submitted then the next stage of the process is for a reference to be obtained.

Page 104

A Global Web Enablement Framework

Tom Robinson

3. Completed applications – these are ready to be reviewed and then entered into the main database. At this stage the forms are usually printed or sent as an email to the staff which arrange interviews and placements. 4. Entered into Core – an archive of applications which are in the main database, useful for checking past applications and printing or emailing further copies if necessary.

Figure 40. GAP Online Application Viewer

As soon as an application is started it can be viewed ‘live’. This unique feature is possible because the application is saved to disk automatically and regularly while the applicant is filling it in. Being able to view the contents of an incomplete application can be very useful for marketing staff who are able to see the progress of, and contact, potential applicants who have not yet completed their form for one reason or another. When applications are awaiting references it is possible to check the country which the applicant would like to visit before the application is complete. This can particularly useful if placements in a region are becoming

Page 105

A Global Web Enablement Framework

Tom Robinson

scarce as it gives prior warning and may allow the number of places available to be expanded to meet demand.

Figure 41. Example of online application form in viewer

As shown in Figure 41, there are a number of additional options made available for individual applications. The toolbar at the top allows applications to be copied to the main database once they are complete, printed and emailed to a specified address. Sometimes references arrive by post rather than using the online reference system. In these cases the Got reference? button allows the application to progress to the next stage without requiring an electronic reference. When an application has been inactive for a while, it is useful to be able to send the applicant a reminder. The Send reminder button sends an appropriate message to the applicant depending on the stage of the application process that they are in. In some cases, it may be necessary to ‘delete’ an application. This option does not delete the application but marks it as inactive and hides it from the viewer. The tool is more useful if it only contains live

Page 106

A Global Web Enablement Framework

Tom Robinson

applications so it is useful to be able to remove the applications of people who have changed their mind about applying or have also applied using the paper system instead. 5.13.5. XML application forms Extensible Markup Language (XML) is a general purpose mark-up language developed by the World Wide Web Consortium (W3C). Its syntax is very similar looking to HTML but unlike HTML, it was designed to be used for more than one purpose. Unlike the early versions of HTML, there are much tighter rules for writing valid and well-formed XML code. The strict syntax makes XML harder to write than other text-based formats but it allows the contents to be read and manipulated easily and accurately by machines as well as remaining human readable. XML can be used for almost anything where structured content needs to be stored in a text-based format. XML documents were chosen for GAP’s online application system as the primary method to store application forms, at all stages of the application process. The other option considered was storage in a relational database but this would have significantly increased the complexity of the data storage. Data stored in databases needs to be strongly typed and often a maximum field length must be set. For an online application form with a large number of fields and a variety of different data types, it is easier to store the data in a weakly typed XML document. The XML application form is used at a number of stages of the application process, as shown in Figure 42.

Page 107

A Global Web Enablement Framework

Tom Robinson

Figure 42. Application Form Stages

The XML file is at the centre of the online application process from the start to finish of the lifecycle. The first system to interact with the form is the ASP.NET online form which the applicant completes and edits. Once this stage has been completed, the XML document contains the majority of the application data. Until the applicant submits the form it’s possible for them to come back to it and edit the content.

Page 108

A Global Web Enablement Framework

Tom Robinson

Immediately after submitting the form data, the applicant makes a payment through WorldPay and the data returned from this transaction is added to the application form so that the transaction values are kept alongside the application. The final stage of input comes from the applicant’s nominated referee who completes a short form with a number of multiple-choice questions and an open text box for the reference itself. Once this is submitted the data entered on the reference form is appended to the XML document, thus completing the application form and making it ready for the next stage of processing. Prior to the web enablement of the application process, the application form, payment and reference would usually come separately and would have to be collected and stapled together before being processed and entered into the main database. 5.13.6. XPath for data extraction One of the reasons for using a flexible and non-proprietary data format for the application form are that no assumptions needed to be made about what the data will be used for once it has been collected. GAP uses a Microsoft SQL Server database to store the key information about new applicants but as XML is platform independent the data it contains can be used with a variety of existing and future systems, as demonstrated by Figure 43. This flexibility would be very useful if GAP ever changed its back-end database as the only code which would need modifying is the layer which sits between the form and the database, the rest of the system could remain unmodified.

Page 109

A Global Web Enablement Framework

Tom Robinson

Application form
Personal details
Editable

Medical information School information

Applicant

Placement preferences Reference
Referee

Core Database

Payment Details
WorldPay

Hard copy

HTML/Email

Figure 43. Uses for various sections of the application form

The data from the XML document can be easily extracted using the XPath document query language. The .NET Framework provides classes for such queries in the System.Xml.XPath namespace. 5.13.7. XSLT for data display Although XML files are human-readable, their format is primarily designed for machine reading and editing. Because GAP needs its application forms to be read by humans, a way was needed of converting the XML file into a friendlier and more attractive format. XSL Transformations (XSLT) provide a very powerful solution to this problem. The most useful format for the application forms to be presented in is HTML, as this can be viewed and printed on almost any modern computer as well as being emailable either as an attachment or as part of an HTML email. The process (Figure 44) requires three components: • The original XML document which remains unchanged during the process

Page 110

A Global Web Enablement Framework

Tom Robinson

An XSL Stylesheet, which describes how to format the new document based on the content and structure of the original XML file.

An XSLT processor. The Microsoft .NET Framework provides this functionality in the System.Xml.Xsl namespace.

Figure 44. Using XSLT for processing online application forms

Because the XSL Stylesheet is separate from the source XML document, it is possible to use a variety of different style sheets depending on the desired outcome. For GAP’s internal records, the stylesheet displays all the information entered by the applicant but if a form is to be sent to an overseas host then some personal information and unnecessary details can be hidden by using a different style sheet. A stylesheet can also convert an application form from one XML schema to another, giving the flexibility to change the standard schema but still keep older forms consistent with the new structure.

Page 111

A Global Web Enablement Framework

Tom Robinson

5.14.

Feature: Extranet – GAP Extranet

GAP used to lack a central starting point for staff Internet users. To encourage users to visit GAP websites and internal tools without having to remember the web addresses it made sense to have a single starting point that all users would see when opening their browser. A survey of staff revealed that the majority had either Google or the BBC World News website as their home page. Google was used as a starting point for web searches and the BBC World News site was regularly checked by the Operations department in the event of any natural disasters or other threats overseas. It was a good idea to carry out the survey as it enabled the extranet home page to be developed as a useful resource and not something that users would find an annoyance. The extranet home page needed to contain a search tool, access to current news stories and links to GAP websites and extranet resources. Links were easy to implement and the code for querying the Google search engine is freely available from Google. A few small modifications were made to allow users to search the World Wide Web, Google Images and Google News by selecting the appropriate option from a dropdown list. The news panel was more complex than the rest of the home page but thanks to the BBC News headlines being freely available as an RSS feed it was possible to integrate both the World and UK news into the extranet home page (Figure 45) without taking up too much screen space.

Page 112

A Global Web Enablement Framework

Tom Robinson

Figure 45. GAP Extranet

5.15.

Feature: Global data access – GAP Alumni Update System

5.15.1. Alumni and the Business Partnership Scheme All returned volunteers have the opportunity to join the GAP Alumni Club, which keeps them informed of GAP events and allows them to keep in contact with other volunteers. Keeping an up to date list of Alumni is important to GAP for many reasons. Some alumni volunteers are recruited as part-time Promotions Officers who visit schools and colleges to give presentations on gap years and GAP. GAP operates a business partnership scheme with a number of large graduate recruiters in the UK. The scheme has been running since 1989 and provides graduate recruiters with the contact details, basic academic records and career aspirations of the returned volunteers who opt-in to the scheme. This service provides an opportunity for alumni to be contacted for summer vacation placements and job opportunities. GAP charges a small fee for this service and provides records at the request of the recruiters. If the alumni records are incorrect or out of date it reduces the value of the service so it is important that the information can be quickly, regularly and easily updated.

Page 113

A Global Web Enablement Framework

Tom Robinson

5.15.2. Issues with previous system Prior to web enablement, the process of alumni updating was both expensive and labour intensive. Each returned volunteer who GAP wanted to update their details would have to be sent a letter and a form to fill in and return. This cost a lot in postage as well as the labour costs involved with printing, packaging and sending the letters. To make things worse there was also the added waste of letters sent to old addresses and the long delay between letters being sent out and the form being returned. The information on the form then had to be manually entered into the database, a time consuming process with the opportunity for mistakes in the transfer. 5.15.3. Key benefits of web enablement The alumni update system was in clear need of web enablement to cut costs and to provide a better service to GAP, returned volunteers and business partners. 5.15.4. Method The alumni update system was built as an extension to the existing myGAP member driven website which gave the project a head start and a stable foundation to build on. Normally when somebody registers on the myGAP site there is no way of knowing if they are already on the main GAP database as the systems are not directly linked. Before somebody’s alumni details, stored on the main database, can be updated there needs to be a way of associating the myGAP login with the person’s record on the main database. There are three possible situations which were looked at:

User group Unregistered user

Registration and linking procedure To link the myGAP account to the main database records, the user is asked to provide their unique GAP Reference Number. This is listed at the top of most letters sent from GAP, including the letter or email asking them to update their details.

Registered user who has their GAP Reference Number

If a user is already registered then changes to the registration process will have no effect. The solution to this was to offer the user the chance to enter their GAP Reference Number once they have logged

Page 114

A Global Web Enablement Framework

Tom Robinson

in. As a security check the surname of the user is matched as well as the reference number to prevent anybody accidentally or intentionally falsely linking an account to an existing person. Registered user without a GAP Reference Number
Table 5. Registration and linking scenarios

This is the most complex situation as there is no simple way of associating the database records on each system.

Before the alumni update system could be used there needed to be a way of associating accounts on myGAP with the person’s record on the main database. The table below shows the methods that were used in each case.

Type Registered and completed online application

Status Not on main database yet Record of application on main database

Method Do not allow linking

Already linked

Paper applicants

Unknown

Cannot do anything, probable if person cannot be found • • •

Not assigned to a placement

Ask passport reference number (if not null) Ask interview date (if set) Else wait until the interview date is known

Requirements: 1 correct response Assigned to, or away on, a placement • • • Ask passport reference number, if not null Ask country, if not null Ask work type, if not null

Requirements: 2 correct responses

Page 115

A Global Web Enablement Framework

Tom Robinson

Returned from placement or withdrawn early

• • •

Ask passport reference number, if not null Ask country, if not null Ask work type, if not null

Requirements: 2 correct responses All statuses where linking is unsuccessful Allow the user to enter a message containing more details. This is then sent to GAP so that linking can be performed manually.
Table 6. Account linking scenarios

Using a similar approach to the online application system, XML is used for the storage of the completed forms. 5.15.5. Security As the data being collected was of a personal nature (address, job details, career aspirations and academic qualifications) it was important to make sure that the data was secure and could only be accessed by the owner. Although the methods described above for linking the correct account to the correct person were made as strict and secure as possible, there is still a chance that a determined user would be able to identify themselves as someone else. Because of this possibility, it was decided that the alumni update form would be blank, other than the name and email address fields. This removes the risk of a malicious user being able to view the personal details of somebody else. There is still the potential for somebody to be able to fill the form in with incorrect information but this would only result in incorrect data being stored on GAP’s database, it would not result in an external information breach. All changes made by the alumni update system are logged on the main database, so any changes can be tracked. 5.15.6. Storage format Again, XML was chosen as the data format for storing alumni update forms. The advantages of this approach are the same as those gained by using XML as the format for the online application form.

Page 116

A Global Web Enablement Framework

Tom Robinson

5.16.

Feature: Global data access – GAP Management Information System

Before this project, there was no Management Information System at GAP. For directors to get the information they needed for decision making and planning, they had to perform lookups and queries on various separate systems and put the figures together themselves. 5.16.1. Web-based MIS The MIS is hosted within the GAP Extranet site, which makes it accessible to any user with the appropriate permissions and password. This will later allow GAP to have one MIS for all of its offices, picking up information from all locations and combining it for an overall picture of the organisations performance based on key indicators. 5.16.2. System convergence The MIS required convergence of a number of key systems: • Core Database - as Core contains the majority of GAP’s everyday data and is easily searchable, the important point for the MIS was to create useful summaries and allow easy comparisons with previous dates. • • • myGAP website. Brochure requests database. Online application system - the key indicators for this are the number of people at various stages of the application process. • External website statistics - The scope of integration with this existing system was limited because there is no access to the raw data, only the summarised statistics formatted as a HTML document. The HTML format was designed for presentation to a human audience rather than for machine extraction of the data it contains. Fortunately, an examination of the image and page filenames revealed that it was possible to manipulate the URL to show data for the desired month. This allowed the MIS to give users the ability compare results against previous months and previous years. • Internal website statistics - As there is easier access to the log files for the internally hosted websites it was possible to setup the open source AWStats logfile analyser which provides very detailed statistics.

Page 117

A Global Web Enablement Framework

Tom Robinson

5.16.3. Legal aspects As the site contains confidential performance related data, it was important to add a suitable disclaimer to the first page of the MIS:
“Access to this site is limited to employees of GAP Activity Projects Ltd or temporary members of staff engaged by or on behalf of GAP Activity Projects Ltd ("temporary members of staff") only (in each case a "user"). Accordingly, if you are not an authorised employee or temporary member of staff and you have not been issued with a username and password by GAP Activity Projects Ltd, your access to this site is UNAUTHORISED for the purposes of the Computer Misuse Act 1990 and you should exit it immediately. All information contained on this site is strictly confidential to GAP Activity Projects Ltd.”

5.17.

Feature: Global data access – GAP Project Profiles

In the domain of GAP a project is defined as a geographical area, usually a country but sometimes a region of a country, i.e. Australia, South India or West Canada. These projects are managed as separate entities and have different volunteer staff and in-country GAP Representatives. The GAP Project Profiles system is needed for allowing global viewing and editing of the data associated with each project. Prior to the web enablement of this system the project profiles were stored as Microsoft Word documents, which were large and unwieldy. Any changes to the documents had to be requested via email causing an administrative overhead for the staff who had to do the editing work manually. The first part of the proposed solution was to create a common layout for all project profiles with clearly defined sections for each part of a project’s profile. The data is then stored in a database which allows searching of content, access from other systems, regular backups and the ability to track changes across versions. One of the first difficulties to overcome in switching from a system using Microsoft Word to a web based system, was the limited formatting available with standard HTML forms. This was solved by using the freely available FreeTextBox control. This is an ASP.NET server control written in C# for use in ASP.NET applications. The control is easy to customise and works in both Internet Explorer and Gecko based browsers such as Firefox. For the project profiles system the toolbar was customised to only show features which would be used, reducing any potential confusion of users by having unnecessary features available.

Page 118

A Global Web Enablement Framework

Tom Robinson

The control can be styled to match the style of Microsoft Office as shown in the screenshot below which is using the built-in Microsoft Office 2003 style. Before choosing this option for editing content it was important to ensure that it would work for the vast majority of browsers and users as well as being simple to use. There are other systems for entering rich text such as Bulletin Board Code (BBCode), primarily used on message boards and forums, but they require the user to have some knowledge about the syntax and the results of the code are only shown when the data is submitted. For the project profile system to be able to reach to a wider audience it needed to be as simple to use as possible.

Figure 46. FreeTextBox control in action

5.18.

Feature: Global file access – FTP server

GAP’s head office in the UK stores much of its data on a network accessible shared hard drive. This had worked well while the company was primarily based in the UK but since expansion overseas, this approach was no longer suitable as there was no way of accessing the information unless you were connected to the UK LAN. As well as the need for sharing between offices, volunteer staff working from their homes also needed to get to some of the data without having to request it by email. Setting up a Virtual Private Network (VPN) is a popular method but is only suitable for sharing to a limited number of offices as it requires a complex set up process and either the installation of specialist hardware or software. For many of the volunteer staff, who may need to access the information from a variety of locations, the File Transfer Protocol (FTP) is
Page 119

A Global Web Enablement Framework

Tom Robinson

better suited to the task. Nearly all modern operating systems and therefore nearly all PCs likely to be used by volunteer staff and overseas offices have the ability to connect to FTP servers. There are many free FTP servers available which can be installed on existing servers. In the case of GAP, the built-in Microsoft IIS FTP Server was used. At the time of writing GAP is successfully using FTP to allow external access to files and VPN is being tested but is not being used at the moment.

5.19.

Methods and tools resulting from the case study implementation

As discussed earlier in the chapter, the case study supports the framework by demonstrating that it can be used in a business situation and secondly, by leading to the creation of a number of useful tools and methods. These methods and tools can be applied to many other organisations, a summary of these methods and is shown below:

GAP Mailer

This standalone application could easily be adapted for use at any organisation which needed to flexibly send bulk emails. There is even the possibility of packaging the application up as a standalone product which could be sold without modification.

Online Application System General

The infrastructure behind this application could be adapted to suit any multi-page, complex online form. The main areas which would need to be changed are the payment method and the number of pages and fields the application form consisted of.

Online Application System XML methods

The use of XML for saving the application form and for manipulating the data within it for printing and insertion into a database is a useful method and can be applied to many situations, particularly those where it is not possible to write data to a database straight away. The use of XSLT to provide flexible visual outputs is another key part of this storage method.

Page 120

A Global Web Enablement Framework

Tom Robinson

Online Application System Flexible error checking

The concept of flexible error checking was developed for the Online Application System. This is a method which, as far as the author is aware, is not being used by any other web enabled service or application form. It provides a good method for validating user input whilst avoiding the possibility of a potential volunteer/customer not being able to submit their form.

Online Application System Online References

Giving referees the ability to submit references online is an important part of the overall application process. The use of an XML application form allows reference data to easily be added to the main form either at the same time, or after the main application has been submitted.

Alumni Update System Registration

The Alumni Update System solves a common problem which many organisations face. It demonstrates a method for linking online profiles to a separate internal legacy database system. The techniques used can be adapted and used for many similar situations in other organisations.

GAP Community Integration

This feature demonstrated that it is possible to integrate complex software into an existing web application by using web services. By creating a basic web service interface to the Community Server software, it was possible to allow seamless integration with GAP’s existing login system and to allow users to have a single sign-on for all parts of the website.

Table 7. Methods and tools resulting from the case study implementation

5.20.

Chapter conclusions

The case study has shown how GAP Activity Projects used the framework to develop both basic and advanced web enabled applications. GAP is still expanding on the applications that have been developed and there are a number of new applications planned. The successful
Page 121

A Global Web Enablement Framework

Tom Robinson

implementation and usage of the framework shows that the framework and the tools created as a result of its implementation can be applied to a number of business critical systems.

Page 122

A Global Web Enablement Framework

Tom Robinson

Chapter 6.
6.1.

Evaluation, further work & summary

Chapter summary

In this chapter, the framework as well as examples of its use and implementation will be evaluated. The starting point for the evaluation is the challenges faced during implementation. This leads to an evaluation of the effectiveness of the framework itself and a discussion of ideas for further work, expansion and refinement.

6.2.

Summary & critique

6.2.1. Did it meet aims and objectives? Web enablement is a large and complex subject and it is outside the scope of this dissertation to provide solutions to all aspects of the subject area. The framework offers a simple, yet powerful, set of guidelines for web enablement and is suitable for many organisations, not just small charities. Even so, this dissertation and the framework meet the aims and objectives set out in Chapter 1. The framework is intended as a guideline and would need to be adapted for different organisations, the framework pyramid model allows for this with no mention of specific features, sizes or platforms that must be used. The key concept the framework is ordered progress. 6.2.2. What makes the framework unique? Unlike existing frameworks for web enablement, this framework has been developed from the ground up for charitable organisations. It concentrates on the most important aspects of web enablement and assumes that costs must be kept low. The framework does not make any assumptions about existing infrastructure which must be in place, it is also possible to use the framework model if web enablement work has already been started as the pyramid structure still applies. 6.2.3. Is the framework suitable for a business environment? As the case study has shown, GAP has successfully implemented the framework and is continuing to develop new features and explore new technologies to expand it. That is not to

Page 123

A Global Web Enablement Framework

Tom Robinson

say that there were not issues during the implementation but most of the issues were down to unforeseen technical issues or user error and not a direct result of the framework model itself. 6.2.4. Benefits demonstrated by the case study There were a number of benefits for GAP, a selection of these are shown in Figure 47 alongside the corresponding layers of the framework model. Even at the early stages of the framework, there are benefits which become apparent.

F1

F2

F3

F4

Figure 47. Benefits for GAP

6.2.5. Scalability The framework can be used by small or medium organisations without any need to redefine the process or stages. For larger organisations the framework may also prove useful but is as yet untested. As large organisations are more likely to have a good existing IT infrastructure then the lower stages of the model may not be as relevant. By using a scalable programming platform such as the .NET Framework there are unlikely to be problems with scale. The .NET framework and its supporting applications of SQL Server and Internet Information Services (IIS) are designed to be massively scalable and were designed to be used with technologies such as load balancing and redundancy. The same applied to organisations choosing J2EE and to a lesser extent, LAMP.

Page 124

A Global Web Enablement Framework

Tom Robinson

6.2.6. Maintainability By ensuring that security, data integrity and documentation are key aspects of the framework the maintenance should be made simpler. A reliable and well-planned infrastructure and foundations should require less maintenance than unstable foundations. Documentation and adhering to best practices should ensure that maintenance work can be hassle free, even if the original developers and management team have since left. 6.2.7. Industry recognition The successful implementation of the framework by GAP Activity Projects was entered for the Computing Awards 2005 in the Voluntary Sector Project of the Year1 category. The project has been selected as one of the five short listed for the award in this category. The awards are nationally recognised in the IT sector, being billed as the “Oscars of the IT industry”. An article about the project is due to be published in Computing before the awards ceremony on the 16th November 2005.

6.3.

Challenges faced during implementation

6.3.1. Email address validation Initially the myGAP authentication system required users to validate their email address before logging in. After registration, the user was sent an email asking them to click on a URL with an embedded activation code. This is a common technique used on many sites to get round the problems of incorrectly typed or fake email addresses being used for registration. Unfortunately, it confused many users who either had trouble activating their account, did not get the email or ignored it and did not realise why they could not log in. The solution to this was to loosen the requirements for logging in so that an unvalidated user could log in, but they were not able to perform some functions until their email address had been validated. A reminder is shown whenever a user with an unvalidated email address logs in and the opportunity to have another validation email sent to their address is given. This approach has been a lot more successful as it does not stop users who misspell their email address from being able to view the forums or order a brochure but it does stop users from applying unless they have valid email contact details. Email is often the
1

http://www.computingawards.net/shortlist.asp?id=0 Page 125

A Global Web Enablement Framework

Tom Robinson

only means of contacting a user so it is essential that contact can be assured if they have an application in progress. 6.3.2. Online application system Due to the size of the application form and the number of questions asked, there were a few cases where small typing mistakes in the code, such as misspelling the name of an XML element, caused data either not to be saved when it should have been or for it not to be displayed on the printout. Whilst this is easy to solve it can be hard to spot and depending on the data affected, it took a while before anyone noticed. The greater the complexity of the system, the harder it is to thoroughly test it. Some of the feedback received from applicants who used the online application system is listed in Appendix A. 6.3.3. Automatic application form saving As explained earlier in section 5.13.2. Automatic saving without user action, the application system uses a novel method for saving multi-page form data which does not rely on the user explicitly saving their progress. Whilst this worked well for users that understood the concept, others became concerned that their data would be lost because there was no obvious way to save it. Although the data is still saved automatically when the user navigates to a new page, a button (Figure 48) was added to ease the concerns of some users who wanted to be in control of when their data was saved. This was a valuable lesson in making sure that the user interface suited the usage style of different users. Although one of the intentions of the automated approach was to make things easier for the user it is perhaps too different to the traditional approach which some users are used to.

Figure 48. Save Now button on online application form

6.3.4. Alumni update system Initially a different approach to the one being used now was used when sending letters to alumni who GAP wanted to update their details. Instead of sending the basic GAP reference

Page 126

A Global Web Enablement Framework

Tom Robinson

number, their database identifier, a registration code was used. This was created by taking the first three letters of the users surname and then running a hash on the identification number. The reasoning behind this was to stop somebody guessing somebody else’s reference number and therefore causing a security breach. Whilst this worked well for most people there were a number of issues with it. • • Some users misread numerical zeros as the letter O and vice versa. If a user had not received the letter but wanted to register then a member of staff had to be contacted and the appropriate code looked up. • Codes had to be generated and users had to be pre-registered. This caused problems when users tried registering, unaware of the pre-registration, and understandably became confused that their email address had already been registered. 6.3.5. GAP Mailer GAP Mailer was initially deployed as a remote application with the majority of code residing on an internal web server. A small stub application was installed on users PCs which then accessed the main application from the web server, updated the local cache and then ran the application. In principle this was a good approach to application management as it meant that any updates to the GAP Mailer application were automatically available to all users – the stub application would always check for differences between the locally cached application and the remote code. Due to limitations in GAP's network infrastructure this was initially the only practical way of ensuring that all users were using the latest version of the application. There were a number of problems with this approach, which meant it was later abandoned. If the web server was unavailable, it meant that nobody could use the application as the stub required the code on the server to be available in order to check for updates. There were also a few occasions where changes in seemingly unrelated security settings on client and server machines restricted access to remote applications. This configuration mismatch usually resulted in error messages with little suggestion as to where the source of the problem was. GAP Mailer uses a ‘legacy’ ActiveX control for the message body and this had to be installed along with the stub application. As the control was not designed for .NET it was not possible to update it automatically so there were a few cases of version mismatch between the version of the control on the client and the version being used by the latest release of the application.

Page 127

A Global Web Enablement Framework

Tom Robinson

When GAP upgraded its network to an Active Directory structure, it gained a lot more control over central application management so the previous approach to managing GAP Mailer was abandoned in favour of automatic installation through Group Policy. This allows an application to be assigned to a group of machines and automatically installed or uninstalled on start-up. This now allows any future changes to GAP Mailer to be easily made regardless of security settings, legacy control versions and web server availability. 6.3.6. User registration Even with the thorough error checking on the registration form, some users still managed to enter incorrect details. The myGAP registration form contains a number of dropdown boxes; on some operating systems, the mouse scroll wheel changes the value of the entry when a user is trying to use it to scroll down the page. This problem may explain why a few registrants entered incorrect details such as their country of origin being incorrect. A small number of registrants entered their surname and forenames in the incorrect boxes, something that is hard for a computer to spot and, in some cases, difficult for a human to spot. Some registrants entered incorrect email addresses, some of the mistakes included prefixing the address with www. or adding @mygap.org or @gap.org.uk as a suffix. Fortunately, some of the more common mistakes were easy to check for and the logic has been improved but as with any online form, there are still opportunities for bad data to be entered into the system.

6.4.

Future work

6.4.1. Globalisation Although globalisation is a key issue with web enablement, the case study did not demonstrate this aspect as much as it was hoped. Because of changes in GAP’s global management strategy during the implementation of the framework, not all web enabled systems needed to cater for a global audience were developed during the project lifetime. It was decided that some of GAP’s overseas offices would manage their own web presence and web processes rather aiming for a single point of access and management. Although this is likely to happen eventually, it is still at the early stages of planning and is outside the timescale of this dissertation.

Page 128

A Global Web Enablement Framework

Tom Robinson

6.4.2. Mobile technology There are many possibilities for exploring uses of mobile technology within the charitable sector. As discussed earlier, many charities have already begun to use text messaging as a marketing tool. With the emergence of third generation mobile technology (3G), there are possibilities for transfer of multimedia to phones. This could be used for a number of purposes, perhaps video updates on the work a charity is doing being sent to volunteers. 6.4.3. Refinement and improvement of the model The framework model itself could be expanded to provide for a wider variety of projects, not just web enablement. The pyramid is four-sided but only two of the sides are labelled, there could be scope to add concepts to the remaining two sides to make the pyramid appear more complete and the framework able to be applied to a number of situations. 6.4.4. Specialisation of the model The model is generic by design but for some organisations with specialised needs, there is scope for specialisation and variation of the model. Some organisations may have a small head-office but many volunteers and satellite offices. These organisations might require a different approach to web enablement, especially if management of the organisation is spread over many sites and applications need to communicate with each other in a distributed manner. 6.4.5. Team development The framework does not explicitly explain how to use the framework when there is a team of developers working on the implementation. Teams allow different projects to be worked on concurrently and can significantly reduce the time it takes to complete a project. As the work examined in the case study was all completed by a single developer, there are not currently any examples of the effectiveness of the methods used when applied to a team. 6.4.6. Exploration of methods and tools As discussed in 5.19, a number of methods and tools have been developed to support the framework. Most of these are tied into the business processes of GAP Activity Projects but it would be possible to take the core methods and tools and make them available for general use.

Page 129

A Global Web Enablement Framework

Tom Robinson

The GAP Mailer application could easily be adapted to become a general-purpose email application usable by many different types and sizes of organisation. Some of the methods such as loose validation could be explored and defined as standalone methods suitable for a number of similar projects.

6.5.

Chapter conclusions

In this concluding chapter, it has been shown that the framework is effective in meeting the aims set out at the beginning of the dissertation. While there is still scope for improvement and refinement of the framework it has been shown that it can be successfully applied to a real-world organisation. The discussion of challenges faced during the implementation, and their resulting solutions, will mean that other organisations can learn from the problems encountered in the initial implementation. In terms of future work, there is plenty of scope for incorporating new technologies into the framework. Mobile web technology is an emerging area of growth and is therefore worth investigating further, as are the areas of content management and further globalisation issues.

Page 130

A Global Web Enablement Framework

Tom Robinson

References
[1] D. Chaffey, R. Mayer, K. Johnston, and F. Ellis-Chadwick, Internet Marketing: Strategy Implementation and Practice, Pearson Education, Harlow, pp. 12, 2000 [2] Charities Act 1993 (c. 10); http://www.opsi.gov.uk/acts/acts1993/ukpga_19930010_en_1.htm [3] G. Peacock, “Charity Commission Annual Report 2005 - Report of the Charity Commissioners for England and Wales for the year ending 31 March 2005,” March 2005; http://www.charity-commission.gov.uk/Library/spr/pdfs/annrep2005pt1.pdf [4] Charity Commission, “Income of Registered Main Charities In England & Wales,” March 2005; http://www.charity-commission.gov.uk/registeredcharities/factfigures.asp [5] Commission Recommendation of 3 April 1996 concerning the definition of Small and Medium-sized enterprises (SMEs), OJ L 107, p. 4., 30th April 1996 [6] A. Goatman, “Giving (in) to the Internet – Results of 2004 e-communications survey,” Manchester Business School, 2004 [7] A. Spigelman and E. Evans, “Virtual Promise – From Rhetoric to Reality, A report on charities’ use of the Internet between 2000-2004,” nfpSynergy, September 2004 [8] Web Content Accessibility Guidelines 1.0, World Wide Web Consortium (W3C); http://www.w3.org/TR/WAI-WEBCONTENT/ [9] J. Wyatt, “E-enabling the voluntary and community sectors”, Hall Aitken, November 2001; www.e-envoy.gov.uk/assetRoot/04/00/08/28/04000828.pdf [10] D. Wilcox and M. Pearl, “Civic and Community Technology”, The Journal of The Communications Network, Vol. 1. Part 1, June 2002 [11] D. Wilcox and T. Grunwald, “Avoiding the technology trap”, Making The Net Work; http://www.makingthenetwork.org/tools/matrix.htm [12] M. Stein and J. Kenyon, The eNonprofit: A Guide to ASPs, Internet services, and online software, CompassPoint Nonprofit Services, 2002; http://www.compasspoint.org/enonprofit [13] C. C. Selby, “Better performance from ‘nonprofits’”, Harvard Business Review, 56(5), pp. 92-98, 1978 [14] Cravens, J. (2002), “Barriers to being online”, Coyote Communications; http://web.archive.org/web/20040205162500/http://coyotecom.com/online1.html [15] Data Protection Act 1998; http://www.opsi.gov.uk/acts/acts1998/19980029.htm [16] Disability Discrimination Act 1995; http://www.disability.gov.uk/dda/

Page 131

A Global Web Enablement Framework

Tom Robinson

[17] P. Russo and S. Boor, “How fluent is your interface? Designing for international users”, INTERCHI '93: 342-347, 1993 [18] Neilsen, NetRatings, 2005; http://www.nielsen-netratings.com/ [19] Microsoft Developer Network, “What is the Common Language Specification?” Microsoft .NET Framework Developer's Guide, 2005; http://msdn.microsoft.com/library/ [20] OneStat.com, “Mozilla's browsers global usage share is 8.69 percent according to OneStat.com”, Press Release, April 2005; http://www.onestat.com/html/aboutus_pressbox37.html [21] K. Miyata, J. Boase et al., “The Mobile-izing Japanese: Connecting to the Internet by PC and Webphone in Yamanashi”, 2003; http://www.chass.utoronto.ca/~wellman/publications/webphone/Webphone-PC-NorwayFINAL.pdf [22] Trintech Group, “Statistics for Mobile Commerce”, ePaynews.com, 2005; http://www.epaynews.com/statistics/mcommstats.html [23] C. C. G. Garofano, “Market Share: Mobile Connections, Western Europe, 2Q05”, Gartner, August 2005 [24] Mobile Data Association, “Messaging Marches Ahead” April 2005; http://www.mdamobiledata.org/mda/documents/messagingmarchesaheadmarch05.pdf [25] BBC News Online, “Give us UR blood,” September 2001; http://news.bbc.co.uk/1/hi/health/1531142.stm All web addresses referred to in this dissertation were verified on 18 September 2005.

Page 132

A Global Web Enablement Framework

Tom Robinson

Bibliography
The books listed below were used as general reference material. D. Watkins, M. Hammond and B. Abrams, Programming in the .NET Environment, Addison Wesley, London, 2002 J. Yunker, Beyond Borders: Web Globalization Strategies, New Riders, London, 2002 D. Ince, Developing Distributed and E-commerce Applications, Addison Wesley, London, 2002 S. McConnell, Code Complete: A practical handbook of software construction, 2d. ed, Microsoft Press, Redmond, 2004 C. Avgerou, Information Systems and Global Diversity, Oxford University Press, Oxford, 2002 D. Chaffey, R. Mayer, K. Johnston, and F. Ellis-Chadwick, Internet Marketing: Strategy Implementation and Practice, Pearson Education, Harlow, 2000 S. McConnell, Rapid Development: Taming Wild Software Schedules, Microsoft Press, Redmond,1996 J. Zeldman, Designing With Web Standards, New Riders, London, 2003 T. Connolly, C. Begg and A. Strachan, Database Systems: A Practical Approach to Design, Implementation and Management, 2d. Ed., Addison-Wesley, Harlow, 1998 C. Sells, Windows Forms Programming in C#, Addison-Wesley, Harlow, 2004 M. Morrison, Teach Yourself XML in 24 Hours, 2d. Ed., Sams Publishing, Indianapolis, 2002 S. Mangano, XSLT Cookbook, O'Reilly, Cambridge, 2003

Page 133

A Global Web Enablement Framework

Tom Robinson

Appendix A
Feedback The following feedback was received from users of GAP’s online application system. “Brilliant idea, very easy to fill out, section checking very useful. Perhaps timekeeping would work better if reference was obtained before application form was filled out, to avoid last minute being out of control of the applicant?” “Very effective way of sending details, and it works better as there is more space compared to the written form. It is also very well laid out with the links. Login and log out buttons could be useful, as I wasn't sure whether the data had been saved online.” “The online application system was straightforward to use and seems to allow for a rapid succinct application to be submitted.” “Form was nice and clear, and worked well (not like those ones where you spend hours filling it in and then you lose everything).” “It would really help if you included the reference request section in the main body of the application. I couldn't do the payment until all was ready to go - we had carefully made sure everything else was done. Only then to discover - at a weekend - that you needed a reference with an email address. This delayed everything.” “An excellent service. No problems. Only minor comment: You could have been more prescriptive with the personal statement. I wasn't sure what to write, or the ideal length of the statement.” “A clear and easy-to-use application method. It's especially helpful to save information on your form as you complete it.” “I found the online application form one of the easiest I've ever filled in. It was really well set out and simple and easy to understand and I got it filled in quickly.” “Very efficient service. I knew exactly what I had to do. Excellent way of checking if you made a mistake or missed something out!!! Really good!”

Page 134

A Global Web Enablement Framework

Tom Robinson

Appendix B
This appendix contains large, blank diagrams which can be printed and used for reference. Progress flow chart

Maintenance continues throughout all stages

Future becomes Feature

Page 135

A Global Web Enablement Framework

Tom Robinson

Foundations (F1) Checklist

Page 136

A Global Web Enablement Framework

Tom Robinson

Summary of Foundations

Page 137

A Global Web Enablement Framework

Tom Robinson

Summary of Fundamentals

Page 138

A Global Web Enablement Framework

Tom Robinson

Summary of Features

Page 139

A Global Web Enablement Framework

Tom Robinson

Summary of Future

Page 140

A Global Web Enablement Framework

Tom Robinson

Feature Planning Matrix

Time needed

Soon

Later

Page 141

Sign up to vote on this title
UsefulNot useful