Build a website using only 10kB pages or less, and Win $10,000 from MS Edge and An Event Apart

Today, Microsoft announced they are bringing back the 10k Apart contest in partnership with An Event Apart. This is a unique contest for web developers, with a catch: each page of the website that they enter into competition cannot be any larger than 10KB.

Aaron Gustafson, a Web Standards Advocate, writes on the Windows blog that this contest is a 16-year-old idea. Gustafson writes “Stewart Butterfield conceived of a contest that would test the mettle of any web designer: The 5k.” The idea was to see what kind of creative solutions developers can come up with when working against a considerable constraint of just 5KB of code for an entire website.

Microsoft Edge logo

Entries have to be able to run on modern browsers including Microsoft Edge

Microsoft and An Event Apart brought back the contest in 2010 for a couple of years and are bringing it back once again as the 10k Apart contest. The contest has been updated with considerations for modern browsers and currently technologies, allowing just 10kB for each page.

Here are all of the current guidelines for the contest:

  • Each page must be usable in 10kB or less. The 10kB limit no longer applies to the size of a ZIP archive of your entry; the 10kB limit now applies to the total initial download size of the baseline experience of each page in your project. When we say “baseline experience,” we’re talking small screen devices running older, less capable browsers. The 10kB limit will apply to every page and whatever assets it loads by default; that means images, CSS, JavaScript, and so on.
  • Progressive enhancement is the name of the game. Your project should start with a super-basic, bare-bones-but-usable experience that will work no matter what (including without JavaScript). You can use clever CSS and JavaScript techniques to enhance that experience as it makes sense to do so. For example: You might lazy load an image using JavaScript if the screen size is above a certain threshold or when certain other conditions are met. Entries that depend entirely on JavaScript to render the front-end won’t be accepted. If you need a primer on progressive enhancement, consult the pages of A List Apart.
  • Back ends are in this year. In previous iterations, each entry comprised client-side code submitted via ZIP file. Over time, that limitation led to an over-reliance on JavaScript for rendering. No more. This year, you can create dynamic experiences that work without front-end JavaScript using Node, PHP, Python or .Net. You will submit your entry as public GitHub repository (so we can all learn from your awesome code) and we’ll spin up a dedicated Azure instance running the appropriate stack.
  • Entries should be accessible. In line with the philosophy of progressive enhancement, your entry should be usable by the broadest number of users possible. Accessibility is not a checklist, but if you’re clueless about where to start, these techniques can offer some guidance.
  • Nothing comes for free. In previous years, we gave a pass if you wanted to use jQuery or load some fonts from Typekit. This year we decided to change it up, not because we don’t love these products (we do), but because we wanted to force every piece of code, every asset, to fight for its place in your entry. Anything you add should be added with purpose.

The contest is currently open and runs until 5pm PST on September 30, 2016. The top three entries will each receive $10,000 and other goodies such as tickets to An Event Apart, complete collections of A Book Apart titles, and Aaron Gustafson’s book. In addition to an official panel of judges, there will be a People’s Choice award based on public voting between September 5th and October 15th.

You can learn more about how to sign up for the contest and its requirements over at the official 10k Apart site. Let us know in the comments if you plan to participate.

Share This
Further reading: , , , , , ,

Do you think you could build an adequate website with just 10kB pages?