Note: I am not affiliated with the Neocities team. I just think it's a great service and was inspired by the comments here and here to do a little write-up about it.
This site is hosted on Neocities.org. Neocities imposes limitations on what you can host and serve. For one, your files may only be HTML, images, markdown, javascript, or CSS. That means no PHP or Rails or databases or anything like that. Furthermore, you only get 10 megabytes of space (though this limit may be raised in the future).
When I first checked out some of the sites being made with Neocities, I was surprised to see that many of them are simply attempts at making Geocities parodies or homages. That's great and it's fun to have a place to cultivate a nostalgia for the old web, but people shouldn't look at Neocities' limitations and think "I can't do anything cool with this."
Not only are Neocities' limitations not really limitations, you might just find they can be quite enlightening.
We believe that stripping down the tech and storage available shouldn't hold you back for most usage cases. You can still create beautiful, functional, and compelling web content—on Neocities or elsewhere—using the Neocities restrictions.
Not only should these limitations not be feared, but they should be embraced. Forcing a minimal approach to a page's design will often result in a more minimal implementation less prone to over-engineering or bloat.
When you begin your next web project, ask yourself "Could I do this on Neocities?" This is not to say that you should try to host all your projects on Neocities—there's nothing quite like the value of your own URL and FTP access—but rather, the question is meant to be one of scaling back your plans: maybe you could do what you wanted to do without a huge CMS or Rails or Django or MYSQL. Maybe you could create a lighter, more minimal, faster alternative with just the bare basics.
Admittedly, sometimes you can't. For one, sometimes 10 megabytes just isn't enough. You might want to store lots of images (if you're a photographer or designer showing off your work, or if you're just showing pictures of your summer vacation). Or maybe your app just needs a database or you just need root access to your server. That's fine—the goal here is to take a step back before you embark with a heavy-handed toolset when you might not need to. If you need the powertools, go ahead and use them once you've ruled out the simpler options.
I feel that some of the current Neocities limitations are detrimental to a number of usage cases.
The first and largest caveat is the inability to add folders. The big problem this creates is that it breaks out-of-the-box compatibility with a number of frameworks that the average user might be inclined to use. These frameworks are small, HTML/CSS/JS only, and static, but they rely on a specific file-structure to run properly without modification. In some situations, this can be easily enough circumvented (see This Site), but in others, not so. Specifically, frameworks that rely on generative scripts, such as Jekyll or Nanoc, would be a pain to implement as they would generate sites with a folder structure that may be a pain to fix. These projects could be forked to create a flat, one-directory version of what they normally do, but I believe the better solution would be for Neocities to allow for directories (and multi-file upload) to better suit current frameworks available.
The second caveat is more minor, but it's the lack of support for .txt files. This would allow for implementation of a humans.txt
file (see here), a robots.txt
(though, understandably, this should likely be blocked for Neocities sites), and any text files that the user feels like sharing. They're lightweight and not subject to any large exploit (that I'm aware of), so I would petition for their inclusion in the future.
The last caveat, though this one is perhaps the most minor, is that sites requiring more storage space (for videos or .mp3s or images) may not be able to fit under 10 megabytes. There are plenty of good image optimization resources and techniques, but I feel that, so long as your HTML/CSS/JS resources aren't exceeding 10 megabytes (and they really shouldn't), then you're still within the spirit of the manifesto.
This site is built using a customized version of Zurb Foundation. Foundation is a framework for easily making responsive sites and it utilizes only HTML, CSS, and JS to do this. (Optionally, one may use SCSS in the development environment, but it's HTML, CSS, and JS that will be uploaded to the server or to Neocities.) Foundation has a simple directory structure by default: in the root is index.html
, humans.txt
(see here), robots.txt
, and the directories css
and js
, the latter of which has a subdirectory vendor
. In order to host this site on Neocities, I had to flatten the directory structure and change links in index.html
to recognize those changes. This was a simple change on my part, but I feel could be changed on Neocities' part to allow for these directories in the first place (see Current Caveats).
In the spirit of open source, there are a number of ways in which you can get involved with The 10 Megabyte Manifesto. The first way is to contribute on Github. This whole site, along with a `template.html`, is available for your bug-reports, suggestions, contributions, and pull requests. This can be anything from the design to the body copy. If you have a question about contributing, you can email me at dan [at] danturkel [dot] com.
Alternatively, if you want to show off what you've done, either on Neocities or on your own site, but adhering to the Neocities limitations (though bending the no-directory rule where convenient), send me an email and I'll add it to a list at the bottom of this page.
Lastly, if you have any ideas, criticisms, complaints, raves, or rants to contribute, send 'em my way and I'll do my best to get back to you as quickly as I can.
Have fun.
Note: By default, I'll assume you don't want your name or email published here just for your privacy. If you email/emailed me a link and do want your name and/or email put next to your link, please let me know.