Settings

Theme

Another 10k Apart: Create a Website in 10 KB, Win Prizes

alistapart.com

39 points by reybango 9 years ago · 32 comments

Reader

nathancahill 9 years ago

From the 5k challenge in 2000: "Indeed, the winning site offered a witty yet powerful critique of the current state of the web via a fully functional e-commerce shopping cart. In less than 5K. Bastards."

The winning site: http://web.archive.org/web/20000510060852/http://www.sylloge...

  • astazangasta 9 years ago

    Where "fully functional" means "just a dummy, can't actually manage payment or shipping".

3princip 9 years ago

>Build a compelling web experience that can be delivered in 10KB and works without JavaScript.

It's difficult to imagine what such an experience would contain, CSS animation trickery?

I'm very pro minimal UI code, my last hobby project didn't include any framework libraries and the front-end came in at 23kb including images, CSS, HTML and JS.

But without a back-end, and without JS (no SPAs), is this just a contest to build the best looking static page?

latch 9 years ago

I know a simple blog isn't the type of site this contest has in mind, but a couple years back I tried to shrink my blog's homepage. I got some good feedback and was happy with the result. Since I go long stretches of time without doing frontend, I felt it was a worthwhile exercise.

This is what I learned from the experience: http://openmymind.net/Minimalist-Markup/

  • detaro 9 years ago

    Interesting link, but they don't seem to say anything about "what type of site" they have in mind or would find impressive. A blog probably "wastes" to much space with actual content though...

  • Ezhik 9 years ago

    I wonder if minifiers are smart enough to do these things.

archgrove 9 years ago

Woah now, everyone knows making a site with less than 10,000 dependencies isn't possible these days.

Wait, we're talking about bytes?

eddieh 9 years ago

Cool, but the contest page (https://a-k-apart.com) is 204.5 K. Disappointed.

  • aarongustafson 9 years ago

    Disable JS and view on a small screen :-) It progressively enhances to that size. I’ll be writing about the process and design in forthcoming posts.

    Smallest view (240px wide) with no JS renders in 6.9kB (DOMContentLoaded hit at 94ms, Load at 119ms). Also in play: client-side caching with ServiceWorker and some localStorage goodies to speed things up on modern browsers.

    • detaro 9 years ago

      Honestly, >10k google analytics doesn't sound like "progressive enhancement" from a user perspective, but I get why it's included. How would that be rated in the actual challenge? (Maybe do and publish a mock "grading" of the announcement page as an example, to make clearer how the rules work?)

      • aarongustafson 9 years ago

        I plan to write up how the site was built and give some hints as to how you can use lazy loading, etc. to your advantage.

  • aarongustafson 9 years ago

    Out of curiosity, which browser are you in? I get 87.9K for the homepage, including all dependencies, lazy loaded JS, the SVG hero, etc. Are you getting WebP images or PNG?

    • eddieh 9 years ago

      Latest stable Safari on desktop (9.1.2). Getting jpegs actually.

dogma1138 9 years ago

Is the 10kb limit per page? Per site(including backend)? Per content served to the user on a single page load?

nekinie 9 years ago

No Golang support :(

reitoei 9 years ago

Cue massive traffic spikes on http://microjs.com/

jonatron 9 years ago

Using tabs instead of spaces should help

meanJim 9 years ago

I got really excited until I realized I couldn't use JavaScript. Over the last year I got super passionate about making the smallest JavaScript bundle size possible with RiotJS or Preact.

I guess they really mean the old school 'website' (like the html 1.0 strict days), so maybe a html document with everything inline and no special fonts.

  • fomq 9 years ago

    You can use JavaScript, just not JavaScript libraries.

    • clarkmoody 9 years ago

      Not true. JS libraries simply count against your 10kB. In the past, they may have been "free resources"

      • fomq 9 years ago

        So what does this mean?: "In order to encourage folks to use native JavaScript functionality and keep their project as slim as possible, this year we’ve chosen to remove JavaScript libraries from the “free resource” camp."

        • detaro 9 years ago

          You could previously include JS libraries and they didn't count against the 10k limit. now they do. EDIT: Somehow, since lazy-loading not strictly required stuff apparently doesn't? (https://a-k-apart.com/faq#size)

          • aarongustafson 9 years ago

            You can lazy load libraries for sure. I would still keep those to a minimum, including only what you need. For instance, don’t load all of jQuery if you only need one feature. And use native JavaScript code when you can get away with it—dataset instead of data(), querySelectorAll() instead of $(), etc.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection