FOUNDER & CEO, IMGIX
Image processing service.
Chris Zacharias is founder and CEO of imgix. Prior to that, he was one of YouTube’s earliest web developers. He created YouTube’s HTML5 video player and Feather, an ultra-lightweight version of YouTube that loads quickly in parts of the world with slow Internet connections. These experiences drove Chris to recognize a need for tools that let developers build great visual experiences without adding bulk to their apps. In 2010, he founded imgix, a real-time image processing service that enables businesses of all sizes to deliver rich visual content with high performance and easy setup.
Working with computers runs in my family. My dad was a computer scientist, and when I was six-years-old he taught me how to program my own video games. He signed me up for a subscription to 3-2-1 Contact, a popular kids’ science magazine back in the day, and on the last page of each issue was a basic program code you could compile into a video game. Watching numbers turn to images clicked for me.
It got me really excited about programming and computer graphics, but that can be an expensive hobby. I essentially taught myself how to program for the Internet to make money for my computer graphics habit. My first money-making experiences were ghost writing my dad’s projects for his clients. That is really the abridged version of how I got into the web space.
Down the line, I studied computer graphics and web design in college and eventually applied to Google. After a few interviews, I joined Google right after they acquired YouTube and worked for them as a web developer. It was not until my time at YouTube that I saw that the internet and computer graphics were on a collision course, and that is where I got the idea create a graphics card for the internet. So, I left YouTube and started my own company, imgix, to get started on the work I knew needed to be done.
The imaging industry is changing constantly, especially if you take a very broad view of it. I like to think of imagery in terms of what is called the “imaging chain” – the entire span of technologies that sit between a shutter snapping and the finished photo that you view in print or online. This used to be relatively simple in the days of analog photography, but the digital world has added more and more links in this chain, many of which don’t have a clear counterpart in film photography.
imgix sits within the chain – we are an image processing and delivery layer that ensures the image looks great and loads fast no matter what device it is viewed on. There have been a number of important breakthroughs here in recent months – I think especially of new compression methods like Google’s RAISR that use machine learning techniques to deliver images that have been compressed to 35 percent of their size yet look as good as the high-definition originals. I predict machine learning backed compression algorithms are going to become the norm eventually, although it will take some time for them to be supported across all browsers and devices.
On the other end of the chain, algorithmic techniques have really changed the game in terms of the way images are captured. “Captured” is in fact becoming a less accurate term with the newest cameras – now photos aren’t captured so much as constructed using algorithms to intelligently combine data from multiple lenses and exposures. The cameras on the Google Pixel and the newest iPhone are a good example of this. They have very tiny sensors, so normally you’d expect bad low-light capabilities, but they capture multiple exposures from two lenses and combine them to create surprisingly good photos even when the light isn’t perfect. This all happens in a split second, without any input from the user. Newer cameras like the Light push computational photography even further by using 16 different lenses, enabling users to do such things as alter the depth-of-field after the fact. This is really cool, but it is very different from how photographers have traditionally thought about their job. New tools and techniques are changing workflows all the time.
You cannot deliver a VR or AR web the same way you deliver the flat web. And I do not think the answer is going to be to just layer on another technology like WebGL and call it a day. I think we will need to rethink the assumption made today by web technologies and incorporate techniques from imaging science and game development. That is why I encourage anyone who is doing web design or web development to familiarize themselves with what is happening in those spheres, because it will become very relevant to their job very soon.
When I was at YouTube I worked on a lot of app performance web projects. During my first week there, the iPhone launched, then the first android device came along, and then the iPads, HDTV, etc. All these new technologies started emerging and eventually we found ourselves trying to design and develop 120 different versions of an image to suit each device. That was the moment when I wished there was a technology that delivered images tailored specifically for each device instantaneously without having to go through the painstaking process of formatting a single image to meet all 120 different types.
Consumers expect a lot from the pages they are visiting, whether it is desktop or mobile. They want consistency. Our goal is to help our clients deliver on these expectations.
People expect more from a webpage now than they have in the past. It is essential for us to move with the tide, and ensure our customers are delivering webpages that consistently satisfy and delight their consumers. With that in mind, moving into other media formats is definitely on the horizon for us. We know people are not just consuming static images, but that video plays a major role in how people interact with webpages. There are several projects in the works at imgix aimed at addressing new and evolving media formats.
Processing images in real-time, on the fly has been a key success and differentiator for us as a business and the way we interact with our clients. For context, there are a couple of ways you can do image processing. The most traditional is to do it ahead of time – if you need assorted sizes and formats of a given image to fit different devices or screens, you have a script that applies those edits when it is uploaded and saves a bunch of different versions. The newer approach is what we do, which is just-in-time processing. When an image is requested, we check if it already exists in the format the page wants, serve that if it does, process and serve the result if it doesn’t, and then cache it so we never need apply that particular edit to that photo again.
The latter method is more complex, and it is harder to explain to people because it is not the paradigm they’re used to. That creates messaging challenges, and it also makes us less ideal for some types of application where bulk processing is desirable. But we get immense competitive differentiation. It allows our customers to easily do things that are very hard to do traditionally. We think real-time processing is the future, so by choosing that more difficult path we’ve set our business up for success. If you give me a choice between the easy route that works today and the difficult route that meets the needs of the future, I’ll choose the second one every time.
One of our most difficult moments happened early on when imgix was still relatively small. There was a point in time, albeit brief, when we had hardware, like wires and cables, running across my living room floor. And it was like this just as we were about to take on our largest customer. In an effort to impress them and prove we could handle it, we had them dump all their traffic on our hardware when we were way too small to handle that load.
At that point in time, we were relying on third parties to do all our load balancing, but eventually we made the executive decision to move to the data center and run our own load balancing system, which greatly improved our workload performance.
What I learned is that there is such a thing as too much success, too fast. Obviously in business you are always going to have to stretch a little. But you need to know your limits. It doesn’t matter if you land a large customer if you aren’t ready yet to meet their needs.
If you design or build products for the web, today you face an audience that is simultaneously the most discerning and distracted that has ever existed online. Consumers have a high bar for quality, and they are punishing if you cannot meet it. If it doesn’t look great, they move on. If it takes more than a split second to load, they move on. The biggest companies on the Internet spend hundreds of hours and millions of dollars building infrastructure that can deliver on those expectations, but many small to midsized entities can’t.
What imgix strives to do is level the playing field. We built the infrastructure for delivering beautiful, fast, and responsive imagery, and we stuck it behind an extremely lightweight and flexible API that abstracts away all the complexity for a developer. Our goal is to have something that just works, so that designers and developers don’t even have to think about how imagery is delivered. That way they can focus their creativity on the things that matter most to them.
imgix is different than most startups. We do not buy into the whole super startup culture, and are not on a mission to build a retirement home for engineers. The best thing you can offer somebody, especially from an engineer’s perspective, is something interesting to work on, which is sort of key for us at imgix.
The other thing I like to think a lot about is how everyone inherently fancies themselves as a superhero, and every superhero has some sort of weakness and some sort of strength. We try to elevate each persons’ strengths and minimize their weaknesses, giving them the opportunity to be the superhero they want to be. imgix as a company is organized around that very concept. For engineers, working on cool, innovative projects is what motivates them to come into the office every day, and we aim to provide those tasks that will make their day more fulfilling.
Every web developer in the industry right now should learn how to work with computer graphics/3D graphics. Currently, the web is the primary user interface, but both web and computer graphics are sort of in traditional windowing systems, and we are coming into a world where that concept is getting knocked on its’s head. Look at the PS4 or the Apple TV, these are 3D user interfaces with true 3D graphics and is a different concept altogether. If you are working in web, you should know and want to learn how that gets assembled.
From an entrepreneurial standpoint – advice is always time contextual. People will give you great advice before you need it. Do not ignore that advice; write it down and come back to it later. It will not necessarily make any sense to you in one moment of time, but at some point it will, and it will serve you greatly down the road.
For those looking to start their own company: people tell you it can be all-consuming, but what they do not tell you is that you choose for it to be all-consuming. Being 100% involved and in-tune to your business can be good – you get inspired and obsessed with what you are doing. There is always room for pleasures outside your business, but enjoy the time you have to be creative and all-in because it can be fleeting.