this post was submitted on 13 Feb 2024
207 points (97.3% liked)

Programming

17378 readers
414 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] mox@lemmy.sdf.org 51 points 9 months ago (1 children)

Also:

  • Simple sites allow visitors to stay safe from browser exploits by keeping scripts disabled.
  • Simple sites pose very little threat of fingerprinting or other invasive tracking techniques.
  • Simple sites can look beautiful, with a bit of well-crafted CSS.
[–] Kushan@lemmy.world 16 points 9 months ago (2 children)

I don't think your second point is correct. You can still embed analytics on a static website. I believe you're conflating it with your first point by assuming that scripts are disabled on the browser side, in which case it's a bit of a redundant point.

I also think it's a bit unrealistic in this day and age to run with scripts completely disabled. I know it sucks, but we need better ways of protecting our privacy and disabling all scripts is a bit of an extreme measure given so much of the modern web relies on it.

[–] thesystemisdown@lemmy.world 3 points 9 months ago* (last edited 9 months ago)

I think it's impossible if you want for things to work. JavaScript is so ubiquitous it's been baked into the browser since 1995.

[–] mox@lemmy.sdf.org 2 points 9 months ago* (last edited 9 months ago)
  1. My first two points make a distinction between fingerprinting and more invasive attacks that JavaScript has enabled, including data exfiltration. You might not have encountered the latter, but that doesn't make them the same thing. (Also, the analytics you refer to that are possible without scripts are far less invasive than what scripts can do, as is hinted in my second point.)
  2. It's not unrealistic, since scripts can be turned off by default and enabled selectively when needed. (But were that not the case, it would be reason to use them less, not more.)
[–] pixxelkick@lemmy.world 36 points 9 months ago

I think the reason experienced devs tend to have minimalist websites that look like they are from the 90s, is because software devs aren't UX experts.

At a senior level at large companies, someone else designs the look and figmas to make the site be pretty. I don't do that shit.

I can do some basic stuff as a front end dev, but react has nothing to do with css animations and all the stuff you typically associate with a "pretty" website.

Reactive frameworks are just handy for updating the dom on a mutatable website (ie forms, web socket stuff, data in out, pulling data from a db)

Blogs tend to be statically generated so there should be zero reason to use reactive frameworks anyways, unless you add something dynamic like perhaps a comment box folks can login to and leave comments/likes/shares etc. Loading those comments will prolly want a framework.

Aside from that, it's mostly css to do fancy stuff.

[–] some_guy@lemmy.sdf.org 24 points 9 months ago (3 children)
[–] simonced@lemmy.one 7 points 9 months ago

what the fuck else do you want?

Lol, maybe a max-width on body at least, so I don't lose my line when reading long lines.
It's said to have narrow lines helps readeability for a reason.

Although, I agree, you don't need much to make a website that is functional.

[–] Kolanaki@yiffit.net 3 points 9 months ago* (last edited 9 months ago)

And here I am remembering when I first learned HTML and had a website that used every single random feature HTML was capable of, and more once I discovered the joys of JavaScript.

It was horrible and glorious all at once.

[–] UNWILLING_PARTICIPANT@sh.itjust.works 22 points 9 months ago* (last edited 9 months ago)

Agree with the article (and the 10 other ones I've already read on the topic) but Paul Graham's website looks like ass on mobile as of 2024. I couldn't even figure out how to get to the content, at least on cursory examination.

Good point about solo/team or simple/scalable though. Right tool for the job and all that. Good stuff

[–] snowe@programming.dev 18 points 9 months ago (2 children)

I've been saying this for years. My site only has a few lines of javascript. the rest is pure html and css, and it's very simple. https://tylerthrailkill.com

[–] nitefox@sh.itjust.works 6 points 9 months ago (8 children)

Your theme toggle is confusing, it shows the sun when the dark mode is enabled and vice versa

[–] jadero@programming.dev 18 points 9 months ago (5 children)

There was a thread elsewhere asking whether a toggle should show current state or the state desired. There was enough disagreement that it quickly became apparent that, whatever else the toggle does, there should be something external to the toggle showing the possible states, indicating which way to move the toggle regardless of toggle appearance.

[–] SmartmanApps@programming.dev 6 points 9 months ago (1 children)

The disagreement was actually all over whether the question was about a switch or a button, and so some people were answering as though it was a switch, and some people were answering as though it was a button - switches and buttons do indeed have opposite approaches usually (a switch usually shows the current state - such as "on" - but a button shows what action will be triggered by pressing it, such as "play").

[–] jadero@programming.dev 2 points 9 months ago (1 children)

Oops! I guess I wasn't paying close enough attention.

[–] SmartmanApps@programming.dev 3 points 9 months ago

That's ok - a lot of people weren't.

[–] snowe@programming.dev 4 points 9 months ago (1 children)

that post is about toggle buttons, not switches. e.g. a play pause button, when pressed, does it show play, or does it show pause?

[–] jadero@programming.dev 2 points 9 months ago (1 children)

Oops! I guess I wasn't paying close enough attention.

[–] snowe@programming.dev 2 points 9 months ago

still, people are clearly confused by the button. I'm just gonna make it an animation and prefers-color-scheme since that's so widely supported now.

[–] starman@programming.dev 4 points 9 months ago* (last edited 9 months ago)

There was a thread elsewhere asking whether a toggle should show current state or the state desired.

there it is

[–] nitefox@sh.itjust.works 2 points 9 months ago

The designer team once did a toggle button with the inverse logic and I was so confused when I had to implement that. It must be my antithesis.

[–] Feathercrown@lemmy.world 2 points 9 months ago

It really depends on the type of control and what it's controlling. As this is a switch, you'd expect the current state to be what's shown on the same side as the slider-- in this case, the slider is a sun in dark mode and a moon in light mode, which is the opposite way.

[–] qaz@lemmy.world 8 points 9 months ago (1 children)

It did nothing when clicking it the first time and only changed the second time I clicked it

[–] snowe@programming.dev 6 points 9 months ago

I've wondered what this problem was for years but never cared to figure it out, because it always resolved after the first button press (just refresh the page and it all works properly). turns out it is something wrong with my use of local storage to save your theme state. if you don't have the key in local storage then it does what you mentioned. I just need to switch this to prefers-color-scheme anyway.

[–] ChairmanMeow@programming.dev 5 points 9 months ago

Strange, it's the exact opposite for me. Moon in dark mode, sun in light mode.

[–] snowe@programming.dev 2 points 9 months ago (1 children)

Hm. what browser are you on? It is showing sun for me on light mode.

[–] nitefox@sh.itjust.works 3 points 9 months ago* (last edited 9 months ago)

It works if you visited the website already but the first time it breaks: reloading fixes this while emptying the caches breaks it again. As another user pointed out the first click after emptying the cache doesn’t do anything at all even though the animation plays out just fine

EDIT: I’m on safari ios, latest stable (17.3.1 if I’m not mistaken)

[–] fd93@programming.dev 2 points 8 months ago

Hey - the poster isn't actually the author. That would be me! Thanks for the feedback though. I normally just use Dark Reader for switching theme.

load more comments (3 replies)
load more comments (1 replies)
[–] No1@aussie.zone 17 points 9 months ago* (last edited 9 months ago)

I.d rather take any website than being continuously forced to download apps, or being told to go to Facebook for some business's information.

There's 2 things a website should respect - simple do it more often -, and not doing these will earn you my wrath:

  • you should be able to at least zoom/shrink text. Some websites have things so locked down, I can never read their teeny tiny text. Fuck you ESPN. Why would you let desktop zoom, and stop it on mobile where my screen is smaller and I most need it? (I'll leave alone the original intent of the web of separating presentation from content for another day).
  • Browser Back button should take you back to the previius 'page'. I'm terrified to use it because you're really showing multiple 'pages' on 1 real page, so who knows where I'll end up.
[–] Phoenix3875@lemmy.world 16 points 9 months ago

Static websites can be beautiful and easy to use without being complex.

PG's blog and HN can definitely use some CSS tweaks. I can't remember how many times I clicked the wrong thing in HN.

On the other hand, it's easy to get reader mode/custom CSS/alt frontend working for such websites, so maybe it's alright after all.

[–] MonkderZweite@feddit.ch 14 points 9 months ago* (last edited 9 months ago)

For style examples, take Paul Graham's site

Nope, doesn't display nothing with no JS on mobile. While the other two examples seem to be desktop-only. You can do better with only HTML and CSS.

[–] frezik@midwest.social 13 points 9 months ago

Hidden benefit: never having a cookie acceptance popover, because you don't have cookies.

[–] singularity@lemmy.ml 13 points 9 months ago

I made mine with Hugo. It's super simple and looks great.

[–] stoy@lemmy.zip 12 points 9 months ago (3 children)

I have had an account on Deviantart for almost 20 years, and up untill last year I used to upload my photos to my gallery there.

However over the years it has only gotten worse, it is slow, annoying and have had features removed that I wanted.

So last year, I set up a simple menu system and started generating photo galleries in digiKam, and upload galleries there instead, and it is soo much more responsive.

The menu I wrote is built in HTML and CSS, the galleries digiKam exports for me do use Javascript but only to aid in navigating the galleries with the arrow keys, so everything loads instantly.

When I publish new galleries I do need to edit the HTML code in the menu (and one line in the gallery) but it is as easy as I can make it while still giving me some options.

[–] mox@lemmy.sdf.org 5 points 9 months ago (1 children)

The menu I wrote is built in HTML and CSS, the galleries digiKam exports for me do use Javascript but only to aid in navigating the galleries with the arrow keys, so everything loads instantly.

I love sites like this. Fully functional with plain HTML and CSS. JavaScript used only for optional enhancements. Fast, light, and trustworthy.

[–] stoy@lemmy.zip 3 points 9 months ago

Exactly, even now after half a year of using it, I am blown away by how fast it loads, and I love how I know exactly what is going on when it loads.

I even tried it on my phone, and the galleries have a responsive design, but better yet, they recognize swipes, making it easy to navigate on phones and tablets

[–] Gloria@sh.itjust.works 3 points 9 months ago* (last edited 9 months ago) (2 children)

How do you solve the discoverability issue? A platform gives you some place where people could stumble upon you, while a website is an island in the middle of an ocean that people have to actively browse to. Do you crosspost your new work now more to get the word seen by others? I find it hard to believe that people would like to browse to x different websites to see if an artist has new works, only to find out that they don’t. For finding new artist a central place or a feed, like a platform can provide, seems to be nearly impossible to replace.

[–] stoy@lemmy.zip 5 points 9 months ago

I don't really use it for advertising, I have actively added the directory to the robots file and requested that search engines not index the page, I like it being hidden, but available for me to show people on their own computer, I also have a link to the page on my CV under hobbies.

[–] jadero@programming.dev 3 points 9 months ago* (last edited 9 months ago) (1 children)

Edit: the bits barely had a chance to dry on my comment when I came across https://rss-parrot.net/

This is a way of integrating RSS feeds into your personal timeline on Mastodon. I don't know how this affects the work I describe at the bottom of this comment, but I bet it has a role to play.


I find it hard to believe that people would like to browse to x different websites to see if an artist has new works, only to find out that they don’t.

RSS FTW!

Every site I've ever created or been involved with in even the tiniest capacity has supported RSS. Sometimes it was enabled just to shut me up.

I'm not sure how to better promote the use of RSS and get people to use feed readers, but I think it is the answer to at least that particular issue.

My personal opinion is that a "platform" should really be just a collection of searchable and categorized feeds with it's own feed. That way there is both discoverability and the ability for individuals to construct their own personal feed on their own personal device (no server required!) while staying abreast of new feeds on the master feed aggregation "platform."

There are innumerable ways for people to get their own content into something that supports RSS and that feed could be easily submitted to the master feed aggregation "platform" to deal with the discoverability issue. For example, Mastodon and most compatible systems support RSS and registration is child's play on any server that allows public registration.

In fact, the "platform" could set up a crawler to automatically discover RSS feeds. If the author has done the metadata right, the results would even be automatically categorized.

Done right, the "platform" might actually run on a pretty small server, because it would be linking to sites, and only pulling summaries from them.

Even comments could be supported with a little creativity. As I said, there are innumerable ways for people to get their own content out there. If there were a standard metadata tag "comment: ", some fancy footwork could produce a threaded discussion associated with a particular article, even if the original author has no internal commenting system. (And my favoured internal comment system would permit nothing but pure HTTPS links to the commenters own content, extracting a short summary for display.)

Side note: I acquired a domain explicitly for the purpose of setting up such a feed aggregation "platform." Now that I'm retired, I'm slowly working on creating it. Everything is highly experimental at this point and, to be honest, shows no visible progress to that end, but that is my ultimate goal.

[–] brisk@aussie.zone 2 points 9 months ago (1 children)

This is an interesting sounding project, do you have a feed/blog/mastodon/mailing list you're likely to announce on?

load more comments (1 replies)
[–] projectmoon@lemm.ee 1 points 9 months ago (2 children)

Where are you uploading galleries? Just your own HDD connected to a static website?

[–] lemmyvore@feddit.nl 2 points 9 months ago (1 children)

Not OP but I would use a CDN like bunny.net. It's cheap and you get geo redundancy and all kinds of perks with it.

You can set the Bunny CDN to pull from your home server or you can upload your files to a Bunny storage and it can pull from there so it doesn't matter if your home server is on or not.

I'm currently running only the dynamic parts at home (CMS, generators etc.) and I "host" all the static generated stuff on there.

[–] projectmoon@lemm.ee 1 points 9 months ago (2 children)

Yeah, that sounds like a good idea. I am using photoprism for photo management. It doesn't really support S3 or any CDN. You could use a fuse filesystem or something, but it's very slow.

load more comments (2 replies)
[–] stoy@lemmy.zip 2 points 9 months ago

Currently I borrow space on my dad's web host, he wasn't using it and was ok with me doing it.

[–] Montagge@kbin.earth 7 points 9 months ago (1 children)

All websites should strive to be like rockauto.com

[–] kurwa@lemmy.world 5 points 9 months ago

I'll counter with lingscars.com

[–] litchralee@sh.itjust.works 6 points 9 months ago (1 children)

I'm a fan of Pelican for static blog generation from Markdown files. Separating template and content into CSS/HTML and md files, and having it all in a Git repo for version control, is only a few hundreds of kilobytes. Lightweight to work on, and lightweight to deploy. It's so uncomplicated, I can probably pick right back up if I left it alone for ten years.

[–] owenfromcanada@lemmy.world 2 points 9 months ago

I've found GetSimple to have similar advantages. It's not as much a "static" site generator, but it uses flat XML storage for content instead of a database, so I can back it up in a git repo and deploy by just copying files.

[–] LinearArray@programming.dev 4 points 9 months ago

I love simple sites, takes less resources to load & lightweight.

[–] Omega_Haxors@lemmy.ml 1 points 9 months ago* (last edited 8 months ago)

I once went to a professional to get a website done (as my ability (read: patience) to code websites had proved inadequate) and they constantly tried to upsell me on just the most stupid bullshit. When I pointed out how a lot of moving parts just means more things that could possibly break they blew me off and acted like it was a completely unreasonable concern. Needless to say ended up using a website builder instead and despite a few small glitches it works pretty well with JS completely disabled.

EDIT: I was particularly concerned with how heavily they were leaning on JS, to the point it flat out wouldn't load at all for some users. Having JS flair is perfectly fine on the side but when you can't even get fucking text to load without it, that's a problem.

load more comments
view more: next ›