Automating Government with e-Governance
e-Governance is improving the lives of billions of people worldwide and is integrating government services in a way never seen before. Linux with its low cost, high security and open standards is rapidly becoming the driving force behind this revolution.
So what is e-Governance? E-governance is the computerization and automation of common government processes with the goal of lowering costs, improving efficiency and generally providing better services to citizens.
Linux has found a new powerful ally in politicians who have made e-governance the new mantra for governments globally. Politicians, primarily are interested in Linux and open source in general due to the core business value and benefits provided by Linux over and above alternative operating systems. In a general sense, Linux provides improved IT security in the increasingly security conscious world post-9/11 and greater interoperability via open standards in an ever more integrated global society. Put another way, Linux provides a safe and secure environment while supporting the benefits of openness and interoperability.
Delixus, Inc. recently completed work on the Delixus e-Governance Platform 2004 edition that leverages the strengths of Linux to provide improved services to widows, pensioners and poor farmers in the Indian state of Karnataka. The Delixus e-Governance Platform addresses the needs of millions of rural poor citizens in India who receive widow or pension checks through services provided by local government offices. For several reasons, the current manual system is slow in getting checks to the people who desperately need the money. First, long distances often exist between the pension offices and the villages where people live. Second, cross-referencing multiple files for a single citizen often takes weeks due to the large volume of applicants. Third, citizens often are unaware when checks are ready for pickup.
e-Governance applications must deliver tangible benefits to citizens in terms of lower costs, more rapid delivery of services or new, innovative services previously unavailable. Put another way, the primary requirement of e-Governance is it must improve the lives of citizens.
All software application development begins with the definition of technical requirements, such as data storage requirements, performance requirements in terms of I/O and throughput, as well as scalability and application uptime. Although any experienced software professional is an expert in technical requirements, the automation of governance in India and China in particular are uncovering issues on a scale never see before. For example, defining the upgrade path for an application that must scale to a total of over 1 billion total users with a capacity for 100 million concurrent connections is not easy. What are the bandwidth, storage capacity and performance requirements that will enable an application of this scale to provide consistent and usable services to citizens? These are the exact issues facing the governments of India and China and technology vendors as they look to implement e-Governance.
e-Governance applications must adhere to the laws and regulations of the government body using the application. Many of the laws and regulations were created long before the information age and therefore may not define clearly what is acceptable in an automated government office. As a result, frequent and direct communication with government officers is required to seek clarification during the development process.
Lawyers become an integral part of the software development process due to the need to understand the vast ocean of laws and regulations that have the potential to make or break the marketability of an e-Governance application. e-Governance is one of the few applications where software engineers and lawyers sit side-by-side reviewing a software requirements specification (SRS) for technical accuracy, albeit with different ideas about what is technically correct.
Multilingual environments create new challenges and opportunities. There are multiple national languages in India, but more importantly numerous regional languages are mandated by state governments. Despite the existence of national languages, state governments dictate that regional languages must be used for all government communication within state and local departments. The Kannada language is mandated for all state and local government bodies within the state of Karnataka. Karnataka is home to Bangalore, which, along with Silicon Valley, is of the two largest software development centers in the world.
Kannada language support was a critical legal and technical requirement for the Delixus e-Governance Platform. Detailed research and testing on Kannada language support in both Linux and Windows was undertaken. Importantly, the desktop operating system (OS) selected had to support Kannada for the Delixus e-Governance Platform as well as all other business applications. Research on Kannada support yielded the following findings:
Table 1. Summary of Kannada Support in Linux and Windows
|Operating System||In development||Windows XP native support|
|GNOME translation in development (11% complete)||3rd party add-on (Nudi) for Windows 2000, NT, 98, 95|
|3rd party add-on (Baraha) for Windows 2000, NT, 98, 95|
|Microsoft Office XP or 2003|
|Web Browsers||Mozilla 1.4+||Mozilla 1.4+|
|Firefox 0.8+||Firefox 0.8+|
|Internet Explorer 5.5+|
As can be seen from the findings above, Kannada support is available on both Linux and Windows, although in varying degrees. Specifically, Kannada is supported officially in Windows XP by way of the Multilingual User Interface (MUI) Pack and in Office XP and 2003. Several open-source projects to add Kannada support to the Linux desktop are in various states of development.
The difficulty in adding Kannada support to software is that Kannada uses an entirely different font from English, the keyboard layout must be remapped and there is a lack of presentation standards. Importantly, Linux has strong support for Unicode in programming languages, databases and middleware. Unicode is a standard encoding system that provides support for many different languages and character sets, including Kannada. Unicode is widely supported in open-source applications and by such industry leaders as IBM, Sun, Microsoft and many others.
The PostgreSQL database server and the Postfix e-mail server add Kannada support to Linux through Unicode. In a general sense, Unicode enables Linux to provide the processing power behind a Kannada-based application.
- Resurrecting the Armadillo
- Interview with Linus, the Author of Linux
- Localhost DNS Cache
- High-Availability Storage with HA-LVM
- March 2015 Issue of Linux Journal: System Administration
- Real-Time Rogue Wireless Access Point Detection with the Raspberry Pi
- DNSMasq, the Pint-Sized Super Dæmon!
- Days Between Dates: the Counting
- Linux for Astronomers
- The Usability of GNOME