Introduction to Envaya's Software
Envaya designs and creates online software for civil society organizations (CSOs) in developing countries. With a combination of user interface design, core technology, and a continuing process of user feedback and iteration, Envaya's software is optimized to be both easy-to-use and valuable for CSOs.
If you are a visitor to Envaya's website, and not a CSO registered for Envaya, you can see only a small fraction of Envaya's software: the public view of CSO websites. As a result, it might seem that Envaya is just a content management system (CMS) for web publishing, similar to Wordpress or Drupal.
Actually, Envaya is a broader technology platform, which includes tools for networking and collaboration between CSOs, tools for structured reporting from CSOs to grantmakers, and other tools designed for the needs of CSOs, in addition to easy-to-use web publishing and content management tools.
Furthermore, Envaya's software is continually improving; although there are many areas for improvement, we are always working to refine its design and develop new tools to better serve civil society. Envaya welcomes developers from around the world to help improve our software, which is open-source and available on GitHub.
In the sections that follow, this page describes Envaya's users, and how Envaya's user interface, core technology, and continuing feedback and iteration work to address these users' needs.
In order to understand the design of Envaya's software, it is necessary to understand the people it is designed for: people who lead grassroots civil society organizations in developing countries, particularly organizations with limited technical expertise.
Many of these organizations have no visibility online, or are represented only by entries in online databases with very limited contact information. Typically, organizations in developing countries that already have a significant online presence are either highly-funded international NGOs or high-capacity local organizations. But an overwhelming majority of local CSOs are not yet represented online, and are largely invisible outside the local region where they operate.
It is difficult to make many generalizations about all of Envaya's users, as they are a diverse group including women and men of widely varying ages and computing experience. Envaya's users include people who have barely used computers before as well as people who have their own laptops with thousands of photos and documents.
Here are a few general characteristics of the users for whom Envaya designs its software:
All of Envaya's Users:
- are closely involved with a civil society organization (usually as part of its leadership)
- are literate (not necessarily in English)
- have access to an internet-connected computer (not necessarily their own)
- are familiar with basic computer operation, such as how to use a keyboard and mouse, and how to visit websites
- use Windows XP
- use Microsoft Office to create documents
- use email
- have slow, unreliable internet access
- use an older browser, such as Internet Explorer 6
- primarily use internet cafes or cellular modems to access the internet
- pay variable costs for internet use, either per hour at an internet cafe or per-kilobyte through a cellular modem
- need to travel for internet access
- have access to a digital camera
- use mobile web to access the internet
Very Few Users:
- use Facebook or Twitter
- use Apple products like Mac OS X, iPhone, or iPad
- have a credit card, paypal account, or other means of online payment
- have broadband internet
Some of these characteristics have significant implications for design of online software. Most of Envaya's users would not have a payment method accepted by any service on the internet, such as domain name registration or server hosting. Many users would have difficulty navigating the interface of web sites that are only provided in English. Furthermore, a large number of web sites are essentially inaccessible due to their assumption of broadband speeds and recent browsers.
While existing popular online services such as Facebook, Twitter, and Google Sites are indeed valuable, and can be useful for many CSOs, their designs are not optimized for the users for whom Envaya designs. As a result, fewer CSOs have the capacity to use these tools, and many CSOs may find more value in a system designed specifically for their needs.
User Interface Design
In order to create a service that meets the usability needs of civil society organizations in developing countries, Envaya puts significant effort into human/computer interaction (HCI) and user interface (UI) design, which is manifested in numerous aspects of the software. This section discusses some of the most significant aspects of Envaya's UI design.
In many developing countries, there are relatively few websites in the primary local language. On the internet, English literacy is a prerequisite for many online tools, which serves as a barrier for many people's participation on the internet.
Envaya is designed so that the user interface text is translated in the most common local languages where Envaya operates. Envaya encourages CSOs to write in whichever language they feel most comfortable; subsequently, Envaya facilitates the translation of user-created content with Google Translate or human volunteers, in order to make their content more accessible to people who do not speak that language.
A challenge for users who are new to the internet is the introduction of new metaphors and terminology. Even terms like "social network", "profile", and "blog", which are well-understood by people who have been using the internet for many years, may be opaque jargon to people with less experience on the internet.
Envaya's user interface is designed with more familiar metaphors and text phrases that can be translated into local languages lacking newer technical jargon. For example, Envaya uses "news update" ("habari" in Kiswahili) instead of "blog post". Each user creates a "web site" ("tovuti") with multiple "pages" ("kurasa"), not "profiles" with multiple "apps" or "tabs".
Guidance in Signup Process
Many civil society organizations know they want a website, but don't initially have a strong idea about details such as how it should be organized and what information it should contain. Creating a website from a blank slate can be overwhelming.
When civil society organizations first register for Envaya, the signup process asks them for a small amount of information about their organization, such as their organization's name, phone number, mission statement, and location. Envaya uses this information to create a basic home page and website structure, allowing organizations to quickly achieve a first result and see the outcome in only a couple of minutes.
Subsequently, Envaya encourages users to continue improving their website by suggesting that users create other pages with information common to many CSOs, such as the organization's history, projects, team members, partner organizations, and photos. Users can expand beyond these suggestions to create other pages as well, but Envaya's suggestions provide an easy path to get started.
Many CSOs using Envaya are proficient users of Microsoft Office, and have already created many documents, such as annual reports, that they might want to publish online. However, uploading Microsoft Word documents on a website in the conventional way is not ideal because it requires the viewer to also have Microsoft Word, and also hides content behind a potentially large download. Although users can copy-and-paste content from Word into Envaya's rich text editor, documents will lose any images or complex formatting with this approach.
To address these issues, Envaya has integrated Scribd's document uploading service and embedded viewer into the interface for editing web pages. CSOs simply select a document from their computer, and Envaya automatically converts it to a embedded Scribd object that is viewable on any browser with either HTML5 support or Adobe Flash.
Beyond just the visual and interaction design of the user interface, Envaya also contains core technology that makes the software more usable by people in developing countries. This section discusses some of Envaya's most significant technology components.
Optimizing for Slow Internet Connections
Internet connections in developing countries are often low bandwidth and high latency. In addition, data transfers are frequently charged by the kilobyte. As a result, many modern websites, which implicitly assume a flat-rate broadband connection, are effectively inaccessible for users in developing countries.
Envaya aggressively optimizes its web pages to minimize the amount of data transferred as well as the number of round-trips between the user's computer and Envaya's servers. These methods include:
- Using GZip to compress HTML and CSS content between browser and server
- Using HTTP Keep-Alive to avoid the latency of creating a new TCP session for each request
- Setting HTTP Cache-Control and Expires headers for static resources (such as images, scripts, and stylesheets) so that the browser only requests them once
- Avoiding third-party scripts
Although these methods are standard ways of improving website performance and are not specific to developing countries, Envaya is more aggressive than most websites in this regard. As a result, envaya.org loads quickly in developing countries, and is less expensive for users with metered data service.
Client-Side Resizing of Uploaded Images
Uploading content in developing countries is often even slower than downloading. This poses a challenge when Envaya users want to add photos to their website, since image files from digital cameras are often more than 1 MB in size.
While it is possible for technically-savvy users to resize and compress their photos before trying to upload them to Envaya, this process is tedious and challenging to teach.
Support for wide range of browsers
Internet Explorer 6 is the primary browser for many of Envaya's users. Released in 2001, IE6 has numerous quirks and missing features compared to more recent browsers. As a result, many websites have stopped supporting IE6, and encourage their users to upgrade to a newer browser.
In developing countries, upgrading the browser can be difficult. Many people use computers with a non-genuine copy of Windows XP, which prevents them from receiving software updates from Microsoft. Even people with genuine copies of Windows XP frequently disable automatic software updates, because software updates use a large amount of bandwidth and are expensive with a metered internet connection. Many users may be able to download other browsers such as Firefox or Chrome, but may find it difficult to understand the benefits of a newer browser, or be unable to install software on a computer owned by someone else (such as in an internet cafe).
As a result, Envaya continues to be designed and tested to work well in Internet Explorer 6, as well as more recent versions of Internet Explorer, Firefox, Chrome, and mobile browsers such as Opera Mini.
Connecting to the internet is expensive for many of Envaya's users, either because they need to travel to get internet access, or because they pay for internet access per hour or per kilobyte. To better serve these users, Envaya has created desktop software to make certain parts of Envaya's functionality accessible offline.
For example, as part of our effort to increase efficiency and transparency in international development, Envaya has built a custom, flexible reporting platform that allows grantmakers to collect reports from CSOs and display them on the internet. Initially, this reporting platform required CSOs to fill out and submit their reports online. However, for some organizations, it is difficult to stay online while completing a detailed report.
In response to this challenge, Envaya has developed a custom desktop application using Adobe AIR that allows users to download reports, complete them offline, and then later seamlessly upload them with a click of a button. Envaya's desktop application works even on the unpatched versions of Windows XP that are common in many developing regions.
For rural organizations with no internet connectivity at all, this desktop application also allows reports to be distributed and submitted by "sneakernet" (physically transporting the files and software).
Ongoing User Feedback and Iteration
Instead of releasing a "final product", Envaya continuously prototypes new features and iterates existing features to improve the quality of the software over time.
There are numerous channels by which Envaya receives feedback from users:
- We hold in-person group training sessions with CSO representatives from community regions where we can directly observe people using the software and identify issues, and also ask CSOs for their suggestions.
- We send emails every few weeks (announcing featured organizations and updates to Envaya's software) and encourage users to reply to tell us if they have any issues.
- Users can submit the contact form on our website.
- Users can contact our local program manager by phone.
- We infer issues by observing the content published by CSOs on Envaya, as well as server logs.
- We also use Envaya ourselves.
The feedback Envaya has received from users has led directly to numerous improvements in Envaya's software design. Many of these improvements come not from direct suggestions, but instead from deducing the source of user problems and figuring out how to solve them. Here are a few examples of some feedback Envaya has received and used to improve its design.
Example 1: Fake Email Addresses (Group Training Session)
In the initial release of Envaya, the registration process required the user to enter an email address. During our group training sessions with CSOs, we found that some organizations were using the same email address as another organization that was present at the training session, or making up an email address that didn't exist. We realized that most of these organizations actually didn't have an email address yet, and so we stopped requiring that they enter one.
Example 2: Adding Photos from Word Documents (In-Person Visits)
In December, 2010, we visited the offices of some CSOs in Dar es Salaam that were already using Envaya, in order to observe them using the software and give them an opportunity to share their experiences and suggestions. The director of one organization explained that he wanted to add photos of the organization's team to his website, but was unable. He showed us the photos, which were contained in a Microsoft Word document on his laptop. Since the Word document was not an accepted image file format (JPG, GIF, PNG), Envaya would not accept his photos.
The problem was not unique to this particular organization; many other organizations wanted to upload logos to their website, but the logos were contained within Microsoft Word documents, not image files. Although it is possible for users to extract images from Word by exporting to HTML or by copying-and-pasting them into an image editor such as MS Paint, teaching these processes to every user would be challenging.
As a result, Envaya modified its software so that users could upload Microsoft Word documents directly. If the user was trying to embed an image, Envaya's web server uses open source tools (OpenOffice.Org and pdfimages) to extract and save images within the document as JPG files that can be viewed in a browser. (In addition, Envaya designed a user interface to allow users to embed any Word document on their website, as mentioned above.)
Example 3: Problem Registering (Contact Form)
One user who submitted the contact form mentioned the following (translated from Kiswahili):
... He gave me his business card and with wonder I saw he had a website (Envaya)! That day I opened his website and saw his work for myself. I asked him and he gave me some information about Envaya. I didn't understand why
each time when I tried to log in I was asked for a username and password.
We realized that when someone views a CSO's website on Envaya, and wants to register, the most obvious method would be to click the "Log In" button. But the login page was missing a link to the registration page, which was only accessible from http://envaya.org/home. We quickly corrected the problem by adding a sentence and link on the log in page explaining how to sign up.
Example 4: Saving Drafts (Using Envaya ourselves)
Although Envaya itself is not exactly the kind of grassroots CSO that our software is designed for, Envaya does use its software to create its own website. In addition, Envaya's Tanzania Program Manager also is an executive commitee member of a grassroots CSO that uses Envaya's software. Using our own service provides valuable design motivations.
For example, initially Envaya's interface did not allow saving drafts of pages; pages were saved only when they were published, with the motivation of keeping the interface simple. But in the process of writing and editing this very long page, we wanted to be able to save changes often without having to publish it, as well as to be able to revert to older versions if we accidentally deleted something. So we added that ability.
As it exists today, Envaya's software barely scratches the surface of what can be done to meet the needs of civil society organizations in developing countries. If you are a software developer, web designer, HCI4D researcher, international development practitioner, civil society leader, representative of a foundation, or anyone else with the capacity to help out, get in touch with us!