Fresco logo Fresco title




News

Site is back, now Release coming soon,
Both sites should work now, many new features in the upcoming 0.1.4 Release.
(1999-12-22)

Stefan and Graydon have been coding like machines. The next release will sport real focus management (which the older incarnations of Berlin hadn't the slightest inkling of), a number of rewired module interfaces, and a great many other features. Graydon has been making the slow shift away from Mesa toward a might lighter backend: vanilla GGI. This will be the greatest optimisation the Berlin display server has ever seen -- although, sadly it probably won't be near finished by 0.1.4 -- try waiting until at least 0.1.6.

In the meantime, Tobias has been making great progress on Berlin's Unicode subsystem, while Nathaniel has contributed a great deal to our development tools (LXR, a postgres version of Bugzilla...). I (Aaron) have been doing little more than site maintenance and a little bit of work on memory management optimisations inside the display server.

Anyway, if I missed anything or anyone, they will be announced with the release of 0.1.4, probably sometime within the next two weeks.

Oh! I forgot to mention... Both mirrors of our site should be fully functional now. If you find any broken links, please please please let me know. I'd like to make the site completely seamless.

—Aaron Van Couwenberghe

New Release (0.1.3), Many new ideas
(1999-12-13)

The actual release was stalled as we were hoping to get full control of the domain name back. We sort of have it now, but not quite entirely, and we've got sick of waiting. The release is up (and by accident, I revoked the 0.1.2 version so you'll need to get the one labelled 0.1.3). We're keeping most of the administrative utilities on SourceForge now, which is where you'll find current releases.

Stefan and Tobias have been furiously pouring new code into CVS, and now that we've got a stable image out the door, we'll all be putting even more in. Near-term changes include a new DrawingKit (possibly 2), a completely reworked DrawingKit interface, style decorators, Tobias' new Unicode support stuff (in the current release), new IPC code, and much faster drawing and event handling. Plus, we have very snazzy looking demos now -- things which are a real pain to do in X are simple for us (see the new screenshot).

—Graydon Hoare

New home, Conference, and Another Release (shortly)
(1999-11-05)

So, we did a presentation at the Alternative: Linux conference in Montreal, and actually had the server in a rather stunning state of good repair by the time our demo actually happened. In addition, we have a new home on a faster, slightly-more-dedicated machine SPI just put online. So now, for instance, people can actually do CVS checkins under their own name (gasp) and we can run a whole pile of dynamic content stuff on the website, which is nice to keep people informed and involved. We'll be following up this glorious new state of affairs with another snapshot of the server as we demo'ed it up at the conference shortly. Just getting things moved at the moment. There will also be some new mailing lists coming online shortly.

—Graydon Hoare

Another Release (0.1.1)
(1999-09-18)

0.1.1 hits the wire today. it is a stability and feature addition release (yes, occasionally such things happen), containing all the stuff mentioned below as well as significant speed improvements. it is the sept 18 snapshot, over on our snapshots page. go take a look and test it!

—Graydon Hoare

Controllers, Focus, Desktop, Windows, Docs, Text
(1999-09-08)

The past month has been the time for polishing things a little and adding features which we were putting off in order to get 0.1.0 out the door. Stefan has been working on decorator controllers, which allow you to place a control facility (such as dragging or clicking) around any graphic on screen; a focus management system for routing keystrokes and mouse events through the tree in a slightly saner manner than before; and a new Desktop kit which plays some of the roles that an X11 window manager plays. I've introduced a self-contained miniature SGML environment into our tree and cleaned up the docbook building process a little. Encouraged by this and by the fact that Norm Walsh has put up stylesheets for OO languages, Aaron has started on perceps templates for churning out an API reference in SGML from the source tree itself. Tobias has been working at adding in a Unicode support layer to Prague, as we found there were license incompatibilities with the recent IBM Unicode kit. On a sadder note, the freetype project has mentioned the possibility of patent problems with the use of truetype rasterizers. Although this is a bit of a downer, it also encouraged me to pursue other fonts in an attempt to get our basic text services alive, and I soon found the GNU Unifont, which is a GPL'ed fixed width bitmap font that covers most of the world's languages. Its storage format is so simple that I couldn't resist, and it solved in a nice unambiguous way the problem of which font(s) to include with the distribution. I took a few evenings aside and wrote some DB-layer storage code and a rasterizer for it, and now we have working a pretty much universal text rendering system. Check this page to see it in action.

—Graydon Hoare

A New Release (0.1.0)
(1999-07-21)

A long time coming, we have now reached a formidable milestone with the new server. You can manufacture transformable buttons, attach commands in the client processes to them, click the buttons, and trigger the commands. Take a look on the screenshots page. The programming model is clean and simple, yet typesafe and efficient. We welcome you to download the most recent snapshot (July 22) and try it out. We are calling this release 0.1.0 of the Berlin server, to indicate that it is a total rewrite from 0.0.1. Most of the hard work in this release came from Stefan, who integrated masses of code from Offix and Fresco. If you are familiar with Fresco it should make pretty good sense. In addition, Brent and Stefan's ImageKit it working, and you can now load and display server-side PNG objects. Unfortunately due to obligations at work I've been unable to deliver a working TextKit in this release, but that shouldn't stop you from enjoying the code.

—Graydon Hoare

Converging on another Release
(1999-06-05)

We've pretty much wrapped up this round of feature additions and are cleaning things up in preparation for the first 0.1.0-branch release. This will (hopefully) be the basis of the future Berlin versions, and we will not need to rewrite it anymore times. I think we're all pretty satisfied with the architecture at this point, and it seems to work well (although it's not been optimised at all yet). Stefan has added in a controller interface for distinguishing between objects which want events and those which do not, and I'm polishing off the TextKit so as we can get work underway on a terminal emulator. Also I've been playing with Fnorb and Python, in hopes of assembling a test suite. We have some very slick new logging and debugging classes, and the major reference bugs seems to have been cleared up.

—Graydon Hoare

Sommer Codefest Commences
(1999-05-10)

I'm out of school for the summer now, and things are starting to heat up. Stefan and I have been fighting (kindly) over how to do text layout and we've arrived at a (surprise) slight modification of the fresco system which does error compensation both for hinting and for font mismatches between multiple DrawingKits. So WYSIWYG text layout is becoming a little more probable in the printing realm. Stefan has also done a tremendous overhaul of the building process, and the modifications work quite nicely. A number of fatal server crashing bugs have been swept away into oblivion, we've got a reasonable strategy for inheritable styles in the scene graph, and we're having some success with debugging graphics and pick traversals. I patched GGIMesa to fix the depth-ignoring problem, as well. I've put a CVS status page online so you can watch which files are being modified, and I've posted another snapshot of the tree. Clients are also being disconnected from the server properly when they idle and their kits are reclaimed. The mailing list archive has been updated to look much prettier and be more easily navigable, and Brent completed a preliminary PNG image object. Everything's busy! Should be headed into another tag and release shortly.

—Graydon Hoare

Text is working
(1999-04-25)

I rewrote the TextKit (finally) and made an adaptor for GLTT so we could get some cheap and dirty text output. While there are some serious problems with the rasterizer (metrics are being generally ignored, Unicode high-bits are being chopped, it only does TrueType(tm), and the pixel copying loop in GGIMesa fails to take into consideration visual depth so you get some groovy scanline action in anything other than 8bpp) the fact is that the thing works, and I'm pretty damn happy about that. So I took a screenshot and posted it. The design is the way it should be, it's not totally messed up and wrong, and each of the above problems can be dealt with in order.

In further news, Brent has seemingly taken on the task of writing the PNG image object type and the ImageKit (or, well, he was making noises about it). Stefan has gutted the graphicOffset interface and replaced it with structs, saving us several zillion bytes of memory at runtime; he has also imported a system level wrapper library from his OffiX toolkit (code-named "libPrague") to handle process, IPC and file abstractions in the server; he has also written a quadtree for doing positional layout like on a canvas or a window manager; he has also written the text buffer-gap subject. In short, the man is an unstoppable coding machine. All this might make CVS a little unstable, but hopefully it'll balance out shortly.

—Graydon Hoare

Visible Stuff!
(1999-04-17)

First off, we got the display server and FigureKit to draw things now. It works on rectangles and paths, and understands color style preferences. So it's starting to limp along. The test client is just so delightfully clean and small, it's worth taking a look -- /test/client.cc. Also, the documentation page and tasklist page of the website have been updated to reflect the current state of affairs and resources to help you contribute to Berlin development. Please check 'em out and comment if you're confused about anything.

—Graydon Hoare

Progress
(1999-04-06)

More confirmed sightings of compiling and running Berlin servers -- most of our developers can now get it working, including on RH machines. I adapted the event distribution code from the first server and the PickTraversal implemented. Also, I have finished a rough rewrite of the programming section of the Berlin manual, which should serve to explain a little more of how this generation of the server works.

—Graydon Hoare

Secound-generation Server boots
(1999-04-03)

Stefan has spent a huge amount of time porting code from fresco, and the "new drawing model" has expanded to be an almost complete rewrite of the core parts of Berlin (object creation, layout, graphic containment, etc). I spent a long while merging this code with the useful bits in the last version; Aaron and Jordy attacked the build tree with great enthusiasm, Duncan patched omni to remove a number of lingering flaws and Brent has kept us up to date with fresh debian packages. All this has come together and we are now getting results: the first prototype server (0.0.x) is no longer the only working version -- the new server (0.1.x) compiles and boots. Many bugs still to work out, of course, but this is very promising. A lot of inefficiencies and lingering questions about how we were going to accomplish things in the 0.0 branch have vanished. Remote drawing, postscript printing, efficient screen updates, encapsulation of OpenGL, etc. are all nicely dealt with in this version.

—Graydon Hoare

A new drawing model emerges
(1999-03-01)

Despite all the excitement of having a stable package released (and with omni 2.7 out, it's even a reasonable size now), Berlin 0.0 branch didn't really have a decent layout and drawing model. it redrew too often, lacked structure, and was generally considered a hack. This february I went and visited Stefan in Montreal, and made great progress in understanding (and critiquing) the fresco drawing system, much of which Stefan is presently adapting as a replacement for the next branch. In the mean time not too much has happened. We are all still here but there's been a little slowdown with other responsibilities taking over for a time. Luckily I have also purchased a new CPU and network connection, and gotten new employment, so we can expect a very featureful summer once classes finish. It takes less than 15 minutes to compile Berlin now.

—Graydon Hoare

Stability branch
(1999-01-03)

The holiday was quite a productive time. The CVS tree has branched at version 0.0.1, which now has a truly fascinating, working button widget in it, with a test client that repositions the button every time you click on it. That server will be packaged shortly -- the snapshot is available on the snapshot page. The text system has been rewritten after a lot of discussion with out anonymous text advisors, and is much more flexible in the delegation of mapping roles. The documentation is maturing, and a number of fatal and annoying bugs have been killed in the main server.

—Graydon Hoare


Related links
Tasklist
Mailing lists
Bug tracking

F r e s c o (c) 2002 - 2004, webdesign: Alexander Johannesen
Report problems to webmaster