Feature Introduction: Resumable Uploads

A new feature is coming to alugha: resumable uploads. Including an upload manager for running your uploads in the background.

Read this article in: Deutsch, English, Español, Français, Русский, العربية

Estimated reading time:5minutes

The average download bandwidth accross the globe is steadily increasing, as is the average size of a video file thanks to higher resolutions and bitrates. What has probably not been increasing as fast as your download bandwidth is your upload bandwidth, especially if you're on a mobile connection. The longer your video upload takes, the higher is the frustration when your upload fails at 91% thanks to a shaky WiFi connection or a service outage on our side, forcing you to reupload the whole file from the beginning. Today, we are introducing resumable uploads.

The idea

What has been successfully transferred and saved to our servers won't be lost when your connection is interrupted. Thus, the most sensible approach is to split the file into smaller parts, uploading one after the other. Then, in case your upload is interrupted by one of many possible reasons, the alugha uploader can automatically retry uploading the failed part. If the interruption appears to be more severe, you will be informed that the upload has failed and can be retried manually. The resume button of your upload looks for the last part that has been uploaded successfully and continues from there. Furthermore, you can manually pause and resume your upload if you're on the go, or you need your upload bandwidth for other purposes right now. A nice improvement over other resumable upload implementations is that alugha dynamically adjusts the size of the upload parts depending on your upload speed. As a result, you will never lose more than approximately 30 seconds when resuming your upload.

But this is not the only improvement of this new feature. Before, you had to wait for your upload to finish before you could do anything else on the page. Now, your alugha uploads run in the background through our new upload manager. As the upload manager knows which uploads belong to which user, you can safely switch between personas to upload other files, without having to worry that your previously pending uploads are lost. On switch or sign out, your running uploads are paused and wait for you to return.

Once you have saved your video in the publisher or your file in the asset picker / marketplace, your upload will be handed to the upload manager and run in the background as long as you don't close the tab. You can then continue to edit your video details, watch other videos, start a second upload, and so on -- all in the same tab.

You might also wonder how this improves your workflow for audio and image files, which are usually small enough to not be interrupted during upload. In this case, you still benefit from the upload manager by having uploads run in the background and seeing their combined upload progress at a glance.

User interface

Your uploads can be observed and managed from a small user interface sitting in your navigation bar, right next to the search bar. Here, you find a list of all uploads that are running, paused, failed or completed. Completed uploads are hidden automatically after 10 minutes, so don't worry about your upload list being cluttered.

The entries are highlighted if they're running in the current tab or if the user's mouse hovers over the entry. On hover, the entry also reveals its action bar. Here, running uploads can be paused, failed and paused uploads can be resumed or aborted, and completed uploads can be hidden. Uploads that are running in a different tab are also shown and updated on progress, but are not highlighted and can only be paused from their respective tab. If you close the tab an upload is running in without pausing, the upload will be marked as paused after approximately 45 seconds and can be resumed or aborted.

Technical limitations

The time target of 30 seconds can only be achieved if your connection is fast enough to upload at least 5 megabytes in 30 seconds. Fortunately, this applies to most of our users. If this is not the case, you will lose more than 30 seconds of progress if your upload is paused or fails.

As of now, the information about your upload file and successfuly uploaded parts is only stored locally. This means that you cannot resume your upload on a different computer or browser, or when you clear your browser storage for alugha.com

Resuming an upload might require you to select that file through your local file picker again. The upload manager stores a copy of your file in your browser storage until the upload is completed, but for bigger files this may degrade your user experience as the process of copying the file postpones the start of the upload and can even freeze your browser tab. Therefore, we have decided to only cache files that are smaller than 128 megabytes. For everything above, you will have to select the file again after clicking the resume button. You can rest assured though that there will be no accidentally selecting the wrong file. The selected file is verified against the previous file's size and hash.

Finally, storage of unfinished uploads is limited to one week after the last upload progress and one month after upload start. If there's no activity for an upload for more than a week or an upload has been created more than a month ago, all of its uploaded parts will be deleted and the upload disappears from the upload manager.

What's next?

A final piece of the puzzle that is not connected to the uploader yet are the recordings you make in the dubbr. Once we have finished the integration of recordings into the upload manager, you will be able to quickly record one segment after the other, without having to wait for the segment upload to finish.

One more thing

Have you ever wondered why you couldn't upload a certain file to alugha although it was a perfectly valid video / audio / image file on your local machine? This was caused by us relying on the browser to tell us the file type of your selected file, which we need for determing the category it belongs to (video, audio, image). Unfortunately, this means that certain file types were greyed out for you. For example, Safari isn't able to detect MKV or WebM files as video or FLAC files as audio. We have replaced this approach by a file scanner that looks at the first few kilobytes of your file to determine its type. In case of MP4, MKV and WebM, the scanner even detects whether your file contains video or only audio tracks to map it to the correct category.

CodeNameViewsPercentage
engEnglish202 34.12%
deuDeutsch137 23.14%
rusРусский96 16.22%
spaEspañol60 10.14%
fraFrançais54 9.12%
araالعربية43 7.26%
Total592100%