There Can Be Only One

Our first ActiveX Control was written in 2002: SRP Button Control. It was released in a stand-alone file called SRPButton.ocx. Not long thereafter came SRPTab.ocx and SRPPicture.ocx. Over the months, each new control brought a new OCX file along with it.

Not long after the SRP EditTable Control was released, we began to realize that managing multiple OCX files was a bit of a customer support chore. Thus, SRP.OCX was born. This single file housed all our controls in a single file, yet customers could license controls individually. It was the best of all worlds, or so we hoped.

A major client at the time was pushing their OpenInsight application to clients over the internet, and their customer base was rather large. Even in 2005, bandwidth wasn’t infinite. If you had thousands of customers, then saving bytes was still valuable. Since this client only used a handful of our controls, they didn’t want their clients downloading the entire SRP.OCX every time there was an update. As a result, we split the controls up again into separate files. Moreover, we moved all common code into SRPShared.dll. This allowed each OCX to be significantly smaller. We easily saved our client billions of bandwidth bytes.

However, this new setup came with challenges. SRPShared.dll couldn’t be registered, which meant it had to be placed in very specific locations. As you can imagine, we had a lot of support calls from clients confused as to why their controls wouldn’t register or run at all. It was doubly difficult given that SRPShared.dll had to be just the right version. All too often customers would get an out-of-date SRPShared.dll that lead to unexpected behavior or fatal crashes.

Eventually the aforementioned client’s concerns to conserve bandwidth became a non-issue, so we no longer had to stay committed to SRPShared.dll. It didn’t take long for us to get rid of the DLL altogether. We kept the individual OCX files, but now each one was significantly bigger since the shared code had to be merged into each OCX. The increased size was no bother, especially since it eliminated so many customer support nightmares.

This was the way we released our controls for many years. Eventually, we decided to offer a new subscription model in which users could purchase access to all our controls, even new ones as they were released. We called this our Pro license, and SRPControls.ocx was added to our portfolio. This is our current model. If you buy individual controls, then you get individual OCX files such as SRPSchedule.ocx or SRPTree.ocx. If you subscribe to our Pro Controls, then you get SRPControls.ocx and all controls therein are unlocked for you.

But times are a-changin’ again. While life has been easier since the day we annihilated SRPShared.dll from existence, it is still a chore to manage so many individual OCX files. We have eighteen individual control OCX files! And to make matters worse, the individual OCX files have different version numbers than SRPControls.ocx. This makes it more difficult to accurately convey version changes. Just look at our wiki to see what we mean. Every time a change is made, we have to keep track of two different version numbers and find a way to clearly pass that information on to you.

We are coming full circle and getting rid of individual OCX files for good. Starting with the upcoming release of SRP ActiveX Controls 4.0, there will be only one OCX: SRPControls.ocx. Note that nothing at all will change in terms of your licensing. You will still be able to subscribe to controls a la carte, or you can invest in our Pro package to get everything. Our online documentation will be updated to only show one version number for all our controls, which should make it a lot easier to see what’s changed since your current version.

It’s been a long, winding road for the SRP ActiveX Controls. Thank you for choosing our products. We hope you enjoy the simplicity we have in store.

One Response to There Can Be Only One

Leave a Reply to Ray Cancel reply

Subscribe to Blog

Enter your email address to sign up for email notifications of new posts.