Logo

Issues

Mar - Oct 2005

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


Links

Syllable
OSNews

December 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 267 mailing-list posts in December. By far the biggest news this month was the 0.5.5 release, but progress was made with various other parts of the system and many ideas were discussed in depth. Read on for the details...

Contents




1. Syllable 0.5.5 released!

Following hot on the heels of 0.5.4, project lead Kristian Van Der Vliet announced the latest release -- more evolutionary this time rather than revolutionary. His post to the list:

Syllable 0.5.5 is now available! This release includes new and updated drivers and a large number of long overdue kernel enhancements.

Highlights include an Intel i855 video driver, SiS900 and nVidia nForce NIC drivers, updates to drivers for nVidia Riva and GeForce cards and support for the GeForceFX 6600 & 6800 cards, better USB disk performance and enhanced PCI and ATA device management.

This release also includes a number of kernel improvements and bug fixes thanks to the hard work of Jake Hamby.

The full changelog is below, and for those of you with nVidia GeForce cards (Not Riva or GeForce FX) should make sure to read the upgrade instructions at the bottom of this email (Or http://www.syllable.org/docs/0.5.5/upgrade.txt)

He added the full changelog, which can be found on the main website here. Some users reported a few problems with booting (eventually narrowed down via logs and debug kernels to one of the kernel changes), but on the whole it proved to be another solid release. Users experiencing problems can run the 0.5.4 kernel without any nasty side-effects. Additionally, a problem with corruption of the initial ISO uploads was later corrected by Vanders.




2. ABrowse 0.4 alpha

ABrowse, Syllable's KHTML-based web browser, had been in desperate need of updating; although it was just about usable for basic tasks, the ageing KHTML version and abundance of bugs meant that many had been using Links2 as an alternative. Fortunately, then, the ever-busy Arno Klenke had been grafting hard on updating the crusty codebase and bringing ABrowse back up to scratch:

here is the first alpha version of ABrowse 0.4. It has the same features as the current old ABrowse release but is based on a newer version of the khtml rendering engine. Please note that this is an alpha version and so please post all bugs and problems you can find!

Download:
http://www.liqwyd.com/arno/abrowse-alpha1.zip

TODO:
*Bug fixes...
*Improve the http loader
*SSL support
*A plugin interface (and a port of the konqueror-embedded flash plugin + a media plugin)

Shortly after, Arno explained that he'd been using the KHTML engine of Konqueror Embedded. Several developers cheered the latest work, finding the rendering, stability and GUI improvements to be top-notch. Vanders posted:

I'd like to thank Arno for once again pulling a rabbit out of his hat and giving us such a wonderful peice of code. The core developers have been lucky enough to have tested Arno's new ABrowse for a little while know and it has been a delight; those of you who are already using this release will have seen how much faster it is already!

A few remaining glitches were pointed out. With web browsers being a crucial component of desktop operating systems, this work helps to bring Syllable in line with other open source OSes.




3. PowerPC port?

A side-thread from the main discussion of 0.5.5's release. Markus asked about the possibility of a PPC port (eg for Apple Macs), to which Terry Glass replied:

I've been looking through IBM's PowerPC pdfs, some OpenFirmware docs, and NetBSD source for the macppc port. I've got a fruity little G3 here I'd like to see booting Syllable some day, but I've never gotten close to the hardware on macppc. If anyone else is interested, I can slap up a page containing any notes, links, etc that I think might be useful for a future port.

James Whitwell offered to help where possible; this prompted Terry to explain the situation with bootloaders on Apple machines. From here, the discussion moved on to a technical look at OpenFirmware, with a few developers taking note of the work done in Haiku (open source BeOS clone).

Currently, most of the developers are concentrating on x86 PC hardware so a PowerPC port could be a while off. An intriguing prospect nonetheless...




4. Quick updates

A bunch of minor updates and goodies. William Hoggarth announced version 0.5 of Mandy, his fractal generator program:

Not a very exciting release just added support for localisation and made use of the new colour selector control. If you want to check it out it has an entry on the kamidake site.

A small webpage for Mandy can be found here. Meanwhile, Michael Stolovitzsky noted that he's now the editor of dmoz.org's Syllable section:

I'm very busy as of lately, and can't really find the time for anything productive. LXR is down, unfortunately; but the good news is that I am now an editor for Syllable category on DMOZ. If there are important websites that I missed, please comment!

Lastly, Marlon Paulse posted a patch for the user-interface side of Syllable:

I've created a patch that allows the TabView to display a popup menu when the user right-clicks on a tab:
http://www.psynoc.za.net/syllableware/download/tabview-tabmenu-patch.tgz

Here's a screenshot of what it looks like (the menu is not hard-coded):
http://www.psynoc.za.net/syllableware/screenshots/tabmenu.png

Can the maintainer of libsyllable please commit the changes to the CVS repository?

Appserver coder Henrik Isaksson was pleased with the work, and discussed a few implementation details with Marlon.




5. Software patents

BurningShadow wondered how the thorny issue of software patents could affect Syllable development. While not an issue limited solely to Syllable, it could still impact progress later on. Bram Van Dam replied:

That I do not know. But I can however say that European software patents will be quite different from American ones. The EU patent office, unlike the American one, actually reads the patent-requests.

Of course, they're still bad.
I'm not sure whether the EU can implement this without it having passed the EU Parliament; I'm definitely hoping it just can't ignore the Parliament though.

I contacted all the MP's I know about this. So if it does reach Parliament, at least a few people will end up grunting and throwing stuff at whoever brought it up ;)

Vanders also responded with his viewpoint on the situation:

If you mean the new EU shanigans then "Not much". If you mean in general then they already are because we distribute Syllable in countries with laws governing software patents and other such silly rubbish. We can't use the Apple patented bytecode interpreter in freetype2, we have to build ffmpeg without support for quite a few codecs, we'll never be able to ship a DVD playback plugin that can play encrypted DVD's etc. (The DVD thing is not really a patent issue but they are all IP issues)

Note that you, as the user, still have the ability to download the source code for Freetype2 or ffmpeg and build your own versions with these patented methods enabled (*cough* *cough*) Wouldn't it be great if we had some way of downloading and building software packages for Syllable easily and quickly? (*cough* *cough* *hack*)




6. Patches and updates galore

Additions and fixes aplenty in December. Towards the end of the month, Henrik Isaksson announced his latest work on GUI components:

From the change log:

- View
  • Added documentation to shortcut methods.
  • Added Set/GetContextMenu().
  • Added context menu handling to MouseDown() method.

- TabView
  • Moved private variables to private class.
  • Replaced the private struct Tab with a public class TabViewTab.
  • Changed MouseDown() so it passes on RMB events (for the contextmenu).
  • Moved rendering into TabViewTab::Paint().

I did not turn each tab into a View. It just felt like too much overhead...

I'll check in these changes within a few days, unless there are any objections.

The following day, Arno Klenke posted another stack of updates and code touching various areas of the system -- the kernel, video drivers and media subsystem:

Ok, here are my updates:

http://www.liqwyd.com/arno/kernel.zip (changes compared to the Syllable 0.5.5 kernel):
*Fixed the protect_phys_pags() bug
*Fixed kmalloc so it doesn´t complain if you load binaries with a size like ABrowse
*Moved a lot of code out of init.c and kernel.c into the subsystems (will prepare the source code patches later)
*Moved some code out of smp.c into the new file intel.c (cpu feature detection + segment setup)
*Use the multiboot memory map instead of using our own code

http://www.liqwyd.com/arno/pci.zip:
*Initialize a working agp mode for the bridge and the graphics card and enable fastwrites. GFXTest shows a speed improvement of about 40% when doing blits and the cpu usage when playing videos goes down by about 20%. (SiS 746FX + GeForce FX 5600)

http://www.liqwyd.com/arno/video_drivers.zip:
*Updated appserver drivers (geforcefx, radeon, riva, sis3xx, tdfx) to assume that the video overlay rows are aligned on 255 byte boundaries. Please note that this is _required_ for the new media lib and will fix display errors when playing videos in video overlay mode.

http://www.liqwyd.com/arno/media.zip (the long announced media update):
*Support for external timesources in the MediaOutput class. This is used for a new AV Sync method.
*ColdFish plugin support:
o A port of the winamp blursk plugin
o Support for the coldfish dock plugin
*ColdFish can now play from non file based devices like audio cds
*Added a fix by Vanders to the mediaserver which should avoid some crashes

Please help me to test this stuff!

Vanders and Jake Hamby were chuffed with the work, and went over some of the details.




7. Package management

During some general chit-chat on new programs required for Syllable, the subject of package management came up. Right now, one of Syllable's strengths is ease of software installation -- in most cases, just drop the app in a directory and it's ready to run. There's still room for improvement, though, and Brent P Newhall outlined his ideals in a package management system:

Here's what I envision, without specifying elegant intricacies: An "Application Manager" app is bundled with Syllable. The AppManager contacts Kamidake and uses it to generate a list of application categories. The user can browse these categories (or search, of course) for applications, which are listed in all sorts of useful sortable ways.

The AppManager also keeps track of which apps are installed on the system; if an app is installed, its listing displays that fact. Installed apps for which newer upgrades are available are also marked as such.

The user can click *one button* to download a new application or patch, and have it unzipped and installed. AppManager would automatically update the listing with the new version number.

Imagine being able to browse a software repository, and simply *click*...and a few moments later, the application is installed automagically. Obviously, some app installations will require user input, but for the majority....

Knut gave his own take on the issue, also delving into the topic of general file management:

I'd also suggest an implementation of "bundles" like on MacOS X, but allowing these to contain install/uninstall scripts if they need to install some dock plugin or request user input. This script would be run automatically by the filemanager when a user dragged a bundle to the Applications folder. And the same when anything was attempted to move out of it.

Some procedure like this could also be cool for a "System" folder on the root of each drive. You drag drivers and kernel extension here. Those who know MacOS version pre-X will probably know what I'm talking about. (= I really miss those days. Everything was controlled from the Finder. No need for custom installers for even extensions to the system. No messy filesystem layouts.

I've said this before: Imagine being able to control so much, just by dragging and dropping. Just by knowing how to manage your files. You learn one thing, and you can use it for things that are normally complicated, like installing and managing software, and stuff that are basic, file management. Is there really need for anything more?

From here, the thread moved on to overall GUI principles, the way computer newcomers approach file management, and comparisons with popular Linux package manager front-ends (such as Synaptic on Debian and Ubuntu).




8. Firefox port musings

Aaron Burton pointed out that Robert Szeleney, chief coder of SkyOS, had managed to port Firefox to his commercial hobbyist OS in a short space of time. Robert was planning to make a document available that detailed the process; Aaron wondered if it'd help the Syllable project too. Vanders suggested that such a port perhaps wouldn't be the mammoth task initially envisaged, prompting this from Jonas Sundstrom:

30 pages of build instructions does not seem like a simple port to me.

I've not tried SkyOS myself, let alone its port of Firefox, but I can say that the BeOS port, while a god-send, is very far from perfect, and it's only seen incremental improvements over time. (And it's been around for years.)

You probably want to ask the BeOS developers what their experience is, and what they would do differently if they had to start over.

irc://irc.freenode.net/haiku

I think they have tried to connect the Mozilla GUI framework to BeOS native functions as much as possible. I get the impression that it might have been better to have gone for a less native port, letting gecko draw to a bitmap or whatever and simply throw that onscreen in one go. (The current solution flickers a lot on some homepages.)

Take this with a grain of rock salt though -- I'm in no way intimate with the code myself.

Michael Stolovitzsky explained that he too had looked into a port earlier:

I'm not a real C++ programmer, but I looked into the code, and to the surrounding framework around Mozilla. To my estimate, it's going to be a little complicated, considering their own threads libraries, messaging system, XPCOM and the rest of stuff that needs to be ported before the rendering engine.

I would happily do anything to participate in this project. I just got myself a new HDD and I am going to install Syllable on it, most certainly.

With the recent ABrowse updates, having a Firefox port is no longer such a necessity, although it'd still be superb to have for the project.




9. SYL-CON date set

Ideas for SYL-CON, a meetup of Syllable developers and users, had been popping up for several months (see earlier newsletters for more info). Brent P Newhall set a date:

I hereby announce that the first ever SYL-CON will be held February 19th through 20th, 2005 near Heathrow Airport in England. Please make your reservations at a hotel near Heathrow.

If you can only make it for one day, make it for Saturday the 19th.

At the time of writing (7th of January), six people had given this date a thumbs-up on the website's poll. If you can make it -- and the more the merrier -- please do get in touch with one of the Syllable team and add yourself to the total on the website!



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