TutorVista, a digital tutoring website, uses open source software to mimic a classroom experience and maintain its database.
TutorVista is an online tutoring service that was founded in 2005. Its operations are entirely located in India, but most of its market is abroad. The company primarily provides academic help to students residing in the US, in subjects like English, mathematics and the sciences.
How it works
TutorVista has provided over 6,500,000 live tutoring sessions over the past six years. The website provides one-on-one training to students through the Internet. Its goal is to make the entire online tutoring experience seem as if the students are in the session, physically, while taking advantage of tutoring skills from all over the world, especially India.
Students in the US sign up for a minimum number of hours, log in to the website, and choose a subject they want to get tutored in. The tutors, primarily from India, log in to a different portal when they are ready to start taking tutoring sessions.
“We check the availability of the tutor for the requested subject in real-time, and make sure they are both connected together,” explains G Ramasubramani, CTO, TutorVista. If the tutor is not available, students are given options from available time slots. Once the student and tutor are connected, they use a white-board technology on their screen as the main medium of communication, along with chat and Voice over Internet Protocol (VoIP).
The students put forward their queries, and the tutors respond with explanations that use the white-board as a teaching aid. “We try to mimic a classroom experience as much as we can, by using the white-board we developed and enhanced. Its design is based on feedback we received from our tutors and students over the past few years,” Ramasubramani reveals.
This allows the tutor and student to exchange information as if they are writing on the same piece of paper. He illustrates this aspect with an example, “If a student cannot solve a math problem, he shows the tutor how he answered the question by either uploading the answer paper or writing it on the white-board. The tutor takes a look at the steps and checks where the student went wrong. He then uses the white-board to show the student how to solve the problem, and in the process he helps the student understand some of the concepts. It is more about using questions as a trigger to get where you want to go.”
Ramasubramani observes that tutors are often more comfortable offering explanations by writing things down and drawing symbols or diagrams, and a regular text tool falls short here. The white-board developed at TutorVista has tools for drawing symbols for equations, lines, graphs, etc, which permit the tutor to explain in detail, with figures and diagrams.
Open source in digital education
Predominantly, TutorVista has always been a LAMP shop. The data centre and backup data centre are in the US, where all the hosting is done. There are servers for content, database and database slaves, load balancing, and the ejabberd server. At present, there are about 50 servers — all Linux-based, while all the Web servers are Apache-based.
“Our programs were mainly developed using PHP, but of late, we have been trying to use Java and Tomcat to build some additional tools, especially one of the new technologies coming up in Java called Wicket. This is under the open source Web framework. It is component-based and takes care of all the plumbing work that you need to do when you are developing a website. Wicket helps you keep your focus on your business problems. We are checking if we can use it to become more productive,” Ramasubramani states.
Choosing the right technology
At TutorVista, the use of open source is not so much about a single platform as it is about the environment. Ramasubramani believes that the key in using open source is to know when and where to use which tool. He shares, “We have to deal with areas like sales, marketing, tutoring, operations and customer care, and all these have been built around open source. There may be some areas where PHP is right, and other areas where Java fits the bill. Now, we are in the process of evaluating areas where Java may be the right tool rather than PHP, which has been used extensively. Depending on the area of work, we have to use the right technology for the right job.”
If the wrong technology is used, a firm can end up incurring additional expenses — in terms of developer bandwidth, and the effort that goes into the technology. Ramasubramani explains with an example, “If you want to write a client program that does some queries and executes some logic, it does not have to be driven off PHP. It may be great for running programs from within an Apache container, but using the PHP command-line does have its challenges. In such cases, I would rather use a language like Java. PHP’s benefit is that it is not strongly typed, while Java’s strength lies in being strongly typed. If you are working on prototypes and rapidly changing applications, PHP may help you. In other cases, when you want to make sure that everything is strongly typed, Java is a better option. There is no exact science behind this, but it is more about figuring out areas in which the right technology can be used.”
Open source in mission-critical operations
TutorVista handles a little over one TB of data, which includes content developed in-house, sales processes, reports about visitors who got converted into customers, schedules, tutor and student details, customer care records and transaction data. Some of the tutoring sessions that students have replayed at any point of time have also been stored in the database. The main concern of TutorVista is to make sure the website is accessible 24/7.
“We have to ensure that there is zero downtime when we deploy new releases. We have no offline component. The day our system goes down, it is immediately a big deal, because customers cannot access the site or get tutoring services. They will lose confidence in us and this will cost us. I do not recollect any time in the recent past when the platform was unavailable. I am sure there have been times in the past when we have had downtime, but I will not attribute it to the use of open source. I have worked on closed source software as well, and if something goes wrong with the platform, I know it is because the developer or deployer has made a mistake.”
Moreover, the two white-boards that appear at both ends — the tutor’s and the student’s — communicate with each other via ejabberd. “It is an open source server that essentially implements the Jabber protocol and is often praised for its scalability and clustering features. It is the same protocol used by GTalk. Currently, the white-board uses a Flash-based component. Although we do not call it open source, once you observe the way Flash has evolved in the past few years, you will see that the significant number of people who use it, effectively provide support for it. However, we are trying to figure out how to convert this into an HTML 5 component. The only areas where we are not using open source is the white-board, which has used a Flash-based component, and audio, for which we use another Adobe product,” shares Ramasubramani.
Why open source
Going the open source way has been an inevitable decision at TutorVista. For startups, one of the most important factors is keeping costs down. Web development is one area where it really helps not to have an additional cost for hardware or software maintenance. Even the other options TutorVista considered were open source — Python’s Django, Ruby or Java.
TutorVista had to develop a white-board as there was no alternative. Ramasubramani reports, “We use tools that are highly specific to our area of work — and back then, there were no tools that we could have just purchased and used. We had to develop the white-board ourselves. When you build a tool from scratch, you can customise it exactly to your needs. Another option is to pick an already available tool, but it might not serve your purpose completely. In such circumstances, our team does a gap analysis, and we either change our scope and requirements so that they are met by the tool, or we change the tool itself to close the gap in features, or even request the developer community to build on it.
“At the end of the day, the business requirements should be met. It does not matter if you are using open source or proprietary tools, so long as you ensure your business need is satisfied. With proprietary solutions, it would not be as customisable, or we would have to pay a large sum of money to the implementation team. They would build it for you, and in all likelihood, they will hold the copyright. Total cost of ownership is not spoken about a lot, and is underestimated. When you’re not paying maintenance fees year after year, and when you get what you want, it effectively translates to zero cost.”
Apart from total ownership, the fact that there are tools already available in the open source domain, keeps TutorVista on the open source track. Ramasubramani feels this is one of the main reasons for the increase in the use of open source at an enterprise level.
He illustrates his point, “If an educational company is setting up a learning environment system, it can buy proprietary tools like Blackboard, or it can use Moodle, which is open source. Moodle does not have all the features that Blackboard has, but open source developers are constantly adding more features to it. So overall, OSS is a win-win situation for all.”
Similarly, in the case of TutorVista, Jasper reports — an open source reporting engine — is being tested for reporting. “Rather than building reporting entirely from scratch, we are trying to see if we can use Jasper reports to help us create reports easily, without making the effort to build every report to the last level of details. We have a team that is analysing how we can make the best use of these reports in our day-to-day operations,” Ramasubramani reveals.
He also feels that the organisation has saved a significant amount on costs by using open source software. Considering that the use of OSS means that there are no costs incurred for the software, for licenses, maintenance fees, appropriate plugins to run the platform, etc, the savings would add up to thousands of dollars.
The availability of tools and a sense of community are also some of the attractions of open source. Ramasubramani states, “We have not approached the community members for help yet, but we know that by going down this path, we can easily modify and reuse an open source tool with their help. That knowledge gives us the confidence that we do not have to build everything from scratch, but we can depend on the community for available open source tools and to develop or modify new ones.”
The challenges down the road
Though it has been a smooth journey so far, Ramasubramani does admit that TutorVista still faces problems in sourcing personnel in certain key areas. “In terms of resources, we have a good team of people who know open source technologies. For instance, we always have had people who know how to set up a Linux server, handle Apache servers, and how to secure them. The only area where we have faced challenges is with regard to the MySQL database. MySQL is a great open source database in terms of what it can provide. The challenge, however, is in finding the right DBAs for it. If you consider databases like Oracle or SQL Server, they are supported by people who have been through well-established full-fledged training programmes. Since MySQL is more of a do-it-on-your-own mechanism, you will not find many DBAs lining up for certification in MySQL, unlike Oracle and MySQL.”
Is open source for everyone?
Ramasubramani feels that it is not necessary that organisations will always save money by going the open source way.
“It entirely depends upon the kind of business you are in. Startups would want to minimise costs in the right places. There are tools to do a cost-benefit analysis to check how you will benefit from a particular choice of software. When it comes to big enterprises — they are more monolithic, top-heavy, and not as agile as smaller companies. In such cases, proprietary tools and solutions may help. In cases where something goes wrong, you will have guaranteed support. Open source companies like Red Hat are also benefiting from this model. There are organisations that use Linux and sign up with Red Hat for support — they get the best of both worlds,” Ramasubramani concludes.