Let’s Fix File Uploading · Felix Geisendörfer

Let’s Fix File Uploading · Felix Geisendörfer


Let’s Fix File Uploading · Felix Geisendörfer

Published:

tl;dr: We are creating an open source project to provide a turnkey file
uploading solution called tus. Today we are happy to show
you our first resumable file uploading demo.

It’s 2013, and adding reliable file uploading to your app is still too damn
hard. And if content is king, this poses a serious problem to those interested
in acquiring it. In this post I’ll describe the current uploading landscape and how we
are planning to fix it.

Resumable Uploads

Have you ever tried uploading a big file over an unreliable internet
connection? Depending on the site you were using, the experience can be
extremely frustrating. Except for a few bigger sites, network errors will
force you to restart your upload from the beginning. Even worse, some sites
will be unable to detect this problem, leaving it up to you to figure out why
the progress bar is stuck.

The solution of course is to offer resumable file uploads, however, this is
easier said than done. While there is no shortage of bits and pieces that can
help you with building your own solution, there is no simple solution that you
can get up and running in a few minutes.

The first thing you’ll need to figure out is a server side API. Google has
published several http protocols for resumable uploading (e.g.
YouTube,
Google Drive), but they
all rely on a non-standard http code 308 Resume Incomplete which is on
collision course with upcoming
standards. Amazon
S3 offers multipart
uploads
(not to be confused with multipart/form-data), but they are hard to use and
the minimum chunk size is 5MB which is far too large to be useful under bad
networking conditions.

And even if you figure out the server side, you’ll still need to take care of
the client side. For HTML5, your best bet is to start out with something
like jQuery File Upload which
has some basic support for resumable uploads, but you’ll still have a lot of
tweaking ahead of you in order to make it work with your server side API. If
you are also running native iOS / Android apps, you will be entirely on your
own to come up with a solution.

Fuck this. It’s 2013, and you shouldn’t have to waste several days for what
will only be a rudimentary solution, hard to scale, and a pain to maintain.
This is where we come in with tus. Tus is an open source
project that aims to provide you with a turnkey solution to all your file
uploading needs. We are designing a
protocol, building a
server, and are working on clients for HTML5,
iOS and Android. Once these are solid, we will also provide a hosted service,
making it even easier for people to get going, as well as allowing us to recoup
our investment in this project.

Today is a great day to have a first look, as we have just completed our first
resumable file uploading demo for HTML5. The
demo is pointed at a tusd instance running on
EC2, and uses jQuery File
Upload under the hood. What’s
exciting about it, is that it not only handles network errors, but also browser
crashes and user errors like closing the page. No matter what happens, a
previous upload will always continue where it left off.

So check it out, and give us your
feedback. We are
also very interested to hear what other issues you’d like to see solved. If you
are not sure about the possibilities, just read on.

A world of possibilities

Resumable file uploads are just the tip of the iceberg, and there are many more
problems ripe for a solution. However, we need your help in prioritizing them,
so please let us know which of the things below you would find valuable.

  • File upload acceleration: There are many situations where file uploads
    fail to achieve optimal performance due to latency and TCP
    limitations. We hope
    to tackle this from multiple angles: Hosting a reverse CDN to improve latency
    regardless of user location, utilizing multiple TCP connections to increase
    the effective tcp window size, and maybe in the far future implement a
    specialized UDP protocol.
  • Huge files: With HD cameras on the rise, uploads become bigger and bigger. A
    good solution should be able to handle files > 2GB with ease.
  • Streaming: A lot of files can be processed as a stream, so tus should
    make it easy to let you download and process an active upload.
  • Service Integrations: It should be easy to let your users select files
    from their Dropbox, Facebook, Google Drive or other cloud services.
  • Processing pipelines: Most files are media files and require additional
    processing before being consumed by other users. Tus should easily integrate
    with existing processing solutions such as
    Transloadit, Zencoder and
    others.
  • Scalability: It should be easy to run a cluster of tus instances, allowing
    you to add or remove capacity as needed.
  • Security: HTTPS is a no-brainer, but we are hoping to raise the bar by
    supporting file encryption on the fly for applications that can benefit from it.
  • Protocols: HTTP is not the only protocol out there. We are interested in
    exploring uploads via FTP, E-Mail and other commonly used protocols.

If any of the above sounds exciting to you, please let us
know. For now our
priority is to release a solid server along with great client libraries for
HTML5, iOS and Android, but at the end of the day it will be your feedback
that will drive our roadmap.

— Felix Geisendörfer


Subscribe to this blog via RSS or E-Mail or get small updates from me via Twitter.





Source link

Postagens Similares

  • Co by było, gdyby Twoja strona indeksowa była inteligentna?

    Jedna rzecz, która nie podoba mi się w większości blogów (firmowych i osobistych), to to, że ich strony indeksowe zwykle zawierają nieatrakcyjne listy linków ułożone w odwrotnej kolejności. Zasadniczo nikt nie odwiedza indeksu Twojego bloga z przyzwyczajenia, zwłaszcza jeśli rzadko blogujesz, ponieważ treść nigdy się nie zmienia. Następnie tworzysz biuletyn i obecność na Twitterze, aby…

  • ਰੋਬੋਟਸ ਨੂੰ ਜਿਮ ਤੋਂ ਬਾਹਰ ਰੱਖੋ

    AI ਹੁਣ (2025 ਦੇ ਅੰਤ ਵਿੱਚ) ਇੰਨਾ ਵਧੀਆ ਹੋ ਰਿਹਾ ਹੈ ਕਿ ਮੇਰੇ ਕੋਲ ਹੁਣ 2026 ਵਿੱਚ ਇੱਕ ਨਵੀਂ, ਪ੍ਰਾਇਮਰੀ ਸਿਫ਼ਾਰਿਸ਼ ਹੈ: ਇਸ ਬਾਰੇ ਬਹੁਤ ਧਿਆਨ ਨਾਲ ਸੋਚੋ ਕਿ ਤੁਹਾਨੂੰ AI ਤੋਂ ਮਦਦ ਕਿੱਥੋਂ ਮਿਲਦੀ ਹੈ। ਮੈਂ ਇਸ ਬਾਰੇ ਸੋਚਦਾ ਹਾਂ ਨੌਕਰੀ ਬਨਾਮ ਜਿਮ. ਜੇਕਰ ਅਸੀਂ ਹੱਥੀਂ ਮਜ਼ਦੂਰੀ ਦਾ ਕੰਮ ਕਰ ਰਹੇ ਹਾਂ, ਤਾਂ AI…

  • Pininfarina B95 Gotham at South OC Cars and Coffee

    {“@context”:”http:\/\/schema.org\/”,”@id”:”https:\/\/johnchow.com\/pininfarina-b95-gotham-at-south-oc-cars-and-coffee\/#arve-youtube-ly7nrl50xju-2″,”type”:”VideoObject”,”embedURL”:”https:\/\/www.youtube-nocookie.com\/embed\/Ly7nRL50XJU?feature=oembed&iv_load_policy=3&modestbranding=1&rel=0&autohide=1&playsinline=0&autoplay=0″} While Batman has the Batmobile, Bruce Wayne has the Pininfarina B95 Gotham. A visionary collaboration between Automobili Pininfarina and Wayne Enterprises to build a car befitting its billionaire CEO. This 1900 hp hypercar transcends mere speed, offering an exhilarating experience of daylight freedom, encased in a luxurious design inspired by the vibrant streets of…

  • Gefeliciteerd met je eerste verjaardag, Atomic Habits! (plus 3 cadeaus voor jou…)

    Vandaag een jaar geleden werd Atomic Habits geboren. De afgelopen twaalf maanden waren een wilde rit: Wereldwijd zijn er 1,1 miljoen exemplaren verkocht 12 opeenvolgende maanden op de bestsellerlijst van de New York Times (momenteel nr. 3) Herhaalde verschijningen op de bestsellerlijsten van Audible, Wall Street Journal en USA Today Meer dan 20.000 beoordelingen op…

  • یہ ہے کہ محققین نے MKBHD کے لاکڈ آئی فون سے $10,000 کیسے چرائے

    ایک آئی فون کا استحصال جس میں منسلک ویزا کارڈ شامل ہوتا ہے حملہ آوروں کو NFC کا استعمال کرتے ہوئے ایک مقفل ڈیوائس سے رقم چوری کرنے کی اجازت دیتا ہے، لیکن یہ عمل پیچیدہ ہے، جس میں جسمانی رسائی اور خصوصی ہارڈ ویئر کی ضرورت ہوتی ہے۔ اس استحصال کو مقبول یوٹیوب چینل…

  • 评论:Ikigai 和 Kaizen – 日本实现个人幸福和职业成功的策略(安东尼·雷蒙德)

    在 Ikigai & Kaizen:日本实现个人幸福和职业成功的策略安东尼·雷蒙德通过东方哲学的视角对目标设定进行了发人深省的探索。雷蒙德的作品深入探讨了塑造我们的动机、生产力和使命感的心理和哲学框架。 雷蒙德围绕四个关键的东方概念构建了他的论文,每个概念都为他所谓的“终极目标设定工具箱”提供了一个独特的工具: 生贝 – 追求自己真正的使命;你早上起床的原因。 Lingchi – 比喻因反复出现的小压力而慢慢侵蚀幸福感——“千刀万剐”。 半生 – 诚实的自我反省对于从过去的错误中吸取教训至关重要。 改善 – 持续、渐进改进的理念。 雷蒙德没有将这些想法视为独立的解决方案,而是认为它们的真正力量在于它们的相互依赖。这种相互联系是一个反复出现的主题。没有 Kaizen 的 Ikigai 会导致潜力无法发挥。没有 Ikigai 的 Kaizen 会导致毫无灵魂的生产力。没有灵池的半生就缺乏语境。每个概念都支持并增强其他概念。 雷蒙德并没有停留在理论上。他通过以下方式将这些想法置于背景中: W.爱德华兹·戴明博士的工作 管理和系统思维 个人健康和健身,强调每日日志和习惯跟踪的力量 关系和谐,展示反思和渐进式改变如何改善人际关系 这些应用使这本书感觉扎根且具有可操作性,为读者提供了一种将这些哲学融入日常生活的方法。 这本书最引人注目的见解之一是它对成功的重新定义。雷蒙德认为,成就并不在于实现目标,而在于坚持前进的毅力——即使进步感觉缓慢或看不见。 “成功不是进球,”他写道,“而是坚持每天的努力。” 来源: 生命贝与改善 安东尼·雷蒙德 记录锻炼、记录反思以及做出微小的改进都成为精神纪律的行为。按照这种观点,实现目标不像爬山,而更像追逐彩虹。 在撰写有关人生高峰和低谷的叙述时,以高峰结束故事比以低谷结束故事更能鼓舞人心。但对实现目标的终生承诺由两者组成。每当登上一座山峰时,远处朦胧的山峰就会立即显现出来。攀登仍在继续。因此,实现目标的过程也许更像是追逐彩虹,而不是攀登高山。 来源: 生命贝与改善 安东尼·雷蒙德 生命贝与改善 对于那些厌倦了快速解决生产力问题并准备好采用更全面、更有意义的个人和职业发展方法的人来说,它是理想的选择。雷蒙德的框架提供了一个强有力的提醒:进步是可能的——一次一小步。 我今天可以采取什么小步骤来(从长远来看)改善我的处境? 来源: 生命贝与改善 安东尼·雷蒙德 对我来说,它与其他书籍并列,例如 平均的终结 和 从为什么开始。像那些, 生命贝与改善 挑战关于成功和动机的传统思维。它鼓励一种更深入、更个性化的成长方法——一种重视目标而非绩效指标、重视进步而非完美的方法。本书超越了 SMART…

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *