EthSign September Development Update
Since the debut of EthSign 3.0 in June, we have merged over 120 pull requests and made over 300 commits on GitHub containing a plethora of bug fixes and new features as a part of our continued effort to boost performance, improve user experience, and introduce new features. Let’s dive right in to talk about some of the more noticeable ones!
New Contract Auto-Save
As much as it sounds like an excuse, the fact is, software bugs are inevitable — they are incredibly frustrating for both users and developers and EthSign is no different from any other piece of software. We have already patched a long list of bugs within the New Contract workflow but there are still a couple of stubborn and rare bugs that are difficult to consistently reproduce and would usually go away after a page refresh. Nothing is more infuriating when, as a user, losing all progress and filled information on a page refresh. To mitigate this issue as we continue to investigate these rare glitches, an auto-save feature has been implemented. Whenever the page is refreshed and you pick the same PDF file to upload, our code will detect if there was any previously interrupted progress and if so, will ask if you’d like to restore it.
Providing Feedback
We have made it easy and effortless to provide us feedback anytime you’d like. A dedicated and persistent Provide Feedback button has been added to all pages that leads to a Typeform popup where you can detail your experience and what you liked or didn’t like.
Parallel Loading, Error Handling, Pagination
We have overhauled the way contracts are loaded into the dashboard. Previously, we loaded contracts sequentially and chronologically. While it was more straightforward to code, the performance was severely throttled as there was only one contract loading at any given time. We now have switched to a parallel approach where all contracts are first represented as a skeleton placeholder and then loaded together in parallel. This required some modifications to our The Graph subgraph but the improvement was significant. We saw a 5–10x improvement in loading speeds and the reduced load times also meant the page is now less susceptible to network interruptions. The new method of loading also meant failing to load a single contract will no longer halt the loading of all other contracts. We have also added a Retry button for the ones that fail to load.
In addition, we were able to paginate the list of contracts instead of displaying it all on a single long list.
Contract Document Details
For our more technical users, you can now view more detailed information regarding your uploaded contract document.
Profile System
The profile system is arguably one of the most significant additions to EthSign that paves the way for numerous features in the future, such as push notifications and an advanced asymmetrical encryption option. For now, users can voluntarily associate an email address with their Ethereum account to receive push notifications regarding signing in the future. This information is stored securely in our auxiliary server and we will never use it for marketing purposes or sell it to advertisers.
One of the things we are proud of is our lack of reliance on centralized services. Although our auxiliary server is hosted in a centralized fashion, it will only ever be used for non-critical convenience features. In other words, if the auxiliary server ever goes offline, EthSign will continue to function normally and no major feature will be impacted in the slightest. This also circumvents the gas fee issues, especially on more congested networks such as the Ethereum mainnet.
Public Contract Verification
From the very beginning, we made it our goal to bring transparency to the document signing field — signed contracts and their history should be visible to everyone instantly at all times. We are now proud to introduce our public contract verification page. With the correct document key, signer address, and network combination, anyone is able to view the signature status of said signer and a complete history of the contract. The signature status can also be exported as a PDF for archival purposes.
The Road Ahead
As EthSign 3.0 becomes more polished, we can dedicate more resources into the R&D of new features. Here is a short list of what we have planned:
- Push notification via email, Telegram, Discord
- Asymmetrical encryption of contracts
- EthSign Lite & Finality Bridge
- EthSign Embedded Web API
- … and more!