2014-07-28

Real Milky Way

If you like the Traveller Map site, you might like http://galaxymap.org/ which attempts to explain the real Milky Way galaxy.

Just be aware that we have limited information about the large scale structure of our galaxy.

Oh, and real astronomers make orient Coreward (from the sun) down. Ω

2014-07-27

Judges Guild Gateway Quadrant Sectors

Before the Atlas of the Imperium, in the days of GDW's land grants, the prolific publisher Judges Guild published four sector supplements defining the Gateway Quadrant:


While the quality of the publications was not necessarily up to the standards of GDW's Supplement 3 and Supplement 10, or necessarily of other licensees, it was a unique look at the wilds on the Trailing edge of the as-yet ill-defined Imperium.

The Atlas and other later works decanonized the Judges Guild sectors - only the names of three of the four sectors were retained (with Maranatha-Alkahest replaced by Gateway). But that doesn't mean that they're not fun places to explore!

Useful resources:


To preserve these for posterity, I've added them to the TravellerMap.com site. And to avoid overwhelming the UI with "which setting are you interested in?" clutter - and honestly, to make it easier to implement - I've simply placed the sectors far away from charted space. They're visible in search, or you can jump right to them:

Judges Guild Sectors - Gateway Quadrant


Notes:

  • Data for Ley Sector from Galactic - transcription and corrections were done by Andrew Moffatt-Vallance 
  • Data for Maranatha-Alkahest Sector from Gateway Quadrant Wiki - transcriptions done by Jeff Rients, with additions and corrections by Joshua Bell
  • Data for Glimmerdrift Reaches Sector from Galactic - transcription and corrections were done by Andrew Moffatt-Vallance 
  • Data for Crucis Margin Sector from Galactic - transcription and corrections were done by Robin Ludbey

Ω

2014-07-21

Demographics

Apropos of nothing, stats for the last month, stuff over 1%. These are stats for site page loads - i.e. hitting the main map page, the poster/booklet makers, or anything in docs/.  Any amount of time spent on the map itself counts as one data point.

Geography:

  • United States: 56%
  • United Kingdom: 13%
  • Germany: 6%
  • Australia: 5%
  • Canada: 3%
  • Japan: 3%
No real surprises there. English-speaking countries dominate, but strong showing in Germany thanks to long time support and recent innovation by 13Mann. Japan has a history of Traveller fandom as well (and awesome box art!)

Operating System:
  • Windows: 65%
  • iOS: 14%
  • Macintosh: 9%
  • Android: 6%
  • Linux: 4%
Windows use continues to decline, and mobile use is growing. Macintosh beating out Android is interesting. But the answer lies further down...

Browser:
  • Chrome: 38%
  • Firefox: 29%
  • Safari: 13%
  • IE: 11%
  • Safari (in-app): 3%
  • Opera: 3%
  • Android Browser: 2%
I would have expected Safari to make a bigger showing thanks to iOS. The good news is that "evergreen" (continually updated) browsers are 70% of the audience.

Devices:
  • Desktop: 79%
  • Tablet: 13%
  • Mobile: 8%
... and of non-desktop:
  • iPad: 49%
  • iPhone: 17%
  • ????: 5%
  • Nexus 10: 3%
  • Nexus 5: 2%
  • Nexus 7: 2%
  • Windows RT: 2%
Tablet usage higher than "mobile" (i.e. phone) usage is quite unusual. And iPad completely dominating here is also unusual. I guess the numbers support the anecdotes I've heard from users about using iPads while gaming. I rarely bust out a tablet, but I'll need to start prioritizing work in that area - e.g. making it easier to report bugs and so on.

Ω

2014-06-04

Metadata Stylesheets

Sick of having to Copy/Paste this over and over again?

  <Routes>
    <Route Style="Dashed" Start="0101" End="0202" />
    <Route Style="Dashed" Start="0101" End="0303" />
    <Route Style="Dashed" Start="0101" End="0404" /&gt;
    ...
  </Routes>

And then you decide that Fu would be better represented with dotted cyan instead, and you need to do a Find/Replace? Oh, the drudgery.

I've added a new metadata element you can use to style a few elements, borders and routes. Here's what you do:

  <Stylesheet>
    route.Fu { color: pink; style: dashed; }
  </Stylesheet>

  <Routes>
    <Route Allegiance="Fu" Start="0101" End="0303" />
    <Route Allegiance="Fu" Start="0101" End="0404" />
    ...
  </Routes>

Now all of Fu's routes are dashed pink, and more easily changed to dotted cyan.

It's similar to the CSS language used in web pages. The basic structure is a list of rules:

selector, selector, ... { property: value; property: value; ... }

Selectors (the bit up front):
  • type - border or route
  • Optionally followed by a period (.), then allegiance
    • e.g. border.Im
  • Multiple selectors can be listed, separated with commas
    • e.g. border.JuPr, border.JuRu, border.JuHl { color: blue; }
Declarations (the bit in the back):
  • A declaration list occurs in { braces } after the selector list.
  • Each declaration has a property, colon (:), value, semicolon (;)
  • Semicolons are terminators, not separators. You need a trailing semicolon after every declaration. This is different from CSS.
Properties/Values:
  • color -  HTML color name or six-digit hex color #rrggbb
    • e.g. pink or #FFC0CB
  • width - integer or floating point number
    • e.g. 2 or 1.5 or -123.456e23
  • style
    • solid, dashed or dotted
Details:
  • borders have only color
  • routes have color, width, and style
  • routes can use Type instead of Allegiance
    • e.g. route.Trade would select
  • You can use /* comments */ anywhere you can put spaces.
  • Within identifiers, you can use backslash (\) to escape characters like spaces
    • e.g. route.Core\ Route { color: purple; }
  • Explicit values on an element take precedence over a matching stylesheet rule.
Language boffins - here's the grammar:

stylesheet       := WS rule-list WS
rule-list        := rule*
rule             := selector-list '{' WS declaration-list '}' WS
selector-list    := selector WS ( ',' WS selector )* WS
selector         := element ( '.' code )?
element          := IDENT
code             := IDENT
declaration-list := declaration*
declaration      := property WS ':' WS value WS ';' WS
property         := IDENT
value            := IDENT | NUMBER | COLOR
IDENT            := [A-Za-z_]([A-Za-z0-9_] | '\' ANY)* 
NUMBER           := '-'? [0-9]* ('.' [0-9]+) ([eE] [-+]? [0-9]+)?
COLOR            := '#' [0-9A-F]{6}
WS               := ( U+0009 | U+000A | U+000D | U+0020 | '/' '*' ... '*' '/')*

And the source is on GitHub, of course. Also on GitHub you'll find the default stylesheet, which is applied after any values on the elements themselves and any sector-specific stylesheet:

border.Im { color: red; }
route.Im { color: green; }

border.SoCf { color: orange; }
route.SoCf { color: green; }

border.ZhCo { color: blue; }
route.ZhCo { color: lightblue; }

border.As { color: yellow; }
route.As { color: yellow; }

border.Hv { color: purple; }
route.Hv { color: gray; }

border.Kk { color: green; }
route.Kk { color: gray; }

border.JuPr { color: blue; }
route.JuPr { color: lightblue; }

route.Core\ Route { color: purple; style: dashed; }

This will almost certainly expand and be refined over time.

Ω

2014-05-21

Option: Dim Unofficial Data

I just tossed another feature up under the settings (gear) menu. You can now "Dim Unofficial Data" - anything that hasn't gotten the "final" T5SS seal of approval is slightly grayed out.

It's not on by default. This feature has been on the "to do" list for a while but I was overthinking the problem - this is a quick hack, but I think it's kinda pretty.

Ω