Some news update:
There is an official release, yay!
This shouldn’t be considered to be “production ready” or even near something that could be significantly scaled, but it could be used for a small group of people or some local group. I think you could likely serve a thousand users on a single server quite easily, but I wouldn’t push it much further for the time being.
As you can see from the previous update back in February, we have come a long way. Here I’ll go through a list of the main changes and why they were made and what this means for the project.
As you can see from the above, we now have the ability to link to individual posts and even embed them into an external page. Below is an example:
Before there wasn’t really a way to discuss a unique post or even link to a unique post from anyway, even the site itself. This was kind of annoying, meaning I had to duplicate content across even my own site. This would not stand. Using the [&]
on a particular post you can now get a link to a single post.
Using the same underlying mechanism, you can also embed content using the [e]
link by copying it into the body of your page.
So why did I used <embed>
over <iframe>
? When I tried to use an iframe, both Chromium and Firefox were kicking up a stink about cross-site scripting. This is because the server needs to specifically tell the browser that it’s okay to embed your content. This is to prevent click-jacking attacks, etc. Apparently <embed>
has been largely overlooked because nobody uses it, so doesn’t have the same limitations. For the most part it works the same, with a few less features to control the HTML inside. This doesn’t bother me as the entire point of the site is to have less features.
Regarding the formatting, it’s unfortunate that neither iframes or embeds support the ability to have responsive sizing to adjust to the content inside. If you use JavaScript you can of course achieve this, but it is currently not possible without - even though it seems like something that is fully within the domain of CSS. I guess that handling overflow of content that is potentially sandboxed could turn into a security nightmare for browser coders. So the solution I have for now is to hack in a width and height which guesses at what might look okay - which is essentially what Youtube does for their iframe embeddings too.
Next thing of note is the missing dark theme:
It was sad to see it go, but there are a few reasons for this:
The quite like the compromise I’ve found here believe it is a nice starting place for anybody looking to adapt the theme.
Next thing we can do is hide posts (which display as ‘Message deleted’) and bring them back. This seems like a nice middle ground for deleting posts whilst maintaining the linked-list architecture.
In this version a new role of ADMIN
was introduced, allowing a super-user to delete other’s messages. In the future this role will do more, such as the ability to ban users too or make posts permanently removed. An additional thing an admin can do is view the current state of the server, including active users, memory usage, cache state, build information, etc.
The next update was a small security feature that slows down registration and login requests on purpose. One of the problems of having a super fast server is that it also allows people to abuse the service, by filling the disk for example.
As you can see in the below, the first “real” social feature has been introduced, where you can quote yourself or other users. The quoted content is then displayed with your response.
For the quoted user, they also have their page updated showing that their message has been quoted by a given user. The RSS feeds are also updated appropriately.
What features are planned for the future?
Until next time!