Avi's Backdrop v1.27

by Avi Drissman, drissman@acm.org
http://www.drissman.com/avi/newton/

Requirements

A Newton device with Newton OS 2.0 or greater. (That means a MessagePad 120 (one with OS 2.0), 130, 2000, 2100 or eMate 300. It's been tested on a MessagePad 2000 only. There shouldn't be any problems with any others, though.)

About 35K free on the internal store.

Purpose

For those unfamiliar with the concept of a backdrop, there is a program running at all times on your Newton. By default, this is the Note Pad. Since most people don't take notes all the time and the Note Pad is a fairly big resource hog, many people like to make a different program their backdrop. A whole category of Newton programs has sprung up, in fact--programs designed to be nothing but the backdrop. Avi's Backdrop is one of them.

Installation (Read or crash your Newton!)

First, if you are currently using Avi's Backdrop as your backdrop, you MUST set another program to be the backdrop. Open the Extras drawer, tap and hold on the Notes icon, tap the action button, and select "Make Backdrop." If you are upgrading from version 1.0 of Avi's Backdrop, you must erase the old copy of Avi's Backdrop before downloading the new version.

If you want to use Avi's Backdrop as your backdrop, and you have any storage cards installed, you must make sure that the "Save new info and packages on this card" checkbox is not selected for any of the inserted cards.

Use the Newton Connection Utilities program or other package-installation utility that came with your Newton device to download the included package. When the download is complete, Avi's Backdrop will ask you to make it the backdrop. Agree.

Really, really, really important stuff!!!!!

With the Recent Apps button enabled, the -10061 bug sometimes manifests itself as a -48221 error. If you get a -48221 error while trying to run an application, tap and hold on the info button ([i]) and use the '61 Memory Fix.

Use

Avi's Backdrop was designed to be very simple to use. At the top left of the screen is your name. If you tap your name, you get a pop-up which allows you to quickly select an active owner card and an active worksite.

In the upper right corner are two icons and values. One of the icons is of a battery. The value to the right is the percentage of battery power left. If you tap the value or icon, you get a floater with more extensive battery statistics. To the right of the battery information is the chip icon. The value to the right is the free frames heap. Tapping the value or icon forces a garbage collection. This is fairly esoteric so don't worry if you don't understand it.

Below the gray line is the date. If you tap it, you get your scheduling application. By default, that's the built-in Dates program, but you can configure it for another program. See the configuration section below.

On the right side of the screen below the line is the time. Tap it to bring up your clock. By default, that's the built-in Clock program, but that's also configurable. See below.

If you have Hebrew Date Convert v1.01 or later installed, the Hebrew date will be displayed under the English date. Warning! The displayed Hebrew date rolls over at midnight, not at sundown! After sundown and before midnight, remember to add one day.

Between the date and time are either one, two or three icons. From left to right they are:

Card: This icon is only visible if there is a card inserted into the Newton. Otherwise it is invisible. Tap it to get the standard card slip.

Backlight: Tap this icon to toggle the backlighting setting. This icon is only available if your Newton has a backlight.

Sound volume: This icon is only visible on MessagePads, as eMates have hardware volume control, and this icon would be useless. Tap this icon to display the sound volume slider. If you use the sound slider to set a new volume the slider automatically closes. Otherwise, tap anywhere on the screen.

Below the three icons is an area that will usually remain empty. However, if there are any upcoming birthdays or anniversaries in your date book, they will be displayed near the top right of the blank area. The amount of time in advance a birthday or anniversary is displayed is configurable in Prefs. If there are more birthdays or anniversaries coming up than fit in the area (one will be chopped off at the bottom) then tap the birthdays or anniversaries and drag up and down to scroll. To the right of the person's name is their new age or the anniversary number. If the person's name was added into the Names app without a corresponding year, they will appear to be born in the year they were entered, which will make them appear to be very young (1 or 2 years). I cannot fix this.

In the info button ([i]) there are several options. Selecting "About" tells you about Avi's Backdrop. Selecting "Prefs" allows you to change the preferences for Avi's Backdrop, as explained below. Selecting "Memory Info" brings up the same window with storage space values as the Extras drawer. And "Battery Statistics" brings up the same battery statistics window brought up by tapping the battery percentage value.

There's a utilities menu hiding in the info button ([i]). Tap and hold on the button until you hear a squeak, and then release. The utilities menu comes up. Selecting "Beam Avi's Backdrop" allows you to beam Avi's Backdrop to a friend's Newton quickly and easily. Selecting "Reboot Newton" reboots the Newton safely. Selecting "'61 Memory Fix" attempts to fix a -10061 memory problem. See the section below for instructions.

On the status bar, there is a Recent Apps button (with the speeding package icon) just to the right of the Rotate button (if it's enabled). From this button you can run recently-launched applications. The number of remembered applications is configurable in Prefs. Books cannot be remembered. Occasionally there is a pause before the pop-up menu appears. That's normal.

On the far right side of the status bar is a bump. Drag it up to reveal the Scribble Pad. This is a free-form input area where you can write notes, draw pictures, or doodle. There is a floating bar at the bottom of the Pad with three buttons. The first is a recognition toggle, to toggle which recognizer is active. The middle button opens the Styles palette for changing of fonts, sizes, and other options. The button on the right is a routing button. Tap it to route the current contents of the Pad with whatever transports are available to the Notepad. At the bottom of the routing menu is an option to "Post to Notes". If picked, the entire Scribble Pad is saved to the Notepad as a note.

There is an Easter Egg hidden in the program. It is very hard to trigger. I will give no hints. You'll know it when you see it. Good luck.

'61 Memory Fix

First, credit where credit is due. Frank Wegener (wegener@travel-cs.com) of Travel Concept Solutions (http://www.travel-cs.com/), not me, is the person who came up with the NewtonScript code to fix the problem. Secondly, this is experimental! I don't guarantee that this will work on all -10061 problems. In fact, I don't guarantee that this will work on any -10061 problems at all. But it's worth a shot, and it should help.

THIS IS NOT A CURE FOR THE -10061 PROBLEM. Only Apple can provide that. This only alleviates the symptoms, and hopefully will keep your Newton from requiring a restart after a -10061 attack.

What happens is that, for some reason, on Newtons with 4 Megs of DRAM, the Newton OS occasionally loses track of a program. The program is still in flash memory, but it gets disconnected from the dynamic RAM. No one knows why, or how. Then, when the application is accessed, a -10061 error is generated. What "'61 Memory Fix" does is to try to reload and reset the connections to the packages in the flash memory.

To use it, you need to experience a -10061 error. When a -10061 error occurs, switch to Avi's Backdrop, tap the info button ([i]), hold down until you hear a squeak, and release and select "'61 Memory Fix". The fixing of memory can take up to ten seconds, depending on how many packages you have installed on your Newton. When the [i] icon returns to normal and the Newton makes a "ding" sound, the fix is done. Try whatever it was that you were doing again.

Some caveats: First, there are other reasons why a -10061 error might happen. The Fix only attempts to fix the infamous memory-mapping bug; it does not affect other reasons. Secondly, if Avi's Backdrop itself gets disconnected by the -10061 bug, you won't be able to access the Fix. You'll have to restart.

The Fix is harmless if accidentally selected.

Configuration

If you tap the info button ([i]), then tap "Prefs", you get the preferences slip. The configurable options are:

Use the picker labeled "Dates application" to select an application to be opened when the date is tapped.

Use the picker labeled "Clock application" to select an application to be opened when the clock is tapped.

Use the checkbox labeled "Use Birthdays/Anniversaries" to select whether or not the Birthday/Anniversary area is active.

Use the picker labeled "Bday/Anniv language" to select which language will be used in the Birthday/Anniversary area. The choices are English, French, Spanish, French, and Italian.

Use the picker labeled "Bday/Anniv lookahead" to select how far in advance birthdays and anniversaries are displayed in the birthday/anniversary area.

Use the checkbox labeled "Use Recent Apps Button" to select whether or not the Recent Apps button should be installed on the status bar.

Use the picker labeled "Number of Recent Apps" to select how many applications are remembered for the Recent Apps button.

Use the picker labeled "Background Picture" to select the background picture. Once the desired picture is selected as the background picture, you may erase the picture book from your Newton, if you wish, to save space. However, if you are warned when selecting a picture that the picture is big, you must not remove the picture book from your Newton.

Use the checkbox labeled "Use small Rotate button" to select whether or not a small, icon version of the Rotate button should be installed instead of the full-sized one.

Known Conflicts

The package TapBar has a package called "TapBar Core" included. When TapBar Core is installed, it disrupts the mechanism the Newton uses to open applications. As a consequence, the Recent Apps button of Avi's Backdrop cannot detect the opening of applications and is non-functional. This is an implementation issue with TapBar; there is nothing that I can do to Avi's Backdrop to deal with this problem.

If you choose to use both TapBar and Avi's Backdrop, go into Avi's Backdrop's Prefs, and disable the Recent Apps button. It won't work anyway, and you might as well save your memory.

In addition, there is a known conflict with K2's smARTbuttons, versions 2.00.23 and below. If the backdrop button is installed, then Avi's Backdrop cannot be made the backdrop. If you wish to take advantage of the functionality of smARTbuttons and load Avi's Backdrop, turn off the backdrop button (tap the backdrop button and hold until you hear a squeak, then deselect the "Don't ask for installation" checkbox, then on the next boot, cancel on installation).

This conflict is due to a bug in smARTbuttons. K2 has been notified; a fixed version will be forthcoming.

Thanks

I'd like to take the time to thank the people who've helped make Avi's Backdrop a success:

Frank Wegener for researching the -10061 problem, finding a workaround, distributing it, and allowing me to use it in Avi's Backdrop and '61 Memory Fix;

Mason Mark for tracking down the TapBar incompatibility;

The 1.2 beta team (in alphabetical order: Tony Chua, Jonathan Prescott-Roy, Tim Santoro, and Joe "SlyDog" Seidell) for fearlessly opening up their Newtons to the strange code I threw at them and sending in bug reports of problems;

Theodorich Kopetzky for assistance with compatibility with German Newtons;

Gerd Wagner for inspiration (and a cool demo);

And everyone who has emailed me with reports, feedback, suggestions, or words of encouragement. While I cannot add all the desired features and I may take longer to fix bugs than I should, I read each email and am amazed at the support that I get. Without the help of everyone who has emailed me, I would have been unable to make Avi's Backdrop reach anywhere near the heights it has achieved.

There is plenty of stuff to come, so stay tuned.

Thank you all,

Avi

Legal stuff

The application Avi's Backdrop is Open Source. Please feel free to give a copy to anyone you wish. Its use is covered by the following (BSD-style) license:

Copyright © 1997-2000, Avi Drissman and contributors.
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL AVI DRISSMAN OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Enjoy.