WallBlaster Version 1.0 Shareware Edition -- 17 December 1990 WrightWorks 1322 Second Avenue Suite 2A1 New York, New York 10021 (212) 288-2942 CIS: 76244, 312 BIX: JETMAN GENIE: KIDFLASH Author: Jethro Wright, III Software and documentation: Copyright (c) 1990, WrightWorks Introduction WallBlaster is a Microsoft Windows 3.0 utility program that changes the desktop wallpaper from a library of images contained in a .ZIP archive, under its standard (286) and 386 Enhanced operating modes. WallBlaster selects images from its library at ran dom and will make changes according to a timed interval or only on demand by the user. Besides making one's workstation environment visually more attractive, WallBlaster conserves hard disk storage used for wallpaper files, since full-screen color VGA bit maps (.BMP files) require 150 KB per picture. If that weren't enough, there are commercial editions of WallBlaster with more advanced capabilities, including user-definable buttons on the desktop. WallBlaster is shareware but isn't "nagware", meaning the program won't bother to ask you to purchase a license for the full program. The most fundamental facilities of the program are included in this edition, but you are encouraged to order the commercial version of WallBlaster, as it possesses additional features like alternate library files and a DDE interface. But more about this later.... WallBlaster can be obtained your favorite BBS. If you'd like the latest version of the shareware edition of WallBlaster, see the end of this document for further details. You'll receive this document in hard-copy form and a pristine copy of the program on disk. License and Disclaimer The shareware edition of WallBlaster is available for free from many electronic bulletin board systems (BBS), including CompuServe, BIX, and GENie. Other than normal BBS communications and service charges, it may not distributed for a fee, or com bined with any commercial software or hardware product, without the express written per mission of WrightWorks. The sole instance where a fee may be charged for the share ware edition of WallBlaster is when WallBlaster is distributed by public domain software distributors, who as part of normal operations distribute public domain and other shareware works for the cost of the media and its distribution. In order to distribute the shareware edition of WallBlaster, all files associated with the program, including docu mentation and program executables must be included as an indivisible unit. No warranty of any kind is implied and the user of WallBlaster is solely responsible for the protection of all files and documents on his/her computer system. Use of WallBlaster does not imply any responsibility on the part of WrightWorks for any claims due to damages of any kind, including but not limited to consequential and incidental damages. WallBlaster must not be distributed where existing city, county, state, or federal laws/regulations would invalidate any part of this license/disclaimer. The user of the WallBlaster program acknowledges that he/she is entitled to NO REMEDIES OF ANY KIND due to the failure of the program to meet any perceived or expressed purposes. All rights are reserved by WrightWorks. Use of WallBlaster implies full agreement and understanding of all parts of this license and disclaimer. Installation Simply copy the WallBlaster program, WB.EXE, to the sub-directory where your copy of Microsoft Windows resides. You can do this using the appropriate DOS com mands or using Windows' File Manager or MS-DOS Executive. Next, you'll need a li brary of bitmap files, archived in a .ZIP file made by a program compatible with PKZip from PKWare, Inc. Consequently, you must already have a copy of PKZip or you must obtain, through your own means, an archive containing Windows bitmaps suitable as wallpaper. You probably already have a copy of PKZip since the program is normally found on BBSs in a .ZIP file. The shareware version of WallBlaster will only work with a library file called WBLASTER.ZIP. It should reside in the Windows sub-directory, along with the WallBlaster program itself. Once you've created a library file for WallBlaster, start the program like any other Windows application and you're done. The images displayed by WallBlaster must be normal Windows bitmap files that can be loaded as wallpaper by the Windows Control Panel. Assuming you have a copy of PKZip and would like to create a wallpaper library, all you need to do is move the wallpaper files to an archive (library) called WBLASTER.ZIP. The files MUST NOT in clude their current path in the .ZIP file, meaning the wallpaper library must not be created using PKZip's -p or -P options. An sample PKZip command line for moving two wall paper files in the current directory into WBLASTER.ZIP is shown below: D:\WINDOWS> PKZIP -m WBLASTER CHESS.BMP PANTHER.BMP One could have used an asterisk wildcard (*.BMP) instead, to move both files, but since Windows possesses bitmaps that can be tiled, but you probably want to be very specific when adding wallpaper files to a WallBlaster library. WallBlaster doesn't han dle tiled bitmaps, because there's little to be gained by compressing small images and Windows tends to update tiled wallpaper more slowly than a full-screen (centered) wall paper bitmap. Prior to starting WallBlaster itself, you might want to go into the Windows Control Panel to set the current wallpaper to (None), using the Settings:Desktop... menu option, since WallBlaster will delete the current wallpaper file, to make room for a new file. When WallBlaster changes the wallpaper, not only will it delete the previous wallpaper file but if will change the corresponding profile string (Wallpaper) in WIN.INI with the complete pathname of the current wallpaper file. Operationally Speaking WallBlaster is what I call a "hot-button", meaning that it doesn't use a window equipped with a menu bar -- or other controls like buttons -- and always appears as an icon at the bottom of your screen. The few commands that the program supports are transmitted via the icon's system menu. A left double-click on the icon immediately decompresses and displays the next image from the library, as if you had manually se lected the "Display Next" option from WallBlaster's system menu. WallBlaster's default settings changes your wallpaper once every ten minutes. A profile string in your WIN.INI file controls the interval between wallpaper changes. You can adjust this value manually by editing WIN.INI and changing the TimerInterval profile string in the [WallBlaster] application section. TimerInterval is measured in minutes, so make it equal to 20, for a twenty-minute wallpaper switch. If you prefer to change the wallpaper only once per session or only on demand, make TimerInterval equal to 0. Setting TimerInterval to 999 will enable demonstration mode, where the backdrop will be changed once every thirty seconds. When it starts to extract the next file from the library, the program changes the pointer/cursor to an arrow overlapping two squares that looks like WallBlaster's icon. As a new file is retrieved from the archive, the previous wallpaper file is deleted, since it's assumed that the file is already contained in the wallpaper library. The complete pathname for the wallpaper file is displayed in WallBlaster's caption, along with the number of times it's changed the wallpaper during this session. WallBlaster primarily works with full-screen bitmaps, because little is gained by compressing a small graphics image. So WallBlaster doesn't tell Windows to "tile" smaller images, nor does it interpret the contents of any file contained in its library. The shareware edition of WallBlaster adds a single operational command on its system menu, the Display Next menu option displays the next image from the library, chosen completely at random. It should be noted that decompressing a complex (dithered) color VGA file is not as fast as simply displaying the same image -- already uncompressed -- directly from the Control Panel. However, performance is acceptable and on a machine with a 20 MHz 386DX CPU -- specifically a Northgate Elegance 1000, where WallBlaster was created -- the program will extract and display a 150 KB wallpaper file in about 10 - 15 seconds. If latency is a concern, adjust the TimerInterval to a higher setting like 20 - 30 minutes or higher. Files won't decompress faster, but the delay will be less noticeable due to the longer interval. Monochrome (black and white) images decompress in one or two seconds, as do full-color images that are composed of large regions using with a single primary color. There's Gold In Them There Hills... The shareware edition of WallBlaster doesn't "nag" you about registering your copy of the program, because it's been adjusted to display only the first six images in its library file. This is adequate for most people, but those who really enjoy the wallpa per feature of Microsoft Windows 3.0 have an incentive to get one of the commercial edi tions which will allow the use of alternate library files. Another inducement to buy one of the commercial editions of WallBlaster -- called Personal WallBlaster and Professional WallBlaster -- is a DDE interface. DDE ? Yes, Personal/Professional Wall Blaster support Dynamic Data Exchange, at least the EXECUTE portion of the protocol. Since WallBlaster doesn't really have data of its own, the other parts of the DDE specifi cation don't apply. However, sending commands to WallBlaster via DDE does make a lot of sense.... As an individual, WallBlaster is just a way to make one's electronic desktop more dynamic and eye-pleasing. But there are other potential and practical uses for a dynamic wallpaper display. Just as icons are used to convey information to a user about the purpose of its "parent" application, one can use multiple wallpaper images to indicate a user's current context in a large application system. For example, let's imagine we have an application system for a law firm. This application system is composed of four principal subsystems: client communications, data base and document management, travel planning, and event scheduling. Each of these activities are logically distinct and could be represented by a different wallpaper image that coin cides conceptually with the current activity. One could scan a photograph of telephone with a rolodex next to it, to create a wallpaper file for activites associated with client communications. A photo of a room with file cabinets could be used to depict data base and document management services. Travel planning activities might be shown against a backdrop containing a commercial airliner. The event scheduling subsystem could be represented by a picture of a day-at-a-glance desk calendar. The individual options within a particular application area could be triggered via large buttons containing a bitmap or icon for a specific action associated with the current application area. While individuals might be able to take advantage of this technique, enterprises using sophisticated application systems comprised of multiple programs, will find the meta-application features of Personal/Professional WallBlaster most helpful. Personal WallBlaster has dialog boxes to set run-time options on the the fly, as well as a DDE interface that can change wallpaper on demand. Since most of the time, one would want to immediately load specific wallpaper files by programmed request, Personal WallBlaster won't extract these files from its library. The designer of the appli cation system simply gives these high-priority files an application-specific name in the WBLASTER.INI file and he/she can quickly switch wallpaper images using a DDE EXECUTE command. Professional WallBlaster adds full programmabilty to Personal WallBlaster by providing a library of functions callable from C or other development tools for Microsoft Windows, like the Whitewater Group's Actor or Asymtrix' ToolBook. The application designer/programmer can add application-specific buttons to a backdrop (wallpaper image), in addition to the DDE interface already available with Personal WallBlaster. Actually, Professional WallBlaster is a combination of a programming library -- a dynamic link library (DLL) -- along with a copy of the Personal WallBlaster program. The package also includes sample source code illustrating how to use the library. Another use for Professional WallBlaster can be found in kiosks that use touch sensitive screens. Images can be composed using a drawing program, saved as bitmaps, then assembled into a hierarchical set of screens that navigate a user through easy-to-use applications like a building/campus directory, a personnel data base, or desktop manufacturing applications like the media copiers used to mass-produce software on floppy disk. Beyond Wallpaper WallBlaster has companion products, including a ZIP archiving utility that's a true Windows program. PersonalBlaster can extract, add, and view items from/to .ZIP arch ive files. ProfessionalBlaster can manage .ARC archives as well. Both programs can handle DDE EXECUTE messages, so most menu options can sent as DDE EXECUTE commands. If you like any of these products, you may purchase them directly from WrightWorks. We offer them via mail-order to keep prices low, so that folks regardless of their budget will find them affordable. ORDER FORM Name: ______________________________________ Company: ______________________________________ Address: ______________________________________ : ______________________________________ City: ______________________________________ State: ______________________________________ Zip Code: ________________ Country: ________________ WallBlaster, Shareware Edition: $ 5.00 (USD), includes media and printed documentation Personal WallBlaster: $ 20.00 Professional WallBlaster: $ 40.00 PersonalBlaster: $ 20.00 ProfesionalBlaster: $ 40.00 Personal WallBlaster and PersonalBlaster: $ 30.00 ProfesionalWallBlaster and ProfessionalBlaster: $ 70.00 Add $ 15.00 for next-day shipping Contact WrightWorks for details on source code, corporate, and commercial licensing. _________________________________________________________ _________________________________________________________ _________________________________________________________ _________________________________________________________ _________________________________________________________ Sub Total: _____________ Next Day Shipping: _____________ Total: _____________ Make checks and money orders payable to WrightWorks