Development Update August 17, 2018

Taylor French
4 min readAug 17, 2018

--

For the majority of this week (August 12th — 17th), the Oyster development team continued to work on many of the things outlined in our previous development update. As opposed to re-hashing all the items mentioned last week, this update will instead give a high-level overview of the current state of development and QA, as well as supply some new screenshots of future upgrade to the Oyster Storage web interface.

Lambda

The Oyster team will offload PoW to AWS lambdas. This will allow the brokers to provide much better concurrency when multiple people start large uploads. This requires rewriting a significant amount of Oyster’s backend code.

Migrating from SQL to Badger

The Oyster team will remove all data about individual chunks from SQL and instead store this information in Badger. This change requires a substantial re-write of much of Oyster’s backend logic since there were many places where queries were running on the data_maps table, which grows to enormous sizes. This change will reduce various errors associated with running queries on a SQL table which has become too large as well as improve the broker nodes’ performance.

Switch Webnode’s WebGL2 PoW to a WebGL implementation

The Oyster team is working on switching over from one PoW library to another. This involves revisiting a lot of Oyster’s web node code. Switching from WebGL2 PoW to WebGL will allow the web node script to run on iOS devices.

Update Web interface to support leaving the upload page and coming back to check on an existing upload

This requires moving around a lot of code and many changes to de-couple specific functionalities from one another. This should cut down on the load on the broker because users who refresh the page during an upload can continue with their old upload rather than starting a new one.

Below are a few new screens associated with the change in the future web interface change.

The upload phase of the web interface will be broken into two stages. The first stage displays to the user that their file is currently being broken into chunks, encrypted, and uploaded to the broker nodes. The user is required to stay on the page until this broker node upload is complete.

The significant change in the upload interface is present in the screen that will be displayed once the user’s file has been uploaded to the broker nodes. This stage (“Attaching File to Tangle”) will present the user with their Oyster Handle before the file has been attached to the Tangle, allowing the user to leave the page without interrupting their file upload. The user can then bookmark the page to return and see the upload progress, or the user can choose to enter an email address where a notification email will be sent when their file is ready for download.

The email will be similar to when a bank sends any information regarding a client’s credit card: only the first few characters, and last few characters of the Oyster Handle will be included in the email to allow the user to identify which file has been attached without giving away the entire handle. Additionally, the web interface will also display an estimate of the time required to attach the file to the Tangle.

Finally, the new “Attachment Complete” screen is identical to the current “Upload Complete” stage of the Oyster web interface, with just a small change in wording. Ultimately, these changes in the web interface will lead to not only a better overall experience for the user but will help improve the web interface’s performance.

Note: These are the current mockups for these changes; however, these mockups do not represent the final rendition of the interface and are subject to change.

As always, we encourage our community to post any questions or comments regarding these development updates to our Reddit or Telegram channel.

--

--