making a website is hard

I’d only add that it’s not just that we have to worry about more things— it’s also because we learned some lessons. For me, the most important one being that things will change. For all the bad HTML generated by Dreamweaver, Wordpress isn’t inherently better. But one big difference with Wordpress is it’s really easy to spit back out my own words in a format I can take somewhere else.

If nothing else, some of the complexity is that learned the one constant is things will change, so if we value our content, it’s become more important than ever to not have it tightly coupled with any piece of software or specific implementation.

That’s the kind of thing hardly anyone worried about when I started making webpages in the late 90s/early 00s, but it’s one of the first things I worry about now.

Agree. That’s also why both SSGs and file based cms are great. They all deal with content in a way that makes it easy to move around. Same can’t be said for all the platforms out there. Some of them are great though.

PHP-powered CMS like WordPress and Joomla getting compromised and incorporated into botnets is very not hypothetical.

Ideally, authentication and authorization could be layered and independently updated without users taking action. The major web servers and browsers have support for modes [1, 2, 3] of auth that layer in this way, but they are not popular for ordinary users and the UX is a bit bad.

My own projects follow a rule like: “nobody gets to talk to PHP until they’ve proven themselves to nginx or Apache.”

1 Like

With a SSG like Hugo, Zola or gojekyll everything you need to render your file is one binary. It’s very portable and you can sync this binary and the rest of your website files between computers. A flat file CMS (Pico looks nice!) has a lot of dependencies (PHP, nginx, imagemagick etc etc).

Had the same thought. :slight_smile: So underrated.

2 Likes

I get the technical appeal, but in the context of the argument I was making (tools for non-devs) I think those advantages are really not all that useful.

In a much broader sense I get why people want to use them and they for sure are interesting tools

Not that we need to continue to go down this path, but honestly, I think you underestimate the complexity of running a CMS on a server of any kind versus doing something like hugo build from a single binary. It was a huge factor in my decision, and it’s way easier to teach someone how to type hugo build then it is to teach them what to do if you suddenly need to update Node, for example.

I don’t think the complexity/simplicity situation is unambiguous between the two. I think that’s what most of us are saying in response.

In fairness to @manuelmoreale, a CMS probably seems simpler to use to a non-technical person as long as they don’t have to set it up or or maintain it themselves. The problem with teaching somebody how to type “hugo build” is that you’ve still got to get them past their self-imposed inability to handle a command-line interface in the first place.

I know where CRD is coming from because I followed a similar path. Back in the early 2000s I had a site that I hand-coded in PHP and MySQL with various crude CMS functions. Eventually I moved to a few different pre-made platforms and when CSS and RWD got big I fell off the wagon completely for a while.

Then a few years ago I got serious again, and it’s a hell of a lot of work getting up to speed. A lot of web frameworks that professional devs use every day require you to be a professional dev who does this stuff every day. I saw my options much the same way as he does in the post: Either some massive inscrutable CMS that does what I want and also dozens of other things I don’t want, or open-source tools that are meant to be used as part of a toolchain that are overly complicated in exactly the opposite sort of way.

Unlike him I kept digging, and I found things that suited me better. A CMS called ComicControl written in PHP in a way I could understand from my previous experience (I.E. badly) without any fancy PHP frameworks for me to beat my head against. Hilariously enough, ComicControl wouldn’t be a bad option for him. It has a WYSIWIG editor for writing blog posts that even lets you drag and drop images. Now, the problem is ComicControl was abandoned by its dev a few years ago and I’ve been on my own to modify and update it. This would annoy him but suits me fine because doing the work to get these sites running is my hobby.

A similar story for my other site, which I chose pmWiki for. pmWiki is old as dirt but it’s solid. It took more work to get it looking presentable by modern web standards, but the beauty of web design is enough CSS can make anything look nice. Also pmWiki is slightly more complicated than ComicControl but only a bit, and also predates any fancy PHP frameworks that probably make PHP easier for some programmers but exist entirely outside my wheelhouse. I’ve only had to do a bit of manual adjustments to the code and otherwise have 20 years of helpful extensions and themes to draw on.

But! Both of these projects of mine were a lot of work, far beyond what I would want for someone who wants to just have a basic blog on their basic shared hosting. I think there’s a market for “some php or python you can use instead of wordpress to make a site that works like blogger” but as one comment on that page points out a ton of options in that space are abandoned projects not meant for public use.

It’s perfectly reasonable to show up in this sphere, take a look around, and shout something like this. Maybe posting it here is complaining about how salty the ocean is to the fish swimming in it, but I totally get where the frustration is coming from.

Like I said a couple weeks ago, I don’t blame this guy at all.

I am a professional dev, and I sure as Hell don’t want to use for my personal website the sort of frameworks I use at my day job. I don’t even get paid enough to use them on the job, let alone for my personal website. I see people building personal blogs with React and I can’t help but wonder who they’re trying to impress.

As odd as it might seem, using a makefile, shell scripts, and basic UNIX tools is practically therapeutic compared to the work I do on the job.

1 Like

Thank you. This is exactly the point I’m trying to make. Is not about the initial set up. Is about the general use.

I’m not underestimating anything. I just know what my experience taught me. At this point I’m in the hundreds of custom sites coded and deployed for all sorts of people and clients and there’s 0% chance I could give someone a site where they have to do hugo build to update it.

Hell is hard for them to update their site when the only thing they have to do is remember a password and hit save after they changed a text in a textarea.

There is no way in hell I could teach them to use a terminal. Like none.

We’re going to keep talking past each other because I’m still talking about the original blog poster’s use case and your comment

“I still don’t understand the appeal of SSGs when you can run a file based cms and the performance is basically identical once you have a cache in front. And you can run those on almost any cheap shared hosting. I really don’t get it.”

I wouldn’t ask a client to hugo build. I also wouldn’t ask them to edit yaml file configs to setup caching. And what CMS if hand them would entirely depend on their uses, but it would be a CMS of some kind, and it’d probably be an SSG so that they wouldn’t need a database (but again “file-based CMS” are often effectively SSG— as soon as you’re caching you’re building and storing a static page… so…).

But most of those people I’d probably send to WP or Ghost and to someone who works with those systems. Because client needs change, the client users change, and those platforms have massive professional support audiences and are easily Googlable for help, and are deeply polished. They’re popular for a reason. I don’t use them purely out of my own quirks, and I try really hard not to impose my quirks on others in a professional setting unless I’m damn sure my quirks off a huge advantage to the problem they’re solving.

That’s why if someone wants to start a blog today I tell them check out Bearblog; Tumblr, Micro.blog, wnd Wordpress and choose whichever one makes you feel like you want to write. Oh and here’s $20 so you can buy your own domain which is the one thing I think really matters.

I think this is an important realization. You can’t use the same tools if you don’t want this to be your only hobby. And if maintaining your website is your hobby, what are you going to write about? It will be another dev blog. :smiley:

2 Likes

Some rambling inspired by the topic…

Generally, is software filled with arbitrarily complex, bloated, and emphemeral tech stacks motivated more by trends and money than actual usability? And could much of the same could be said for the designed to fail hardware that it runs on too?

Even more generally, science (and the technology that extends from it) is less of a linear sequence of advancements than some might be inclined to believe. There are plenty of false starts and regressions in there too. Intention is reflected in application. If the intention is to make it more “profitable” by making it progressively less usable to others, then that is a regression not an “innovation”.

Abstraction is useful when it reduces something to the essential to make it easier to understand; it is different from compartmentalization that hides away the truth to keep people ignorant and dependent. Words can serve the same function, terminology intended to seem impressive rather than make clear. I mentioned this before elsewhere on the net:

[…] There tends to be a certain “elitism” when it comes to technical subjects, a kind of ivory tower thinking that goes along the lines of: “Well, RTFM. I’m not going to spoon-feed you what I worked hard to learn.” One can see it within many specializations that seem to have steep learning curves (like medicine, law, etc.). A “good teacher” is one who is both humble and patient. They remember how they have developed and genuinely want to help others through their own development process in whatever ways that they can.

But it is not always arrogance, it can also be an indifference that arises from burnout. For example, sometimes another issue is a lack of teachers who have a deep enough knowledge to address specific questions. Again, similar to medicine, there is only one doctor for every thousand people in some places. One has to love something very much to do it both “professionally” and within their “free time”.

I have noticed that many projects, especially ones that are “open source”, have a tendency to rely heavily on the work of a dedicated few. Reality really is like that xkcd comic sometimes. And if one has to deal with harassment on top of that, burnout has a tendency to set in all the more. […]

Those tendencies feedback into bigger issues. For example: Even for software development that is not simply the “clerical work” of the Military-Industrial Complex, how much of that development process is a holdover from its military origins? Compartmentalization can also serve to keep those who are contributing to something from understanding the full extent of what exactly they are making.

2 Likes