À medida que o vídeo na Web se torna cada vez mais popular, eu mesmo tenho me dedicado um pouco ao compartilhamento de vídeos. Mas Descobri que a publicação de conteúdo de vídeo na Web é extremamente penosa, beirando a punição cruel e incomum. O processo de upload na Web é uma barreira séria para o compartilhamento de vídeos on-line, e aqui está o motivo:
- Os arquivos de vídeo são enormes
Os arquivos de vídeo são facilmente os maiores arquivos que a maioria dos usuários criará. Mesmo com resoluções e taxas de bits muito modestas, o tamanho do arquivo será superior a 10 megabytes para qualquer coisa, exceto os clipes de vídeo mais curtos. E alta definição? Esqueça isso. São centenas de megabytes.
- Largura de banda upstream limitada
A maioria das pessoas tem conexões de Internet altamente assimétricas: grande largura de banda para download, mas uma pequena quantidade de largura de banda para upload. Essa pequena quantidade de upload precisa ser compartilhada entre todos os aplicativos que competem pela largura de banda. O upload de arquivos de vídeo gigantes é um desafio nas melhores condições, e as conexões de Internet da maioria das pessoas são mais parecidas com os piores cenários para upload.
- Os uploads são preciosos
Os downloads são um centavo a dúzia. Se um download falhar, quem se importa? Há uma centena de fontes diferentes para obter um determinado download. Fazer o download novamente é rápido e fácil. Mas os uploads são diferentes. Se estiver fazendo upload de um vídeo, é provável que seja algo que o senhor tenha editado de alguma forma e investido tempo nele. Talvez seja um vídeo que o senhor mesmo criou. O senhor está fazendo o upload com a intenção de compartilhar. Se o upload falhar, o senhor não poderá compartilhar o que criou com ninguém, por isso se preocupa intensamente com esse upload. Os uploads são muito mais preciosos do que os downloads e devem ser tratados com o devido respeito pelo navegador e pelo servidor.
O pior de tudo, nosso navegador existente e a infraestrutura HTTP são absolutamente horríveis para lidar com uploads de arquivos grandes. Quero dizer, profundamente, abissalmente ruim.
Considere o seguinte formulário de upload para o Google Video. Ele faz o mínimo possível sem ser de fato um formulário HTML 4.01. Quando inicio o upload do meu arquivo de vídeo de muitos megabytes, não há nenhum tipo de feedback sobre o que está acontecendo. Há apenas um GIF animado genérico e uma advertência para que o senhor não feche a janela do navegador. Quando meu upload será concluído? Pode ser em 10 minutos, pode ser em 10 horas. Quem sabe?
O página de upload de vídeos do YouTube é um pouco melhor; ela usa um elemento baseado em flash para fornecer feedback básico sobre a porcentagem do upload.
Apesar do feedback espartano sobre o progresso, a página de upload do YouTube não é nada melhor do que a página de upload do Google Video. Se eu acidentalmente sair da página de upload – ou, para minha tristeza, se eu clicar no link “having trouble” – meu upload é arbitrariamente cancelado sem nenhum aviso. Não há esperança de retomar de onde parei. Tenho que começar do zero, o que é punitivo quando o senhor está lidando com um arquivo de vídeo grande e uma conexão de Internet típica de carregamento lento.
Se o Google Video e o YouTube representam o estado da arte para uploads de vídeo baseados na Web, isso é uma vergonha.
Não consigo encontrar nenhum sites de compartilhamento de vídeo que façam uploads bem feitos. O upload de arquivos grandes parece ser um caso exemplar das vantagens dos aplicativos de desktop em relação até mesmo aos mais modernos aplicativos da Web. Na verdade, a página do Google Video recomenda o uso do seu carregador de desktop para arquivos de vídeo com mais de 100 megabytes de tamanho. Com base na minha péssima experiência de usuário até o momento, estou inclinado a usar um carregador de desktop para qualquer arquivo de vídeo com mais de 10 megabytes.
Os uploads de arquivos grandes são um deserto inóspito na Web de hoje. Mas o que realmente me deixa louco é que o não precisa ser tão ruim assim. Nossos navegadores da Web estão falhando. Os navegadores da Web atuais tratam os downloads como cidadãos de primeira classe, mas os uploads não recebem nem mesmo tratamento de terceira classe. O Internet Explorer oferece uma interface de usuário de download bastante agradável:
Como muitas coisas no IE, essa caixa de diálogo de download praticamente não mudou desde 1999. O Firefox tem uma caixa de diálogo de download aprimorada que lida com vários downloads simultâneos.
Por que os navegadores não podem, no mínimo, fornecer o mesmo nível de feedback sobre uploads que fornecem sobre downloads? O navegador certamente sabe o tamanho do arquivo que acabei de dizer para ele fazer upload e é responsável por transmitir esses bytes para o servidor, portanto, ele também deve ser capaz de me informar quando o upload será concluído. A longo prazo, eu gostaria de ver suporte para uploads retomáveis, assim como os navegadores atuais podem retomar downloads HTTP em alguns cenários selecionados.
Para mim, está claro que os uploads de arquivos grandes se tornarão cada vez mais predominantes na Web, à medida que o vídeo se tornar popular. Os uploads não são as condições excepcionais que poderiam ter sido em 2001. Espero que os futuros navegadores possam estender o mesmo excelente suporte que têm para downloads de arquivos para uploads de arquivos. Mas isso não nos ajuda hoje. Talvez ambientes de plug-in de navegador mais sofisticados, como o Silverlight e AIR — pode permitir uma melhor experiência do usuário para esses uploads de arquivos grandes, o quanto antes.