A recompensa acabou, o desenvolvedor php vence com Game of Life de Conway
Hoje, a plataforma da Web está avançando rapidamente. Características como animações CSS3 , transforma , sombras e gradientes , <canvas>
, <audio>
e <video>
tags, SVG , WebGL , e muitos mais significa que você pode fazer muito mais no browser, e em muito menos código, do que nunca. Obviamente, muitos desenvolvedores não conseguem usar esses novos recursos, porque os sites e aplicativos em que trabalham precisam ser compatíveis com os navegadores antigos, como o IE6.
Então, o que acontece se você tirar o cinto? Permita-se usar todos e quaisquer novos recursos que você gosta? Viva um pouco, enlouqueça, use recursos estranhos que apenas 1% dos usuários poderão tirar proveito?
Obviamente, com recursos ilimitados e a capacidade de conversar com um servidor, você pode fazer todo tipo de coisa - carregar megabytes de código, bibliotecas e vídeos etc. - mas os desafios não são muito interessantes sem restrições. A principal restrição para este concurso é: o que você pode fazer em um único URI de 4k, independente e independentedata:
? Independente significa que não deve se referir a nenhum recurso externo, conectar-se a qualquer servidor usando WebSockets ou XHR ou qualquer coisa do tipo. Se você deseja incorporar recursos como PNGs ou MP3s, sinta-se à vontade para incluir URIs de dados em seus URIs de dados ou crie outra maneira inteligente de incorporar sub-recursos. 4k significa 4096 bytes, texto ASCII codificado corretamente em URI (você pode usar um URI de dados codificados em base64, se preferir, para evitar a codificação de URI, mas geralmente o texto codificado em URI será menor que o base64 para texto sem formatação).
Para inspirar, o tema do concurso é memes do StackOverflow . Crie um jogo de justos de unicórnios, um gerador de fatos Jon Skeet, um programa de desenho baseado em círculos à mão livre ou qualquer coisa a ver com um dos populares memes StackOverflow e meta.so.
Eu incentivaria entradas interativas de alguma maneira; não apenas uma animação simples ou uma imagem estática, eles devem responder à entrada do usuário, seja através de eventos, passagem do cursor do mouse, rolagem, redimensionamento da janela do navegador ou de qualquer outra maneira que você possa imaginar. Este não é um requisito difícil, no entanto; grandes demonstrações que não são interativas serão consideradas, embora a interatividade seja a preferida.
Sua entrada deve ser executada em pelo menos uma versão pública de pelo menos um dos cinco principais navegadores (IE, Firefox, Chrome, Safari, Opera). Somente liberações de linha principal (não compiladas a partir de ramificações ou compilações que exigem correções), sem configurações especiais, plug-ins ou qualquer outra coisa que não vem com o navegador de ações são permitidas. Compilações noturnas, betas e candidatos a lançamento são bons. Especifique em sua entrada com quais navegadores você testou sua entrada. Não há limitações sobre quais tecnologias você pode usar dentro dessas restrições; você pode fazer uma animação SVG pura, uma animação CSS pura, algo em JavaScript usando WebGL ou heck, até algo que use XML e XSLT se isso lhe agradar. Se você pode transformá-lo em um URI de dados válido, sem dependências externas, e obter um navegador para executá-lo, é um jogo justo.
To add to the competition here, on Monday, March 21, I will open a bounty on this question. How can I afford a bounty when I have only 101 rep? Well, all rep I gain from upvotes to this question between now and Monday will go into the bounty (up to the limit of 500 allowed for a single bounty; it would be pretty hard for me to hit that limit, though, given the rep cap). Entries will be accepted for 6 days after that; all entries must be in at least 24 hours before the bounty expires, to give me time to check them all out and evaluate them. At that point, I will accept the highest voted answer, and give the bounty to my favorite answer (which may or may not be the same as the highest voted). My criteria for awarding the bounty will include beauty, fun, clever technique, interesting use of new features, interactivity, and size. People should vote based on any criteria they want, as long as the entries meet the rules.
Aqui estão algumas fontes de inspiração para você começar:
- Experiências do Chrome , uma coleção de demonstrações da moderna plataforma da web
- Mozilla Hacks , um blog sobre a moderna plataforma web com muitas demos de novos recursos no Firefox 4
- JS1k , um concurso para demonstrações de 1k em JavaScript
- 10k Apart , um webapp no concurso 10k
- gl64k , um concurso de demonstração atualmente em execução para demonstrações de 64k WebGL
- Shader Toy , um conjunto de demos sobre o que você pode fazer com os shaders WebGL
Formato para entradas:
Nome da entrada
data: text / html, Your% 20data% 20URIFunciona no Firefox 4 RC, Chrome 10 e Opera 11
Descrição da sua entrada; o que faz, por que é legal, que técnicas inteligentes você usou.
<script> // code in expanded form to more easily see how it works </script>
Quaisquer créditos para inspirações, qualquer código que você possa ter emprestado, etc.
(StackExchange parece não aceitar URIs de dados em links, portanto, você precisará incorporá-lo diretamente em uma <pre>
tag)