Hacker News new | past | comments | ask | show | jobs | submit login
Another 10k Apart: Create a Website in 10 KB, Win Prizes (alistapart.com)
39 points by reybango on Aug 15, 2016 | hide | past | favorite | 31 comments



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...


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


>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?


Reading through, it seems that JS is allowed, but the page needs to be functional without it. Ideally, the page would work with Lynx.


Looks like the 10KB can include a back end: https://a-k-apart.com/faq#stack


You can use a back-end in Python, Node, PHP, or .NET Core. The size of your back-end doesn’t factor in, just the markup, CSS & JS you deliver.


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/


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...


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


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

Wait, we're talking about bytes?


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


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.


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?)


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.


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?


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


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



No Golang support :(


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


No Javascript :-(


You can use JavaScript, but it needs to be an enhancement, not necessary for the user to do what they need to do.


Using tabs instead of spaces should help


:-)

Although minification & GZip should even those out.


This argument makes perfect sense to half of the people reading here :ob


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.


You can use JavaScript, just not JavaScript libraries.


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


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."


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)


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.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: