Por que demora tanto tempo para finalizar a especificação do HTML 5? [fechadas]

25

Eu estava lendo isso e uma frase chamou minha atenção (ênfase minha):

Então Ian Hickson, o maior crítico do XHTML, criou o HTML 5, uma especificação de criança orientada para a ação que não chegará à idade adulta até 2022 , embora parte dela possa ser usada hoje.

Isso é verdade? Esse é realmente o ciclo de desenvolvimento do HTML 5? Por que demora tanto tempo? O que torna tão difícil de acertar que não será final até daqui a 11 anos?

EpsilonVector
fonte
35
Você já tentou fazer um grupo de pessoas concordar com alguma coisa?
George Marian
2
@ George - Deveria ter feito isso uma resposta.
Ben L
Apenas como um aparte, você viu o tamanho das especificações e quão complexa é?
JB King
@ Ben Aparentemente, eu deveria ter. Não achei que fosse bastante carnudo. :)
George Marian

Respostas:

19

A data mencionada para o processo de finalização foi definida até agora no futuro, porque o processo de padrões para a especificação HTML foi configurado de forma a garantir ampla aceitação da especificação.

Alguns antecedentes: existem dois órgãos de padrões que trabalham em rascunhos relacionados ao que chamamos de "HTML5": o World Wide Web Consortium (W3C) e o Grupo de Trabalho da Web Hypertext Application Technology (WHATWG). Antes de julho de 2012, os dois grupos estavam trabalhando (principalmente) juntos para desenvolver HTML.

O processo principal foi percorrer uma série de marcos:

  • Esboço de trabalho: as  especificações estão em desenvolvimento e discussão ativos
  • Rascunho de trabalho da última chamada (LCWD): as especificações estão praticamente completas e os implementadores têm a oportunidade de apresentar qualquer última objeção às especificações antes de entrar no processo de finalização
  • Recomendação do candidato: a  especificação é efetivamente finalizada e segura de usar para implementadores e autores de conteúdo
  • Recomendação: duas implementações independentes e totalmente interoperáveis ​​da especificação foram totalmente concluídas

O marco da LCWD começou em 2011 e a fase de Recomendação do Candidato estava prevista para chegar em breve em 2014. Foi o último marco, a Recomendação, que exigiu duas implementações completas da especificação, que levaria vários anos e é a razão do 2022 encontro.

Nesse modelo, o primeiro marco real que preocupou os autores de conteúdo (não os criadores de agentes de usuários, como navegadores) foi o LCWD, pois a especificação pretendia ser finalizada principalmente. Uma vez concluída a LCWD, o HTML5 alcançaria o marco de Recomendação do Candidato e seria uma especificação final, exceto o nome: você seria capaz de implementá-lo com impunidade, como o último marco, a Recomendação. não afetam o conteúdo do padrão e são bastante desinteressantes para os autores do conteúdo.

No entanto, em julho de 2012, o W3C e o WHATWG formalizaram uma divisão na forma como o rascunho do HTML5 seria desenvolvido. Essa divisão, que funcionava funcionalmente há alguns anos, configura duas "trilhas" HTML diferentes:

  • Um padrão de vida, desenvolvido pelo WHATWG e simplesmente chamado de "HTML", em que a especificação nunca é totalmente completa. Um consenso razoável para o padrão é estabelecido, mas não há requisitos para implementar tudo.

  • Instantâneos periódicos e estáveis ​​do padrão desenvolvido pelo W3C como a especificação do HTML5. Em setembro de 2012, o W3C propõe alcançar o marco de recomendação no "HTML 5.0" em 2014, com instantâneos de pontos a cada dois anos (por exemplo, "HTML 5.1" em 2016).

Por causa do primeiro, o HTML5, como chegamos a entender, é utilizável agora . Infelizmente, por ser um padrão de vida, usá-lo como autor de conteúdo requer a compreensão da implementação de cada agente de usuário.


fonte
Enquanto o Windows XP ainda detém 60-75% do mercado e o Win7 (ou Vista) é necessário para o IE9 funcionar, não acho que a adoção em 2012 seja superior a 20-30%. Quero dizer a adoção de uma solução que mal funciona, em vez de algo pronto para produção, como HTML4 ou flash.
Slawek
@Slawek, independentemente do número de compartilhamentos de uso em que você gostaria de acreditar , mais da metade dos agentes de usuários no momento da Recomendação do candidato terá suporte razoável, se não quase completo, ao HTML5.
2
Bem, eu prefiro aprender com a história do que me referir às orações de alguns representantes da Microsoft e ao FUD de marketing. DOM Level1 - especificação de 1998, nenhum suporte decente na versão RELEASE do navegador da Microsoft até agora (o IE9 provavelmente oferecerá suporte, não verifiquei). Não estou dizendo que 75% dos navegadores não suportam HTML5 por causa do WindowsXP, mas 75% dos usuários do IE não conseguem que o HTML5 funcione. A atualização do IE é tão trabalhosa porque é necessário mudar o sistema operacional antes que você possa mudar o navegador :) Só posso rir disso porque isso é loucura. Melhor do que falar, eles fariam o maldito DOM funcionar.
Slawek
2
Comentário ao comentário recente: quando lidarmos com os navegadores da Microsoft, teremos que acabar com o desempenho lento do Mozilla. Eu sou uma pessoa muito "orientada para resultados". Eu não tocaria em HTML5 (como Canvas, SVG) nos próximos 3-4 anos. Basicamente, ele não oferece lucro em comparação com o flash e você deve codificar a mesma coisa em flash de qualquer maneira, para que seja compatível com a quantidade sensata de navegadores da sua adição. Você já deve lidar com incompatibilidades HUNDREDS no IE com hoje, HTML4 bastante simples. Só me preocupo com "resultados" e com o estado de hoje, não com FUD e ideologia.
Slawek
1
+1 no parágrafo de conclusão: "usá-lo como autor do conteúdo requer a compreensão da implementação de cada agente de usuário". Uhh ... PESADELO !!!
precisa saber é o seguinte
12

A resposta fácil: Design by Committee

O benefício da multidão de pessoas olhando para o design é que todo o grupo apresentará diferentes aspectos nos quais o designer original não pensou. Isso é uma vantagem.

Quando o designer é uma grande multidão, todos eles têm agendas diferentes e itens para animais de estimação que desejam entrar no padrão por qualquer motivo. Às vezes, os recursos conflitam entre si, às vezes há políticas em torno de decisões, etc. Demora muito tempo para um grande grupo de pessoas chegar a um acordo. Isso é um sinal de menos.

Para melhor ou pior, o W3C optou por desenvolver seus padrões dessa maneira.

Berin Loritsch
fonte
19
E então, quando o comitê finalmente concordou em algo, a indústria já adotou seu rascunho de especificação, implementou partes dele e estendeu o restante de uma maneira que é incompatível com a especificação final.
Robert Harvey
Sim, verdade, o que acontece quando você sobrepõe um DIV transparente sobre essa tela :) Parece simples, muito complicado de fazer.
precisa
9

Porque é fundamental que esteja certo.

  • Leva tempo para acertar as coisas - o padrão HTML5, uma vez definido, permanecerá por muito tempo. Precisa ser o melhor que pode ser e precisa estar certo. Isso requer debate de especialistas, tentativa e erro, contribuições de usuários e desenvolvedores e análise de estatísticas

  • Quando um padrão muda, o aplicativo de alguém em algum lugar quebra - os padrões precisam estar corretos na primeira vez. Com cada alteração em um padrão, o aplicativo de alguém em algum lugar do mundo quebra com a nova versão. Isso exige que nós, como desenvolvedores, conserte, custando tempo e dinheiro. Precisa estar certo da primeira vez.

  • A imprecisão precisa ser removida - é fácil dizer que é isso que a tag de tela faz quando há apenas a tag de tela na página, mas e quando está dentro de outra tag? E as combinações de tags? Como eles devem renderizar? Como eles devem renderizar com atributos de estilo X definidos em combinações específicas?

Bônus: dê uma olhada nas especificações do HTML5 em sua forma atual e você verá o que há nele.

Ryan Hayes
fonte
7

Grandes? Demorou quase 8 anos para a Microsoft fazer o CSS2 simples mal funcionar no IE7, enquanto o suporte ao DOM1 em javascript ainda está quebrado no IE8. Isso é especificação de 1998.

É por isso que você não verá uma ampla adoção do HTML5 em multimídia nos próximos 20 anos. É muito complicado, inacabado, o desempenho é péssimo. Até coisas simples como websockets são desativadas por motivos de segurança.

Algumas coisas não funcionam como um padrão aberto. Está executando jogos ou MM em um ambiente que deve funcionar no thin client e oferecer suporte à degradação total? Isso é loucura.

EDITADO: Sim, primeiro é a supercomplicação. Você tem um plug-in flash que é igual em todos os navegadores e funciona da mesma maneira todas as vezes. Essa é uma solução simples e eficaz. Em uma interface, você faz a alteração uma vez, recompila e viola - você possui um plug-in para todos os navegadores do mercado, utilizando alguma camada intermediária entre o navegador e o plug-in.

Por outro lado, você tem 10 navegadores e deseja adicionar, por exemplo. suporte multimídia / filme. Isso significa que toda empresa terá que implementar o media player do zero, ao lado de todos que desejam algo diferente. A Apple quer o H.264 para que os proprietários do site paguem royalties pelo codec para a exibição de filmes, o Google e a Mozilla desejam o VP8 para que seus negócios não sejam afetados pelas patentes da Apple etc.

Então, acaba implementando coisas que todo mundo quer (enquanto o VP8 ou o H.264 faria, para começar).

Portanto, antes que eles possam superar suas diferenças, a Adobe implementará o H.264 em flash, use a pilha DRM e streaming já disponível e ... está pronto. 3 a 4 meses e você possui uma tecnologia funcional com taxa de adoção de 98%.

Simples, uma empresa decide, para que eles possam promover mudanças maciças rapidamente e não terão que adicionar "idéias" de outros 20 membros do "órgão de padronização". Ao lado do HTML5, talvez esteja entre 10 e 15 anos atrás do flash, em multimídia. A diferença só vai aumentar. No MAX avant recente, você podia ver os controladores de jogos e aplicativos de corrida em 3D em tela cheia, rodando em flash em FPS completo, suporte à aceleração de hardware e assim por diante. Enquanto isso, o mozilla agora pode reproduzir vídeo H.246 sem travar o navegador, mas apenas reproduzir. Ainda falta alguma funcionalidade adicional (como tela cheia, streaming, avanço rápido)!

Ao lado, acho que o W3C está apenas desperdiçando recursos, tentando fazer do HTML5 uma cópia incompleta do flash. Não vai funcionar ... é como tentar fazer do flash uma cópia do HTML. Não vai funcionar.

Slawek
fonte
+1 para uma explicação bastante clara da política envolvida.
Michael K
5

Basicamente, é difícil conseguir que um grupo de pessoas chegue a um acordo. Sem mencionar que existem várias questões a serem resolvidas. Por exemplo, há (houve?) Muito debate sobre qual codec usar no vídeo.

Para o bem ou para o mal, a maioria das especificações demora um pouco para ser elaborada.

George Marian
fonte
2

Mark Pilgrim fala sobre isso em seu "Dive Into HTML5" aqui: http://diveintohtml5.org/past.html Parece que muitas pessoas não gostam da versão do livro porque ela não é técnica o suficiente, mas nesta seção o o editorial é bastante justificado.

(Edit: Eu só queria fornecer uma referência para o meu comentário sobre pessoas que não gostam da qualidade "tagarela" do livro: verifique as resenhas na amazon . )

tcnolan
fonte
2

Parte do problema é que a especificação não será finalizada até que haja pelo menos duas implementações principais da especificação - pelo menos dois navegadores separados que a suportem por completo. Portanto, as especificações precisam estar completas o suficiente para a implementação completa, depois precisam ser realmente implementadas e finalizadas.

Grant Palin
fonte
1
O problema clássico de frango / ovo vem à mente aqui;)
tcnolan
@tnolan Quite so!
Grant Palin
2

Parte do problema: quero ogg theora no navegador. Você concorda? Não. Você quer o H.264. Mas eu concordo? Não. Esse é o problema entre Google, Mozilla, Microsoft, Apple, Adobe e todas as empresas que estão por trás do html 5. Eles tentam maximizar a receita e ser o monopolista. Sua intensa competição. Portanto, leva mais tempo para concluir.


fonte