Logo

Issues

Mar - Oct 2005

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


Links

Syllable
OSNews

August 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 666 (eek!) mailing-list posts in August, making it the third busiest month in the project's two-year history. Lots of progress made both in terms of code and the community, leading up to the the 0.5.4 release which should be the best Syllable yet.

Contents




1. Website redesign

After many hours of tweaking, tuning and testing, Brent P Newhall was pleased to announce a major overhaul of Syllable's website. Much of the original site was out-of-date and cluttered; Brent's redesign strived for simplicity and friendliness instead. Just about every page and section was revamped, with new content, corrections to existing text, and cosmetic tweaks all round. Various developers posted positive messages and appreciation, including project lead Kristian Van Der Vliet (Vanders):

Nice work Brent, thank you for all your hard work over the last month and especially thank you for listening to everyones ideas and concerns (Even when they directly contradicted each other!)

A few bugs and glitches still remained, and Vanders, Daniel Gryniewicz, Kaj de Vos and others chipped in with suggestions. Best of all, the new site is much more usable in Syllable's two web browsers -- ABrowse and Links2.




2. OSNews and Slashdot

Small OS projects have a hard time grabbing attention and generating interest. They're not major enough to appear on the average user's radar, but they still need new developers and testers to bloom. With experience as a Linux mag writer, Michael Saunders wanted to bring Syllable some new publicity -- so an article on the popular OSNews website seemed like a good start. Here's the link; it provided a quick introduction to the OS and its history, along with a look at the installation procedure, desktop and software, and finished with some words from project lead Vanders.

OSNews alone brought in several thousand readers, but there's one sure way to catch every geek's eye: a Slashdotting. Vanders managed to get the article on Slashdot's front page, launching a massive assault on the project's webserver, as Brent pointed out:

I can say this: Syllable.org got 65,314 hits in all of July. In just the first three days of August, we've seen 214,383 hits.

Henrik Isaksson's Wiki for Syllable development also saw a surge:

Under July, the wiki had a daily average of 165 hits (5128 in total). During the first 2 days and 18 hours of August, it has had 8413 hits. The vast majority of these hits were today.

A few days later, Brent posted a summary of the hits:

Date - Hits
-----------------
Aug. 1 - 1,420
Aug. 2 - 150,235
Aug. 3 - 80,391

In general, the article was well-received and generated a great deal of discussion (79 comments on OSNews, 397 on Slashdot). Those who followed AtheOS in earlier times were intrigued by the project's progress, and those who'd never tried it before gave it a test run. Moreover, the mailing list became busier with various new faces appearing, and a few hundred thousand computer users were now aware of Syllable's existence.




3. New VMware image

When dual-booting is out of the question, emulators and virtual machines such as QEMU and VMware can be a life-saver for running Syllable. xsdg was looking for an updated 0.5.3 VMware disk image, and Daniel Gryniewicz happily obliged:

I've created an image from the current LiveCD, and uploaded it to http://www.fprintf.net/syllable/Syllable-0.5.3.tar.gz It's 32 MiB zipped, and about 150 MiB unzipped. It just has the stuff installed by the LiveCD, no dev tools. But, it boots... ;) I'll see about getting dev tools and whatnot installed.




4. GUI refinements

Michael Saunders was working on the window decorators (ie the border graphics), updating the appearance and fixing a few glitches along the way. He posted his enhancements to the Windows-like decorator:

As Syllable newcomers will often want familiar surroundings, I've done an overhaul of the Win98 window decorator. The patch is attached to this message, and the changes include:

# Added a minimize button (and handling code)
# Redesigned buttons and spacing to be more Win-like
# Fixed corner resize controls
# Created a new Syllable-logo icon for the left side
# Fixed rendering glitches on window edges

Some of the improvements can be seen in this image:
http://msa.section.me.uk/syllable/win98-update.gif

He also updated the BeOS-esque decorator:

Another decorator patch, this time for Beish. Changes include:

# Titlebar height and buttons made real BeOS-size
# Font properly vertically-aligned
# Fixed right-hand edge of titlebar rendering
# Fixed inside shadow frame drawing

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

Meanwhile, Spike Burch gave the Whisper email client a spiffy new set of Bluecurve icons, bringing it in line with the new Dock:

I have been working on replacing the icons of Whisper-0.2.0 with BlueCurve icons (screenshot: http://www.cuodan.net/~spike/Syllable/Whisper/Whisper-BC.png)

If any of you would like to download the source and compile it and try it, you can get it here: http://www.cuodan.net/~spike/Syllable/Whisper/

Spike also gave AEdit, Syllable's text editor, a new lick of paint with similar Bluecurvy loveliness.




5. Fixing ATAPI

Many users had been reporting CD-related problems with recent Syllable releases (particularly when booting), so Vanders started work on an updated driver. His announcement:

As you know I've been working on fixing ATAPI, trying to get rid of all the current boot problems we have with Syllable CD's. On all of my machines I have tested the new driver on it works fine; the old driver only worked on one or two of those machines before, and it was flaky. It would be better however if more people could test it on as much hardware as possible. There is an ISO of a test disc at http://www.liqwyd.com/syllable/0.5.3t.iso.tgz This is a stripped down installer disc (The installation packages are missing) with the new ATA driver. If I could ask as many people as possible to download this image (NOTE: Rename the extension from .tgz to .gz!), ungzip it and burn it.

Shortly after, he posted with details on CD-DA and integration with the media subsystem:

Just to let you know I've checked in my ATAPI fixes. I have also re-written the CD-DA portion of the driver and it now works very nicely. I am in the process of writing a proper CD-DA media server plugin, so you'll be able to playback audio CD's with CD-DA...or even rip & encode them with MediaConvertor (It can encode at least to MP3..) A proper Ogg Vorbis encoder and a proper ripper would be nice, but I don't have time!

James Hayhurst and M Jason Stewart reported success with VMware and Virtual PC 2004 respectively. A few issues came up, but on the whole it appeared to behave better than the old driver.




6. Usability thoughts

Jarret R pointed to an article on user interface design, and suggested that removing the 'Save' menu item and file chooser windows could benefit newcomers. Jarret also spoke about the concept of Universal File Identifiers:

This makes a lot of sense to me. You should be able to move any file to any path and the system shouldn't really care. This seems to me to be something that Syllable could implement easily. I'm not up on the afs code, but I assume we would have to modify the database format for the primary key to be the ID instead of the filesystem. Someone with more afs experience could speak to this better. The end result strikes me as important though. For all I know, we already do this :)

Bram Van Dam wasn't too chuffed with the idea of removing 'Save', explaining that such a modification would cause problems unless the user could revert to any previous file. He added "I don't like it when programmes do things without explicitly being told to do so." Meanwhile, Pierre Ecochard commented that unique features are essential for an OS break into the market: "I think there's no future under the sun for a new OS that wouldn't somehow break the rules ... People will install it because they'll feel it's a must-have. Something refreshing. Something that changes your life as a computer user."

Vanders offered his musings on the 'Save' debate:

Removing "Save" as an implicit command has been floated by several authors over the years. In theory it is a good idea; all data becomes persistant. In practice it has practical problems; what filename should the application use for the first save? Do you ask the user at startup, or when you want to save it, thus introducing what is in effect a modal dialog? What if the user *didn't* want to save their changes? Automatic saving only works if you have a perfect (And I mean *perfect*) undo mechanism. This basically means that you must have versioned files, and a suitable user interface that allows the user to easily see which version of a file is the "correct" one and allow them to roll back.

William Rose, Chad Humphries, Tolgyesi Peter, Matt Emson and others threw their thoughts into the mix, and Asko Kauppi put forward his suggestions...

I think the solution could be:

- Each app remembers open windows (incl.location) ála OS X Mail (as discussed)
- 'Close all' menu item and/or 'close all at exit' preference will allow clearing the workspace from leftovers (remember, restarting the program won't do this)

- Save & version control unified (system-wide) as follows:
  • Save: store the current state of a doc for later 'revert'
  • Save..: store a _copy_ of the doc (without versions) to a new name
  • Revert: go back to last revert position (last save, or empty doc)
  • Revert..: go back to named revert position (= choose from version history)
  • Save version: Save + start a new version. Should ask for version comments (to be shown on 'revert..' later)
This would be pretty nice, imho.

From here, the conversation went off in various directions, with file versioning, backups, application save-states and undo/redo becoming the hot topics. Michael Saunders and Spike Burch both noted that this could be a solution in search of a problem, and the cynic came out in Michael: "'UI experts' and self-styled 'human-computer interaction specialist analysts' have to keep the money coming in -- so they're ALWAYS telling us that our way of working is wrong, slow and ineffective, and that radical solution $FOO will revolutionise the world (only to be replaced in two years)." Then Brent, Bram and Michael considered the Pico-like method of auto-saving, with a specific directory for users to retrieve files after crashes.

Vanders posted some notes on a transaction-based filesystem ("I'd love to see a transactional filesystem; creating and committing copies of files at the FS level seems to me to be a very elegant solution to the problem of making data more persistent"), and Brent suggested:

For now, we can add another requirement for a "well-behaved" Syllable application: Document-based applications in Syllable must frequently save a working copy of the document in ~/Settings/[appname]/Backups/. When the application launches, the backup copy is compared with the saved copy. The most recent of the two is displayed. [1] The "File" menu must contain a "Revert to Saved" item, which reverts the working copy to the saved copy.

Towards the end of the discussion, Vanders elaborated on when and how these ideas could be implemented in Syllable:

Given that we're between releases 0.5.3 and 0.5.4 and several years at least from 1.0, I don't see much of an issue with just waiting and doing it once, and doing it properly. I can't imagine anyone is in that big a rush to implement a system like this.




7. Sourcery updates

Rick Caudill announced a bunch of new features for Sourcery, his IDE for Syllable. Among them are more elegant line numbering, a Ruby plugin and basic drag-and-drop functionality -- also, a screenshot in the post demonstrated the progress being made.

It has been another great day of programming and Sourcery is definitely going to be released right after 0.5.4... There are some things that still need to be done, but nothing that cannot be done in time for 0.5.4. So anyway, the tools dialog/tools edit dialog are both back in place and i am finishing up other little features/bugs now :) Here(http://www.freewebs.com/syldesk/screenshots/sourcery.png) of the updated Sourcery. This just shows the main screen, but it shows some of the features that have been implemented in CodeView.

Spike Burch was pleased, and Henrik Isaksson commented on some proposed features.




8. Dock alpha 5

Arno Klenke released alpha 5 of the Dock, Syllable's new desktop (screenshot). Developers on the list have found it to be stable and functional, so Arno set out to integrate it with the main Syllable source tree; it should be in the next OS release:

Dock alpha5 is out. Changes:

*The registrar will get notified if a client that accesses the registrar database has crashed. NOTE: This feature requires the appserver patch that I posted some time ago.
*Fixed node monitoring of files
*Files/Directories can be moved
*A menu item "Move to Trash" has been added and the Trash folder offers a menu item "Empty".

Downloads:
http://www.liqwyd.com/arno/dock-alpha5.tar.bz2
http://www.liqwyd.com/arno/dock-alpha5.src.tar.bz2

P.S.: This might be the last standalone version of the dock. I will now start to integrate the shared code into libsyllable.




9. LiveCD release 4

The Syllable LiveCDs have been a major success, giving interested bystanders the opportunity to test and explore Syllable without the chores of partitioning and installing. BurningShadow had been working busily on his next LiveCD release, which makes use of a RAM disk driver developed recently by Vanders:

This LiveCD is based on LiveCD3, but makes use of a RAM disk, which makes it stable, without the need for floppy disks, or other obscure things. It's as easy as it can get: Download, Burn, Boot!

This LiveCD does not include the possibility to install Syllable. By downloading InstCD1 you can get a Syllable installation, similar to this LiveCD.

http://syllable.burningshadow.dk/news.display.php?id=13

Info on this latest release was posted on OSNews, giving another publicity boost for the project.




10. Input system rewrite

Henrik Isaksson proposed a rewrite of Syllable's input system (for interacting with devices), and had already worked on some code:

I've been talking about it for months, but now I finally started to rewrite the input system, more specifically the keyboard part of it, in order to add support for "global hotkeys" and keymap switching. This would also make it possible to write drivers for things like the Creative Audigy IR remote control...

In terms of future plans, Henrik suggested an API for dealing with global hotkeys, separation of raw key events from strings (to allow for multi-stroke input methods used in some languages) and extending the range of raw key codes. Matt Emson noted:

Wouldn't it be better to create an "input server" as a seperate process. This would create simplicity, modularise another section of the OS and would also give the possibility for restarting the input server without nasty kludges via the app server.

[ ... ]

I know this is a BeOS thing *again*, but Be went down this route from an original design not unlike that of Syllable. They also removed the graphics drivers from the App Server too because of the issues this caused (no driver, no OS - even via serial/telnet IIRC, also the AppServer implementation was less than optimal and didn't suit future expansion.)

Henrik thought this could be doable, and had a few more ideas.




11. tmpfs 1.4

Daniel Gryniewicz anounced tmpfs, a filesystem based on Syllable's RAM disk implementation:

What is tmpfs? Tmpfs is a memory based filesystem. It has no disk backing whatsoever, but is entirely in memory. The goal is to have a full featured filesystem, including attributes, indexing, and so on. It's mainly a playground for me to have fun with.

Changes since 1.0:
- Proper list code
- Directory cookies with walking
- Directory listing should be fast now
- UID/GID/Permissions
- No longer is everything 0777 and owned by root:root
- Slightly improved (and documented) locking
- Internal API improvements
- The tree-related code is now separated out, so the single list can be replaced with something else, if desirable.

This should now have the full Unix filesystem semantics. It should be usable in place of any disk based filsystem without attributes.




12. Fun and games

The heated debate over the value of 'Save' in apps (see item 6) got too much for Brent P Newhall -- so much so, in fact, that he declared war. "Hundreds of thousands of potential Syllable developers have already flocked to Newhall's banner and his temporary headquarters just south of Washington, D.C., in his newly-announced country of 'Unsavia.'" In preparation for the imminent battle, Brent started crafting a national anthem to unite the anti-savers.

However, Joey Reid beat him to it with this thoroughly rousing work:

Long Live Unsavia
--------------------

Unsavia! We long for you,
Your vast untitled wilderness
Untitled-1, we love to run
And often just to kill the best...

Feature that have stood for years
Tear them out midst Vanders' tears
Flags unfurl and Rocket burst
as our brave soldiers do their worst
Long live Unsavia
Where data's never lost!

Unsavia! Unsavoury
These extra actions be
This "Quit" and "Save" go to their grave
Along with filesystem hierarchies

BeOS, Amiga, even DOS
Count their features all as loss
"desktop metaphor"'s a crock
And Arno hasn't even finished the Dock
Long live Unsavia
Where double-click's passé

But with versioned filesystems we'll get more
Of code Rick already wrote before!
Long live Unsavia
The land that saves itself



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