Hi Beta Testers,
I originally posted this in the developers group, but since I am looking for beta testers, I figured I should post here as well. Feel free to read the conversation here
I've been doing full stack web development for the past 8 years or so and one issue I kept running into over and over again is client side caching. Modern browsers have some amazing built-in tools for caching websites, but more often than not, we are forced to apply cache-busting techniques to ensure that our users will always get the latest code changes when we deploy and we miss out on all of the benefits of browser caching as a result.
I just finished building an MVP called JellySync that will let developers get the best of both worlds. You simply login to our dashboard, create a project, and add the script tag to the header of your html. With the package installed, your active sites will keep an open connection to our server and with the click of a button in our dashboard you will be able to update all of your users (both live and future) to the latest version at anytime. You can also configure what your site does when it receives an update such as clearing local storage, session storage, cookies, cache, or forcing a mandatory refresh. What this means is that you can leave on client side caching and still be confident that your users will always be updated when you want them to be.
Right now we are looking for beta testers to make sure it works in the real world and get real feedback on whether or not it is something people find useful. If you are interested in giving it a shot, head on over to JellySync and submit your email. We'll create an account for you and make sure you get setup without any issues. There are no newsletters or anything like that I promise.
I wanted to share 2 recent experiences I had that really pushed me to make this tool. The first is what you would expect. Our team was implementing a web app and we were applying cache busting to make sure users always got the latest code when they came to the site. But, for some reason, the index.html file was being cached by the browser and would cause the app to crash as soon as it was loaded until the user did a refresh. We ended up fixing the problem, but we wasted a bunch of dev hours and we received many complaints about "white screens" for a few days which wasn't great for encouraging users.
The second experience was a bit more scary. We had just deployed a brand new feature to our app. Unfortunately, we didn't realize that it caused a memory leak and was downloading videos in a loop. This was eating up our bandwidth incredibly quickly and was going to cost us real money if we didn't fix the problem immediately. The problem though was that we had no way to force all of our users to update to the latest version gracefully. Just because we updated the client doesn't mean that there weren't users on the previous broken version. The only thing we could do was to take down the site temporarily so that everyone would get the fix when we started it back up.
Both of the above stories would never have been a problem with JellySync. All I would have had to do was click a button and my users would have been gracefully forced into the latest version.
So, this post turned out to be much longer than I initially anticipated. If you made it to the end, thanks so much for reading! I hope that I have piqued your interest a bit and you will come and give JellySync a try. I look forward to all of your questions and feedback!