K Apart Microsoft Competition Screenshot Official

Microsoft has once again teamed with An Event Apart to reintroduce the 10K Apart contest. The competition comes with a number of challenges and the top entries will win money from a $10,000 price fund. Microsoft will also award tickets to An Event Apart.

Initially, the 5K contest (as it was known) ran between 2000 and 2002. Microsoft reintroduced it in 2010 in collaboration with An Event Apart. Rebranded as the 10K Apart, the competition is sponsored by Microsoft Edge.

The concept of the challenge is for developers to get back to basics. Microsoft says there is so much emphasis on front-end optimization, the dev’s often neglect ensuring their site works 100%. The 10K Apart contest challenges developers to create a web experience that works without JavaScript and can be delivered in 10KB.

The competition closes on September 30. Below is the full list of rules for the 10K Apart competition.

Rules

    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.