WebsitesProject Rho
Project Rho is the website of the esteemable Winchell Chung (a.k.a. Nyrath the nearly wise.) While it has many sections (especially those showcasing his fantastic art!) the two which I have been involved with are Atomic Rockets section, and its sibling 3-D Starmaps. These two sections are so extensive that all they need are their own domains to become proper websites!
Atomic Rockets is compilation intended to help writers put a little more "science" into their "science fiction". The jumping off point is the design and operation of spacecraft (the eponymous "atomic rockets"), and then branching out into the staple components of space opera ("what do you do with those atomic rockets?") Suggestions, ideas, and examples are drawn from classic science fiction, online discussions involving scientists and engineers, and more recent scientific and technological developments. Despite the original intention, it is a superb introduction to the topic for laymen in general.
3-D Starmaps is all about creating that essential aid for any voyager in an atomic rocket. These are necessarily math-heavy pages, and combined with not being as glamorous as "torchships conquering worlds at laser-point for the empire", probably makes 3-D Starmaps less well known than Atomic Rockets. Nonetheless, like Atomic Rockets, 3-D Starmaps is also a useful tool for any serious attempt to make a "harder" science fiction setting.
Short History
As a regular visitor to Atomic Rockets, I was dissatisfied with the presentation of the content (but not the content itself!) but I came to realize that such a large site needed a website template program. It was not until the development of PAN version 5 that I had a solution.
A prototype was quickly assembled. This mainly entailed distilling a few Atomic Rockets web pages down into PAN ver. 5 data files, and then modifying the single class that translated the data files into HTML. Most of what remained to make a complete upgrade for Atomic Rockets was creating the other data files. With the prototype in hand, I volunteered to complete the upgrade and was relieved to receive Mr. Chung's warm reception and approval in February 2010.
Since that time, Atomic Rockets has received additional upgrades as time allows and new features demand. The first upgrade for 3-D Starmaps went online in May 2012.
Working on the Project Rho sections is a valuable learning experience. I am very pleased how both the Project Rho sections and PAN benefited from fixes, features, and visual styling being ported back and forth. In truth, it was PAN that benefited most; the complexity of Atomic Rockets was very good for dragging bugs and flaws into the light. PAN version 6 was heavily influenced by the needs of Atomic Rockets.
Below are some thoughts on each upgrade. The more astute among us may notice that the time I was working on Atomic Rockets upgrade for November 2010 coincides with periods when Atomic Rockets received few updates. Now you know who to blame.
Upgrades
November 2010
The initial upgrade sought to improve inter- and intra-page navigation, and page organization of Atomic Rockets.
Originally, inter-page navigation was provided by a JavaScript (JS) drop down menu. The JS menu was a logical way of implementing a common menu across multiple pages without resorting to server-side means. I found it inconvenient. The limited number of items displayed by the scrollbox meant much scrolling through the long menu, and did not allow one to quickly survey the full contents. Also, disabling JS risked would remove the menu.
To alleviate much of this, the menu was moved to the side and displayed in full. This consumed significant space.
The template program was particularly useful for improving intra-page navigation and layout by automatically generating indices and headers.
There were a few improvements, like the floating of images and captions instead of being positioned by tables, encapsulating quotations and calculations in visually-distinct areas, and collapsible sections using jQuery (thus my first major use of JS on a website was actually not on my own.) However, from a technical standpoint, these were accomplished primitively. These features were not abstracted by the data file and program, and their HTML markup was hard-coded into the data files and copied wholesale into the completed markup. Abstraction and automation of these features came later.
The need for further abstraction and automation in Atomic Rockets drove the development of PAN version 6. Atomic Rockets demonstrated that PAN version 5's data file format and interpreter were too inflexible and complex to extend easily. Development of PAN version 6 actually went live in late-May 2010, shortly before the first upgrade was ready.
Upgrading the site took from February to June 2010, working on and off as time allowed; almost all of that time was devoted to distilling the content from the flat HTML web pages into PAN data files. This was technically unrewarding and tedious work, and took somewhat longer than I anticipated. This probably influenced the lack of updates to Atomic Rockets during that time; I had not thought much about the difficulty of merging interim updates into the upgrade, but Mr. Chung solved this handily by deciding not updating at all.
The upgrade was prepared by mid-June and it went live in November 2010.
May 2011
The second upgrade, again solely for Atomic Rockets, had a longer gestation.
Once the first upgrade went live in November 2010, work immediately began on upgrading Atomic Rockets to PAN version 6 standards. The new XML data format allowed for greater data abstraction and tighter feature integration than was previously possible. The upgrade took from November 2010 to January 2011, with converting the data files taking most of the time. Ultimately, this upgrade was not uploaded and ended up as an intermediate step.
Upgrading Atomic Rockets to PAN version 8 standards was the second, and final iteration, of the second upgrade. This was a quick upgrade as the data file format did not change. The upgrade was carried out and went live in May 2011.
The second iteration moved the long inter-page menu into a pop-up area activated by mousing over the area in the top-right corner of the screen. The roll-over area was always on the screen and the pop-up area was implemented with CSS. The menu was arranged using vendor-specific versions of the CSS3 multi-column property. I hoped this would conserve screen space and make it easier to access the menu. Due to CSS support and screen size issues, visitors using Internet Explorer 9 (and older) or mobile browsers continued to receive the old inter-page menu from the previous upgrade.
May 2012
The third upgrade expanded the scope to include 3-D Starmaps. Like the second upgrade, there were two iterations.
In late-July 2011, the first iteration added the necessary abstraction in the data files to create galleries with video items. Both Atomic Rockets and 3-D Starmaps were upgraded to use this improved backend. This iteration was no uploaded.
The third upgrade expanded the scope to include 3-D Starmaps. Like the second upgrade, there were two iterations.
In late-July 2011, the first iteration added the necessary abstraction in the data files to create galleries with video items. Both Atomic Rockets and 3-D Starmaps were upgraded to use this improved backend. This iteration was not uploaded.
The second, and final iteration, was done in mid-May 2012. The Project Rho sections were not upgraded to the latest PAN standard; PAN version 9 and PAN version 10 added features that either were not needed by Project Rho (user authentication) or would require much more time to implement (image banners.) Instead, changes were limited to visual styling.
The third upgrade went live at the end of May 2012.
July 2013
The fourth upgrade went through two iterations.
The first iteration was completed in early December 2012, and roughly corresponded to PAN version 11 with the reimplementation of the layout to use CSS flexible boxes. The inter-page menu and page table of contents were moved into discrete columns; this removed some awkward usability and layout problems and allowed for repositioning based on screen width through flexboxes. Very little changed in terms of visual style.
Deployment had to wait for flexbox support in Firefox; this seemed likely to occur in early-2013. There was time to make further changes and the first iteration was quickly superseded by an upgrade to PAN version 12, which was developed with the Project Rho pages in mind. PAN version 12 made the page table of contents collapsible and moved it into the article area (this was for Project Rho), and further refined the visual style started in PAN version 9 (which Project Rho finally received with version 12.) In both iterations, both Atomic Rockets and 3-D Starmaps were made as similar as possible to ease maintenance.
The change to the page table of contents was another attempt to make such menus accessible while reducing their intrusiveness, especially on the article area. In that respect, the reversion of the inter-page menu back to a sidebar was a step back.
The fourth upgrade went live in the beginning of August 2013.
December 2014
The fifth upgrade had a prolonged gestation, first taking on features from PAN version 13 and then finally version 14.
Navigation underwent major changes – again. The page table of contents feature was directly adopted from PAN version 13; the menu was displayed and hidden by mouse-clicking on the button. The menu was coded using only HTML and CSS, and without JavaScript. The new top inter-page worked much the same way.
These new menus were a response to the previous clumsy inter-page menu that was used from May 2011 to July 2013. In that older scheme the menu was displayed when the mouse pointer rolled over the "tab" and disappeared again when the pointer left the menu area. It was not friendly to smaller screen resolutions, and the combination of required mouse movement and sometimes screen scrolling made it difficult to use.
The new menus saved screen-real estate and displayed as many options as screen space allowed like the May 2011 inter-page menu, while being much simpler to use and control. Navigation was finally improved on the old JavaScript drop-down menu used by Atomic Rockets before November 2010.
When the Atomic Rockets Patreon campaign started, a small image link to the campaign page was added to each Atomic Rockets page beside the page title image. To accommodate future notices, a collapsible area was added to the top of each page for such messages. A more permanent image link to the campaign was added into Atomic Rocket's header.
The fifth upgrade went live in the beginning of December 2014.