Building the perfect website is extremely difficult as there are several variables one need to consider. However, what happens when someone must create a website with just 5kb worth of code? Yes, you read right, the size of the code must be no larger than 5kb. But here’s the interesting part: the overall web page must be no larger than 10kb.
Microsoft has decided to partner with 10k Apart to create an interesting contest where web developers must create a web page no larger than 10kb inside. This page should be able to perform in several web browsers including Microsoft Edge.
According to Aaron Gustafson, a Web Standards Advocate, this particular contest has been in the realm of ideas for the past 16-years. Apparently, someone known as Stewart Butterfield came up with the idea that would test the mettle of web designers to see if they would work magic with little resources.
Any web designer who comes out on top here will walk away with $10,000 among other things. Furthermore, note that the contest will run until September 30, 2016
The following are the currently known guidelines for those who want to participate via a blog post:
- 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.
- 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.
Anyone up for it?