As many of you have noticed, the Enhanced Steam Standalone is no longer available for download either on this site or on Github. The reasons for this are somewhat complex, but I’ll try my best to explain why I decided to discontinue the project.
The Standalone project came about initially because a lot of people were emailing me and asking if Enhanced Steam was available in the Steam client, or telling me that they would never bother with Enhanced Steam because they did all of their Steam browsing in the game client. The browser that the client used back then was terribly slow and buggy (it’s since been updated quite a bit) but I was able to work some magic along with the help of 7heo who originally came up with the idea of using a reverse proxy with static name resolution. Thus the Standalone app was born, and it worked in any browser including the Steam client, and things were looking up.
Due to the open source nature of the program, I introduced the Standalone application to various Steam groups on Reddit, Neogaf, and Steam hoping to solicit people to help bug hunting and troubleshooting and made sure to add warnings that the program was in a very early alpha stage. The installation was fairly complex and (at the time) involved editing the system’s hosts file while simultaneously running the application. If the application wasn’t running, the end user wouldn’t be able to access Steam. This was explained very clearly in the setup instructions. While certainly not an ideal solution, the entire project was meant to be a “proof of concept”.
So what went wrong? The project’s popularity exploded. It was featured in the gaming press and suddenly people were emailing me constantly for support to help them with installation and because they didn’t understand that the software was alpha (although it was clearly labeled). People started experiencing bugs and issues, and started getting upset because they expected the application to work flawlessly. Meanwhile, something else went wrong with the application in that the static name resolution was causing lookup errors, because Valve was constantly updating the external IP addresses of the Steam servers, and the Standalone application didn’t have a mechanism in place to automatically update itself.
For these reasons, the architecture of the project was completely re-written to accommodate for these shortcomings. The beta application shifted from a reverse proxy with static name resolution which required a host file edit; to a C# Windows application that ran a small reverse proxy and set the system global proxy settings whenever it was running. The beta app didn’t need static name resolution, so it wouldn’t break when Valve updated Steam’s IP addresses. The beta application also had a built-in update mechanism. Under normal operations, the application would reset the system proxy settings when it was closed, meaning the application should be well-contained and would only affect a user’s system while it was running. Things were looking up again.
So, what went wrong this time? While certainly more stable than the alpha application, it was also much easier to install and configure (essentially just copying a folder to your computer and launching an exe file) making it more accessible, which meant that more and more people started using it. There was also a scenario where a user might kill the Enhanced Steam task or reboot their computer without shutting down the program, meaning they had to either edit their system proxy settings or launch the app again when their computer restarted before they were able to access the internet at all. Although these kinds of issues are quite common with proxy applications, the fact that the program made these changes for the user (for their own convenience) meant that most users didn’t know they were supposed to make this change during this scenario. Additionally, the small reverse proxy application I had included in the Standalone program changed the terms of their licensing agreement and I was no longer allowed to distribute code created with their server application. The Enhanced Steam part of the codebase was different from Chrome (and Firefox) development, meaning it also took a significant amount of time to port over new features. Support for this program became a nightmare.
At the end of the day, the project has been discontinued due to a combination of a lack of interest and complexity of support. The Standalone application received 36,696 downloads total (not quite 1.5% of all Enhanced Steam users) and accounted for approximately 60% of the support emails I received on a weekly basis. Obviously, there is a disconnect here, and I came to the conclusion that continuing to work on the Standalone application simply wasn’t worth the time and effort involved in maintaining and supporting the application. This is especially true since the program needs to be rebuilt with a new proxy server back end, and even more true when that energy could be directed towards adding new features to the Chrome version of Enhanced Steam.
In closing, I hope that in the future Valve decides to open up the Steam client for more plugin-like functionality, even if it’s heavily moderated. Before starting the Standalone project I conversed with my colleagues at Valve but was told that they had no plans to implement anything like this in the future. Obviously, people see value in having extensions like Enhanced Steam running in the Steam client’s browser, so perhaps some day it will be possible again without having to resort to system hacks, reverse proxies, or any degree of complexity. I also want to say thank you to the fans of Enhanced Steam and of the Standalone application for your continued support and understanding.