Merlin 4.7 Features

Please send comments to jecel@lsi.usp.br

If you don't have Java enabled, here is a crude drawing showing the main features in the Merlin 4.7 machine:

Merlin 4.7 drawing

This is how the computer looks when it is used by right handed people. You hold the machine by placing your thumb over the scanner and your other four fingers on the keys on the left side. You can still reach the touchpad with your index finger (to move the cursor and select menu commands) while holding Merlin like this. This is called the "portrait right" position. A simple menu selection can invert the meaning of the buttons and turn the image on the LCD upside down. This "portrait left" configuration is for left handed users and mostly works just like in the previous position except that the Infrared port location is a bit more awkward to use. There are also "landscape right" and "landscape left" alternatives that are more convenient in certain applications (in both configurations the machine is held with the keyboard on top).

A choice of two models will be available: a more expensive one will come with a color LCD and a color scanner while a more economical model will use a monochrome LCD and scanner. Unfortunately, it won't be possible to upgrade from one model to the other.

Chorded Keyboard

This is certainly Merlin 4.7's most obvious feature. A separate page has more information on the system of text entry being developed to take advantage of it. To allow users to get a preview of the feel of this keyboard, a simulator was developed. It wasn't possible to write it in Squeak due to the lack of keyUp events and a second try in Self was limited due to the 2-key-rollover in the keyboards used in Sparcstations (and it would really limit the people who could try it out anyway). The third simulator was written in Visual Basic and the source code can be downloaded from here. It turned out that the version used (4.0 Working Model) doesn't save executable files and attempts to load these sources into versions 1.0, 4.0 and 5.0 of Visual Basic failed. The fourth try was in JavaScript, but that didn't work out either as neither Netscape 3 nor Explorer 3 implemented key events (Netscape 4 did, but it made no sense to limit what browsers could view it).

The fifth and final try was in Java and should be visible at the top of this page if you have Java enabled. You have to click on the image to activate it. The Java 1.0 event model was used even though it is obsolete in order to work with older browsers (you can see the source code for this version). Left handed users should place their fingers on the keys "1", "2", "3" and "4" on the top row of the keyboard, while right handed people should use keys "7", "8", "9" and "0". How the system works is explained on the page that was already mentioned. The first thing you should check is if your keyboard supports n-key rollover by pressing combinations of three or more of these keys. Unfortunately, the event system used to develop this is broken - it generates a keyUp event independently of whether the user actually released the key or not after keyDown events generated for automatic key repetitions, but not for the original keyDown. So if you are quick enough (or you can disable "typamatic" repetition in your system), it is actually possible to use this program. If not, it will be an exercise in frustration.

It is amazing how hard it turned out to be to develop such a trivial program. Fortunately, the real thing will be much easier since it will simply be a primitive in Squeak (written in C).

Touch Pad

Unlike most small machines which have a touch sensitive screen, the touch pad on Merlin 4.7 is located on the opposite surface of the case relative to the LCD. The users will feel as if they were reaching the image on the screen from the other side and directly pushing the cursor around. That allows far greater precision in the user interface (the point of an on-screen arrow is better defined than the area touched by a finger) and avoids obscuring the very elements that the user is trying to manipulate.

Scanner

Getting text and images into the machine is quite easy - just drag Merlin 4.7 over the page. A small motion sensor (two little wheels) will activate the built-in CCD sensor and the software will show the image "peeling off" the paper and onto the LCD screen. For now, the image will be saved as is, but the hardware is quite capable of doing real time Optical Character Recognition in a future system software upgrade.

PC Card (PCMCIA)

Any missing features can easily be added via this expansion slot. Features such as modems and network cards will require the development of the corresponding drivers, of course, but support for additional RAM or Flash memory cards will be standard. The docking station (see below) also connects to the machine via this port. Only Type I cards (the thinner ones) are allowed due to space limitations, but that is the most popular kind with the exception of tiny disk drives.

Infrared Link

This is now a standard feature on portable machines. With a proper expansion, a desktop computer can also exchange information this way.

Telephone Jack

The built-in software modem allows a wired connection to the rest of the world wherever there is a spare telephone connection available.

Microphone/Speaker

While the first generation software won't include voice recognition, it will be able to save several hours of compressed voice messages and play them back on demand.

Folding Keyboard

Given the multi press sequences used to generate characters with the chorded keyboard, it will never be as fast as a full QWERTY keyboard for touch typists. When folded, this keyboard serves as a case for Merlin 4.7. It can be easily opened and snapped on the machine to make a rugged inverted "T" shaped hand held computer.

Docking Station

This plugs in via the PC Card slot and include a more substancial keyboard with integrated touch pad, a frame buffer with monitor and TV outputs, serial and parallel interfaces and an Ethernet interface.