ftp.nice.ch/pub/next/tools/screen/backspace/Firefly.NIHS.bs.tar.gz#/FireflyView.BackModule/Info.rtf

This is Info.rtf in view mode; [Download] [Up]

FireflyView
version 0.9, July 4, 1993
by Andrew Abernathy
andrew_abernathy@wire.gatech.edu
3306-I Country Club Village Lane
Norcross, GA 30092-4426


This is a BackSpace screen saver module.  It randomly places colored dots on a solid background, kind of like fireflies, but somewhat busier than your average firefly scene.  Best viewed in otherwise total darkness; amazingly boring in strong lighting.  It also makes for a mildly interesting background.  Comments welcome, especially if they help me speed this up, point out any bugs, or fix known bugs.

First of all, a heartfelt thank-you to Sam Streeper for BackSpace (as well as other great contributions to the user community).  Thanks also to everyone creating those nifty modules that I love to view on my screen.  (Special thanks to Scott Byer - I don't know if you originated the "BackSpace.modulename" defaults owner name scheme, but you're who I stole it from.)  I certainly owe much thanks to the authors of NeXTSTEP PROGRAMMING: Step One; great book!  And of course, thanks to NeXT for providing software worth paying for, and in my case, for hardware worth paying for.

This is the first release of FireflyView.  It's version 0.9 because it still has one (known) bug.  I'm not convinced it's my bug, but I detail it below - if anyone can help me fix it, I'd be very grateful.  I'd also love comments on how to improve the performance.

The inspector allows some basic configuration of this module, with the settings being stored in the user's defaults database.  Most of the configuration is obvious.  You are not allowed to enter a negative number of fireflies but there is no upper limit on the number of fireflies (other than MAXINT).  If the Boring switch is set this module will not be called when BackSpace is in the All mode.  Clicking on the Info... button causes this file to be opened.  Clicking on the Reset button causes the configuration to return to default settings.  While this is useful for returning to the original settings, the main reason I did this is that I hate mess, and this removes the configuration info from the defaults database, which is actually the way things start; only customized configuration info is placed in the database.  If you decide to remove this module, I recommend using the Reset button first so that the defaults database gets cleared of any information pertaining to this module.  I hope that more modules start allowing the user to determine whether or not they are considered boring, as well as providing an easy way to clear out preference information.

I'm only aware of one bug.  While it's not fatal, it's quite obvious and very annoying.  I suspect that it's not my bug but rather a bug with NeXTSTEP.  (This module was developed under NeXTSTEP 3.1/Motorola.  To all you poor people who have to buy Intel hardware: Ha, ha, ha!  Should have bought earlier!)  Ok, ok, here's the bug:  Reset doesn't work correctly the second time; you have to quit BackSpace and restart it in order to use Reset again.  The problem is that I delete the defaults data, re-register the defaults, then re-read the defaults and change configuration appropriately; the second time this is done, NXGetDefaultValue only returns NULLs, even though everything else returns the correct result codes.  If someone else can determine my problem, or confirm that it's a NeXTSTEP bug, please let me know.  Other than that, there's the potential for memory leaks/overwrites/etc., but I feel pretty confident that there are no such problems.

Intended for the future:

·	performance enhancements
·	configurable firefly speed
·	multiple firefly groups (say, a group of 20 yellow fireflies, plus a group of 30 red ones, etc.,  probably presented in a browser, with an inspector for changing group attributes, and buttons for adding & removing groups.)
·	eventual offspring called AtomView which is similar, but which would actually trace paths as atoms bounce off sides and each other.  (Idea stolen from a cool Apple II program we used in physics class, and it's really what inspired THIS view.)
·	NeXTSTEP help
·	better structure for this file
·	a much more exciting inspector (probably most important part)  :-)

It should be noted that I spend my days working on PC/DOS and VAX/VMS in straight C, and it's hard to get motivated after a day of that.  (I'm open to alternatives...)  Translation: don't expect changes soon, but you may get lucky.  It'll largely depend on whether or not I get email from people saying that they love this module and are dying for other features. Feel free (indeed, encouraged) to (e)mail me bug reports, feature requests and module improvements; if you are totally stymied getting in touch with me (say, two years from now), try mailing me at 2181 Airport Road, Oxford, AL  36203, and my parents will (presumably) forward it to me.  If that doesn't work, sorry.

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.