There are two kinds of people – the kind that finds what they want to do in their life early on and the rest that keep searching for it for the rest of their lives. If you take the first kind and twist it a little bit, you get the case of Chetan Ahuja. He was a bright student and had a clear idea of what he wanted to work on.He started his PhD in Computational Chemistry and got out with a masters in computer science.
This is the tale of today’s Techie Tuesdays, who’s on a mission to change how networking works for mobile apps.
Not your Sharmaji’s son
A typical studious child who grew up in Delhi in 1970s-80s, Chetan left many confused in his neighborhood and school. He would be the one breaking windows and also the one answering questions, so teachers had hard time handling his case. He was the ‘Sharmaji’s son’ whom many feared as risky to ask their children to follow. Chetan’s mother left her job after he was born, while his father had just started off in a sales job in a store in Delhi and later on started his own garment manufacturing business.
Being a 70s kid, Chetan didn’t know much about computers in his early days. Only at a summer computer class was he was introduced to this machine. While opting for subjects, Chetan’s fear of other subjects made him choose computer science which was then just introduced. Very early in his life, he encountered something he was sure about pursuing as a career for the rest of his life. Not quite simply though.
The confused IITian and an even more confused post-graduate
Chetan could manage to get into IIT Bombay in 1989 but did not get computer science.He graduated with a masters in chemistryinstead. As an ode to his love for coding, he converted his masters project into a programming one in computational chemistry, working on the quantum model simulation in numerical way. It was written in FORTRAN, the language commonly used for scientific programming then.
After starting his PhD in Computational Chemistry at Michigan State University, Chetan had access to high performance SGI(Silicon Graphics Inc) computers with data analytics capabilities. He was also given access to people who knew how to use computers. He started attending computer science classes and soon had all the required qualifications of an undergraduate in computer science. Seeing his continuous presence in the department, professors advised he enroll for masters. Soon he was admitted to the full-time masters programme in computer science.
Because IBM is too old fashioned to continue
In 2001, Chetan joined IBM to work on a project dealing with distributed storage product which was never shipped. His team designed and implemented distributed locking scheme for NFS server. In 11 months, when the company went through a massive layoff, Chetan was already prepared to leave. He joined Panasas,spending four yearswith the company. He worked on a massively-scalable, high-performance distributed file system and its diverse aspects, including transaction logging, kernel software and data distribution over massive cluster.
In his next assignment at Riverbed, Chetan started with the networking phase of his life. He led his team to design and implement server clustering software for a storage product along with designing and implementing CIFS(Common Internet File System, the standard way computer users share files across corporate intranets and the Internet) for high-performance file transfer protocol over WAN links. He recalls,
I learnt how much impact network latency makes on a user's perceived performance. My interest in file system and networking protocols increased by leaps and bounds. I started working on the protocols impacting the performance of CPU.
The ‘hit home’ moment
During his Admob stint, Chetan hardly wrote any code and his role included working on Admob's infrastructure performance and Linux kernel scheduler development. The team faced issues in the backend where even the cluster of 10 huge systems couldn’t handle the latency of system (on mobile side of things). This was the ‘hit home’ moment,and the combination of networking latency and mobile made it worse. Chetan understood that the problem is a non-stop disconnection and reconnection in case of mobile(device). He says,
Though it comes across as a slow network, the issue is about continuous disconnection while in motion. Assigning of a new IP address (while moving) adds to it.
Chetan then decided to start his own venture to solve this puzzle.
Thus came along PacketZoom
PacketZoom took up space in Chetan’s head during his Riverbed days itself. His experience at Riverbed opened his eyes to the whole set of problems faced while taking the product to users through channels. He says,
I had not appreciated the amount of team work it takes to bring a small part of product to the market.
For a year, PacketZoom was only a couple of engineers who shipped a product, which included new protocol and serving data from America, Asia, Latin America and Europe. Chetan explains the technology behind PacketZoom,
We take it step by step following a simple MVP model handling one transfer at a time. We make these calls(for data) in our code which capture and make them go through our protocol. The app developer can select which URLs will go through PacketZoom and which won’t.
Chetan’s efforts have been in the direction of increasing the speed of an app. He believes that the mobile experience for a user is sub-par due to the discontinuous disconnection owing to the movement of the device from place to place and switching from Wi-Fi to 2G/3G connection. If a user is passing by an area of dead network, the current IP protocol of data transfer cannot handle it in a fundamental way.
How crucial is the problem?
The importance of continuity in data transfer increases for logistics and operations. Chetan explains:
The people who are delivering out in the field are connected to home network and update the status on delivery. This becomes tough across dead stops. We have to change the way we think about networking. Original concept of networking TCP protocol assumptions design between two unique IP addresses(thinking IP address as your end point/machine/device). But now,the device changes TCP/IP(Transmission Control Protocol/Internet Protocol) session quite frequently.
In PacketZoom, a session is defined by unique session ID and IP address is temporary. In simpler terms, we can consider session IDs like a cellphone number which goes from different networks(IP addresses).
Right now, PacketZoom is serving 100+ million requests with millions of installs worldwide. It receives a billion request set per month. The company was incubated at Silicon Valley's Mobile Seed Accelerator - Tandem and funded by First Round Capital and Baseline Ventures.
Lessons in technology and life
For Chetan, technology is life. He says,
Technology is a problem-solver. Everything humans do to make life better in some sense is technology.
Chetan has gone through quite a bit of learning, including some steep learning curves. He has the following important pointers to share with software engineers:
- People looking for jobs don’t realise how it is to ship the product. Real software engineering is majority about design and reasoning/solving problems coming from field. Only a minority part is about coding. So, always optimise all your processes for a case to solve a bug/crash coming from field.
- Debugging is at least twice as difficult as writing code. So, you should be half as clever while writing the code, else you won't be able to do it.
- A lot of the workor productivity doesn’t come from the individual brilliance of engineers. Google is a good example among other tech giants which have fostered a wonderful environment for teamwork.
- A platform’s stability, functioning and communications is more important for its exponential growth than the number of users.
- Treat others the same way you want others to treat you.
- When the number hits the road, always give higher priority to people – friends, family, colleagues as compared to thingsandmoney.
Chetan believes that we’re doing networking and mobile the wrong way. With PacketZoom, he’s trying to change the way networking takes place. He says,
IoT is here. We can’t be applying the heavy weight(IP Protocol) to these tiny devices. As the number of these devices increases, we’ll understand that the old protocols weren’t designed for this.