Temporal Development Update; Optimizations, Community Outreach, And More - July 6th 2018
This week was mostly spent preparing for our first release at the end of July 2018. An initial round of optimization was applied, current pain paints preventing an initial release were also out-lined as well. Work was started on a web interface for Temporal as well. The final feature for IPFS functionality was also started, which included introducing a new component to TEMPORAL called Minio. And finally, community outreach efforts are being expanded upon.
The first round of optimizations primarily targeted how we handled IPFS pins for non-cluster nodes. Instead of the entire process happening in a single API call, it has now been modified such that the API calls kicks off a set of background processes to pin the content to our system. This is much less error prone, and will be easier to handle failures and recover from them instead of out-right failing. Adding files into TEMPORAL was also improved through the addition of an object storage back-end, being implemented through minio.
Non application developers, or technically inclined individuals will be able to use, or benefit directly from Temporal even without an interface, ultimately with out placing a reliance on third-parties to create end-user interaction methods. This is not something we are okay with, as we want all immediate and needed functionality to be included with Temporal itself so you don't need to depend on any third parties for crucial functionality. We began work on a very basic web interface that can be used to invoke common Temporal functionality (file listing, file uploads, etc...)
While looking into the features Temporal offers, we discovered that we left out a very crucial feature, DOWNLOADS!!! While the underlying networks and their tools (sia, storj, ipfs) can be used independently to download content you have uploaded to Temporal, there is no guarantee who you'll be requesting that data from and the speed at which that data will be delivered, and also places a reliance on non Temporal products for standard functionality. To remedy this, we are building out a download feature that allows you to request content you have uploaded to Temporal directly through us, allowing you to safely control who provides the data to you, and the peace of mind that the data will be delivered at extremely fast speeds.
File uploads to Temporal have been a tricky business. While functional, it was buggy, took forever and was error prone, all occurring in a single call. This process has been split up, and made more resilient and efficient through the use of an object storage solution called Minio. The reason Minio was chosen is due to its S3 compatibility, as well as self-hosting capabilities.
One of the key ideas behind Temporal is that you shouldn't have to rely on a third-party service. While this might be conflicting to some because we will be offering a hosted Temporal solution, not everyone has the financial or technical resources to host Temporal themselves, but will want the benefits that come from using TEMPORAL regardless of using a hosted Temporal, or on-site Temporal instance. However, should you have the resources to host TEMPORAL yourself, you should never have to rely on a third-party service. Everything should be doable without any dependency on hosted third party services. For these reasons Minio was picked as the initial object storage solution.
The key to a thriving product, is a thriving community. Community outreach has been something we have slacked on for the initial development cycle of Temporal however, now that we are close to a first release, we have begun rolling out of our community outreach plan. Initial steps have been to create a telegram group to encourage active discussion of Temporal, as well weekly to bi-weekly blog posts on Steemit. A Temporal specific website is also being designed as well to provide high quality, and concise information about Temporal.
If you want to join the discussion come visit us on Telegram:
We identified a list of pain points which need to be resolved before we are ready to release our first version, and are currently brainstorming the best way of resolving the following pain points:
- Incomplete Tests
- This was primarily due to wanting to put together an MVP in a short amount of a time
- As new features are added, tests are also added so that we don't increase the backlog of tests that need to be implemented
- Before initial release, tests will be implemented for features which don't have them
- Hiring developers
- While the current development resources are enough to bring Temporal to a first release, in order to provide continued excellence, our development resources will need to be expanded to continue our stellar development cycle post release. So we are officially looking to add to our great team.
- Low awareness around IPFS and associated protocols
- IPFS itself, and other distributed storage protocols (swarm, storj, sia, etc..) are extremely new, and as such awareness around these protocols is low, ultimately decreasing the potential user base of Temporal, and these protocols in and of themselves
- Brand Awareness And Community Out Reach
- Without a thriving community, there is no Temporal! This is something we are actively working on improving at all possible opportunities.
- Licensing an open source project is extremely tricky.
- Before Temporal is released and ready for consumption, a proper license that satisfies all elements of Temporal (business, community, development, etc..) will be implemented.
Thanks for reading! Your support is incredibly appreciated. If you enjoyed reading this and found it useful, and up-vote, re-steem, and/or sharing of this article on third-party social media sites would be fantastic. TEMPORAL is starting to become something worthy of calling a product due to the hard work from everyone at RTrade. We really believe in the power that is bestowed upon an individual when you have control of your own data. We are truly lucky to be alive in a time where technology has progressed to a point that this is now possible, and Temporal will serve as a way of bringing these benefits to everyone, while also allowing developers to take the reigns and utilize these new protocols to power their applications.