Zanata outage and our reactions
On the 28th March 2019 Zanata,the translation platform we use for community translations of Halcyon,went down for the first time.
It was down for quite a few days but every service has some server problems sometimes so we didn't expect that as a big problem and just continued to use it when it was back online.
There was nothing what would make us think about this happening again soon or even going down forever.
Unfortunately it happened again and was reported on the 26th April 2019 at Zanatas issues page.
This time the outage was one week long - it ended today,the 30th April 2019 - and we gave up the hope that it will work again some day,what was of course wrong but we expect further outages.
While trying to find out more about the service status we found that Zanata is no longer maintained,the Git repository hasn't had any update for months and Red Hat doesn't have a team for managing Zanata anymore.
Knowing this it was clear that we needed a new translation platform but when searching for hosted solutions,we could only find paid ones but good software for hosting a own translation site.
We decided that Pootle looks interesting and may be worth giving a try so we did it and are quite happy with the results.
Yes,selfhosting Zanata would have been possible too as it's open source but it's written in Java what would have put a quite heavy load on our servers and the project is no longer maintained so,thinking of running in long term,that would have been a bad idea in general.
When trying to setup Pootle,we experienced very many problems and it took hours to find the cause and fix it but now we can warn anyone who wants to setup his or her own Pootle instance.
Please don't use MariaDB/MySQL for it as it messes up collations somehow what prevents the initdb command from working and will cause some unexpected error 500s later when trying to use it.
We finally decided to run the whole installation process again using PostgreSQL as database backend and initdb worked just fine and we have yet to experience the first error 500.
First we thought new translations which were made after the release of Halcyon 2.3.0 would be lost but luckily Zanata came back online to allow us downloading backups.
Because Zanata is no longer maintained and outages are getting more often,we consider it bad as long term solution and decided to go with our Pootle instance now even if Zanata may work as a short term solution again.
We imported all data to our new Pootle instance,luckily with zero data loss for the translations,only new user accounts are required.
Pootle seems well maintained with a quite active Git repository so this should do the job for a long time hopefully.
At least we will no longer have to worry about data loss as results of outages because everything is stored on our own servers now.
If you want to help translating Halcyon,you can do that on our Pootle instance from now on.
Halcyon 2.3.0 - Polls are coming to Mastodon
I long time has passed since the last big step was announced for Halcyon.
In the meantime we did some smaller changes and mainly bugfixes.
A few days ago Mastodon released version 2.8.0 which finally had support for polls which where announced some weeks before.
We first planned to release Halcyon 2.3.0 with poll support a few days before Mastodons 2.8.0 release so that you can start using polls in Halcyon without having to wait.
Unfortunately that didn't completely work but we released it yesterday,only 5 days after Mastodon got that feature.
Polls are fully supported in Halcyon: You can create them,vote on them and see their results.
Additionally Halcyon supports multiple choice polls which are supported by the Mastodon API but can't be created using Mastodons own webclient.
Polls are a good addition to the Fediverse as they allow you to easily collect the opinion of others and they stay anonymous and don't have to type something.
We expect them to be heavily used as soon as most instances have upgraded to Mastodon 2.8.0 so it was important to us that they're available fast.
Polls are great but other things have happened too since our last blog post.
Another big step is our new Website at Halcyon.social which was published a few weeks ago.
We had to wait with this until this domain was available again and had only our NotABug repository and our Mastodon account for information before.
The new website should be easier to use and more beautiful than our old NotABug wiki pages.
We also created a completely new instance list which is easier to maintain and looks better.
You can now add your instance yourself but please only add Halcyon instances.
We often get new entries of Mastodon instances in the Halcyon instance list.
That really doesn't make any sense and it's much work to remove all the spam,please stop that!.
New languages have also come to Halcyon what is always great because it makes Halcyon more useful for people around the world.
Thank you all very much for your help with the translations.
Since the last bigger release Czech and French have been added and many others have been improved.
Other changed in the meantime were mainly bugfixes and some smaller features.
We won't list them all here again as you can see them detailed in the release notes of the previous releases.
If you want to help translating,you can do this for the current release here at our Zanata page.
If you want to give any feedback or report bugs,you can do that in the comments,at our Mastodon profile or in the NotABug Issues.
Privacy-focused media streaming and more - The new Halcyon 2.2.0
Itís been a long time since we published the last Halcyon update - Maybe a bit too long.
We always try to push updates as soon as possible in order to prevent people from thinking the project might be dead once again.
Anyway this time the update included some bigger changes,thatís why we call it 2.2.0 instead of 2.1.7,and so we needed more time to do everything well.
The new Halcyon version supports embeds of videos from PeerTube,YouTube and Vimeo.
Nothing special so far,the default Mastodon frontend supports that too,but like always we focus on privacy here.
That means we do not simply embed IFrames to the official players of the third party sites but use our own new player instead.
They work in the same way like Invidious,a popular website which allows watching YouTube videos without ads and with more privacy.
Unluckily there have been many missunderstandings with this update so we want to make a few things more clear here.
The first thing in fact were privacy concerns because some people thought we would really just embed the official players -> That is not true,we never even thought about that because they sell your data and that sucks.
Another thing was the possibility that it could put more load on your Mastodon instance and thatís wrong,too.
The new players put a bit more load on your Halcyon instance if you enable the players,but has no effect on the Mastodon instance.
Thatís required by the way how they work.
A server side PHP script fetches the webpage of YouTube or Vimeo as if they were a browser and extract data of the video there.
Then they send the direct links to the MP4 files and the preview image to the user what eliminates the possibility of any tracking or advertisement.
If you upgrade your instance,you must add the new config params to your config file or the instance will throw errors but in the config you have options to turn the new players off if you donít have the additionally needed power.
Another new option there is the proxy: All proxy types (socks5,socks4,https and http) are supported and if you donít want a proxy,you can set it to none.
In our example Halcyon is configured to use a locally installed Tor client which acts as a SOCKS5 proxy.
The proxy is used to resolve the YouTube and Vimeo embeds meaning to get their real MP4 file links.
All videos of all your users are requested using one IP address normally,your server IP.
That may work well for some time but if you send too many requests from a single IP to them,they may block you.
It hasnít been tested yet but thatís basically how every firewall works and especially the big services tend to overblocking if you donít allow them to spy on you.
Tor gives you another public IP address for your requests every few minutes.
That will prevent the video sited from permanently blocking your Halcyon instance at least in theory.
We donít know a reason why that may fail but again it hasnít been tested yet as we didnít get blocked.
You see why a proxy may make sense now?
If you login to your Mastodon server,the Halcyon instance and the Mastodon instance need to exchange some requests.
In this case the new proxy setting is not used.
As PeerTube is a privacy-friendly decentralized open source project,we do not use a similar technology to embed their videos and just embed their official player.
In older versions Halcyon threatened all videos like animated GIFs and couldnít play audio files.
For real videos on Mastodon the same player is now used as for the new third-party embeds.
For audio we added a completely different new player which works quite well in the timeline but not in status overlays.
Sorry but we havenít been able to locate the cause of this bug so far.
Currently Mastodon itself does not allow you to upload audio files but this feature will come soon to Mastodon and then you will already be able to make use of it in Halcyon.
Pleroma users have already been able to upload audio for a long time and for them,the new player should work,too.
If youíre a user,you have the possibility of enabling or disabling all media players in the new media settings section.
Mastodon media and PeerTube embeds are enabled by default,YouTube and Invidious are opt-in.
To video converted GIFs which were always played in the past can be disabled now,too.
We hope that we can prevent missunderstandings in future with the help of this statement but if you still have questions,feel free to ask us at Mastodon or here in the comments.
Another thing which is totally new in Halcyon 2.2.0 is support for docker.
Docker lets you easily install applications in containers where all dependencies are already included and all system settings can be customized for every single applications.
That makes the installation process much easier and faster.
Docker is now just one of many ways how you can install Halcyon.
If you already run a instance using YunoHost or a manual install,it doesnít make any sense to switch to the Docker version now but you can make use of it when setting up a new instance.
All Docker related files are in the /docker folder in the repository.
We also added Italian translations with this update what means that you need to enable the it_IT locale on your server and some other translations have been improved.
Many new words have been added to Halcyon since version 2.1.0 which is currently available for translation what means that translations can never be complete.
We will soon make all the new words available for translating to fix that problem.
We thank you so much for going this interesting way together with us.
It all would not be possible without all contributors and bug reporters.
The amount of contributions is increasing heavily these days what makes it possible to release more features with less time between them.
Version 2.2.0 was made with the help of 4 contributors,again thank you so much.
And as always we will give you a short look into the future at this point.
Many people complained that the homepage should look more like Twitter and while we agree,we also think that there are many more important things to do.
Happily another person said that he can do the job for us for free and we will talk about the details within the next days so that wish may be one of the first to become true.
It are still the small things we focus because we can change much using few time that way and that also answers the recurring question of a mobile view.
That will be much work and itís still far away from becoming available,sorry for that.
We are always happy about the reactions we get and when reading the reaction we see that youíre happy with the work weíre doing,that feels nice.
If you have any ideas,problems,wishes,complaints or other things you want to let us know,please do so in the comments below,on Mastodon,in the NotABug issues or privately using our contact form.
If you want to help us,you can contribute to the code,report problems to us or donate using Libravatar or Bitcoin.
Additionally we always need help with our translations to support more languages or to complete the support for existing ones.
Thanks for taking the time to read this and have a nice day.
PixelFork - Image sharing in a new way
After the big success with Halcyon we want to try something new, we want to fork a open source project. It relays on the ActivityPub protocol so it will federate with the "fediverse".
This time there are also more people working on this project. So we can concentrate on both client and server side development.
We've announced that months ago, because we are unhappy with Pixelfed's main developer and his decisions, when he announced that federation support will be ready soon.
PixelFed has a user interface similar to Instagram, its basically a clone of said site, but for the fediverse. Think Twitter -> Mastodon, but this time Instagram -> Pixelfed.
Sadly, we had to come to the conclusion that PixelFeds developer doesn't really care about the user, federation and decentralization.
Even PixelFed's Readme states: "Please note this is alpha software, not recommended for production use, and federation is not supported yet.",
Which is in our opinion bad practice for a free software project, if people try it out and get excited they may even start contributing to the project.
So what's the deal exaclty?
We've came up with the idea months ago when federation support was announced to be ready soon. We were unhappy with many decisions of the original developers.
Oh well, this one is a fork, as the name already says, probably that's important to know. For people who don't know what a fork is: It's basically the original code with changes from other developers.
Our intention is to make the world better by providing social media technologies to everyone without profit in mind.
Unlike PixelFed, our project PixelFork takes privacy seriously and is fully decentralized.
But the main differences of PixelFork are decided by you! - Sure, there are parts of PixelFed (the original project) we already announced to remove. While PixelFeds developer doesn't care that much about the users opinions, we take our users
opinions seriously and integrate what's requested by the community.
That means if you use PixelFork and think that you're missing something, drop us a line. We'll see what we can do to make PixelFork a better project for you.
We've already achieved a lot, even before we started, but that isn't what makes us different from PixelFed. It makes PixelFed better.
Everyone wanted a federated timeline, that timeline which shows everything from all instanced at Mastodon which PixelFork is compatible with. You can discover new users from there.
Dozens of PixelFed users requested this feature, but the developer always says he doesn't like that and would never ever implement it.
At the very beginning of our project we announced that we will add a federated timeline and guess what - only a few days later the federated timeline arrived at PixelFed.
But the problem what caused us to create this fork is still here and still needs to be removed.
It's the insights/analytics feature which was announced some months ago. It has the goal to bringing influencers, businesses and brands into the fediverse.
Dansup states that he does that with privacy in mind but you don't believe that,right? Tracking CAN NEVER be done with privacy in mind. Yes,there are really evil trackers and some which don't track that much but they're made to track and that's what they do - and that's ALWAYS agains your privacy.
Our answer: We do not need (mercenary) influencers, we don't need businesses and we do not need brands with their ads!
We'll delete that feature and - if the original dev is successful with his software - we'll integrate a blocker that removes those ads from the timelines if they should federate.
The free networks must keep the users first without advertisement spam, but content from people for people.
Another bad thing is the pro subscriptions feature.
You must pay for using free software in a free network - what the hell?!
You get some storage for free, you can upload your stuff there. Then the storage is full and you have to delete old pictures or you can't use a free and open social network anymore. Of course you could pay, but in our opinion that's not free anymore.
Please think about this.
While there are way too much things which shouldn't be done in PixelFed, the things really important features will never get finished.
That there is no federation at the moment doesn't make sense. It can't be called a federated software if everything else is more important than federation...
Another important feature we miss and will be fixed by us it MariaDB support.
MariaDB is a MySQL replacement which is almost 99% compatible. It is the standard in most linux distributions.
We'll also try to remove some dependencies to make it easier and cheaper to run your own instance, because if there's only one flagship,we really don't need federation!
At the end it should be possible to run PixelFork on a normal webhosting space,no own servers needed anymore.
There's another great and big thing we'll add but that will be a surprise - no further information yet. We don't need another theft of our ideas ;-)
And there will be even more which we don't know ourselves today.
This was just a relatively short overview of our biggest plans for the future. It should also be a answer to the question: Why are you doing this?!
If you have any ideas, questions, wishes or want to tell us anything else,do it!
You can use the blog comments, write to @firstname.lastname@example.org on Mastodon or use our NotABug Issues.
PixelFork's goals in summary:
Halcyon 2.1.0 - Introducing lists and more
First of all thank you very much for going this interesting way with us!
It has been about a half year since we've announced our first new Halcyon version to be online and in the meantime we went always further towards our goal of a fully featured Mastodon client.
With this release - a half year after it all began - we introduced a feature which brought us nearer to our goal than always before.
Let's switch over to the technical details.
We introduced full support for Mastodons lists feature.
Lists allow you to organize a selection of people in a special timeline to prevent messing up your home timeline and still don't miss anything.
Lists can be created,deleted,viewed and members can be added and deleted.
Mastodon had this feature for quite a while and many other clients have supported it for a long time,even if not completely sometimes.
For example with Pinafore you can view lists but not modify them in any way.
We aim to make the default Mastodon webclient obsolete so it was clear that we have to support modifying lists,too - And we did it.
You can work with lists in a similar way you know from the Mastodon webclient on the Lists page but another thing you can do here is adding people to a list directly from within a timeline in the menu where you can mute,block,...
If you don't follow that person already and your server requires that (Mastodon doesn,Pleroma doesn't),you'll be asked if you want to follow and if you click yes,you follow that person and automatically add him/her to the selected list.
Lists work in the easiest way you can imagine here,don't they?
Another thing we changed is that there is a direct messages timeline now in your profile dropdown (click on your avatar in the header nav) and direct messages are filtered out of your home timeline now.
By the way: Starting today you can help us translating the new words which have been added after 2.0.0 here: Halcyon 2.1.0 on Zanata
Enough of the new stuff,let's go back a step in the recent history (what happened between 2.0.0 and 2.1.0)
We fixed many small bugs and optimized the code in version 2.0.1 which was mainly a bugfix release.
Additionally we added the languages Polish,Japanese and Korean in 2.0.1 and Galician in 2.0.2.
There's still much to do to give Halcyon the native language of all people in the world but we're making a big progress.
At the beginning we didn't expect Halcyon to become only half as popular as it is today.
Thanks to everyone who has contributed in any way,we wouldn't be at this point without you!
The most important thing we changed in 2.0.2 is the new dark theme.
There were so many people who wrote this wish at Mastodon and in the NotABug issues but it's much work so we couldn't implement that ourselves that fast.
Luckily there was a nice contributor who wrote the dark theme and sent it to us using a pull request.
The dark theme is something what people seem to love.
For the instance admins we created new documentation pages which show the steps to install and configure Halcyon correctly and also some well-known bugs and how to fix them.
You can find the new documentation in our NotABug Wiki
If you want to support Halcyon,you can do that on our Liberapay profile now.
Enough for now,this time we won't announce any future things because there are so many announced features which still haven't been implemented.
As always we're happy to get responses from you.
Tell us why you like Halcyon,what you don't like,which features you want to have or anything else what you want to tell us.
You can use the comments section below this post,our Mastodon profile or our NotABug issues page
Thanks for reading,have a nice day!
Halcyon 2.0.0 - The biggest changes in detail
With Halcyon version 2.0.0 we released the first very big update.
The really important thing is that we finally released support for multiple languages.
That was very much work but many users wanted it and we believe that it makes Halcyon much easier for people who don't speak English that good.
We hope many people will participate at Zanata to translate Halcyon into many other languages.
Support for German and Brazilian Portuguese has already been finished and that are the first languages to come in Halcyon.
You can translate into other languages here: Translate Halcyon at Zanata
Important notice for instance admins with root access to the server
Please make sure that the locales of the supported languages (currently en_US.de_DE and pt_BR) are enabled on your system or they can't be used in Halcyon.
If you don't have root access on the server,there's nothing you can do about it and the languages on your Halcyon instance are limited to what your hoster has enabled.
Instance admin notice end
Another thing we did with 2.0.0 was removing all the CDN connections.
From the previous announcement we've implemented the better who to follow page with more recommendations in version 1.2.1 and the emojipicker with version 1.2.2.
The next things to come are custom profile fields,supports for lists and support for list filters.
And hopefully very much more in the next weeks.
We hope you like what we did,we put very much work in it and as always we're happy about feedback.
You can use the comments section,our contact form (see sidebar) or write to @email@example.com on Mastodon or Pleroma.
Halcyon 1.2.0 - The next big step and a view into future
We've released Halcyon 1.2.0 a few days ago!
It has been months since we released Halcyon 1.1.0 and we did much within that time.
We released many patch releases for fixing bugs or implementing smaller features.
Desktop notifications which were announced by our 1.1.0 blog post have already been around since Halcyon 1.1.4.
Another big step was optimizing the Pleroma compatibility as much as you don't feel the difference between a Mastodon and Pleroma backend anymore if you use Halcyon.
With the 1.2.0 release we added another thing we've already announced in our previous blog post.
You can now change your profile settings in our completely redesigned settings menu which also got some new Halcyon settings.
We want you to be able to do everything within Halcyon without needing the Mastodon frontend.
Only if that's possible Halcyon is really complete.
Well,there are still many things missing until we achieve this goal and there will come even more as Mastodon doesn't stop implementing new features which Halcyon needs,too.
But I think we're on a good way to make Halcyon more useful with every release.
Unluckily we still don't have a dark theme,a mobile version,support for multiple accounts and translations.
These features require very much time and work which we currently prefer to use for implementing many smaller features.
An emoji picker isn't available currently,too but that will come sooner than the other big things.
An short look into the future of Halcyon:
If you have any feedback,please let us know in the comments,NotABug issues (please don't use our Github repo anymore!) or using Mastodon or Pleroma to @firstname.lastname@example.org
You can download Halcyon for free at NotABug: halcyon-suite/halcyon
By the way our network grew extremely.
We do now have many instances which you can all use for free and without tracking our ads.
Please consider donating to your instance admin if they accept donations.
They give it to you for free but servers are expensive!
Here are the instances which are currently available (that may change over time,our NotABug repository does always contain the current list):
Our move from Github to NotABug
Some days ago Microsoft announced that they'll buy Github,the worlds leading developer platform.
Microsoft has already bought many things - and changed them to worse.
We believe that the same thing will happen with Github and well,there are actually many coders changing their platform or at least announcing to do so.
As one of the first we really did it and we didn't only change to the next centralized closed source platform like most others did.
We decided for the open alternative - We decided for the non commercial way - We decided for privacy,for trust and against ads and tracking.
When I wrote my announcement at Mastodon I first thought there'll be many people raging against us and complaining about having to change their platform.
But actually nothing of that happened: We received 13 likes,13 boosts,some new followers and not a single complaint.
This community is great!
We consider this change as the first step into an even more open world and we hope many coders will change,too.
Thank you for your support!
Our new repository is on notabug.org/halcyon-suite/halcyon
RoadmapWe haven't planned disappearing from Github at all.
Starting with version 1.2.0 new releases will be available only on NotABug.
Instead we will disable the community functions step by step while leaving an unmaintained mirror at the end.
Today we will close all open issues and write them an notice our change while solving the issues in the new repository and keeping them in our todo list.
10 days after that we will completely disable the Github issues function for this repository.
The old repository will stay online to prevent people from creating fakes under our well-known link but we will put it into read-only mode without any future changes.
If you want to share your opinion about that, you can do so using the blog comments or write an Mastodon/Pleroma post to @email@example.com
Halcyon - What we did and what we will do
We're happy to annouce that we've just released Halcyon version 1.1.0!
It's not an aprils fool,it's our easter egg for you!
That's a very big step as this release is much more then just a bugfix.
We did much to come to this point and fixed many bugs in Halcyon with minor versions but don't forget that Mastodon often gets new features and Halcyon needs them,too.
So we've just implemented the things we think you missed most in the past.
Custom Emojis are now in Halcyon starting at version 1.1.0!
They are fully supported now without any limitations or known issues.
An emoji picker isn't yet available but it's planned that one will come with a future version.
While most Mastodon instances use the standard char limit of 500 chars for a toot,Pleroma is also compatible with Halcyon and often has different limits.
So if you're using Halcyon with an instance which allows a custom toot length,Halcyon does now also allow that and automatically detects your instances limit.
If your instance doesn't send an custom limit over the /instance API call,Halcyon will allow you to use the default limit of 500 chars.
Another change in this version is that Halcyon instance admins do now have the possibility to change the terms of service by changing the terms.txt file with support for HTML formatting but without the need for HTML knowledge.
You can use HTML there but you needn't to say it in simple words.
Modifying the login/terms.php file is not needed anymore.
While the previous Halcyon version finally solved the weird Who to follow suggestions,it also had a new bug because of that which required you to reload the page after the login for the toots to load.
That bug has been solved now and the toots should load fine directly after the login.
But is that everything you want Halcyon to do?
Surely not and that's why we've already had a very big list of upcoming features from the beginning of this project and now we'll make a short list of the most important ones of them:
If you have additional ideas or thoughts about our plans,please write them into the comments,create an Github issue or write us a toot to @firstname.lastname@example.org
You can download Halcyon for free at Github: halcyon-suite/halcyon
Or you can use it for free on one of two publicly available instances: halcyon.toromino.de social.dev-wiki.de
The first new Halcyon release is on Github
It has been two weeks now since we took over the Halcyon client for Mastodon.
The original developer hasn't done anything new with it for months.
Two weeks ago,he deleted the original Github repository and took the official demo instance down.
We didn't want to let the best,easiest and most beautiful client for the worlds best social network die.
That's why we recovered Halcyon from a fork,reopened the original Github repository and uploaded the original source code.
That all was two weeks ago but we also said that we want to continue this great project and create future updates.
Today we released Halcyon version 1.0.0 which doesn't bring any new features or bugfixes.
It's the base of every upcoming Halcyon release where we changed all files to our own code style to make future updates easier.
We also removed the need for a MySQL database because it was used so few that it can be also done with text files what makes installation faster and easier and requires less programs installed on the server.
Sure,you're waiting for new features and less bugs but the most important thing was updating the code base to make that possible in future.
There are already very many things on our ToDo list,so stay tuned.
Probably we will publish a list of planned features in future but not today.
You can download the source code for free at Github.
You can also use it online for free at halcyon.cybre.space but please note that we don't own this instance,have no control over it and don't know if the administrator will install our updates.