Sortix 1.0 FeedbackJonas 'Sortie' Termansen on 2016-04-14
I had a lovely glass of port wine with my close family as the scp(1) program uploaded everything to sortix.org. I hoped I hadn't screwed up the release process somehow and uploaded defective cdrom images. Everything seemed to work. It was time to let everyone know about the release.
Sortix 1.0 was released a bit over two weeks ago and it was well received. It had a bit of news coverage and a surprising amount of coverage from non-English communities. The biggest lesson was that Twitter is a surprisingly good platform to promote Sortix on. I think there's a good deal of people that could be interested in projects like Sortix, but the question is how to reach this audience. How was it received?
The 1.0 release was announced on the osdev.org forums. The project list wiki article was updated to mention this release. I've been part of this community for years and I owe a lot to them and their support. It's a place you can get in touch with experienced people that know about operating systems and you can potentially get some quality feedback. The topic received 20 replies and has been viewed 1200 times so far.
“Sortix is one of the most advanced hobbyist operating systems I've used. It's great to hear 1.0 version and that I can run it on real hardware.”
“I really appreciate your emphasis on a stable release. In general, with the new license and interactive installer, this project is starting to be more and more interesting.”
“Tested. Great OS. I like your asteroids game!”
The replies to the forum topic were very positive. There was a question on the plans for networking. There were a few small questions and some promises to contribute to the next release. Another reply had a screenshot of a port that the author managed to do. There was a small discussion on what Sortix should do when root tries to kill the init(8) process. Currently the system deadlocks due to a bug, but it is meant to panic (the system stops when init terminates, and the exit code determines how the computer powers off, and unknown exit codes causes a panic). The replies suggest that a bunch of people have tried out Sortix.
The release was covered on Twitter using my personal account @sortiecat and the new @sortix_org account for the Sortix project itself. The release was announced on my personal account by linking to press release along with a screenshot:
I've just released version 1.0 of my hobbyist operating system Sortix sortix.org/news/1.0/
This is the tweet that really took off. I tweeted that to 79 followers. That's not a lot of followers, but thanks to their retweets, it reached a much larger audience. It has since had 22K impressions, 1K engagements, 237 link clicks, 63 likes, and 52 retweets. A couple big accounts even retweeted it (one even had 40K followers). There was a couple replies to and few mentions of the tweet. I gained 64 followers in the process. Twitter analytics are pretty cool.
This isn't big by Twitter standards, but it's pretty big for me and Sortix. The thing about Twitter is that very little of this attention is actual feedback, it's just numbers showing people have been interested at a surface level, or thought other people might be interested. But feedback isn't the value of Twitter: The value is the ability to get more widely known, to get in touch with your audience, and the opportunities that happen when the right people know about your project. The goal isn't to make Sortix widely known, not at this stage, but to get in touch with the right people that want to help shape Sortix's future.
The new @sortix_org account followed up with a series of tweets about the Sortix 1.0 release. It had a total of 10K impressions from all its tweets and gained 28 followers.
The Sortix 1.0 release was announced on the /r/osdev reddit. It received a single comment but did get a bunch of upvotes. It's not a very big reddit though. hydraz submitted it to the /r/programming reddit, but received no comments and almost no upvotes. That submission largely drowned. I'm not very good at redditing and the submissions could likely be improved. The /r/programming submission should probably have mentioned it's an operating system in the title. There's likely much better subreddits to submit to. Perhaps it is the wrong site for this kind of announcement.
Hacker News has covered Sortix positively in the past, so the release was announced there as well. It got 129 points and was on the front page for about a day. It received 32 comments, which is the record for the 1.0 release on English language communities.
“This looks amazing. Git, gcc, libcairo, libdsdl, python and nasm ports? ISC license? Very, very cool. But why don't you host your project on Github?”
“Just booted this in a vm. Pretty cool! editor is use-able. python on there, Asteroids is working fine, too. Will be following the progress. Well done!”
“Congratulations on your own OS, but could you tell me why should i use your OS instead of other ones? I don't see any comparison anywhere.”
Sites like this might be better than Twitter at delivering feedback. The comments were supportive overall. It seems that the comments like to go a bit offtopic. Perhaps it's a good idea for the next press release to name a few topics they could discuss. I like how they found my birthday and concluded I was 25, not realizing I'm just 24 because it's not August yet. It's commonly asked why Sortix doesn't use github. Perhaps it's time to make a FAQ. One comment mentions actually trying it out. It's rare for feedback to mention actually testing it, so it kind of feels like I could've just pretended to make an operating system, and it would have received similar responses. Unfortunately there wasn't time for an April fool's release this year.
OSNews covered the 1.0 release as well and got 10 comments. It also covered Sortix last year. The comments on this site are like Hacker News, mostly meta comments and a tendency to go offtopic. But that's OK. The value of sites like this is exposure. Last year's story and this release's story both happened shortly after Hacker News covered Sortix, so it seems probable that OSNews uses Hacker News as one of its sources.
“The documentation is interesting.”
“What is it with this obsession with POSIX as a benchmark and a target for hobby operating systems?”
“Pretty impressive to have so much functionality in only 169K lines of code. Don't be discouraged by the nay-sayers who question your wisdom in embarking on a hobbyist project (it's probably sour grapes and envy more than anything else). Even if all you accomplish is to learn something new, then it wasn't a waste.“
This release's OSNews story was just the press release though, as well as a link to last year's coverage of the 0.9 release. I look forward to the next release and seeing if this linked list pattern continues.
It would be lovely some blog posts or in depth articles about Sortix, such as what it is like to try out Sortix. Some real reviews. That hasn't happened yet, so I'm not in touch with that audience. I could ask some online friends to review Sortix. Potential fans might like to read such a review.
I privately posted the 1.0 release on Facebook to my friends and family. I hadn't really considered this an audience I should target, but I was wrong. The post received much enthusiasm from friends and family. I had forgotten how many Facebook friends also study computer science, so I had a few unexpected conversations about Sortix in the campus hallways.
I received a few emails about Sortix (besides the storm of Twitter notifications). One was about whether Sortix should consider adopting the base utilities from the suckless project. We had a nice conversation about the future of the Sortix project and the many projects that already have utilities ready for adoption, and whether this even is a good thing for Sortix. This is an important conversation for the whole community and I look forward to seeing what Sortix becomes. Another email was about attempting to run somebody's software on Sortix. I appreciate emails about Sortix.
The Sortix development history was visualized with Gource. There was a few people that enjoyed the last such video, so it was time to make an updated version. A few people were happy to learn about Gource. The video only has 93 views, so this platform is not being used successfully.
There's a lot of potential in Youtube though. Obvious ideas include having charismatic people attempt to install and use Sortix and upload a video of them doing so. This might be a lot more approachable as a low cost way to get acquainted with Sortix. Other videos could talk about Sortix, its design, and do something interesting with Sortix. More unsuspecting people need to be exposed to trianglix(1).
The most interesting coverage of Sortix was from the international community. I don't speak Russian and Chinese, so I had to rely on Google Translate to translate those websites. The translations were a bit off and it was often difficult to determine if the translations were wrong or if the comments really were that colorful. There were more non-English coverage of Sortix than English coverage. That's very interesting.
OpenNET.ru covered the release with a nice overview and screenshots. The official release page should have had screenshots. It looks great. The content is largely the release page translated to Russian. It received a 134 comments, which is great and a record. Some of the the translated comments are interesting:
"So what do I do with it?"
“For now, nothing. But, from a broader perspective, all supercomputers will switch to it. Linux is already getting old, it's time to get a replacement ready.”
“You can display a cat on a red background.”
“And what's most characteristic, is that the author was born in August 1991 (the illegitimate release of the linux kernel) :)”
“Except for the login screen, I never saw a GUI, but there everything is so smooth and it even has mouse support. It even has asteroids.”
“Are dragons drawn that way?”
“It's a cat mascot.”
“5 years of development, and the cat is more like a strange hybrid of a crowbar with a hammer.”
"Why is that cat so excited? Why is its pinus erectus so visually captivating? And the cat has problems with its feet.”
“And its name is Welcome because it then says: cat welcome”
The comments were somewhat supportive, but got fairly offtopic. They spent an interesting amount of time discussing marriage and my hair. People had opinions on the logo, which is great
Linux.org.ru also covered the release. It has custom screenshots and a custom description, essentially a small review. It also received a large amount of comments:
“Now, perhaps, there will be flocks of commenters asking for new eyes after seeing the logo, just like last time.”
“Well, you must admit that the logo is appalling, it's like a mortal sin. The system, of course, isn't necessary for widespread use, but at least it gives the author experience with low-level programming.”
“The logo is excellent! :)”
“The logo is simply divine!!!”
“Yeah, it's a normal logo. And the guy is cool.”
There also was a post with comments on nix.dirty.ru. The post is a copy from opennet though. Highlights from comments:
“It's another FreeOS? Or are there some key benefits, that FreeOS lacks?”
“niXto: Why does it necessarily need to have key improvements? Is there some specific problem you need to solve? Sometimes, people write this sort of thing as their hobby, for fun, as an application of their skills, as entertainment, for research, or for practice.”
“Sortix is an OS optimized for a toilet in a "smart house". Or for Small Sortis.“
I find these comments strangely captivating and could read them all day. I'm happy to see people comment. The Sorti remark is apparently about the Sorti detergent. Thanks to zgrep on IRC for help translating the comments more accurately.
There also was a Chinese post about the release on solidot and a few other sites that copied this post.
There even was a draft article about Sortix on the Russian Wikipedia. It is gone now. It was fairly wrong. It would be cool to have a Wikipedia article, but Sortix is not yet notable. The limited coverage of the release confirms that.
This blog post is a stub: You can help sortix.org by expanding it with more coverage.
The release was also announced on the #osdev channel on Freenode, which has a big overlap with the forums, as well as #sortix and other relevant places. A good few people tried it there as well. The community had tested the release candidates during the weeks up to the release, as well as snapshot test releases during the past half year. Their feedback helped polish this release a lot.
There was a few contributions from people on IRC. There was a couple people that were interested in the Sortix editor(1) and wanted it to run on Linux, and they were happy to learn there was a draft of a portable version on a git branch. I received a patch making it portable to musl systems as well.
The 1.0 release was announced on a number of platforms to see which ones best connect with the right audience. There hasn't been any problem with any of the platforms, so the next release will be announced similarly. It would be useful to research how the sites can be used better next time. I'm sure I've overlooked or dismissed obvious things I should do.
One of the problems I see is that I only draw attention to Sortix once a year, at release time, which is fair but it doesn't really establish a presence. People on IRC hear about what I'm working on all year around, but that doesn't really happen on the world wide web. Perhaps this blog will fix that issue. I plan to blog about interesting aspects about Sortix in the future.
Since the Release
I have been working a bunch on Sortix make (colloquially tixmake), which is a custom implementation of make(1) as described by POSIX with a lot of extensions from BSD make. I'm not too much of a fan of GNU make's design and it's source code is scary. The Make language is good, but it needs a better implementation and some extensions.
It's too hard to write a good Makefile with targets like clean, install, dependency tracking, support for installing in different locations, DESTDIR, all the usual semantics. I once showed a friend how I would write a good minimal makefile. He was horrified and thought it was overkill. That was what I considered the baseline for something releaseworthy. With Sortix make, you can include Makefile templates in an extensible manner and easily get all these features with very little code. I have converted all Sortix makefiles to use Sortix make and it is much cleaner. The majority of ports for Sortix even compiles using Sortix make, but not all: Some are easy to fix, some are harder, and some cannot be ported. I've will have to dual stack with GNU make, but that's OK, and BSD already does this. This work isn't merged yet and needs to be improved. I'll write a future blog post on this as I have a lot of stuff to say about make.
I've been handling a few small contributions and cleaning up a few things. I grepped for “After releasing 1.0,” and deleted a lot of compatibility. University started up again, so I'm bit busy. I've been planning towards 1.1, and I think a major feature could be networking. That's something that has been asked about a lot in the 1.0 feedback and it could be a great selling point for the 1.1 release.
It appears that a lot of sites copy the announcement from sortix.org without too many edits. That's not too useful as a way to get feedback, but it does suggest I have a lot of control about how the story is presented. If I find an interesting aspect and focus on that, then it could reach a wider audience. For instance, I should find an astronaut ally, have the astronaut bootstrap Sortix onboard the international space station, and run the story “This Operating System Came From Outer Space”.
If that happens, you can look forward to Sortix 4.2 “Take me to your session leader”.