So it’s been almost 3 weeks since we put out our last post. We took some time off and thought about the situation and whats the best we can do right now.
EsysX started many many years ago as a simple launcher and grew a lot in functionality within the last 1,5 years. We put lots of efforts in the code to make coding, research and anything beside that as easy as possible. While implementing those features, we also had to make sure to secure any code in the best possible way to prevent it from getting hacked. Security was almost double the work as implementing a new feature as we had so many security checks in place. In the end, it perfectly paid out as EsysX did not suffer the same fate as other launchers. But implementing and keeping those security checks intact also took away the workload we could have been better invested into new features.
While we evaluated what we can do right now, we looked at the feedback about EsysX and tried to find out what was good and what not, what we can improve and what we should redevelop or change to come up with a better solution. Here are the negative points we found out can be massively improved and some ideas on how a solution could look like:
- Software licenses per PC/Dongles for multi PC: To tie software licenses to a PC is a widely used feature among companies but we think that one account and usage on any PC would be even better. The process of getting a dongle to a customer was so time consuming (order them, flash license details, ship to customers), we think that an immediate access to EsysX after buying it should be a key feature, so our customers do not have to wait for shipping, which could take quite a while depending on their country.
- Shipping bug fixes, psdz version updates or any update/upgrade: For security reasons, we implemented the “need to know” principle. This means, that a license only had as much code which it needed to run the bought features. Everything else was left out. This means, that getting any other code line into a license installation forced us to rebuild a license. This applied to new psdzdata versions as well. So you had to wait for your license to be rebuilt. And we had a stack to work off. This resulted in unnecessary waiting times. The ideal solution would be, that bug fixes are immediately available for your license and psdz versions could be immediately unlocked, if they were paid.
- Code dependencies on native Windows installations: While our code worked stable for many years, Windows 10 2004 introduced a native library change which made EsysX unusable. There was nothing we could have done to foresee something like that. Finding out what changed was not trivial, we had to research what fails and which library is affected, then wait for the library developer to fix the bug, re-implement the solution on our end and test… It taught us one thing though: Windows updates can interfere with EsysX at any time and that’s not something we want to have. To not rely on windows, a new EsysX should run independently from any operating system.
- Hardware change detection and VM detection: We wanted to make sure, that EsysX installations cannot be shared with a premade VM, so we blocked that. Though, hypervisor virtualization was also detected. We had to manually check those cases and enable it via remote access. Hardware changes were stable for a long time before windows decided to change bios identifiers… All this would not be necessary if our solution would not depend on the clients hardware.
- License reset in case of PC damage: While we normally did not allow for license activation on different PCs, we did once out of goodwill, if a PC was damaged and could not be restored. This led to waiting times for our customers again. What if resets weren’t necessary?
- Adjusting features to customers hardware: We have pretty strong hardware for development, but the main problem with that: Its exactly ONE out of thousands of hardware configurations out there. Take NCD/CAFD calculation for example. It was running very smoothly on our hardware but could run slower on other configurations. There was no way for us to test all configurations and adjust our features to these.
We have wanted to develop a new EsysX which solves all that problems for a long time and worked on that in the background for the last year but never got to get it anywhere near production ready. But we think, it’s time to do so, now!
So let me introduce you to EsysX Cloud (name not final yet):
EsysX Cloud will be an application running in the cloud (well obviously, right?!), eliminating the need of powerful hardware on our customers side, doing anything you can imagine in the cloud. It’s 2021, so developing a server sided EsysX is the best possible way to re imagine what we have now.
Car manufactures create visions for customers to know where the design will head to, so let us do the same, but in words:
Imagine a web app running in your browser where you can create virtual cars, upload any file to it, like FSCs, SVT, FA (and later, our new EsysX for PC will upload them automatically when reading out a car if you choose to do so) and do advanced tasks with those cars/its files. So a bit more in depth:
- Create a new car completely manually, by uploading the car’s files from your PC or let us create it for you automatically by pulling its data from other services by VIN
- You have an overview of all cars and its files you have ever worked on and can download any file at anytime without having to store the data on your PC
- You can use the files of a car to do work in EsysX Cloud
- Use an old FSC to generate one for a new map version, the new one is immediately added to the car and saved
- Use an SVT_CURRENT to calculate an SVT_TARGET, completely asynchronously in the background while you can prepare other work. If the calculation is done, you will get a notification. Save the time which you would have to invest waiting for calculating the files on your PC.
- Edit FDLs online and save them. Our new EsysX version will pull it from our server while you select an ECU in SVT on your PC and you can choose from many FDLs you have created to code it. Even an older backup.
- Having a centralized cheat sheet database where any EsysX Cloud user can add codes to it. Codes can be set private or public. Public means anyone can use them, private means only for the users that created it. Cheat sheets will be available within FDL editor in EsysX Cloud.
- Do everything we just mentioned from anywhere, its in your browser so the only limitation is having an internet connection and a device
- Psdz updates (we havent decided if free or not) and bug fixes will be immediately available for any user
- In general: Purchases in our store are immediately available in EsysX Cloud
- One user can use EsysX Cloud on any PC he likes. Login is centralized.
- We can implement new helper application inside EsysX Cloud like a visual ambient light changer (we had that developed already but never got to roll it out) at anytime for any user
- … and many more features we cannot think of right now, it will evolve while we get feedback from our customers
and EsysX Cloud eliminates all the limitations like:
- Hardware dependence on clients PCs (Resets, hardware detection, VM detection)
- Shipping and hosting installation packages
- Operating system dependence
Regarding our feature list which we asked our customers for on Instagram: We never forgot about it. We will implement your suggestions in our new application and make sure to give away free access to EsysX Cloud as we wanted to. Also, all current EsysX users will get exclusive advantages to thank everyone for staying true to EsysX.
That’s what we currently have for you. Gladly let us know what you think about our upcoming EsysX Cloud. Also, we will be needing your help for testing in the future. It will take us some time to get the basic server structure and features set up, but we will let you know as soon as we have something to show. So please bear with us, while we are working hard to get the project going.
Note: All of the described and planned features are currently solely fictional and not yet implemented. Features may change. We do not have an ETA for now but we want to have a next gen coding application which will take time and help from our customers. So stay tuned.