
|
 |

 |
|
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 |
 |
|
(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 |
 |
|
(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 |
 |
|
(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 |
 |
|
(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 |
 |
|
(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 |
 |
|
(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 |
 |
|
(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 |
 |
|
(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 |
 |
|
(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 |
 |
|
(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 |
 |
|
(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 |
 |
|
(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 |
 |
|
(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 |
|
 |
 |
 |

|