REBOL 3 status

It's been too long since there was a status of R3, so I'll bring you some tidbits.

What's going on right now:

There's a big discussion going on about VID3's design and how the current style design model is a little too complex for style designers to make new styles for. The dialect itself feels OK and the capabilities of VID3 are not likely to be reduced. Currently, creating a style is a process in change, so I don't get to do work on skinning at this time. It makes no sense for me to do that, if I have to throw it out again later, or if Gabriele Santilli, the designer and creator of VID3, will have to waste time rewriting my style designs.

There's also another big discussion about what VID3 is supposed to be usable for and there has been some confusion about whether it will be usable for heavy application building or whether it's more for media applications like MythTV. I suggest you look at this blog post here, for more clarifying answers about that.

Unicode

This part takes quite a bit to get used to, since you can no longer assume what format the content of a string represented as a binary can be. Many functions are changed because of the inclusion of unicode. This makes a few things a little more elaborate to code (READ is always binary, for example), but other things are much simpler as a result of moving certain natives to working only on binary!. You can for example now directly READ a website and WRITE it to disk without any refinements or additional input.

Builds

The latest executable we have internally is called View12.exe. It's called that way, because it's the 12th release of the unicode version of REBOL 3. The first 7 contained no graphics engine, but with release 8 it came back in, only without LAYOUT. We discovered then a serious bug in the graphics system that will cause R3 to crash, just by dragging a scrollbar in a test user interface. What that bug is, is still being determined.

Meanwhile, some additional tools for debugging and development have been added: DT executes a code block and tells you how long it took. DP executes a code block and tells you some memory statistics on what happened in that code block. Example:

>> dp [a: 2]
== make object! [
timer: 113
evals: 10
eval-natives: 3
eval-functions: 1
series-made: 1
series-freed: 0
series-expanded: 0
series-bytes: 432
series-recycled: 0
made-blocks: 1
made-objects: 0
recycles: 0
]


HTTP

Our new HTTP scheme is made to completely adhere to HTTP/1.1 and it was designed by Gabriele Santilli. On a particular note, Carl Sassenrath commented on how nice the code looked, and indeed it's a very beautiful piece of code, right for the textbooks. There is a single bug in it, however, but don't tell anyone that. It will be fixed.

Bugs

The number of bug reports is steadily climbing. We are today at 471 reports. The new test vector system is not yet online due to other priorities. A thing worth mentioning is that the console window now will quit in the Windows version, when clicking on the close button, without showing the kill window. (It also revealed some horrors in how Windows handles the console window...). As a small side effect, QUIT has ceased to work. Happy

REBOL/Services

It's strongly desired to move DevBase to R3 and for this process, it's necessary to port REBOL/Services to R3. Since R3 has a different port model and has unicode support, this takes a little time to do. Also just today, some bugs in the ENCLOAK function, which is basic to the functionality of encryption in REBOL/Services have been found.

What will go on in the near future:

The HTTP scheme will be included and when the VID3 discussion is complete, Gabriele can continue working on the style system, and work can resume work on the test vector system. When VID3 has seen significant advance in the style design area, I will begin working on more styles for it.

The target platform for these tests right now is Windows only. It's easier to do that, because the Linux and OSX versions are missing rudimentary console cursor controls, which make them a serious pain to use. Meanwhile anyone testing on Linux or OSX are encouraged to do so in VMWare, Wine or CrossOver.

Sorry, no screenshots in this round.

Well, I guess I can give you one:

Picture 2


Enjoy! Happy

|

REBOL/Forum Progress

The design of the UI for the forum is largely complete. It's possible to navigate the forum pages like you should be able to on the finished version, i.e. there shouldn't be any dead links. It works this way, because it links to a mock up database that contains information on how to display forum lists, threads, messages, etc.

This has also made me write a new version of the HTML dialect with a few more capabilities and better code. I hope to release as that soon as the documentation for it is updated.

I'm still going to keep the URL to myself for now, until a bit more of the work has been done, so we can get the specs done for the database. The specs is a collaborative effort of the REBOL/Forum group, while the UI has been done by me. The document for the specifications will be opened when it's ready.

I was also approached with the suggestion to add better search engine friendly URLs, but this capability depends on whether Cheyenne can rewrite URLs. I don't yet know whether it can do that.

An interesting side effect of this stage of development is that the only thing keeping the forum running is the very small mock database (i.e. a few small block of objects and strings), which means the UI and the back end database are well separated.

As a total, I've spent around 12 hours on this effort.

We'll see where this goes! Have a good day.
|

REBOL/View 2.7.6 Intel for MacOSX progress

The color and blitting bugs in the Intel version of REBOL 2 for MacOSX have finally been fixed, but it has a price to pay in that R2 for MacOSX Intel is slower at displaying graphics than the first Intel version. As we already know, Apple are in the process of kicking QuickDraw out the door, so Quartz can have full reign in the world of MacOSX and that means REBOL must follow suit, so the new version is based on Quartz. It's only one page of C code to change, but it's problematic as it is, giving us two problems:

- The colors are wrong. They always were, but moving to Quartz did not initially solve the color problem.
- The coordinates for what regions to blit in a View window are wrong, which gives misplaced and stretched graphics elements.

The first problem is partly due to the move to Intel, which uses a different bit ordering for blitting and not being able to feed Quartz with the correct color format. The first version did not use Quartz and therefore did not show the blitting problem:

Picture 1
Original Intel version with incorrect colors


After consulting an Apple developer, the color bug was fixed after moving to Quartz, but the second problem then occurred. It has been worked on for some time, but has proven to being troublesome because Carl has had trouble figuring out the correct coordinate system to use. Incorrect blitting looks like this:

Picture 1
Well, that just doesn't work, does it?


Due to time constraints and a strong desire to continue the development of REBOL 3, the blitting routine was changed to blit the whole window instead. This causes a minor slowdown, but it certainly looks far better:

Picture 2
Back to normal


Fonts are still a problem in MacOSX Leopard, though.

Release date is currently unknown.

|