Today marks the tenth anniversary of the first release of Syllable Desktop, then plainly called Syllable 0.4.0. The original website and announcement are gone, and many other circumstances of the time have changed quite dramatically. The project is happy that Syllable is still here – which, judging by comparable ventures, is a feat to be proud of.
The project would like to celebrate by presenting the port of most of the Enlightenment E17 graphics stack to Syllable Desktop. This screenshot shows a 3D animation in the Evas canvas engine. (It shows tearing because the animation runs close to full speed and Syllable does not lock the display when making a screenshot. This is not present in the actual display.)
The Enlightenment Foundation Libraries constitute a cross-platform application framework, from a graphics engine up to a widget set and a desktop environment. The stack is modularised into more than ten packages, so Syllable can use only what it needs. Most of the stack is ported but not the desktop and not yet the widget set.
The Evas canvas is a scene graph rendering engine. It does not just draw bitmaps, or even vectors, but handles such elements as objects. Because it knows where they are, it can redraw and therefore move and otherwise manipulate them at will. This screenshot shows three Evas squares objects in a stacking order that can be changed.
On top of the canvas engine is the Edje layout engine. It can do all sorts of manipulations on its layout objects, including 3D transformations. This screenshot shows a text in a rectangle, transformed in a 3D perspective that can be changed and animated.
A number of subsystems that are common in other open source projects have been ported to Syllable Desktop to support Enlightenment. Font rendering is done by FreeType, which Syllable already used, and font management by FontConfig. Other libraries that Enlightenment supports can be ported in the future, such as FriBidi for right-to-left text and Harfbuzz for font shaping of languages with complex glyph interactions.
Enlightenment is an integrated stack. It can be programmed at a high level, for example in the Edje layout engine, but lower levels can be addressed when needed. The engine is consistent across these levels. For example, events are propagated through this stack until they reach their proper destination. This screenshot shows an Edje layout object programmed to swallow user interface events.
This graphics stack is running on top of the SDL subsystem in Syllable. Therefore, it is currently limited to a single window per application. In the future, a native Syllable backend could be written for Enlightenment. The latest version of Enlightenment was ported, the new E17 from a month ago. In this, Evas doesn’t have a specific SDL backend anymore, but integrates through its generic memory buffer backend. In a similar way, Evas could already be used in a native Syllable C++ application.
The project hopes to port the E17 widget set Elementary in the future, which reached version 1.0 only a few months ago, to complete this cross-platform application framework. They already have it working on Syllable Server. It is built on top of the Edje layout engine, so widgets can be manipulated in the same ways as Edje and Evas objects.
This screenshot shows an example of how a slider widget can simply be programmed on top of Edje.
Heck yeah
.. but why? What is wrong with the native Syllable API? Please – honest question, don’t take this as criticism.
Syllable is more interesting to me than Haiku because they are willing to try stuff without the historical garbage argument of Haiku (“gotta be r5 compatible look-alike even tho’ it’s sooo 1995”)
Honest question, what have you gained in usable features over using Haiku-OS?
Is the source to the Syllable-OS available yet? Asking since I don’t follow the Syllable forums often.
It seems to me that all sorts of systems/features are grafted onto the Syllable-OS but I don’t see how they integrate together.
Syllable has been floundering with no direction for years. A lot of good people have left the project because of this.
I mean, I give Kai props for trying. But from what I can tell, he isn’t best suited to this. He has a Qt 4 port with no UI. He has a GTK+ port lacking the GTK part. And this, but no widget set. Really? Why not bite the bullet and learn the native API inside and out. It’s no harder to learn than the BeOS API, and pretty much shares the entire metaphor. Plus, people have actually written commercial apps using the BeOS API… you know what… I own 3 or 4 of them too!! (Gobe productive being one that springs to mind.) The native API is heavily threaded, but you can learn threading in a few weeks if you really try. And most of the hard stuff is wrapped in (god, I think the namespace is correct here… been a while…) OS::Loopers, OS::Handlers, OS::Messages and such like.
Oh wow… “Throw everything at the wall and see what sticks!!!” Great way to create a stable platform.
Haiku is way closer to a stable and usable platform.
I really LOL at you entire stand point. Haiku, warts and all, has done some pretty freaking amazing stuff in the time it took Syllable to become completely irrelevant to the majority of the coders that once worked on it.
You’ll see my question above “Why..?” I ask because as I remember it Vanders was adamant that Non Native would never happen. But, till Kai explains the rational, I won’t prejudge any more.
((However, I predict that this layer exists in Syllable because it interfaces with whatever REBOL they currently use and they have a a really big uphill battle with the native threaded API play well enough with a single threaded UI context to make REBOL work well with it.))
You realize haiku is basically split right into backwards compatible and development versions? which correspond to GCC 2.9x and GCC 4.x builds which are even distributed *together* as one installation!
Seriously Haiku has uptodate ports of most software even Mesa though it is currently lacking hardware acceleration.
Haiku even has Java and Netbeans and someone ran Thinkfree office which I tried out on Linux and it is acutally quite good dispite being non free! Haiku is pretty much leaving Syllable in the dust usability wise.
Edited 2012-07-17 14:34 UTC
And once again I honestly ask, what has been gained by adding all these features?
Has it open access to any code/service that the other hobby OSs out there can not do? Or enabled the porting of key software that other hobby OSs still lack?
Your argument works MUCH better when pointed at Sylable… that much is plainly obvious thier features are at least currently not guided by any coherent roadmap at all.
Haiku on the other hand has been held together by the goal of being a BeOS R5 replacement for the R1 release… you are welcome to take shots at thier choices however the fact is they are making loads of progress because of them. You can’t even say that requiring themselves to use gcc2 and gcc4 is bad as it has probabably cause discussions on issues that have allowed the developers to gain a greater understanding of the languages and compilers they are using…. meaning they are more fluent in C/C++ than they would be if they stuck to contemporary modes of programming in C/C++. It also means thier code base is ready to be ported to other compilers such as clang (experimental builds have been done in fact).
Edited 2012-07-18 00:03 UTC
Syllable is pretty much dead at this point. The current programmers working on it may continue to do so as a hobby if they find that gratifying. However, do not expected it to be used as a primary… or secondary… or tertiary system by anyone but the programmers working on it. There are simply too many obstacles that Syllable needs to overcome in order to be a viable and attractive system.
The pace of development is just too slow while the functionality an operating system is required to implement to be considered usable in only increasing. The amount of man hours put into it is too little.
Syllable does not seem to have any direction. The modus operandi was for the system programmers to only work on the native API while they had no problem with external developers porting third party APIs like Qt, GTK, EFL etc… Not that them porting one of them is a bad thing… but what is the rationale behind doing it now?
There is practically no community around syllable. The forums are dead bar occasional posts from the Syllable programmers and a would be OS enthusiast who just started to explore the great many operating system stopping by before moving on to more promising platforms.
Syllable offers nothing new outside the status quo. There is just no incentive for one to follow and support syllable versus another more mature and promising platform.
In my opinion, Syllable needs programmers, direction, ambition and a community if it is to become anything but a tech demo.
There are more interesting systems in development like Genode and L4Re on the Fiasco.OC kernel. There is also Haiku, albeit less technically interesting that the other 2 mentioned.
+1 (As I can’t vote having already commented)
Easy answer: This was does because they could. It’s cool and interesting and if you don’t find it cool and interesting, well, don’t use it.
Does somebody actually use it? (apart from what devs it has left – and even in that case, I kinda doubt Syllable is their main OS)
great how you use to celebrate such an important date. With compiling/porting 3rd party code on top of SDL.
Instead of doing on development and celebrating development on the core system.
This is the expression of impotence, sadly. You know that you have not much to show, but somehow you must celebrate that important date for syllable.
I’m curious if kaj and vanders, if they would turn back in time, 10 years ago, if they would again start/continue working on syllable, if they knew that 10 years later if would come to this result.
Oh hello cipri, I wondered when you’d show up!
Myself? Yes.
I think, as a celebration of 10 years of syllable, it would have been (at least for me personally) more interesting to see an overview made by you and kaj, about the last 10 years of syllable. But a honest one (not one meant to make publicity for syllable). And explaining again, how all started, and what happened over the years. What where the successes and the failures. What where the major events (good ones, but also the bad ones(e.g. arno leaving?)). And making a status report and explaining what the current situation of syllable is, and what is planned for the future.
Even the current situation might be a bad one, i think honesty will not harm that much, in this specific situation.
Except I’m not involved with Syllable beyond paying for the domains and occasionally annoying Kaj by posting on the forums about code I wrote years ago and getting it wrong, and I personally have more interesting things to do.
Besides going over the past doesn’t change the present, unless you’re Dr. Who.
It will not change the present,but I think it could change the future.
An honest analysis of the past could help to identify the problems/mistakes of the past, and help to not to continue with them, or to not repeat them again.