Developing the New E-Pustakalaya

## Introduction ##

Since OLE Nepal’s inception in 2007 we have strived to provide open and free access to quality education and innovative learning environments to children all over Nepal.  One of our core missions is to reduce the disparity found within the accessibility of learning tools brought about by geographic location, school type, and population group.  E-Pustakalaya, our free and open digital library, closed the gap by providing a collection of thousands of books, educational resources, course content, and reference materials directly to students and educators.  Not only did this library aid in providing quality educational content, it has aided in the development of reading habits early on and has sparked an inquisitive nature within students by providing the means to conduct independent research.  

## Current Technology and Architecture ##

The initial iteration of E-pustakalaya utilizes FEDORA (an acronym for Flexible Extensible Digital Object Repository Architecture), a digital object repository architecture designed to achieve scalability, stability, flexibility and extensibility, while at the same time providing for interoperability between systems. FEDORA is positioned within a larger open-architecture framework in which the total functionality of a digital library is partitioned into a set of services with well-defined interfaces described in the image below.

Component Stack

Component Stack

Integration Architecture

Integration Architecture


Fedora Commons is developed on the top of a Java application and is popularly deployed through Tomcat. The front-end interface and querying of items in Fedora Commons is handled by FEZ and PHP.  Currently we are using Fedora Commons 2.2 deployed in Tomcat 4.1.12 and Java 6. We have tinkered CentOS 6.4 to orchestrate the deployment.

## The Switch ##

It has been over eight years since E-Pustakalaya’s initial launch and we are currently in development of a new E-Pustakalaya powered by DSpace: an open source repository software originally written by MIT and HP Labs and is currently developed by DuraSpace.  The main reasons for our switch are as follows:

  1. The Lack of Support for FEZ and front-end responsiveness

The FEZ interface is currently being loosely maintained at Github and lacks the proper support and documentation we require for the expansion of features like document streaming or a responsive interface.  For instance, a more responsive, dynamic web interface would improve the user’s experience by providing a dynamic view through various multimedia features rather than a static ones.  These features are implemented through languages like CSS and Javascript to facilitate a vibrant interface and make media queries possible which would have been very difficult to implement within the FEZ interface.

  1.   We wanted a more optimized database

Within the old E-Pustakalaya we utilized PHP to directly query for the desired items and their metadata within a relational database.  These queries eventually proved inefficient as several parts had to be queried from a relational database of millions of items that did not have a back-end search engine that provided an inverted index like Solr.

  1.  DSpace showed up with all the solutions

We chose DSpace because it met the standards of scalability, flexibility, and stability we set for the previous iteration of E-Pustakalaya, while also providing a greater environment for the expansion of features.  It provided a robust front-end interface that supported the implementation of the responsiveness that we sought for and had a sophisticated querying system that could handle our immense library.  DSpace also allowed for the same wide range of file formats to cover educational content  from books, videos, and recordings.  

## The Structure ##

Now within the library are millions of items of various file formats.   DSpace records the metadata for these items and then the file formats are converted into bitstreams.  The meta data and bitstreams are tied to the item which then gets grouped into a designated collection. These collections are then organized into general communities.  Take for instance a community was labeled “Literature,”  within this community some example collections could be the genres within literature, for instance: fiction, nonfiction, or children’s books. Within these collections the books would be the items and the metadata would hold various recording information like the authors,  release dates, and other descriptive information.


Source: DSpace 6.X Documentation

To query these items from the collections or communities, DSpace utilizes Solr Discovery to facilitate faceting and search result filtering. Solr provides the inverted index to provide speedy access to content metadata and data while simultaneously recording usage statistics. To carry out these tasks DSpace has a multicore setup of Solr which includes a “search core” that deals with the data about the communities, collections, and items, and a “statistics core” that deals with view counts, searches, and user data. The search core effectively finds the item with its indexing and then queries for the relevant bitstreams tied to the item within a Postgresql database.  Solr also allows us to create custom metadata which helps its effectiveness in indexing.  The interaction between Solr querying and the traditional Postgresql database facilitates the fast querying and filtering of items while only querying for relevant bitstreams from a relational database.

The front-end web interface of the new E-Pustakalaya is generated through XMLUI and is based on Apache Cocoon, which primarily utilizes Java, XML, and XSLT.  We have heavily customized the original Mirage2 theme to match the end product designs that were decided upon by OLE designers.  Through Apache Cocoon each page is created through a pipeline where every aspect is “added” to the page separately and work independently from each other.  We have customized the built-in aspects to provide the desired document streaming for books, audio files, and video files. This is accomplished by incorporating open source add-ons like pdf.js and video.js which are HTML5 based interfaces that we provide within the server so that the end-user can access the educational content directly, without the need to install plugins within their browser.  We have also added a commenting feature using Disqus so users have the ability to comment on each item, which can facilitate discussions between students and educators.

Current E-Pustakalaya Home Page

Current E-Pustakalaya Home Page


Multiple Document Streaming

Multiple Document Streaming


Commenting Features

Commenting Features

Overall DSpace provides an extremely robust and flexible database that can handle virtually any file format that we would ever need.  Its use of Solr Discovery makes queries fast, reliable, and highly customizable.  An upgrade from the previous database which utilized PHP to run queries from a SQL database.  Even on the front-end the aspect style formatting of features allows us to freely customize specific aspects without the worry of affecting another feature.

## The Challenges ##

Our development team, consisting of a systems engineer, a software developer, and a development intern, is relatively small given the scale of the project.  DSpace out of the box did not natively support many of the features already adopted within our own repository.  For instance, the aforementioned document streaming modules are built up of third party add-ons; pdf.js provides the module for viewing pdf files and video.js provides the modules for streaming any file format compatible with HTML5.  Video.js actually grants us with a high level of flexibility on which file formats we can use for videos and recordings, but for now we have chosen to stick with mp4 and mp3, for video and audio respectively, as they are widely used and are compatible with almost all browsers.  

DSpace’s ability to use Solr Discovery is heavily reliant on the metadata tied to the items as these are how items and their bitstreams are easily indexed and queried.  The process of transferring items from the previous data base might have to be done manually as the formats of the databases do not currently provide an obvious solution for their automatic transfer.  We have discussed plans on tiered transitions where we would transfer over parts of the database at a time rather than a full scale transition.  We will of course also be looking into how we can automate some of the processes for the eventual transition.

There is also the challenge of localization and maintenance.  Since OLE is planning on distributing this library format to remote villages in Nepal; access to internet may not be possible and some features of the repository may require an internet connection to work such as the commenting features in Disqus.  There is also the somewhat steep learning curve of customizing the XMLUI interface as it is based on XML, XSLT, CSS, and Java which would require a working understanding of those languages for any form of customization.  We have talked about writing a comprehensive guide on the customization of popular features  the repository and to also provide references to the original DSpace documentation if further customization is desired.

## Looking Ahead ##

As of writing this blog the team is still currently in development of the new E-Pustakalaya and is making steady progress towards the end goal of providing a necessary platform to bridge the gap on the accessibility of quality educational content.  The current local instance of the E-Pustakalaya has the core database established that allows for multiple file streaming on a vibrant, newly designed web interface.  The whole team is very excited about continuing in the development of the new E-Pustakalaya and are enthusiastic about what the end product can help achieve.

Volunteer Spotlight: Prajna Ho

OLYMPUS DIGITAL CAMERANamaste! This is Prajna, from Hong Kong. I would like to thank OLE Nepal for giving me the chance to assist in the quality education in digital learning advocacy efforts. After having a week service trip in Nepal last year, the profound experience had triggered my motives and ideas to support the development of children’s education in the region, therefore, I designed another visit to Nepal after my graduation and before taking any full-time work, as my graduation project.

With the specific concern of the quality of education, I had been thinking of any social projects that can be facilitated for creating a better learning environment in Nepal. Having observed the major differences of education received in developing and developed regions, I would like to say that the accessibility to the Internet and quality content have largely determined the level of empowerment of one’s self-learning. The idea of donating laptops has come to my mind and that had motivated me to support Open Learning Exchange Nepal (OLE Nepal) who has been working on this social cause.

Before leaving Hong Kong for Nepal, I received an introduction of One Laptop Per Child (OLPC) project by the board member of OLPC Asia, Mr. T. K. Kang. I picked up the whole picture about the structure of OLPC project before my service in OLE Nepal. The pedagogy behind OLPC with the hardware design of XO Laptop plus the open-source Sugar system are appreciated and impressive, enabling children to learn by themselves, applying the concept of “Constructionism”.

Throughout the volunteering period, my service duty was mainly on Communications and Social Media. Thankfully I got the chance working on a strategic design of the social media and communication plan with the Communication Officer, Trishala and some more colleagues. I was also working on the implementation of content writing and media curation for advocating the E-Pustakalaya (E-Library in English) to the local community.

E-Pustakalaya is an education-focused, open-sourced, interactive digital library for all Nepali & English readers. The development of E-Pustakalaya follows a philosophy that provides quality education in Nepal through creating an interactive learning platform for users while collecting learning sources from widely-recognized institutions from the local and international community.

Definitely, the provision of digital library has given children new forms of learning, while both teachers and parents are able to access the resources without spending a penny for the quality teaching content and facilitation of interactive education. I appreciate that OLE Nepal is acting as a manager to manage the all-rounded learning experience for young learners in Nepal, supporting digital content creation – designed based on the national curriculum, platform management and teaching training. I see the existing and potential impact of this organization’s work in the country.

Having accessed to the Google analytics of the several websites, I was surprised to know the online library has been used by Nepalese and English readers from all over the world, users covering different continents.

I am glad that I could present in a meeting about an international-scaled fund deployment, it has enabled me to understand more about the NGO landscape and fund-raising considerations from the project donors. Funding is the important element to sustain the operations of most of the social projects which bring long-term social benefits.

Of course, self-initiation had a positive impact to my service experience. Proactive learning has brought me much more exposures, such as visiting the annual Kathmandu book fair and local community library.

After the period of mutual understanding and interactions, I found the colleagues in OLE Nepal are competitive and collaborative. They are open-minded and proactive to understand my observations of what I had been witnessing in those few weeks and what OLE Nepal has been working on.

The organizational culture is amazing; the management is generally much similar as the western-style. It seems voices from every co-worker can be respected and concerned. The hierarchy is not apparent; the culture is unexpectedly open. Employees are autonomous, independent and are strong team-players. I witnessed the systematic style in their collaboration, not only by the interactive and transparent communication tool but also the progress monitoring system across departments. I appreciate the work-life balance the colleagues have achieved since I presented at their birthday party for their colleague, as well as some after-work chill out and site visits.

13600164_10154240367830822_2699364360632631745_nA Chinese saying goes: “Never reject anything virtuous for its pettiness”. Truly, what I have realized from the experience is that: when you come across the right thing happening in front of you, no matter how big or how small that you think your impact can be, go and follow what is right and support the happenings rightly.

I would like to hereby thank all colleagues in OLE Nepal for facilitating my learning and showing your hospitality to me. The road to the mission is long, tough and full of obstacles. I deeply appreciate their hearts and commitments to work for some positive impact to the community. Their passion has led the OLPC project pass through milestones in the past decade and will continue in Nepal for many more.


Bringing Raspberry Pi to classrooms

There is so much going on in technology these days. Technology has brought unprecedented changes in our daily life, retooling the way we communicate, the way we shop, the way we make our living and more. The things that were considered as science-fiction a few years ago, is now a real thing. But, compare the classrooms back in the 90s and now, do you see any change? For the major part, it’s more or less the same. It’s a no-brainer that we have been scared to adopt new technology to our classrooms. It is said that Socrates was scared of this new technology called “writing” which he thought would erode the memorizing power of human. There was a time when people were intimidated by the use of the calculator in the class, for it may jeopardize the calculating power of the human brain. Nevertheless, we cannot overlook the fact of how technology can be leveraged to extend the knowledge imparting process, for education today is not about what-you-know, but what you can do with  what-you-know. With growing MOOCs and learning materials available over the Internet, that are not only adding the new dimension in learning today, but also making the learning process more fun. Also, the students today are more adept in using technology, so taking technology out of the learning equation would be alienating the student of their abilities.

At OLE Nepal, we strive to bring the best new technology to our classrooms. It’s never easy to embrace a new piece of technology, for teachers are resistant to the change, with factors like power cuts and budget making up a huge share of challenge. So we set our selection of the technology based on the 3 prime constraints; low-powered, portable, and low cost. And for these traits, Raspberry Pi steps up as the knight in shining armor.


Computer setup with RPi image source


           [ image source]

Produced in Cambridge, Raspberry Pi primarily designed to demystify the technology in the classrooms for the learners, is a credit-card sized computer that costs only $35. The device plugs into a computer monitor or TV, and uses a standard keyboard and mouse. You can use this mini computer just like you would your desktop computer to do everything from browsing the internet and playing high-definition video, to making spreadsheets, word-processing, or playing games.

How is OLE Nepal using Raspberry Pi?

Mountain View

Typical E-Pustakalaya lab setup

Predominantly we build Pustakalaya Server, which is typically a mini PC, hosting educational contents major section which is the E-Pustakalaya, which is digital library of more than 7000+ books of different genre build on the FEDORA (or Flexible Extensible Digital Object Repository Architecture) digital asset management (DAM) architecture upon which institutional repositories, digital archives, and digital library systems are built. We also have added to it our home-brewed, curriculum-based interactive teaching material; E-Paath, off-line Khan Academy videos, Open-street map, Nepali Sabdakosh, PheT simulations and much more, with a regular update to books and educational content. Basically, Pustakalaya Server is the offline version of the It’s more like bringing the Internet to your classroom.


After successful implementation of the XO and desktops computer as the client machine, Raspberry Pi, with its amazing community, is a pertinent technology to bring in our classrooms. We have been tinkering the popular Debian-based Linux-distro, Ubuntu-Mate. With its active popular community, it is best OS to our option. We have preloaded E-Paath content into the OS itself. Since most of the activities in our E-Paath are currently flash based; flash support was an important feature to have in the OS. Debian-based OS have much better flash support, it was another reason why Ubuntu-Mate was used. We also have loaded BalPaathmala, which is a small repository of the books, into the OS hosted on Apache web server.  We have been customizing the OS to make it more educational with the interactive games. Our work so far is just a tip of an iceberg.


Class 7-8 EPaath interface


Raspberry Pi Desktop




Pustakalaya Interface


EPaath Interface

Some of the features we are currently working on:

  1. Synchronization with Server.
  2. Student activity statistics collection in Server.
  3. Auto-running mount scripts.
  4. Using docker or lxc containers for  the installation and upgrades.

Where is this being implemented?

We have initiated a pilot program at Gorakhnath Secondary School, Kirtipur where 18 Raspberry Pi with preloaded educational content was deployed. It was a challenging experience as it was a-first-of-its-kind of deployment for us. We had a 5-day training for the teachers about pedagogy as well as the technical aspects of using the Raspberry Pi in the classroom. The primary purpose of the training was to inculcate, amongst the teachers, a culture of referring to additional reference materials. Looking at the excitement of the teachers, its just seems that ‘direction’ and ‘training’ were what was stopping technology from getting into their classrooms. We also installed the battery backup system for an uninterrupted flux of the lab. We are regularly providing technical support for the class as this is a pilot project for us.


Raspberry Pi Lab Setup


Students taking EPaath Class

OLE Nepal’s venture into open sourcing E-Paath(2-6)

OLE Nepal’s pursuit of digitizing educational material up to grade 10 recently reached a major milestone as we completed the development of content for grade-8. Although this is quite the achievement, computer technology is such an ever evolving field that the content developed for grade 2 to grade 6-using flash- have become technologically outdated. Consequently OLE Nepal in our endeavor of improving education through computer science decided to make our code base for grade 7-8, developed using HTML5, JS and CSS, open source and involve the students, in various fields of computer science, into our project to redevelop the content for grade 2-6.

The college we have currently approached and have started working with, to a certain extent, are:

  1. Thames College(10-15 students) ashish
  2. Apex College(10-15 students)
  3. Pulchowk Campus(10-15 students)
  4. Kathmandu University(10-12 students)

We are also looking into other possible colleges to collaborate with.

So far the response from the colleges and the number of students interested in being involved with our project has been very encouraging. Thames college, so far has been very proactive and we have already had multiple workshops with their students where we introduced them to the various programming approaches, good programming habits and libraries used in our project. Currently they are busy appearing their board exams however as soon as they will be done with their exams we will move into the next phase of our collaboration with them where they will develop the content of E-Paath for grade 2-6.
On a more personal note is was very interesting to see a good number of female students interested in our project. Female participation is something the field of Computer Science has not been able to attract for the longest time but the current bulk of female students pursuing a degree in Computer Science/Engineering seem intent on breaking the trend of male dominance in our field and bring some fresh perspective that can reinvigorate the existing crop of people in the technical sphere. It was very encouraging to meet the IT club of Apex college, where both the Chairperson and Secretary were female and their group had a good bulk of female participants.The other group that I was really impressed by were the students from Kathmandu University. These students took the initiative and approached us on their own and their group visited our office for the workshops all the way from Dhulikhel which had me in awe because personally, I was never as resourceful as this bunch during my college days. Their active participation and desire to better themselves by going beyond their prescribed syllabus is indicative of their pro-activeness.
We intend to have at least two workshops in each college so that the experience of the students in transitioning from a college environment to the sphere of IT professionals-open source contributors-is as smooth as we can possibly make.
Finally, we at OLE Nepal are very positive with the amount of progress we have made with integrating the colleges into our E-Paath 2-6 project and feel that the approach we are taking has the potential to be a mutually beneficial venture where the ultimate beneficiary will be the students seeking quality education in various parts of our country.

Pustakalaya in our hands

It is very hard to tell when and how the idea to create a mobile application for our E-Pustakalaya started. However, it certainly was the advantage of applications alike these being handy, easy and accessible that attracted us towards creating one for our E-Pustakalaya. This application would give direct and free access to the massive collection of books for avid readers and book enthusiasts. It would satisfy our goal of making the books available to many users as possible.

So it started and we developers of OLE Nepal got a new thing to learn about. Oh yes! We were all very excited about the app. Utility software we used for app development – Android Studio, was in beta version, but this Integrated Development Environment (IDE) was a great tool and we coded our app in this version. We remember there being two or three design proposals for how the app would look like, before we finalized one.

First, application programming interface (API) was created which would be used by our application to connect with the server and extract the required information to be displayed on the app. The development of the client side (mobile) application was conducted simultaneously. The difficult part was to understand the database of the books in E-pustakalaya. It really took us significant amount of time to figure that out.

After a months time, we had one more friend joining our team for its development. Now there were three excited ones ready to bring the app down to the android mobile. The application was growing faster and smoother. It started to babble and communicate with the server for what it required. It was definitely growing beautiful.

Almost ready to be deployed to the play store, we had developed a fully functional E-pustakalaya app which could now get the E-pustakalaya library to small handheld android devices (by padilla). Users now would be able to explore the library under seven different categories, Arts, Literature, Course Materials and number of subcategories under each of them. Also the list of the books were sortable ascending or descending based on author, date and name.


Categories with expandable Subcategories

We also added a search feature to the app which would be beneficial for users to find the books using keywords. Home screen displays three other useful categories which would show featured, user downloaded and latest books from the library.

Main page

Main page view


The user interaction of the application is practically standard which assures our users an easy navigating system. We had options on how to access the library online via “”, offline via school server  and some other internet protocols which could server the library content. Now, there is one more easy option added to the list.





A single banook selected can show you important details including name of the book, author’s name, book size (units referring memory size for storage), brief summary about the book, etc. A download button is shown if the book is not already downloaded, else option to open or delete the book are shown.


Book Details

Book Details Section

Thanks to all our OLE Nepal team who helped us test it, by allowing to install the application on their devices and to spot any bugs. Moreover, there were many fixes and improvements during the testing phase which made the app more mature in compare to other android applications on the galaxy of Google play store.

There are plans to upgrade our app with more interesting features in coming days. Do explore our “E-Pustakalaya” app and give us feedback on interesting features that can be added to the application.

Raspberry Pi

Raspberry Pi

The Raspberry Pi is a credit-card-sized single-board computer developed in the UK by the Raspberry Pi Foundation with the intention of promoting the teaching of basic computer science in schools. (Source: Wikipedia)

We also got hands on the much acclaimed Raspberry-Pi, thanks to OLE Inc in Cambridge, USA. We have tested to see if we could replace our traditional school server with Raspberry-Pi model B. However, Raspberry Pi couldn’t handle the the task when we loaded our digital library E-Pustakalaya on it. Though the page were browsable, the performance was very slow. We replaced Apache with Nginx and optimized Mysql, but still the CPU power was not powerful enough.

cost reduction by embracing latest technology
Upon more investigation, we found more expensive but highly powerful Raspberry-Pi alternatives like Odroid from hardkernel. It comes with 1.7 GHz quad core CPU and 2GB of RAM. We are hopeful that this can replace our single core 1.6 GHz atom processor school server. We can reduce the cost of our future deployment tremendously by substituting MSI server, inverter and battery (for power backup) with Odroid, battery pack and SD card.

Better and Faster OLPC laptops

We are excited about moving to the new XO-4 laptops for upcoming deployments. XO-4 uses power efficient processor based on ARM technology and has expanded storage space. It has the same sturdy design as its predecessors that have earned a reputation for durability and withstood heavy usage by students in rural schools in Nepal.

In mid-February, OLPC sent us an XO-1.75 which is based on same architecture as XO-4 for testing purposes. We were worried to learn that there was no public support of Flash for this architecture since OLE Nepal has invested heavily in Flash. We have over 500 interactive learning modules develop ed on Flash that children in Nepal use to learn various concepts. Not only that, other educational activities in our digital library, E-Pustakalaya, like the British Council’s “Learn English Kids” and “E-Learning for Kids” are also based on Flash.

(We tried other platforms to develop on, but Flash provided us an environment where we could quickly create interactive activities. Later when we learned that Flash was not being supported by many vendors, we were well on our way to build our framework on it and it was too late to switch to other platforms)

Fortunately, with the help of OLPC we managed to run Flash on XO-1.75. This was a major relief for us. Besides that, the performance of new XOs is extremely better compared to the previous versions. Now we are setting up new build system for new XOs which will be deployed this summer.