Back on Neocities
It's been about a year since we last used our old website (two years since we updated it actively) and we've missed being on Neocities. The slower pace, customization, and ability to create archives of personal creations are things we still like. Plus, coding in general is one of our favorite hobbies. We realized that we wanted to return to Neocities, but our old site was deterring us.
The majority of our immediate issues were technical ones. Our inexperience led us to creating unwieldy code. We found that there were too many things we'd have to change for it to feel worth continuing with the same site. Additionally, there were things we wanted to try that would be hard to fit into the site's structure.
The Old Site
Technical Issues
Our previous site was a great place to experiment with web coding, but we had no experience with creating something maintainable. Everything was hand-coded, to the point of most pages having a different layout. Repeating layouts was done by pasting a template into a new file. Even though we had multiple CSS files, updating pages was a pain.
The issue was partially solved by using JavaScript to keep the navigation and button list consistent across all pages. Our ability to fix issues this way was largely limited by our lack of JavaScript knowledge. Since the site was meant to have a static design, relying on JavaScript felt overcomplicated. We also worried about reducing cross-browser compatibility.
Expectations
Outside of technical issues, we also struggled with not setting good goals and expectations. We collected ideas for what to put on a site and tried to implement them all. The site was always meant to have a variety of pages, but creating the categories beforehand put pressure on us to fill everything in. Not only did we feel that every category had to be filled, but that every page had to be full in order to justify making the page. Sorting these pages and categories into arbitrary site branches made things more confusing and difficult to change.[1] We could branch out to add more to the site, but it felt like a major ordeal to reorganize what we already had. When we couldn't agree on something, it wouldn't get added.
The Blog
The blog was an attempt to get around all of these issues, and it also foreshadowed the abandonment of the website. We gave up on the categorization system, wrote with no clear goals, used a single page layout, and relied on more JavaScript. None of these things are inherently bad, but they went against what we wanted the website to be. We started to realize that our original plan for the site wasn't working. After some time trying to use the blog and the rest of the site at the same time, updating the site didn't feel worth the effort. We didn't have enough to say at once to make it feel worthy of a new page or blog post.
Starting Over
With all of those issues in mind, we decided to try a different approach. This site is a chance to make code that's future-proof on both the front and back ends. We have accepted that mistakes will happen, but the hope is that this website will be easier to fix than the previous one was.
To start out, we're using better coding practices from the beginning. Between the end of the previous site and the beginning of this one, we've gained experience in other coding endeavors. We now use version control, have better variable-naming habits for future readability, and are more committed to testing before uploading.[2] Developing locally, in combination with version control, also makes it much easier to revert mistakes. This is our new approach to creating a site that's easy to experiment with.
Right now, our experiment is testing the viability of creating our categorization and maintenance methods as we go. With the idea of digital gardening as inspiration, we're taking a "bottom-up" approach to developing this website. Categories get created when pages seem to group together. Pages can be recategorized as needed. If a page layout is repeated, we will make a script to regenerate all pages with that layout for easy updating. Scripts that need to be used in multiple places get turned into reusable functions.[3] The idea is to make everything easy to update, without overcomplicating things ahead of time.
The goal of all this is to create a process where writing for the site is deliberate and purposeful, and all the technicalities follow to support that writing. There shouldn't be a separate section of the site that's "easier to work with" than the rest. Adding anything we want to the website should be straightforward. For this site, we're creating a good foundation upfront, in the form of accessible page layouts and readable code, to support the text-heavy pages we already know we want on our website. In the long-term, more energy should be spent adding to the site than wrangling its code or fighting its structure.
Moving Forward
This site is likely to grow slowly, and we're fine with that. We want to take our time deciding what can make it a website we're proud to have created.
Our current plan is to describe what's changed about us since our last essays. If we do, it'll be a follow-up to this. Old essays can either be migrated directly or reworked into notes. The old site itself will probably be left up for a while. Offering an archive download of it is an option for the far future. For now, we're just continuing this experiment.