Rest in Peace, Reddit Compact
Reddit has recently disabled/removed access to the compact interface, which was useful on mobile and low power devices. As my first professional project ever, I'd like to reflect on it, 13 years the wiser.
The early steps of the mobile interface
Becoming an official reddit interface
January 2010, I was in the #reddit IRC channel on freenode, and some reddit admins were active one night. I showed keysersosa some screenshots of the reddit interface, and he seemed fairly interested in it. Extended conversations turned into an invitation to make it an official reddit project. I was given some access to a staging instance of reddit, ssh access to said instance, and some instructions on how reddit's internals worked. Chris, aka keysersosa, and the other reddit admins, were tremendously helpful, and put up with a lot of my naïve and immature questions and approaches. Over the next several months, the mobile interface took shape. Towards June, it had become fairly feature-complete, with voting, submitting, commenting, sign-ups, and most other core reddit features. Some interfaces never really got built explicitly for mobile, but they still worked reasonably well, since the mobile layout was fairly flexible to render content. Several people helped with the QA, catching bugs I had no hope to ever figure out.
Come June 9th, we launched it, and got a nice article in TechCrunch about it.
I wrote an old blog post; for whatever reason Archive.org didn't preserve my sites styles, but you can read and see some great images, regardless of CSS. You can see the android 2.0 style pop-overs for post and comment options in that article.
You can view the old reddit comment thread here.
Becoming a contractor/employee for reddit
With the success of reddit, and my need for cash as I went off to University, I asked if I could become gainfully employed by reddit. Surprisingly, they said yes, and I was able to join reddit's team and become an admin. This was incredible for 18-19 year old me, as I was able to get a good jump-start on my career.
Over the next year, I worked on a variety of reddit "things," from a revamp of the advertisers dashboard, several side-banner ads for certain campaigns, a large resolution banner we used for the Rally to Restore Sanity reddit booth, some UX tweaks and changes for the fresh reddit gold, and more.
Improving Reddit Mobile
One thing that some people noticed about that first version is that it could be quite resource intensive to render on first loads, and had weird performance issues. Additionally, certain systems were completely inaccessible from mobile, bouncing you out to the desktop interface.
Most of the slowness was traced to the massive amounts of CSS gradients and effects used. Every post, button, and more, used gradients, shadows, and more. They would often be repainted for each button, which was costly on phones of the time (the Nexus One was considered speedy, with its 1GHz CPU).
This was fixed by rendering a small image of the button styles, and then slicing the image up, 9-patch style, with CSS border images. This gave us buttons that could be any dimensions, with nice looking backgrounds. Other gradients were also flattened into background images, such as those of the header toolbars.
The post options pop-overs were kind of a sticking point as well, with some people complaining about their usability. We replaced them with inline expandos, that spanned the width of the browser, and had much bigger touch targets.
Finally, we added a mail and modmail link to the upper right, replacing the old double-chevron menu, and removed the
Home button in the upper left, instead rendering the subreddit logo image and subreddit title.
These features launched, and had a small blog post celebrating them., with a corresponding reddit comment section
During 2011, reddit was undergoing a lot of significant changes. They split off from Condé Nast, becoming their own company, and underwent some organizational restructuring. Almost the entire staff, who worked there when I joined, had moved onto other things, and there was an effort to consolidate power and access to the San Francisco office. Finally, my school-work was starting to take more of my time up, and so I was unable to seriously focus on reddit and school at the same time. So it was time to move on. Some features that I had intended to add to the compact version, that never materialized, were mobile moderation, better sharing (this would take nearly a decade for browser-induced share intents to arrive), web-worker/service worker backed notifications, and many more things. Many of them materialized in the "new" reddit interface
The end of compact
For the last couple of months, there have been comments on the /r/compact subreddit about issues rising up with the interface. Commenting, posting, voting and other features would sporadically stop working. A few weeks ago, adding
i. as a prefix, or
.compact, to reddit URLs, stopped rendering the interface. A workaround was to use
https://old.reddit.com/whatever.compact instead, but that was patched last week.
There's been an outpouring of disappointed comments in the compact subreddit, which is touching to see, and several people have started working on userscripts, alternative interfaces, and so forth, to try and resurrect compact.
When people are asked why they like compact, typically they will say something along the lines of how performant it is. Which is not surprising, because it was built targeting a device with a 533MHz CPU and 512Mb of ram. JS was minimal, mostly jQuery style, and the CSS optimizations we made in 2011 still hold up.
Looking back, 13 years later
13 years wiser, with nearly 10 years of full-time software engineering experience, I can't but help look back at where I got started from. I am extremely grateful to the people that helped me along the path, Chris, Mike, David, Eric, Jeremy, and many others. Without them, I surely wouldn't be the software engineer I am today. Without the opportunity to "jump right in," I might not have even become a software engineer. I really appreciated the professionality I was afforded, as someone so green, was awesome. And getting to go to DC for the Rally to Restore Sanity is still one of the high points of my freshman year of college.
The comments I've gotten over the years, and the recent outpouring of support for the interface, a decade later, is incredible. Knowing that people love and continue to use the interface I built, and are going out of their way to resurrect it when it was End-of-Life'd by reddit, is awesome.
So, Thank you old reddit admins, users, and everyone else who helped me along the path.