Today we host an interview with Kristian “Vanders” Van Der Vliet, project leader of the open source OS Syllable. Syllable was born from the ashes of AtheOS just about a year ago and today has evolved to version 0.4.4, released just a few days ago. Read more for the interview and 5 screenshots of the latest version of the promising OS.
1. What are the main obstacles today in the development of Syllable? Participation, tools, something else?
Kristian Van Der Vliet: Time and organisation. I spend about 20 to 25 hours a week on average working on Syllable and it just isn’t enough. Just answering email and questions on the forums can take an hour each evening. Coding then takes up as much time as I have spare. I’m lucky to have that amount of time, the other guys working on Syllable tend to have even less time to spare. Rick has just completed his freshman year; thats a lot of work on its own, but he’s doing an excelent job with the desktop too.
The knock on effect of not having much time is that I cannot keep track of everything that is happening. People often mention on the mailing list that they are working on a peice of code, a driver for example. I’ve usually forgotten who they are and what they were working on after a day or two! I’m also pretty good at saying that I’ll do one thing, and then going off on a tangent and doing something else. The ATA driver was a tangent, for example.
2. You recently introduced an ATAPI driver and booting from the CDROM. How successful this was so far? Does the code works with most cd devices, did it push more users to try out Syllable?
Kristian Van Der Vliet: It has not only brought new users to Syllable, it brought back a lot of old hands, too. Before we released 0.4.4 you only had to spend a day or two on the mailing list before it became very clear that people really, really needed to use their CD-ROM drives. People had been asking for it since the very earliest days of AtheOS. Hopefully it will attract a lot more users and developers. Any OSS project always needs more developers!
The driver itself is working just about well enough, and we have work arounds for a lot of common problems. For a first pass at a driver, it is working a lot better than I had hoped! ATA drivers are usually the most problematic peice of code in any operating system. If you look at the Linux or FreeBSD ATA drivers they change very, very often when compared to something like a NIC driver. There is always a bug or a new chipset to support or some other advancement in hard drive technology that means you’re kept on your toes.
3. Comparing your project to other hobby OSes, like SkyOS, MenuetOS and TriangleOS, where do you feel that your project excels and where does it lack?
Kristian Van Der Vliet: I should make it clear that I have never used any of these OS’s so I can’t really compare Syllable to them!
What we excel at though is that we are always designing Syllable with an eye towards the end user. The mantra is that it has to be easy, it has to be comfortable and it has to be robust. I think we all have an eye for detail. I find myself criticising the look and feel of an application more than anything else. I can only speak for myself here I am fed up with systems like Linux, where nothing quite works the way you would like and as soon as you attempt to fix the problem you create two more. I’ve been put off upgrading Linux here for the past year because I know that I’ll spend the next month re-installing and reconfiguring applications that have become
broken.
Then again it isn’t always as good as should be in Syllable. We’re still planing and developing infastructure that will enable us to do a lot of the
things we would like to do, but in the meantime we have to use stopgaps or people invent their own solutions. There are also things that should work but don’t, for example “man” has never worked in any Syllable release, and there are some bugs with the ATA driver in this release. We are very poor at testing before we release things, partly because I don’t stick to a proper release schedule and partly because by the time I get around to building the release I’m very tired and people are screaming for a new version and I just want to get it out there and be done with it.
I’ll admit that this is odd as I spent the past two and half years working as a QA Tester and I should know better. If my old manager knew I was releasing untested builds, I’m sure she would shoot me ๐
4. In your opinion, which OS features today missing from the OS that make the porting of POSIX apps difficult? What kind of apps are in generally missing from Syllable that users usually asking for?
Kristian Van Der Vliet: Syllable is amazingly close to Linux when it comes to the development and runtime enviroments. We use the same GNU toolchain and Glibc, so very few applications fail to build properly. A lot of GNU and Linux stuff can usually be built with a simple ./configure && make. Where it does fall down is building shared libraries and the sockets API.
We don’t have a proper port of libtool nor any libdl yet so generally libraries are built as static (.a) files. It is possible to build shared
libraries on Syllable of course, its just not portable and no GNU tools know how to do it. That is currently not too much of a problem and we intend to fix this during development of 0.5.x
The sockets API is incomplete, which can cause problems. The fairly major call setsockopt() is incomplete and buggy, and getsockopt() isn’t implemented at all! Along with some general bugs in the IP stack itself it means that some stuff just doesn’t work; the Samba deamons or curl for example.
Of course we don’t have form of X either! Porting X toolkit based applications usually means having to re-write the entire GUI, so it’s usually
a major effort. We’ve known this all along of course, and have no plans on changing that. A little extra work in porting results in a much better application at the end of it. The majority of people on the mailing list are usually pretty fierce about any suggestion that we should port X or an X
toolkit in fact.
I think the one major application that a lot of people miss is a debugger. Gdb would be useful to a lot of people but the prevailing wisdom is that it would be a heck of a lot of work to port it. Being more of a printf() debugger myself I’d love to see a port of OpenOffice.org, but we’re not ready
for that just yet ๐
5. What would you advise other developers out there that might want to write/participate in an OS project? What technical and other challenges are lying ahead for these young devs?
Kristian Van Der Vliet: Have a clear idea of what you want to do before you start, and be prepared to embark on a never ending journey. There is always something else to be done, or something that needs to be improved. When you’re writing an entire Operating System you have the opourtunity to cover everything, but at the same time it can be overwhelming and you can burn youself out. Don’t be afraid to admit you don’t know something and put it to one side. When the time comes you’ll know it and you’ll be able to spend the time on the problem that it needs.
Buy good books and read them often. Spend as much time as you can thinking about how you’re going to do something. I spend 25 hours a week coding, but a good 30 hours a week just thinking and visualising problems. You can usually come up with some very elegent solutions and designs that way.
If you decide to make your work public, be prepared to criticism and bugs. There is always a bug. There is always someone who needs feature xyz. Never let that get you down!
Technically I think the barriers to entry are a lot higher now then they were two years ago, and they’ll be higher still in another two years. Writing an OS that boots from a floppy is fairly easy for most people, but a lot of PC’s don’t have floppy drives any more so they have to deal with ATA drivers and CD-ROMs. Hardware is getting more complex. If IA-64 wins against x86-64 then I think that will kill a lot of hobby OS’s; how many people can write EPIC IA-64 assembly by hand? Even today a lot of simple legacy hardware standards are disapearing fast. It used to be a fair bet that a computer had two serial ports and two PS/2 ports, both of which are simple to interface to at the OS level. These days you’re more likely to find a USB controller and various HIDs connected via. a USB hub. Writing drivers for that sort of hardware is an order of magnitude harder. In a few years time that will be the only way to do it. Even the BIOS is due to be phased out. Then we have
things such as Palidium and TCPA..
6. What new features are we to expect for version 0.4.5 and what new features for the future in general?
Kristian Van Der Vliet: Syllable 0.4.5 is officially the “Fix things” release. We’re all running around spending a few hours here and there fixing outstanding bugs and implementing unimplemented features. Not only are a lot of small bugs irritating but the hope is that we’ll have something fairly stable for people to use when we start breaking things during the development of 0.5.x! From the things I’ve seen being worked on outside of the main Syllable developers there are also going to be some nice new features in 0.4.5, and hopefully some more drivers too. We’re also currently trying to put together a proper roadmap towards Syllable 1.0.
While not a technically oriented interview, this article provides some insight into what actually goes on behind the scenes of the development of an alternative/hobby Operating System. It’s good to see so much work is being done since AtheOS, keep up the good work guys.
I was always interested in finding out how the creator of AtheOS feels about Syllables. I remember he was pretty upset when Cosmoes came out, I wonder how he feels about Syllables. And last what is the main difference from Syllables and AtheOS that considers it a break off from AtheOS. When I look at it myself I just feel it’s AtheOS but an upgrade, but it’s very clear Cosmoes is a big break off from AtheOS using a Linux kernel. What all does Syllables have different that makes it a totally different OS then AtheOS?
First of all, it is “Syllable”, not Syllables.
> I remember he was pretty upset when Cosmoes came out, I wonder how he feels about Syllables
The same. He was not happy. But it doesn’t matter, as his code was GPL. If he didn’t like forks, he shouldn’t have abandoned the project in the first place, or open source it.
> And last what is the main difference from Syllables and AtheOS that considers it a break off from AtheOS
Syllable is the update to AtheOS. I think today they are not even completely binary compatible, a number of things have changed. Other things are better, but a lot of things are worse. Personally, I feel that Syllable is more unstable than AtheOS “in its hey day” was. It just doesn’t feel as solid anymore, I don’t quite trust it when I install it or when I partinion with it anymore. Too many bugs in various places, apps locking up, the OS is locking up etc. bugs which I hope they will be ironed out on 0.4.5 instead of adding new features.
I thik I have talked about my “Syllable Top 10” wishlist before:
http://www.osnews.com/comment.php?news_id=1707#36580 (the No1 wish there came true with the 0.4.4 release, even if it doesn’t work on all machines).
Syllable broke off because AtheOS haven’t been updated in a loooooooooooooooooooooooooooooooooooong time, and because only one person is allowed to make changes to the OS under than name (guess who?), naturally other developers decided to fork and leave.
It’s beginning to look like a very good OS, considering it’s a ‘hobby’ OS.
Hopefully, as Eugenia points out, the 0.4.5 release should stabilise it somewhat and it will be a very usable OS. The more it advances, the more everyday users it will get. There must be a few already.
While reading this I started thinking what makes a hobby OS popular that would make people start writing drivers for it?
I am not trying to be negative in any way, I was just curious.
Reason 1: Syllable has a cool name
P.S. I wonder what the GUI will look like by 1.0 release
… I think.
Unix GUI’s were indeed horrible when I was using AtheOS last (not even that long ago). But meanwhile the developers mind has really changed. At least among GNOME projects I see usability and even accessability beeing top priority _everywhere_.[1] Even the smallest projects actively discuss those issues and usually some people are involved which have quite a clue about it. If not, developers usually post to the usability mailinglist for advice. This is reducing great results already and the entire GNOME 2 desktop is very usable IMO. The HIG is also making a big difference. Not just because it makes application look somewhat consistant, but mostly because it’s like a book full of good user interface advice which developers can refer to. Don’t underrestimate the work that went into it.
Contrary, AtheOS/Syllable has to fight with the lack of such clear and well developed guidelines which leads to less consistant applications which usually copy the “status quo” of other popular operating systems. Doesn’t this remind us of something. The project is still young so maybe they could avoid the mess that GNOME went through by getting the interface stuff sorted early. My advice would be to base on the GNOME HIG, because it clearly invites to do that. However, the fact that they aren’t doing this already probably leads to the conclusion that they already discussed and decided against it because I can’t really imagine that they didn’t discuss it yet. Which would be sad.
I had more to say about AtheOS/Syllable but I can’t quite sort my thoughts atm so I better hold back before I confuse you all with too much nonsense.
Just one more thing: I know that the GUI isn’t the only reason why Syllable is supposed to be a better Free desktop OS, but if the GUI has no apparent advantages the question arises, how reinventing the wheel will win anything. We are talking about recreating each and every GUI application (from text editor to publishing).
[1] I’m not just talking about the desktop, even distributions and other developments seem to consider and weight the end user much more than before.
Does the Syllable developers have any plans of changing the look of the OS? I think the GUI needs a face lift. It looks oldish however the fonts are very impressive.
Alex, Syllable needs WAY more stuff than a new GUI. The one that they have, is good enough to do the job for now. The OS needs real work underneath, there is not even a working swap support right now, and you ask for a new good-looking gui?
As they say in Greece “the whole village is on fire but she just wanna comb her c*nt” (no insult intended, this is just a popular Greek saying).
You need to sort out your priorities man…
My advice would be to base on the GNOME HIG, because it clearly invites to do that.
I have to admit that GNOME HIG is rather nice, but if you really want to base your desktop on another project’s/desktop’s/product’s HIG when you are starting out from scratch, I would highly recommend either Macintosh (pre-OS X, Platinum) HIG or OpenSTEP (note the “or”, no mixing these two vey different UIs ala OS X)
I would go for the Platinum HIG. It has way more money spent on usability research, and is tried and true – quite unlike GNOME (who had Sun, a server company, donate money to hire usability experts)
However, the fact that they aren’t doing this already probably leads to the conclusion that they already discussed and decided against it because I can’t really imagine that they didn’t discuss it yet.
Sure they had discussed it. But decided? Hardly. Heh.
Just one more thing: I know that the GUI isn’t the only reason why Syllable is supposed to be a better Free desktop OS, but if the GUI has no apparent advantages the question arises, how reinventing the wheel will win anything.
It started as a hobby OS, just like Linux. Just like Linux, some guys thought it was interesting and decided to expand it. And if you go to the nice Google archives of Usenet, you can see many dissing Linux as a hobby OS because it reinvents the wheel- far more than AtheOS/Syllable (it clones Minix, IIRC). Meanwhile, I rather have them have a secure and stable OS underneath (fast is nice too), as well as technically capable or huge UI changes – then approaching 1.0, change the GUI to be the best they can get.
I don’t think I am. I’ve been running Linux since Redhat 5.2, so I’ve seen KDE and Gnome evolve into what they are today. I’m still not impressed. The biggest problem by far is that there are multiple HIG’s. So KDE applications tend to all work alike, and Gnome applications tend to work alike, but Gnome applications don’t work like KDE applications, and OO.o doesn’t work like either KDE or Gnome applications, and the best I can work out Mozilla is working to the Microsoft HIG. That doesn’t even begin to include other applications that don’t use any HIG (Skinned applications mostly these days, but also things like PfaEdit which even has its own toolkit)
So these HIGs are only a real benefit if the user sticks with only one desktop and only the applications specifically designed for that desktop. Which is near imposible.
Now Syllable does not currently have a HIG, but we have discussed it and we do intend to take the Gnome HIG as a starting point. The reason we’re not doing it now is simply because the GUI isn’t complete. We can’t write a document telling a developer how to use classes that don’t exist. Once the GUI API is complete and declared 1.0 then we will start on the HIG. We’ll also start on the beautification work that needs to be done.
There are advantages to reiventing the wheel, but very few of them are technical. If you compare the API to Qt for example you may decide that the slot/signal mechanism is better. Qt is certainly more complete. One benefit of the Syllable API is that we can go wild and integrate everything properly. Another is that it is a clean break from the past. Lastly, sometimes you just need to reinven the wheel to see if it can be done better.
What we don’t have is multiple toolkits with mutiple HIG’s that use diferent languages with different object models and different API mechanisms all competing on one desktop. In the short term we’re at a disadvantage. I believe that in the longer term we’re at a very good advantage.
Is there a list of supported hardware, or similar, to be found? I’d like to give this OS a go, but it would be nice to know if my current hardware is supported before repartitioning my disks.
(cpu=’PIII800′, network=’realtech rtl8139′,gfx=”‘nvidia geforce2mx’,sound=’soundblaster live’)
Yes, Azaka can be found at http://azaka.nutus.com.ar/ It is probably a little out of date at the moment as few people have been updating it as we make new releases.
By the way, the hardware you list should all work nicely. You don’t say what your motherboard chipset is but as long as you’re using something like a bog standard Intel, AMD, Via or SiS chipset it should be fine too.
lol well I am sort of inpatient hehe
Thanks, I’ll give it a try. Btw, my motherboard is a VIA GA-6VX7B-4X, which isn’t listed at Azaka, but afaik, it is pretty much a standard board.
rajan r
It started as a hobby OS
Yes yes, I know all that. I’m not dissing it at all or saying they should stop working on it unless it can conquer the world. This is really an impressive OS and for a while it was my favorite. I’m just throughing my thoughts around with a friendly incentive. I sometimes have the feeling that Vanders interested in making this mainstream than Kurt was though. Might be wrong.
Vanders
So these HIGs are only a real benefit if the user sticks with only one desktop and only the applications specifically designed for that desktop. Which is near imposible.
Why do you think that? Syllable for example has no application that wouldn’t be available for GNOME (AFAICT). The only non-GNOME applications are multi-plattform applications which wouldn’t be more integrated into GNOME even if GNOME would be the one and only Linux GUI. If someone would port jEdit or OpenOffice to Syllable, you would run into the same problem. Of course the goal is to have more native applications for each GUI, which is loads of work (even though GNOME already has a load of powerful and less powerful applications).
Now Syllable does not currently have a HIG, but we have discussed it and we do intend to take the Gnome HIG as a starting point.
That’s great to hear. I hope you’ll collaborate as much as possible. My dream is a general Free Software HIG with plattform specific sections whereever needed, so that one day (free) applications will behave largely consistant even across plattforms.
One benefit of the Syllable API is that we can go wild and integrate everything properly. Another is that it is a clean break from the past. Lastly, sometimes you just need to reinven the wheel to see if it can be done better.
Maybe, but maybe not… Some disagree.
http://www.joelonsoftware.com/articles/fog0000000069.html
Actually, reading this article again, I’m not so sure anymore that I really want to start from scratch with my community website code hehe… No kidding.
I think that trying completely new things is great, but why always try to REwrite things that already work well, especially if nothing is wrong with it? Just look at all those projects (most not even started) who tried to be a better display server than X but failed (and there is certainly more wrong with X than with Gtk or Qt) because in the end they would realize that X will faster solve problems than a new system would reach the maturity of X (and I’m not talking about client/server stuff here).
But well, what am I writing. I know of course that you won’t drop the existing work and go with Gtk instead. Just trying to articulate my thoughts and why I’m sceptical about its future where I was very optimistic before. There are still parts about the AtheOS/Syllable design that I love, like the incredible fast boottime, the small and clean system, the binary compatible driver modules… Ah just rambling now sorry.
Oh just noticed, don’t misunderstand the title. This was not meant to incline that Linux would be a great desktop OS now, but that you shouldn’t underrestimate what’s happening there in terms of usability, especially with the GUI’s (GNOME).
Syllable for example has no application that wouldn’t be available for GNOME (AFAICT). The only non-GNOME applications are multi-plattform applications which wouldn’t be more integrated into GNOME even if GNOME would be the one and only Linux GUI. If someone would port jEdit or OpenOffice to Syllable, you would run into the same problem.
Really my point was more that on Linux you generally have KDE, Gnome, cross-platform and maybe even Motif applications running alongside each other. Each toolkit has its own HIG, which does not help the user as they have to deal with multiple HIG’s all at the same time. Thats a great way to annoy a user!
Thats one of the advantages of not using an existing toolkit. If the application has to be rewritten for a new GUI, then you may as well rewrite the GUI against the new HIG while you’re at it. So you’re not stuck with an interface from another HIG, or worse, stuck with multiple applications with different HIGs!
Now certainly we could have stuck with X and one of the many existing toolkits, but all that gives you is another Unix. A GPL Unix kernel running X. Thats been done! I think that projects like Berlin (Or Fresco, or $NAME_OF_THE_MONTH) are wasting a lot of their time doing things like Alpha transparent spinning windows. It makes an impressive screenshot but it isn’t useful.
AtheOS and Syllable have concentrated on making it useful first and then worried about features. The 2D rendering core, appserver and GUI API are nearing completion already. Only in the last release did we start to add things such as Video Overlays, and there is still no
support for thing like DRI or hardware OpenGL. No doubt we’ll add them in the future, but the point is that if we had spent our time working on those features first, then the entire system would have spent a lot of time in an unusable state. Sometimes a slightly more pragmatic approach can pay off!
ROFL Eugenia – the Greeks have unique ways to illuminate a subject ๐ I really should try Syllable.
Syllable does in fact have a set of User Interface Guidelines. I should know, I wrote them. They’re available on the wiki at http://wiki.isaksson.tk/cgi-bin/zwiki.pl?id=RFCs/User_Interface_Gui… . They went through many, many rounds of discussion on the old AtheOS list, the Syllable list and the wiki, were generally accepted by the community and then subsequently ignored, as these things tend to go .
I was planning on doing an interface audit at some point, but that will have to wait until there’s a version of Syllable that’s easy to install on VMWare.
Yes, fair point Although the Wiki appears to be down at the moment. As it is, most developers are following your UIG in a lot of places (E.g. the menu layouts, general GUI layout) so we have a win there already. The final decision was to take your UIG and the HIG (Probably from Gnome) and combine them to create the definitive Syllable HIG.
I apologise if you missed out on that decision. I guess my only defense is up there in the answer to Question 1!
But I didn’t suggest to use X. Sure, that would be pointless because it wouldn’t be much different from what we have already.
But if the GUI would be based on an already existing one, you would not just save years of refining and improving the toolkit, you would also make porting an incredible lot of important applications very easy (applications which would perfectly follow “your” HIG if you took the GNOME HIG for example). Of course a year and a half ago I would have said “screw it, they aren’t worth it”, but they have improved so much and so quickly…
Are some people actively working on the Syllable Toolkit btw? It looks to me as if most work would happen at the kernel/driver level or applications anyway but this might be a wrong impression.
Thats a fair point about using an existing toolkit, but you have to remember that when Kurt started developing AtheOS GTK+ didn’t exist and Qt was certainly not GPL’d. So in the end the display architecture and the toolkit have been developed hand in hand, and we now have something that works. Re-writing E.g. Qt so that it ran on the Syllable appserver may be technically feasible but the effort involved could now go into making the Syllable toolkit better. Using an exiting toolkit would also create a psychological barrier for a lot of people too (After all, why use Syllable if you can use the same toolkit with X on Linux?) Think of it as a clean break with the past!
Henrik is working on both the GUI and the appserver, along with the occasional patch from Rick and myself, and then there are also external patches that get fed in, too. The GUI and appserver will be a pretty major focus for the 0.5.x development as we want to get the API complete and stable.
Becareful yeah don’t become too popular otherwise RMS will be after you to call it GNU/Syllable, given that you use the GNU toolchain and all ๐
Can anyone tell me how Syllable and OpenBeOS compare?
I’ve run BeOS, but never Syllable. I see mention of the “appserver” in Syllable, a la BeOS. I see Syllable stress clean APIs and not reinventing the wheel… also like BeOS. So to me they sound vaguely similar.
If I’m looking for a clean OS to play with and maybe hack on, why would I choose one over the other? FYI my background is Linux but the lack of a clean API set and lack of a single vision makes me sick.
Thanks.
>Can anyone tell me how Syllable and OpenBeOS compare
Syllable is usable. OpenBeOS is not.
“the whole village is on fire but she just wanna comb her c*nt”
wtf? I’ve never heard that expression before. Is there a good story to its origin?
i think the scary thing is that it’s long enough to be combed in the first place ๐
Can the editors of OSNews please actually edit the stories they post? This site gets lower and lower on my priority reading list for every misspelling and blatant grammatical mistake I stumble across. One or two I can maybe understand, but one or two means they took the trouble to proofread. It’s pretty obvious they don’t give a crap about a language without a built-in debugging ide.
> It’s pretty obvious they don’t give a crap about a language without a built-in debugging ide.
Exactly. I don’t. Read my profile for more info.
>wtf? I’ve never heard that expression before. Is there a good story to its origin?
It is a saying in the area I am coming from from the rural mainland, Ipeiros.
I’m just as much in favor of correct spelling and grammar as the the next guy, but I don’t think it is fair to be so critical when the native language of the _volunteer_ editor isn’t English.
Are there plans for the Syllable API to be source-compatible with the BeAPI?
I would advocate that Syllable adopts the Gnome HIG, which is _researched_ already by Sun and other vendors. There is absolutely no reason to re-invent the wheel on this specific matter. The Gnome HIG is very good (when it is followed) expect of this specific instance:
http://mail.gnome.org/archives/hig/2003-June/msg00000.html
Syllable is usable. OpenBeOS is not.
In my opinion this is only partly true and depends on how you see it. If you consider you can use BeOS as a base and run parts of OpenBeOS from there, it is MORE usable than Syllable since this environment is more complete.
Otoh going 100% OpenBeOS is not possible today, but the BeOS compatiblity enables you to get into OpenBeOS gradually.
expect of this specific instance
The HIG doesn’t really _force_ you not to use borders on your frames though, it just recommends bold header without borders and states “use borders only when absolutely sure they are necessary”.[1] So I think that in your special example (using two vertical aligned frames), using borders is acceptable.
Many applications also still use frames with borders (like the original dialog from Ximian).
[1] “Before you add a frame with a visible border or separator to any window, consider carefully if you really need it.”
It’s probably worth noting that the first line of the Syllable UIG has been “Read the GNOME Human Interface Guidelines” for quite some time, so I guess I’m one step ahead of you guys .