26 December 2010

Software Archaeology: Deep-Sky Planner 1

2011 marks twenty years of development on Deep-Sky Planner. Digging through my files has brought back some memories and some amusing facts ...

The story begins in 1987 when I got a copy of Borland's Turbo C for DOS to do some contract work. I also had the RNGC catalog so I massaged the catalog data with Turbo C for my own needs. This was hobby computing aimed at finding new things to observe with my Celestron-8.

In 1989, Sky Publishing released NGC 2000.0 on diskette. That quickly displaced RNGC for my growing needs - feeding a new 20 inch telescope. At the same time, I began working on a menuing system in DOS with Turbo C. It was a really simple system but it was much better than the command line programs that were the interface du jour.

In early 1991, I got Turbo C++ to learn the C++ language. I had evaluated Zortech C++ but found Turbo C++ to be easier, cheaper and sufficient for my needs. In the summer of 1991, I began working on the code that has become Deep-Sky Planner. I redesigned the menuing system that had originated in DOS and I began to design a data access system in C++ that was small and fast. By December I got a copy of Jean Meeus' Astronomical Algorithms and the C language library that came with it. These acquisitions allowed me to start adapting the Astronomical Algorithms library to C++ with speed of execution being the primary goal.

Borland C++ was released in 1992 with TurboVision, a DOS based library that provided a solid graphical user interface. My experience with developing commercial end-user applications highlighted the necessity of providing a user interface that users could understand. When I adapted my code to use TurboVision, I knew that my project might be commercially viable so I sent a written proposal to Sky Publishing. By August of that year, Sky had responded with interest so I sent the first evaluation version of Deep-Sky Planner to them on 2 diskettes.

By January of 1993, I received a publishing contract which was signed, sealed and delivered by February. There were many months of delays during acceptance testing and copy editing (of the manual) before the product was ready. There were some personnel changes at Sky during this time, and it was the first shrink-wrapped software product published by them.

I had an interesting note from Sky's Books & Products Manager in January 1994 telling me to change the title to include a hyphen. That's why it's Deep-Sky Planner not Deep Sky Planner. Other corrections made during the copy editing process were helpful, but the hyphen one has always set this title apart from others. I still don't think 'deep sky' is wrong, but I'm not a professional copy editor either.

As part of the publishing process, Sky sent a marketing survey to me to help them understand how to market the product. One question asked about any competing products in the marketplace. I responded "I know of no other product that offers only textual output. Most are planetarium programs that also provide limited databases and limited reporting capabilities." I went on to mention TheSky for DOS (Software Bisque) $129, MegaStar (Emil Bonnano) $139, Deep Space 3-D for DOS (David Chandler Co.) $79 + $65 database upgrade. As far as I know, Deep-Sky Planner was the first commercially available observation planning product, debuting at $34.95.

Deep-Sky Planner 1 was officially released on April 1, 1994 and the first advertisement appeared in the March 1994 issue of Sky & Telescope. It was speedy and compact, and it contained a lot of deep-sky objects (31,418) for the day. It didn't include any planet ephemeris computations which became the most-requested feature from users. Amazingly, it still runs under Windows XP.

Next time I'll look at version 2, an adventure into 16-bit Windows.

04 November 2010

Version 5 update well underway

I had an opportunity to participate in a panel discussion about planning visual and imaging observing sessions at an astronomy club meeting last spring. Interestingly, half of the panelists plan carefully for both long term (months or years) and short term (tonight). Personally, I fall into the former group. The other half of the panelists relied on last minute preparation or lists created by others.

The panel and the audience agreed that most observers prowl magazines, books and the Internet for visual and imaging targets. Creating and sharing observing lists is possible with Deep-Sky Planner, but there has been a more elegant solution on the drawing board for quite some time. In fact, the prototyping of the solution was done 3 years ago - summer of 2007. Requirements have been gathered and refined in the interim through various means.

I read a lot of astronomy related material from books, magazines, professional journals and online articles. I also get a lot of ideas from users. (Did you notice I was taking notes while we talked at NEAF/PATS/star parties?) I am primarily a deep-sky observer, but I experimented with remote imaging over the summer. That experience moved some planning requirements from 'maybe' to 'must have'.

These new planning features (requirements) are beginning to take shape now in the form of coding. Two compiler upgrades this year have slowed coding, but it is progressing now at full speed. From an engineering perspective, the new features will benefit from new instrumentation capabilities in the newest compiler. That should translate into better quality and performance once the features reach users. From a user standpoint, the new features will come as a free update to version 5.

Please stay tuned for more information as work progresses. More details will become available as version 5.1 enters beta testing in Q1 2011.

PS - If you use Cartes du Ciel 3.2, there is a minor bug in the interface that Deep-Sky Planner 5 uses. The bug is already fixed in the development version of Cartes du Ciel, but a hotfix is available for Deep-Sky Planner 5 in case you prefer to stick with the officially released CdC v3.2. Deep-Sky Planner users can log in to the Community page and download the hotfix.

06 October 2010

Fall observing returns!

The fall brings decent observing conditions back to North Carolina. Gone are the hazy, humid skies of summer.

Jupiter has been bright and stunning in the evening sky. Early morning has featured Orion in the south - a sure sign that transparent Winter observing will return soon.

The moon never fails to impress. This photo of the moon was taken on 6 October about 32 hours before new moon - a very old moon indeed. The bright earth shine in the morning twilight have a way of kick-starting the day. So much for the diversion. Now it's back to work!

02 September 2010

Deep-Sky Planner Featured by Embarcadero

Deep-Sky Planner has always been developed in C++, most recently in C++ Builder from Embarcadero. C++ Builder is an excellent rapid application development solution for creating rich GUI Windows applications. C++ Builder is one of the development languages included in Embarcadero's RAD Studio, along with C, Delphi and PHP.

Each year, the new version of the development system is introduced worldwide at "Launch Events", where Embarcadero promotes the newest features in RAD Studio. This year's Launch Events highlight Deep-Sky Planner as a success story produced with C++ Builder. It's an honor to be recognized in this way among software professionals worldwide. If you are a developer of Rich GUI applications for Windows, you might want to have a look at RAD Studio XE.

02 August 2010

The Great Unicode Migration

The last 2 months have been spent migrating program code for a compiler upgrade. It has been tedious work, affecting over 900 source files in Deep-Sky Planner alone. The bulk of the migration changes has been related to supporting Unicode. Unicode accommodates characters in most any language. System testing of the changes is in progress.

While the migration has seemed like non-productive work, it will permit Deep-Sky Planner and SQM Reader Pro to take advantage of new technologies that are supported in the new compiler. These technologies will be used to develop some exciting new features and to satisfy some user-requested ones - more on this later. These features will appear in a free update (v 5.1) to Deep-Sky Planner 5 that is scheduled for release in Q1 2011.

In the meantime, some minor issues surfaced in Deep-Sky Planner v 5.0.1 during the migration. Code reviews have a way of doing that. These issues will be fixed in a minor update (v 5.0.2) to be released soon - in Q3 or early Q4 2010.

02 July 2010

Darkness Poll Closed - Results Are In!

The final results are in on the question How do you rate sky darkness?

19% don't rate darkness at all.
12% use the Bortle scale (read about this scale here).
48% estimate the naked-eye limiting magnitude (NELM).
19% use equipment that detects darkness in magnitude per square arcsec.

Sky darkness is a key component in planning visual and imaging observations. It is also an important statistic to include in logging observations. The 19% that don't bother to rate darkness could benefit from using one of the other scales.

Rating sky conditions could (should) be a matter of habit when setting up for a night's observing (or when imaging remotely). Including this metric in visual or imaging logs can help to identify conditions that work for you. If you aren't rating darkness, give it a try!

10 June 2010

How do you rate darkness?

A poll has been running on the Deep-Sky Planner web page for several weeks that asks the simple question 'What scale do you use to rate sky darkness?'

The results as of now are a bit illuminating (pardon the pun).
  • 20% don't bother with rating darkness at all. Observers really should rate darkness somehow.
  • 12% use the Bortle scale. It is a very coarse scale but it is easy to use.
  • 45% use NELM - the naked eye limiting stellar magnitude at the zenith. This is an easy test to conduct during observing but is subject to one's visual acuity and experience. It is a finer measure than Bortle, but subjective.
  • 20% use magnitude per square arcsecond. This is very likely to be measured by equipment such as a Sky Quality Meter. It is easy to acquire this value during observing but only if you have the equipment. It is also a very objective measurement so it is the most precise measure of darkness, but it does require an investment.
  • 0% just make up a number on their own scale. This is a surprise because observers often say something like 'darkness was 8 out of 10'. Maybe the poll is missing respondents on this question.

If you'd like to participate in this non-scientific poll, visit http://knightware.biz/dsp/ and look in the left column for the Observer's Poll. Please vote only once.

17 May 2010

Importing Planet Events into Google Calendar

Deep-Sky Planner 5 can produce reports in various file formats. HTML is popular for users that have a website for their planning information or observing log. Text and CSV are popular for moving data into spreadsheets, but another use popped up recently that I'd like to share.

I wanted to plan some summer camping trips around new moon dates. Since I use Google Calendar, I looked into the possibility of importing moon phase information generated in Deep-Sky Planner's Planet Events report into my Google Calendar. Since Google publishes the import file format, it was easy to convert the CSV format file produced by Deep-Sky Planner into the CSV file format required by Google Calendar. The script could also be used to produce a file with the dates of eclipses, the dates of opposition, greatest elongations, etc.

I wrote a simple script that performs the conversion. I use Python for most scripting tasks like this, so I have made the script available on the Files section of the Deep-Sky Planner Yahoo group. The script is written for Python 2.6 and can be run from a command prompt. If you use Python, that would be something like:

python EventToGoogleCalendar.py

The script prompts you for input and output files. Once you've converted the file, you need to log into your Google Calendar and import the file.

If you prefer a different script language, you can use the Python script as an example in writing your own script. Of course, the idea of sharing planet event information with a personal calendar is applicable to other calendar services. The key is having a calendar service that has import capability and publishes import file format.

02 May 2010

Use Deep-Sky Planner 5 with TheSkyX Pro

Deep-Sky Planner 5 has been updated to support TheSkyX Professional edition. Deep-Sky Planner 5 now provides smart interoperation through its Show Chart feature with these planetarium software products:
  • TheSkyX Professional edition
  • TheSky6 Professional and Serious Astronomer editions
  • Starry Night 6 Enthusiast, Pro and Pro Plus editions
  • Redshift 7 Premium, Advanced and Compact editions
  • Redshift 6 Premium edition
  • Cartes du Ciel 3

Users of TheSkyX Pro must have version 10.1.6 or later to use this feature. Users of Starry Night must have version 6.3.8 or later to use this feature.

20 April 2010

Northeast Astronomy Forum 2010 Redux

NEAF was quite busy this year. Attendance seemed larger, and there was a healthy interest in astronomical software. It was great seeing previous customers again while meeting some new ones. It may take the voice and feet a while to recover!

Answering questions for an interested customer

NEAF was more than a trade show this year. Knightware also hosted a technical meeting about OpenAstronomyLog for interested astronomy software developers on Friday during vendor setup. The purpose of the meeting was to help developers add support for OpenAstronomyLog (OAL) to their products. We discussed the technical and business merits of the OAL project, talked about support resources that are available, and explored some ideas that may make supporting OAL easier. Several other developers expressed interest in the project but were unable to attend the show.

Developers of Redshift and TheSkyX participated in the OAL meeting.

Knightware greatly enjoyed taking part in this year's NEAF and we look forward to it again next year.

17 April 2010

TheSkyX Revealed

Software Bisque has confirmed that TheSkyX Pro will be released today at NEAF. This release contains the interface that Deep-Sky Planner needs to support its Show Chart interoperation feature with TheSkyX.

Knightware is currently testing support for TheSkyX in Deep-Sky Planner 5. Support for TheSkyX is planned for the first minor update to Deep-Sky Planner 5 (v5.0.1) which will be released in a few weeks.

If you'd like to see Deep-Sky Planner 5 working with TheSkyX, please drop by our booth for a demonstration - we're right beside the Software Bisque booth.

11 April 2010

Heading to NEAF (April 17-18)

Knightware will be packing up and heading for the Northeast Astronomy Forum and Telescope Show (NEAF) later this week in New York. NEAF is an exciting time for attendees and vendors - there's so much happening. If you are going to attend NEAF, please stop by the Knightware booth (#343) and say hello. It is always fun to meet users who are otherwise known only via e-mail.

We'll answer your questions about our software products, Deep-Sky Planner 5 and SQM Reader Pro. Both products will be available for you to try on our demo computer, and both will be available for purchase at a special price at the show.

Please tune in to this blog for updates as the weekend unfolds. We plan to provide some photos and commentary about the goings-on.

02 April 2010

Starry Night 6.3.8 update affects Deep-Sky Planner 5

Good news! Simulation Curriculum has released an update to Starry Night 6 that fixes a problem with changing field of view from the Show Charts feature in Deep-Sky Planner 5.

The update from v 6.3.3 to 6.3.8 is available using the Starry Night update service. You should follow their procedure for applying updates.

You may also need to update your Deep-Sky Planner 5 plug-in for Starry Night if you haven't done so since version 5 was releasd. Click Help | Community Page(online) inside Deep-Sky Planner 5. This should open your web browser and log you into the DSP community page. Next, click the hyperlink 'download the updated plug-in' towards the bottom of the web page to start the download. Once you have downloaded the plug-in and saved the file to your hard disk, copy it to your Starry Night installation. On most systems, you would be replacing the file at C:\Program Files\Starry Night Pro Plus 6\Sky Data\Plug-ins\DsSN50.plug

Also, if you are using Deep-Sky Planner 5 with Starry Night on Windows 7 or Vista, you will probably need to run both programs 'As Administrator'.

The updated plug-in will be released in the first bug-fixing update, v 5.0.1. Hopefully that will be released by late April.

02 March 2010

Windows 7 64-bit Checks Out Ok

More in-depth testing of Deep-Sky Planner 5 has now been completed with a 64-bit version of Windows 7 (Home Premium edition). Testing was conducted with UAC enabled, and no problems were detected with Deep-Sky Planner 5. Since more and more customers are upgrading to Windows 7 or buying new computers with Windows 7, the test results for the features that seem most prone to compatibility problems are described below.

Windows 7 Upgrade advisor states that a computer should have 2 GB of RAM or more to run the 64 bit version of Windows 7. These tests were completed with 1.5 GB of RAM.

Telescope Control
ASCOM v5.0a was installed. The installation process reported errors registering the Simulator.RotatorSimulator object. Since Deep-Sky Planner 5 does not use this object, the error was ignored. All slewing and syncing operations worked correctly with the Simulator driver. That indicates that Deep-Sky Planner is compatibile with ASCOM. Any particular driver may have its own problems.

Star Chart Interoperation
  • TheSky6 Serious Astronomer edition - worked with no problems.
  • Redshift 7 Premium edition - worked with no problems.
  • Cartes du Ciel 3 - worked with no problems.
  • Starry Night 6 Enthusiast edition.

    The plug-in for Deep-Sky Planner 5 requires an update. This can be downloaded from the Deep-Sky Planner Community page (Licensed users only).

    Starry Night requires an update to support changing the Field of View when you do Show Chart in Deep-Sky Planner. If the Field of View is not changed, Show Chart works correctly. Simulation Curriculum advises that this update is forthcoming and will be v 6.3.8.

    Both Starry Night and Deep-Sky Planner must be 'Run as Administrator'.

    Version worked but the OpenGL service could not start. Video was low-resolution.

    Version 6.3.3 worked but the driver for the test computer's NVidia GEForce 6800 graphics card had to be updated. Starry Night loaded and displayed part of its main window and then stopped with an AppCrash message before the driver update. Note that Windows 7 was installed on this computer within the last week and the graphics card driver still needed to be updated. Java 6 update 18 (for 32-bit browser) and QuickTime v 7.6.5 were installed.

    Important: Simulation Curriculum frequently advises users to update graphics card drivers. Take heed - this advice can save time and trouble.

    Version 6.3.6 - have not tried.

XML processing
Many of Deep-Sky Planner's data files are stored in XML format. No problems were detected with the XML parser or XML transform processor under Windows 7.

28 January 2010

Deep-Sky Planner 5 Is Shipping

I was talking recently to the CEO of a company that sells critical power systems. He asked 'why is software never on time? Why do engineers always want to add another feature?' I responded that feature creep isn't instigated exclusively in engineering. We went way down the rabbit hole from there...

After two and a half years of development which was preceded by quite a bit of requirements gathering, DSP5 is shipping - in January 2010 as advertised. I like punctual, but I realize releases don't always go as planned. I've been involved with software projects that were late and some that never shipped. Those were unpleasant episodes.

Hard to do
I've corresponded with some other developers of astronomical software on various issues, and it's pretty clear that releasing software on schedule is pretty hard to do. Part of the reason is feature creep, but there are other reasons beyond developers' control: changes in operating environments (e.g. Windows), advances in hardware and the complexity of the application itself all conspire against the calendar. Fortunately Microsoft did a much better job with compatibility in Windows 7 than in Vista. Testing with different hardware is getting formidable - there are 32 and 64 bit computers in different configurations. Heck, the office is overflowing with computers and astronomy gear. As for the complexity of the application, all programmers use that excuse, right? Maybe so, but I'm always assessing different methodologies to help manage the complexity. Parts of Agile Development look promising. The idea is to develop and release smaller increments of functionality. The desired end is to release feature updates to version 5 on a 6 to 9 month cycle. Bug fixes remain highest priority, with these updates released ASAP. We'll see how it goes.

So version 5 is ready. As I review the features that have been requested, I'm pleased with the number that are implemented now. Others need to be implemented after other pieces are in place, but they are on the development plan. I guess I'm guilty of the engineering mentality that my CEO friend talked about: there are lots of features and enhancements on the drawing board.

17 January 2010

Windows 7 and UAC - Can Do

Windows Vista has been quite the adventure for Windows users and software developers. Years of experience with previous versions of Windows taught us a set of rules that changed with Vista, attributable to improved security. This author's experience indicates that Windows 7 has retained the new rules introduced with Vista while improving the 'user experience'. Stated plainly, I like Windows 7 a lot better than Vista.

Pain Free UAC
Deep-Sky Planner 5 is designed to 'play nicely' with the new security scheme that appeared in Vista and continues with 7: it can run from either an administrative or standard user account with User Account Control turned on. Three features require administrative privileges to run:
choosing the ASCOM driver for your telescope, setting system time using a time service or a telescope mount, and using Starry Night with Deep-Sky Planner. I can understand why the Starry Night plug-in or setting system time should be limited to administrators, and the ASCOM driver chooser is not actually a part of Deep-Sky Planner. Other than these situations, UAC stays happy.

Multiple Install Modes
Deep-Sky Planner 5 supports 2 installation modes: one for all users and one for individual user(s). In all users mode, one copy of the program and data files is shared by each user of the computer. In individual user mode, a copy of the program and data files is accessible to each user account for which it is installed. This means that account(s) do not share code or data - a private copy belongs to each installation.

Individual mode is good for most users. It is essential if you need separate files for multiple users. Separate files includes the database where observations, equipment definitions and locations are stored. This option can be maintained (patched) by the individual user without the need for an administrator to apply the patch.

All Users mode is ok for most users too. The program can be run from any account on the computer, but the files are shared. Any maintenance (patching) must be done by an administrator.

The bottom line is pretty simple
Microsoft is taking steps to diminish security problems in Windows, and software developers need to follow the recommendations to make the end user's product work within the new guidelines. Deep-Sky Planner 5 is ready for these changes and it gives you several options for using the product securely with the latest version of Windows.