Welcome, Guest. Please Login
Tinderbox
  News:
IMPORTANT MESSAGE! This forum has now been replaced by a new forum at http://forum.eastgate.com and no further posting or member registration is allowed. The forum is still accessible via read-only access for reference purposes. If you wish to discuss content here, please use the new forum. N.B. - posting in the new forum requires a fresh registration in the new forum (sorry - member data can't be ported).
  HomeHelpSearchLogin  
 
Pages: 1
Send Topic Print
Showing ages in multi-band timeline (Read 4926 times)
Sumner Gerard
Full Member
*
Offline



Posts: 359

Showing ages in multi-band timeline
Aug 24th, 2012, 1:29pm
 
Multiband timelines can be useful to visualize how old various people (or reigns or eras or products) were/are/will be at the time of such-and-such event. The attractive new Aeon Timeline does this out of the box. Tinderbox Timeline View can also do this, quite elegantly and with more flexibility, after a little setup that takes advantage of 'non-plotted containers' discussed in Mark A's indispensable aTbRef here.

Five easy pieces:

1) Create 'Person' notes in the timeline container where you have your 'Event' notes. Make sure $StartDate is 'never' for these 'Person' notes, which will become containers in Step 3.

2) Add a semicolon-delimited list of Person names to $TimelineBandLabels in the timeline container. These labels don't have to be identical to the Person note names, but must be ordered consistently with the $TimelineBands assigned in Step 3.

3) Create a user attribute $BirthDate, enter a value for it in each of the 'Person' notes, and (optional but convenient) add an OnAdd action for each 'Person' note that sets $TimelineBand to the desired band for that Person on the timeline.

4) Move the 'Event' notes into the appropriate 'Person' containers (and add new ones as desired). If an 'Event' is associated with more than one 'Person', create aliases of the event and place these in the various other 'People' containers.

5) Place code in a stamp, agent, or rule to calculate and display the age for an 'Event' by subtracting the parent 'Person' container's $BirthDay from the Event's $Startdate.  For calculating age in whole years, where precision is not needed, this code could be:

     $DisplayExpression='$Name+"  (age: "+eval($StartDate.year-$BirthDate(parent).year)+")"'

Now, the ages for each Person can display for any Event, including ages of multiple Persons associated with the same Event; see 'Group event 1' and 'Group event 2' in the following screenshot:




In Tinderbox, unlike in specialized timeline software I've seen, this approach isn't limited to ages (time elapsed since a point in the past). One could put values for a $DeathDate (or whatever) user attribute in the non-plotted People (or whatever) containers and display time left until demise, launch, product expiry, end of facility availability period, retirement, the hurricane or typhoon landfall, final Armageddon-like explosion scene, etc.

Starting with the built-in prototypes can facilitate the steps above.  Example TBX here illustrates one way to do this.

Alas, Timeline View (as of TB v 5.11.2) does not seem to support $HoverExpression, which would be ideal for exploring a crowded timeline.  So, to make do, I set up a stamp that sets $DisplayExpression to add age to the display, and another that removes age from the display.  When I need to show or hide age detail I simply select the desired Event note(s) and apply the relevant stamp.  Further automation can be added as necessary.

Things I can't figure out:

-- Is there a way to reduce the font of the $TimelineBandLabels, as *seems* possible from screenshots in aTbRef? (Can see how to change color and opacity, but not size).

-- How can one prevent the unattractive progressive darkening of a $TimelineMarker line when it passes through successive aliases (see 'Group event 2' in the example)? The JavaScript also produces this progressive darkening when the 'exported' timeline is embedded in an html page.
Back to top
 
« Last Edit: Aug 24th, 2012, 4:51pm by Sumner Gerard »  
  IP Logged
Mark Anderson
YaBB Administrator
*
Offline

User - not staff!

Posts: 5689
Southsea, UK
Re: Showing ages in multi-band timeline
Reply #1 - Aug 24th, 2012, 4:14pm
 
Nice walkthrough - thanks! As to your questions:

Band labels. The bands use alternating $MapBackgroundColor and (a tint of) $TimelineColor. I don't believe there are any controls for the colour/opacity/font of these labels. I think the smaller label seen in the blue sidebar in this image is from an earlier version since which label sizes have been harmonised.

Marker bars.  I think this is an unexpected result - best touch base with support.
Back to top
 
 

--
Mark Anderson
TB user and Wiki Gardener
aTbRef v6
(TB consulting - email me)
WWW shoantel   IP Logged
Sumner Gerard
Full Member
*
Offline



Posts: 359

Re: Showing ages in multi-band timeline
Reply #2 - Aug 24th, 2012, 4:48pm
 
Quote:
I don't believe there are any controls for the colour/opacity/font of these labels.


Haven't tried these (actually, on second thought, I think I did try changing color and it worked though I didn't like the result) but did see the following aTbRef entries on controlling the appearance of band labels (as opposed to the bands themselves):

TimelineBandLabelColor

TimelineBandLabelOpacity

Being able to reduce the size of of the font when it is too "in your face" would be helpful.  Because of the other controls, I thought maybe there is already a way.

Will send email on timeline marker line to support.
Back to top
 
« Last Edit: Aug 24th, 2012, 4:55pm by Sumner Gerard »  
  IP Logged
Mark Anderson
YaBB Administrator
*
Offline

User - not staff!

Posts: 5689
Southsea, UK
Re: Showing ages in multi-band timeline
Reply #3 - Aug 24th, 2012, 6:36pm
 
Mea cupla - yes - I added these to the main listing and forgot to update the relevant page in the section on timelines. with some 250 system attributes, it's easy to loose track! Anyway, the relevant page is now updated.
Back to top
 
 

--
Mark Anderson
TB user and Wiki Gardener
aTbRef v6
(TB consulting - email me)
WWW shoantel   IP Logged
Pages: 1
Send Topic Print