My journey of programming and making Apps is spread over several years starting from school days.
I studied in a CBSE school in Kerala and computer science was one of the mandatory extra subjects that I looked forward to. These were the days of Windows 3.1 and early Windows 95. MSDOS was still popular. In 5th standard, we started learning the basics of computer programing with LOGO or Turtle, where you can give commands to a triangle on screen and make it draw lines. Though the teachers taught us only the code for drawing straight lines, some of us students learnt that we could combine multiple commands to create complex shapes.
The next couple of years, we started with GW-BASIC and QBASIC with which we learnt to get an INPUT from the user and produce a meaningful OUTPUT. Most of us looked forward to playing the games on the lab computers rather than the programming. Once the concepts were clear, I was able to make a random number “hand cricket” game in BASIC. When we got a computer at home, I made sure to install QBASIC and, with using the help files, learnt other commands including graphics in MSDOS. One vacation, I programmed a car race game similar to “Road Fighter” in Nintendo NES in QBASIC. The computer teachers were suitably impressed and so were my friends.
In 9th standard, we started with the basics of Borland Turbo C++, which was a more powerful programming language. Note that even though the computers had been upgraded to Windows 98 by now, we learnt programming in MSDOS. We were not taught how to do MSDOS graphics or use the mouse input, but we found a bunch of C++ programs made by our computer stream super seniors as projects, some of which used graphics and mouse. There was a spreadsheet program, a snake game, a paint program and even a Desktop GUI mimicking Windows. The source code was available, which we copied on 1.44MB floppy discs, and a few of us pored over it at home to learn how to develop such programs. With the help of the “mouse.h” and “graphics.h” header files, I made 5 games on C++ : Krazy Ball,1 Invasion,2 Paddle ball3, Lights On4, TicTacToe5,6 - and made them available free to play online or to download. These games were made for MSDOS and does not play on Windows XP onwards, but can now be played on an emulator like DOSBox.
Figure 1: INVASION game made in C++
After joining MBBS in JIPMER, a classmate and I made our MBBS batch website where we also released a few issues of our online batch magazine “Expressions”7 where our classmates wrote interesting articles and uploaded their artwork. A bunch of us also started writing blogs at this time. We also made a medical entrance discussion website using PHPBB forums called MedicoZone.
Figure 2: MedicoZone Website
In second year Obstetrics clinical posting, we were asked to calculate the Period of Gestation and Expected Date of Confinement for all the pregnant ladies in the busy OPD from the Last Menstrual Period in Tamil months. It was cumbersome to calculate manually, so I made an app using FlashLite and ActionScript which would run on my phone. Due to the demand, I also made a J2ME jar version for Malayalam and Tamil months which would run on the Nokia featurephones as well.8 Later, I ported it as an Android version too.
Figure 3: Period of Gestation Calculator(jar file)
During Ophthalmology posting, one PGs thesis was on Surgically Induced Astigmatism, for which an SIA calculator software that they were supposed to use would not work on their computer. Using FlashLite and ActionScript, I incorporated the formula and made an SIA calculator as a Windows executable software. During internship, I made a Medical Drug Information App for details about all generic medications. While preparing for PG entrance, I made an MCQ analyzer App to automatically score an MCQ test.
Figure 4: Medical Drugs Information App
While doing PG in JIPMER, I did not find much time for programming apps. Joining fellowship in Aravind Eye Hospital, I was able to make an Eye Test App(iDoctor JD).9 There, I noted the difficulty faced by residents and fellows new to Tamil while communicating with patients. Thus, with the help of an international trainee and some residents, I made “Eye Know Tamil”,10 an app for ophthalmologists who want to communicate in Tamil. I also made 3 different Apps for Ophthalmic conferences conducted by Aravind Eye Hospital including AGES25 and OPAI-2017.
Figure 5: Few Apps Made while in Aravind Eye Hospital
Next, while doing Ratan Tata Fellowship in Sankara Nethralaya, I made the Bengali version of the app “Eye Know Bangla”,11 noting the large number of Bengali speaking patients. “Eye Know Telugu”, “Eye Know Kannada”, “Eye Know Hindi” and “Eye Know Malayalam” are in the pipeline.
Figure 6: EyeGrader App
After joining Little Flower Hospital as a consultant, I noted the need for a handbook of grading systems in Ophthalmology. So, with the help of the Postgraduate students there, I made “EyeGrader”12 App which is a searchable collection of all the grading systems in Ophthalmology. The next App which I made was “3D Atlas of Ophthalmology”13 which has 3D Ophthalmic photos that can be viewed using 3 different methods: Anaglyph glasses, Virtual Reality headset and Parallax movement. This was based on my interest in 3D photography, smartphone photography and stereopsis.
Figure 7: 3D Atlas of Ophthalmology
I used a lot of Ophthalmic Apps during PostGraduation in JIPMER and did a lot of smartphone slitlamp photography. I conducted my first Technical Skill Transfer Courses(TSTC) on “Smartphone Apps for Ophthalmologists” and “Smartphone Ophthalmic Photography” in AIOC 2016 in Kolkata for which I am grateful to the organizing committee. I further proceeded to conduct Instruction Courses & WetLabs on “Smartphone Ophthalmology” in AIOC, TNOA and KSOS State conferences as Chief Instructor being mentored by Dr Ramesh Dorairajan, who is one of the pioneers in Smartphone Ophthalmology. In AIOC 2019, I was happy to conduct my Invited Instruction Course which included Smartphone Ophthalmic Photography, Smartphone Apps, Artificial Intelligence and Virtual Reality.
Figure 8: Invited Instruction Course at AIOC 2019
As a Glaucoma fellow in Aravind Eye Hospital, I mentored a few residents to take up these topics in the instruction courses and to innovate. I also conducted Smartphone App related studies, submitted posters, papers and videos to these conferences as well as international conferences such as APOIS and APOIS which won awards. I also published journal articles related to Smartphone Apps for Ophthalmologists14 as well as for patients.15
These helped very much in my tech related and ophthalmology related innovations as well. There are more Apps in the pipeline which I want to make by myself as a hobby, or may finally collaborate with a software developer for. I feel that time, and learning newer technologies are the limiting factors in making apps by oneself. One could always collaborate with a software developer to make apps which are more complicated. Hope this journey inspires many to follow their passions and make best use of their time and skills.