Logo

Issues

Mar - Oct 2005

Feb 2005
Jan 2005
Dec 2004
Nov 2004
Oct 2004
Sept 2004
Aug 2004
July 2004


Links

Syllable
OSNews

September 2004 Newsletter

Syllable is an in-development open source operating system for the home and small office user. The Syllable Development Newsletters are condensed reports on the past month's activity -- highlighting progress made and other project updates. For previous months, please see the links on the left of this page. Red text below denotes direct quotes from developers.

There were 812 mailing-list posts in September -- the most ever for the project in a single month. No doubt this number can be attributed to the latest release and recent publicity, but new developers are coming on board and progress is accelerating. Naturally, the main highlight this month is the release of 0.5.4; many other developments and discussions took place though. Read on for the summaries...

Contents




1. Syllable 0.5.4 released

It had been a long five months since 0.5.3, with a great deal of development taking place, and finally the new version was available. Project lead Kristian Van Der Vliet (Vanders) made the announcement towards the end of the month on September 26th, but being the most significant news this issue it deserves to be mentioned first. Vanders' mail:

The long awaited Syllable 0.5.4 is now available! This release includes a completely new Desktop and Registrar server which adds important functionality to Syllable.

The full change log reveals all, but the most important changes are of course the new Desktop, Dock and Registrar by Arno Klenke, new USB OHCI and EHCI drivers, a 3Dfx Voodoo driver and support for language translations. There is also the usual clutch of libsyllable updates and bugfixes. We hope you enjoy the new Syllable!

The comprehensive changelog was pasted beneath; it can be found here. Meanwhile, screenshots of the desktop work in this release can be found at Syllable's website -- the first six (those mentioning the Dock) all illustrate the changes. Among general cheering and celebration for the release, a few questions were raised, and Vanders put together a post explaining some of the changes (and, er, South American geography):

1) Why does 0.5.4 use ZIP?

With the release of the new desktop Syllable relies on file attributes to function properly. Rigid archive formats such as GNU tar are incapable of storing file attributes, so it is not a good format to distribute Syllable software with any more. Zip; in particular Ruslans port of the Info-Zip groups Zip and Unzip tools, can store and restore file attributes. So Zip has become the favoured format for distributing native Syllable software and over time will probably replace Tar completely.

2) Where's Locator?

It has been removed in 0.5.4. It never really worked and the GUI was very, very ugly. Replacements for Locator are welcomed!

3) Where's [thing that was available before 0.5.4 but isn't included]?

Some patches and new drivers were not included in 0.5.4 for various reasons. Either the patch arrived late and could not be included, the patch was not checked into CVS by the relevent maintainer, or the driver was not included because it had not been submitted for inclusion. Below is a rough list of things which will be in CVS soon but did not make it into 0.5.4:

o An updated Dvorak keymap
o The VMWare video patch
o GeForce FX & nVidia driver changes
o SiS 9xx NIC driver
o nForce NIC driver
o tmpfs
o Bluecurve icon changes

The SiS and nForce NIC drivers STILL REQUIRE TESTING! If you have a suitable NIC PLEASE TEST THESE DRIVERS and let Michael Kruger know if they worked or did not work.

4) Where are the boot floppies for 0.5.4?

I havn't built them yet. Because the base installation is now a ZIP file the boot floppies must include an unzip binary. This is far more complicated than you might think; the floppies are very out of date and will require a major overhaul to update the available libraries and other system components. Floppies should be available later this week.

5) What is the capital of Bolivia?

The government sits in La Paz, although the legal capital is Sucre.

With the release arriving just before this newsletter was written, there wasn't much time for discussion. Nonetheless, from comments on OSNews and the website's forum, those who'd given it a spin seemed happy with the desktop work -- and were looking forward to more.




2. IRC channel activity

Internet Relay Chat (IRC) is a simple and speedy system for instant online communication, similar to Web-based chat-rooms but with more versatility and no browser overhead. Syllable's channel is #syllable on irc.freenode.net and had been fairly quiet for a while, as William Hoggarth noted:

The Syllable IRC channel is hardly used. Partly because it is not mentioned anywhere on the site. However it is suprising the number of new people who turn up looking for help. Perhaps it might be a good idea to put a link for it on the website. It would be good if there were people on hand to help when Syllable next gets OSNews'ed or Slashdotted.

Spike Burch hadn't seen many core developers in the channel, and Vanders said he'd try to spend more time there. Website maintainer Brent P Newhall added some info on the front page hoping to generate more activity; by the end of the month it was busier than before.




3. GeForce driver updates

Taking a break from his work on the new Syllable desktop, prolific coder Arno Klenke announced a bunch of updates for the GeForce video card driver:

I have done some updates on the geforcefx driver. Basically I have imported the code for the older geforce chips from the X11 driver. This might speed up the rendering a little bit because the geforcefx driver uses a dma command buffer and not mmio registers. If the driver works on the older geforce cards then the "nvidia" driver will disappear and I will take the code for riva 128/tnt cards from it and put it into a seperate "riva" driver. So all in all the changes are:

*Support for GeForce 1/2/3/4 cards

*Support for GeForce 6600/6800 cards

*Better mode calculation

The driver is available here: http://www.liqwyd.com/arno/geforce.tgz

All GeForce owners, please test it!

Vanders and Henrik Isaksson tried it out and were very chuffed with the results, as was LiveCD creator BurningShadow:

Today I got home with a GeForce2 MX/400, installed your driver, shut down my PC, inserted the card, and booted. See, this is one of the things I love about Syllable. It took my less that one minute to download/install the driver, but with Windows it took more than 10 minutes, before it finally worked. This is exactly what makes Windows so "user friendly", and why people will start using Syllable, in a few years from now.




4. Musings on menu bars

A long, but interesting, discussion on the merits of having fixed menu bars. Spike Burch suggested that Syllable adopt the designed used by Mac OS and others; appserver hacker Henrik Isaksson chipped in with "I would say it's illogical. If everything else moves with the window, why should the menubar be different?" Anthony Jacques added his thoughts:

FWIW Atari / DRI used to use this in GEM too. Personally though I agree that its inconsistent. When you change the focus from one app to another, the menubar changes, right? Thats surely got to be confusing if the menu bar is not viewed by the user as linked to the window that has focus. The concept works if you only use one app at once, but then you might as well have a fullscreen window too (which is basically what GEM did).

Jarret R agreed, saying "Apps should only use the space I give them, not take over other parts of my screen." Shortly after, Brent P Newhall joined in the debate:

I've gotten used to it on MacOS. I can see both sides of the arguments, and wouldn't mind a fixed menubar.

My problem with fixed menubars is that, in the applications I've written, the menus have tended to be significantly different on each window. It actually has made more sense for the applications I've written to have a menu on each window, because the menus were very window-specific. But, again, I wouldn't fight a fixed menubar in Syllable.

Chris Dennett gave a thumbs-up to the fixed menu bar concept, explaining that he was familiar with it from the Amiga's Workbench desktop, while Ross Schulman pointed out that such a design made the menu 'infinitely tall' and thus easier to hit with the mouse. Bill Sanders had been lurking in the shadows, creeping out to stir his thoughts into the discussion:

I think this is one of those things where there won't be a general agreement. I've been wondering how Syllable will handle this, as a team/project.

Do we set forth like Gnome and MacOS, and say "No, this is the way the interface should look like, don't worry its better for you in the long run"

Or do we do what KDE does? "We're not going to tell you how to use your computer... so here is every option possible, for your choosing. (oh, and if you're familiar with a couple other OSes, here's some defaults like them)."

The debate continued; David Feugey pondered about RISC OS style context menus, and Vanders summed up his beliefs as the thead came to a close:

Syllable will not have a fixed menu bar.

The one thing fixed menus have going for them is that they are technically "infinitly high"; that is the user can just shove the mouse up and the pointer will always hit the menu bar. This only applies on the Y axis however; the user still needs the manual dexterity to move the mouse to the correct position on the X axis.

On the downside the constant increased movement from the window to the menu bar increases the excise on the user and decreases their work flow. It causes a disconnect between the window and the menu. It is disorientating to have the contents of the menu change when the window focus changes. It uses up valuable screen real estate which can be put to better use.

The negatives far outway the positives, in my opinion.




5. ColdFish Dock plugin

Terry Glass announced a plugin for ColdFish, Syllable's music player, allowing it to be controlled from the new Dock panel:

Well I think I've managed to squash any glaring bugs in my latest project, so I'm pleased to announce Coldfish Dock Plugin 1.0 beta1.

This little plugin allows you to control a running instance of Coldfish from Arno's Dock. It requires Arno's "integration" version of libsyllable. It requires my modified version of Coldfish. It may require the integration version of Dock. I'm not exactly sure as I've only tested using the integration version.

Here are the files you'll need.
http://zorak.42geeks.com/Syllable/coldfish-9-11-2004.tar.bz2
http://zorak.42geeks.com/Syllable/coldfish_dock_plugin-9-11-2004.tar.bz2
http://zorak.42geeks.com/Syllable/libsyllable.so.5.bz2 (If you haven't installed it already, copy it to /system/libs)

BurningShadow was pleased with the work, and made a few proposals for improving it.




6. New Flash demo

Michael Saunders created a Flash demonstration of Syllable in action (including the new Dock), allowing newcomers to see the desktop in use without having to install the whole OS:

After testing the, er, test one, I've made a proper Flash demo of Syllable in action. As opposed to the old one, this includes the new Dock, shows various apps running, has no funky soundtrack (size constraints) and is only 1 meg. See here:

http://www.zen31174.zen.co.uk/syl-demo.html

Spike Burch wasn't too happy with the frame-rate, asking if it could be improved -- and Michael responded:

Not without making the file 10 megs instead of 1, or making it last only a few seconds :-) That's the tradeoff, and really it should be seen as a moving slideshow of Syllable in action rather than a representation of its performance.




7. Sourcery, Tmpfs, Unzip

A few news snippets. Newly married Rick Caudill, despite spending time with his job and wife, was still managing to put aside the odd hour here and there to work on his Sourcery IDE. Early in the month he posted:

It has definitely been a while. Sorry to all, but I am wrapped up in a lot these days, but I am still here and Sourcery is still cracking along. So anyway the wedding went great :) I married the most wonderful person in the whole world :) Lana and I are creating a website and it should be up in a matter of a couple weeks. I will keep you all posted :)

Rick was then quiet as a mouse for the rest of the month, but just before September was over he posted another update:

I know I should be studying for my exams, but I am so tired of studying so I decided to upload a new screenshot of Sourcery for you all to enjoy. You can view it here:

http://www.freewebs.com/syldesk/screenshots/sourcery-latest.png

This screenshot shows the updated Settings Dialog(0.5.4) and the ruby plugin :) It also shows the beautiful BeIsh decorator :) Now back to my exams :) Two more to go... btw: Cobol exam was perfect, need a little work on my math for logic and switching theory(hardware related) though(still pulled a 'b') :)

In a separate thread, Daniel Gryniewicz provided some brief info on his latest Tmpfs work:

I have just uploaded tmpfs 1.5 to my website.

http://www.fprintf.net/syllable/tmpfs-1.5.tar.gz

Changes since 1.4:
- Attribute support
- A couple of bugs squashed

Lastly, Ruslan Nickolaev gave a quick update on his recent efforts:

I have not so much time for Syllable developing now and my work isn't so great now.

But I want to inform that Info-Zip accepted zip/unzip patches for Syllable. Syllable uses host number #30. However zip/unzip should be updated because previous version of that used 19-th host number.

zip 2.3-2, unzip 5.51-2: http://syllable.nm.ru/Info-Zip

Please don't use previous versions because all archives created with prevoius versions are unsupported now.

Also I wrote some compile instructions: http://syllable.nm.ru/Info-Zip/compile.txt




8. Website work

Brent P Newhall, who assembled the new website (see last month's newsletter), detailed his plans for his own Syllable documentation site:

Here are my plans for SUB (and this goes out to _everyone_):

I would like to see SUB grow into a full user manual. I envision a living document, always on the web and thus always available and always up-to-date (as much as possible). I'd love to see the official Syllable documentation integrated into SUB as well, so that each release of Syllable also contains the latest copy of SUB, installed locally on users' hard drives (perhaps only on the Premium CD).

I envision a "Buy Paper Copy" link on SUB, which directs users to a print-on-demand service that will create and mail them a printed book generated from that very moment's version of the SUB website.

As such, I'm open to re-arranging SUB and expanding it to cover as much of the Syllable user experience as possible. This is another reason why I want to move the programming content to a separate website, to provide room for user content.

I'm using the BeOS Bible as a template and inspiration for SUB's structure and general level of detail, incidentally.




9. GUI improvements

Syllable's new desktop brought about a change from Krystal icons to their Bluecurve equivalents, as used in Red Hat Linux and Fedora Core. Spike Burch updated some of Syllable's most popular software to reflect the changes:

ABROWSE WITH BLUECURVE ICONS HAS ARRIVED!

Screenshot - http://www.cuodan.net/~spike/Syllable/ABrowse-BC.png
Binary - http://www.cuodan.net/~spike/abrowse-bluecurve.tar.gz

just extract the tarball in your home dir (warning - will replace abrowse, i believe)

Meanwhile, Michael Saunders continued his work on the Beish decorator -- this gives Syllable windows a BeOS-esque appearance.

Ugh, I have a terrible cold. So might as well hack around with the Beish decorator! This is nearly finished now; a couple of glitches need tidying up and some old code should be removed but I've been using it regularly without problems. Here's how it looks currently:

http://msa.section.me.uk/syllable/beish-update.gif

I've set the Depth button to act as minimise -- so if any BeOSers have any objection to this, please let me know. Download the binary here:

http://msa.section.me.uk/syllable/beish-update.tgz




10. Developer interaction

Following a scuffle in the website forums, Spike Burch left the mailing list. The nature of the battle (see towards the end here) lead to some discussion. Michael Stolovitzsky posted a lengthy series of thoughts, trimmed here for brevity:

Why do we want Syllable? Why do *I* want Syllable to succeed? I don't care if it helps some guy from Peru not pay Windows license fees. I'm not deluding myself about a quest for instant liberation of the poor world from evil despotism of Gates. What I want is an operating system that will serve *my* needs, and I need it so desperately that I am willing to contribute my time and skill in any area I possibly can.

This is why Syllable's motto of being an user friendly desktop operating system must not be misinterpreted for even one second: it must at all times satisfy the needs of those who develop it - and right now, those are the only people on board. Personally, I don't expect Syllable to go to a state when it can be shown to general public as something to consider as a full time alternative for at least a year or so. It means that we ourselves will not be able to use Syllable as our primary desktop OS for a year.

Syllable is developing now; and more than ever. I predict that this year will be the most crucial year in Syllable's history. During this year, everything must be done to interest more developers; but what is even more important is not letting these developers slip away and begin doing things that Syllable won't need for another two years.

[ ... ]

Syllable has passed the dreaded infant mortality period. Its future is not contingent anymore; the criticall mass is here, and from now on the development will only be gaining momentum. Unfortunately, the development environment is so clumsy and scarce at the moment that I am often left jealous for the patience of the people who actually write code for Syllable. At this point, we must not concentrate on providing the non-existing users with transparrent window themes and live video streams; instead, we need to concentrate the developers' life comfortable.

[ ... ]

We need developers, and we need to do everything to make developers feel welcome. And as we are developers, we need to make ourselves feel welcome. Developers, not users, are Syllable's most precious commodity today and will stay so for quite a while.

Just as Michael was heading into Steve Ballmer mode, various other sub-threads appeared. Several developers expressed their views on some of the subjects raised, and Vanders replied:

Syllable is in a bit of an odd position. We need to strike a balance between developers and users. In that last few months we've leant towards these hypothetical users would want. Lets bare in mind that the places we have been pushing Syllable (E.g. OSNews, Slashdot) are really geek-oriented. We're really trying to pick up developers; the last round of articles seems to have achieved that. At the same time we have to focus our long-term goals on what the non-developer users would want. That's the whole point of Syllable after all.

[ ... ]

Arno, Henrik, Rick, Brent, nor myself are kernel hackers. I am probably the closest thing we have and I will tell you that I am not a kernel hacker. I can't even write x86 asm! We can try to fix these bugs; Arno and Michael K. have kept critical drivers such as the nVidia and Radeon drivers upto date. Brent has started to try and fix AFS. None of us are qualified to fix the SMP bugs (I may take Adam Kirchhoff up on his offer of hardware and at least *try* but I know that if it isn't a simple bug to track down it will remain unfixed).

Michael then elaborated on his ideas for package management, developer tools and the project's future.




11. NForce and SiS NIC drivers

Michael Krueger (yes, another Michael!) announced his latest driver work:

I have completed the port of the Linux 2.6 NForce NIC driver. It is tested with the NForce2 chipset of my Shuttle Box and should also work with NForce and NForce3. It can be downloaded from http://www.invenies.de/syllable/forcedeth-0.1pre1.tar.gz which contains both source and binary form.

The SiS900 NIC driver has been tested by some people now and for some it does work, for some not. In this state it won't be included in 0.5.4. As I haven't any SiS board that works with Syllable I have still no possibility of testing it myself. For interested people, it is still available from http://www.vr-web.de/~ruge.krueger/syllable/sis900-0.1pre1.bin.tar.gz (Binary) and http://www.vr-web.de/~ruge.krueger/syllable/sis900-0.1pre1.tar.gz (Source).




12. AEdit updates

Jonas Jarvoll made some improvements to AEdit, Syllable's default text editor:

AEdit 1.6 beta is available at www.nocrew.org/software/syllable. Please test it and give me some feedback. I want to make it as bugfree as possible before I release the offical version.

Changes compared to previous AEdit versions:
- Multiple documents can be opened and flip between using tabs
- Status bar has been added to give valuable information such as cursor position and messages etc.
- Some what code clean up
- Keep track of saved none saved buffers
- Warning if quiting without saving all buffers

Michael Saunders and Pierre Ecochard had a few suggestions, and a few days later Jonas released another update with the following changes:

- Cursor position is updated when switching tab
- Word "Buffer" is replaced with "File" in the text messages
- When starting Aedit without a filename a Untitled window is created automatically
- Switch between files using shortcut Ctrl+, and Ctrl+. (or through menu items)
- New shortcut for creating a new file (Ctrl +N)




13. Glibc progress

Glibc, the GNU C Library, is an essential component in Syllable, GNU/Linux and other operating systems. Vanders had been working on updating it to a more recent release:

I've just finished the first phase of my work to forward port the Glibc 2.3.2 Syllable changes to the latest CVS version of Glibc. libc.so.2 can be successfully compiled and code can be linked against it and run without crashing. I've also cleaned up a lot of the original patches I created during the port of Glibc 2.3.2; the changes for Syllable are now much cleaner and largely self-contained.

The port is not complete as a lot of Syllable specific stuff has not been implemented, but that work is comparativly minor compared to the initial work of porting from scratch so it won't take long to fill in the gaps.

I am now in a position to submit patches back up-stream into Glibc, if I can get a Copyright Assignment filed and if I can convince them to take them...

At this rate, I might actually get this finished before Syllable 0.5.5. It'll only have taken me a year and a half (Off and on)!




14. Early SDL porting

Many open source games and apps use SDL (Simple DirectMedia Layer) to ease programming and allow cross-platform porting. Michael Saunders looked into the feasibility of a Syllable version, and started by building it with a text-based front-end:

I've ported libcaca, a character cell-based rendering library, to Syllable. I've also made a quick and rough port of SDL using that lib, so (at a very limited level) some SDL apps can be run via the terminal. You wouldn't want to use these every day; however, it shows that SDL compiles cleanly and runs OK.

Screenshot below. The top one is a 'fire' demo, and the bottom one is Sanrio Carnival running in a Game Boy emulator. Both run spectacularly smoothly -- indeed, the demos give an FPS of 30+ on this 800 MHz box with VESA driver. It's really cool to watch. http://msa.section.me.uk/syllable/syl-sdl.gif

Shortly after, he ported the SDL version of Doom -- screenshots here. (Note that a native version of Doom exists.) There was general chit-chat about a proper Syllable graphics front end and the work required.




15. Non-pixel-based API?

Brent P Newhall started a thread considering the merits of a non-pixel-based API, ie a user interface and toolkit in which coordinates are specified as percentages rather than absolute locations. He said:

Wouldn't it be nice if the Syllable API provided a way of positioning components in a way that allows everything on a window to be scaled up and down? E.g., imagine an API where you specify screen percentages instead of pixel coordiantes (10% from the left and 20% from the top instead of 100 pixels from the left and 200 pixels from the top, for example). That way, when a window is opened, it's scaled appropriately to the resolution of the screen. Obviously, some GUI elements might not be scalable, but I think those would be unusual cases. And as screen resolutions increase over time, I expect this will become more and more handy.

Daniel O'Neill followed up with his own take on the matter.

Although using point sizes would make it a pain for some people in the area of wanting everything smaller, for instance- I raise my resolution for more desktop area, use smaller fonts too, things like this- something like a PSF could be implemented: Pixel/Point Scaling Factor, which could be built into the API along with a point-style scaling system, such that from the preferences one could reduce scaling on increase it, effectively reducing or increasing their resolution arbitrarily.

The advantage to this would be, for instance, having a desktop resolution of 1600x1200, with a perspective view of about 1024x768 of desktop area, and let's say an AVI movie playing with a size of 640x480, it could be scaled fullscreen and, with an impressive enough implementation, scale perfectly without changing the video mode and without compromising framerate or otherwise.

Discussion on possible ways to implement this system followed.




16. Links2 browser update

Links2, a compact, fast and reasonably featureful web browser, has been available on Syllable for a while; Michael Stolovitzsky updated it to the latest official release and made this announcement:

I patched, compiled and packaged links2.1pre15. It's a viable (in the terms of being actually useful) replacement for ABrowse.

Binary here: http://metamagi.org/syllable/links-2.1pre15-bin.tgz

To install, untar into /usr and do ``pkgmanager -a /usr/links2''
Then type ``links -g &'' in the command prompt

Enjoy :)

Michael Saunders proposed that Links2 become the default browser in Syllable, citing stability and performance reasons, while Michael Stolovitzsky mentioned that he was looking at the Firefox source.




17. Fun and games

Clearly, the pressures of being an open source project leader -- writing code, building releases and making decisions -- got too much for Vanders, and he flipped:

Yay, the Lord did deliver a clue to a Linux developer, and the Linux developer heard the clue and said unto the Lord "Yay Lord, how would thy have me implement thy clue?" and the Lord spake thus "You're a Linux developer; just hack it up!" The developer did ponder this and did say to the Lord "Yay Lord, how should I design the User Interface for thy clue?" and the Lord replied "You're a Linux developer, just make it ugly and poorly designed" and the developer did smile and say to the Lord "Oh Lord, you are most wise and full of clue. Your clue will be done" and the developer did create DBFS: http://ozy.student.utwente.nl/projects/dbfs/

And there was much rejoicing: http://linux.slashdot.org/article.pl?sid=04/09/06/1235236&tid=121&tid=1&tid=106

The other developers did look upon DBFS and did they said "Well someone finally got the clue and is making us of MIME super-type catagories, and the Views are perfect." but did also mutter "Well it's a start, but why implement it at such a high level? It's just Yet Another Non-Standard API Linuxism isn't it? The backend is clunky but I guess you can't rely on a proper DB capable FS on Linux or *BSD" and "I don't think much of those Keywords catagorisations. Anyone want to guess what `Inverted Mode' might be? Sounds scary to me." But the other developers were mostly pleased that the Lord had blessed another with his clue and in doing so had vindicated their ideas, even if the implemention was a bit fishy and the other developers didn't get there first.



Edited by Michael Saunders. If you have any other Syllable-related news, just drop me a line.