Developing Easy Loop for Schoolloop
--
Last Updated: January 31, 2018 3:33 PM
Quick Links:
Website: http://sriharshaguduguntla.com/easyloop/
Download: http://tinyurl.com/easyloop/
School News: http://bit.ly/2oBab3m
Github: https://github.com/sguduguntla/Easy-Loop-Extension
Facebook: https://www.facebook.com/schoolloopeasyloop
Over 6000 Daily Users, 66 5-star reviews
Growing up in Cupertino, I’ve gotten used to watching everyone around me stressing about their grades and to be honest, I was one of them also. I would check the online gradebook, Schoolloop, at least twice a day to check for grade updates and I was tired of teachers taking weeks to update a single grade. I was often frustrated because I had to go through the tedious process of calculating the grade myself assuming the new grade has been put in. This involved a lot of scrolling, switching between tabs, and most of all, time. That’s when I realized this process could be made much easier for every student using Schoolloop, conserving their time and relieving their stress simultaneously.
Easy Loop began as a simple Java console program that I initially developed to automate grade calculation. For a long time, I kept this program to myself. Although the actual calculations were automated, I was still forced to enter each grade individually which still took a lot of time and scrolling. I did some research to find out whether it was possible to extract these grades from a webpage, effectively automating the grade retrieval as well. I was soon introduced to web scraping, a method used to extract raw data from any HTML page. I continued to research web scraping techniques in Java when I came across a web scraping package called JSoup. After learning how to use JSoup, I implemented it into my console program for Easy Loop.
The first roadblock I faced was that JSoup was being blocked by Schoolloop for security reasons. After logging into my own account, and learning about some workarounds, I was successfully able to fetch raw data from the Schoolloop HTML page with my grades. I was surprised and really excited at the same time, and this immediately seemed like an idea worth spreading. The next challenge was to figure out how to package this application to bring it to students at my school and other students across the country. I went on to research about packaging Java applications into JAR files to be exported for use, but after further research, I learned that this would not be a very efficient solution for students. That’s when I came across Chrome extensions. I have always been an avid user of Chrome extensions, but I never considered building my own. I took about 1.5 weeks to learn how to build a basic Chrome extensions after which I began rebuilding Easy Loop as an extension. Having been more experienced with Java and JSoup, it was definitely an eye-opening experience to learn the advanced JavaScript and DOM manipulation that I needed to build the application. The next 2 days were one of the most exciting moments of my life, as I began making this program a reality. I must have spent more than 24 hours over a span of two days, after which I completed the basic application with some new features that my Java program didn’t have. After designing some promotional material and designing a logo, I published Easy Loop on the Chrome Web Store at http://tinyurl.com/easyloop/.
The next step was to promote Easy Loop in various schools across the bay area. I made a Facebook Page and invited all my friends, made a Facebook post and had friends share it with their friends. Within 3 days, I was able to rack up more than a 100 users, and I was really excited for the future of Easy Loop. I contacted all my friends from various schools and I asked them to post about Easy Loop and share it with their friends. Initially, many students reported various bugs which I spent hours fixing over the next few weeks. Eventually, I was able to free the application of all major bugs. After making these changes, I had been able to get to around 500 users, but I knew that a lot of people in my own school still didn’t know about the app. To spread more awareness, I built a website for Easy Loop at http://sriharshaguduguntla.com/easyloop/.
After talking to the school board, I was able to promote the app on the school website after which my user base almost grew by 800 people in less than a week (http://bit.ly/2oBab3m)! With over 2200 daily users and 48 5-star reviews, I was motivated to continue enhancing the application with more features and tools that Schoolloop didn’t natively offer. These features turned out to be big hits as existing users were astonished by this new functionality. I also did a complete redesign of the app to create better UI & UX. Eventually, I saw Easy Loop popping up on every student’s computer and it was really cool to see that something that started out as a simple Java console program could become such an important tool. Today, the application has around 2200 daily users and I am looking forward to adding more features in the future, changing the way students perceive their grades. The application is completely open source at Github, and I’m open to any cool ideas to make Easy Loop the best that it can be.
Visit http://sriharshaguduguntla.com/easyloop/ for more information.