Showing posts with label roadmap. Show all posts
Showing posts with label roadmap. Show all posts

2013-11-18

New UI Design

I've redesigned the UI for the main map page. Please try it out:

http://travellermap.com/new.html

I've tested in Chrome, Firefox, Safari, and Internet Explorer 8/9/10, and on iPhone and iPad - yes, you now have full UI control on touch-based devices.

Please let me know if you have any issues with the page. If you notice any glitches, it'd be nice if you check with the "classic" page as well to see if you've discovered a long-standing bug or something new with the UI.

Let's shake those bugs out!

Ω

2013-07-23

Coming soon: Open Source, T5 Data, RESTful URLs, MSEC parsing

I'm taking a week off from work to catch up on personal projects that require more than the usual 20 minutes a day of unbroken concentration I can scrounge up. For TravellerMap.com my big goal is getting the code open sourced, up on GitHub. As a prelude to that I needed to do some cleanup, such as moving some authentication strings out of the code itself, and general polishing. Don't expect it to be beautiful, though!

A few things got done as part of this process:

  • More RESTful URLs will be added, with the ugly SomeAPI.aspx URLs relegated to legacy. For a hint of what this might look like (if you're not familiar with the terminology) look at a COTI thread on RESTful Traveller APIs
    • Nit: it won't be truly RESTful as the site is stateless, so there's no state to transfer. 
  • I've implemented T5 "Second Survey" data parsing and a formal format description. Short answer: column-based, but variable width fields with a header that self-documents field widths.
  • I've implemented support for sec2pdf's MSEC file format. Not every feature (like label tweaks) is supported, but it will save you from learning the XML metadata format.
  • Added honest-to-goodness unit tests for a handful of things. 
  • Converted most of the C# to use System.Linq where possible to make the code more readable.
  • Squashed various bugs
Expect shiny things over the next few days, and as always forgive the mess.


Ω

2012-09-22

Making a Dent in the To-Do List

I had a little bit of time today so I decided to make sure the To-Do List was updated on Trello. This should cover everything that's been mentioned in comments here and sent in private email. If I missed anything let me know - or even better, sign up to Trello and I can let you add it to the list yourself.

I knocked off a handful of easy items:
  • Subsector names will once again show by default at 64 pixels/parsec (although dimmer than before)
  • Subsector names will NOT show by default for Poster.aspx-generated images, although this can be turned on via options
  • Decoding of "packed" base codes (2 = N+S, A = N+S, B = N+W) now handles per-allegiance specific packing: Vargr: H = C+G, Aslan: U = R+T, Hiver: F = L+M
  • Allegiance code "--" doesn't render. (Perhaps it should show as "Na" so it isn't assumed to be Imperial, but -- is usually only used far away from the Imperium so I don't think it's an issue.


Ω

2012-07-15

Another Non-Update

Nothing to report yet (June got busy!) but I have been doing some behind the scenes work.

The tiled, dragable map display logic used for the main map (and iframe) and the touch version were completely separate code. If you've played with the touch version you know it has some nicer features, such as intermediate zoom levels and using available images while others are loading so zooming in is a much more pleasant process. I've been working to unify the code between these, and it's almost done - I just need to get the overlay and the you are here features for the iframe API ported over and I can push the update.

As a side effect, this will allow devices supporting touch events (iOS, Android, etc) to interact with the main map page, although the interface will still be kludgy. That'll be the next thing to fix, followed by those data updates I was promising. Ω

2008-02-02

Jump Maps, You Are Here, and More

I was out of town for several days with my computer but no Internet connection and evenings to myself, so I did a fair bit of work on the site. A lot of the work went into fielding requested features.

What's New:
  • Added JumpMap API - generate a Jump-N map for any location

Jump-3 Map for Regina

  • Keyboard scrolling is now enabled in IFRAMEs
    • You will want to specify SCROLLING="no" in the IFRAME tag on your site
  • Asteroids are now rendered as semi-random clusters of ellipses at high scales
  • Add MapOptions.ForceHexes (add 8192 to always draw hexagonal parsecs, not squares)
[UPDATE 2008-02-03] Fixed use of ForceHexes for the main page and IFRAME - it was being masked out. Should work now.
  • Tweak min scales for features to support 24 & 48 pixels/parsec more nicely
  • Lots of API documentation cleanup
Beta:
  • iframe.htm now takes "You Are Here" parameters (yah_sx, sah_sy, yah_hx, yah_hy) that define a sector/hex pair to put a marker on - example. There can be only one such marker, and there is no UI (or finalized script API) to set, move, or clear it.
Fixes:
  • Combat client-side memory bloat by:
    • Clearing tile cache after following a non-animated link
    • Request metadata with a time threshold, to avoid hundreds of aborted HTTP requests
  • Fix candy background tiling for legend (caused by a floating point underflow issue in GDI+)
Plus lots of (hopefully) invisible internal changes. Ω

2008-01-26

TODO List

Here's my "To Do" list for the site. Many of these are probably incomprehensible, but I thought I'd share anyway
  • FEATURE: Support custom data for sector.htm LBB generator
  • LOC: Detect language setting "Accept-Language:", serve Japanese version (it turns out a lot of the site traffic is from Japan. Go figure!)
  • IMPL/FEATURE: Style object that's data only
    • Cache object for brushes, etc
    • Allow passing in via parameters (options and scale are presets)
    • Scale is just a seed - use next-highest scale
  • FEATURE: Search by regex on (UWP, PBG, ...)
  • BUG: Terra should look like Earth in Candy style
  • BUG: iframe doesn't show if "Disable script debugging" is unchecked (WTF?) - IE bug? Maybe cookies can't be loaded or something?
  • IMPL/PERF: Add more condensed route storage (perf, size)
  • QUALITY: Investigate DrawClosedCurve for candy borders
  • FEATURE: Style options - hexes at every level
  • QUALITY: Up the JPEG quality for Candy a bit
  • DATA: Incorporate Theron sector from BeRKA (?)
  • DATA: Incorporate Uistilao sector from BeRKA (?)
  • DATA: Use Kaa'G!kul data from HIWG (?)
  • DATA: Incorporate MWM's new T5 data
  • IMPL: Reconsider JavaScript class/object style
    • Use Class.prototype.func = function() ... rather than this.func, and other extern logic
    • Verify that inline functions for event handlers aren't leaking memory
  • FEATURE: Support different data sets (Judge's Guild, etc)
What else should I have on the list? Ω

2008-01-25

What's Missing?

Apart from dorking around with experiments, the actual content of the site is reasonably stable. So I was pondering... what's missing? What are the gaps in the data that we should endeavor to fill in? Let me throw that question out to the readers.

Off the top of my head:
  • Borders in K'kree space
  • Borders in Hiver space
  • Coreward half of Far Frontiers (I have an email out to James Kundert)
  • Routes in Ilelish, Zarushagar, Gushemege, Delphi, Alpha Crucis
What else?

This is a subtly different question than "what should I do next?" - I'll post an updated roadmap soon for comments. Ω

2007-12-07

Nothing to see here (almost)

Well, hopefully no changes. I've done some behind the scenes tweaks recently though:
  • Can now parse other data file formats. This is in anticipation of new data files for T5. Not used yet.
  • The web services now provide either XML or JSON data, depending on the HTTP "Accept" header (specify "application/json" to get JSON data, default is still XML). For the curious, the services are:
    • /Coordinates.aspx?sector=SECTORNAME[&hex=XXYY] example
    • /Credits.aspx?x=XCOORD&y=YCOORD (in internal map coordinates) example
    • /Search.aspx?q=QUERY example
  • The Beta Page now uses JSON instead of XML for smaller queries and faster parsing
  • The Beta Page no has switched from using XML/XSLT to JSON/JSONT and should now work in Safari 1.3 (e.g. MacOS X 10.4)
I've also cleaned up a few label positions around the edges of the Imperium, but nothing special. Ω

2007-08-11

Metadata and Legend

Updates to "beta" version of the page that includes data and credits for location the map is centered on:
  • Click on Control box just inside the border to hide it
  • Tweak the formatting of metadata
  • Added a link to a Map Legend - feedback appreciated!
Other fixes:
  • Fix location of Lesser Rift label
  • Tweak UWP parser regex to catch travel zones w/ no base or codes - Clan (1103 Spinward Marches) wasn't showing as an Amber Zone
  • Added subsector names for: Provence, Windhorn, Meshan, Astron, Fulani, Theta Borealis, Theron, Iphigenaia, Touchstone, Delphi, Karleaya, Alpha Crucis, Spica, Uistilrao, Aldebaran, Neworld, Banners, Hanstone, Malorn, Hadji, Storr
  • Labels now render on top of routes (doesn't obscure the text)
  • Precise borders are now shown at scale 4 and higher (i.e. as soon as you zoom in)
  • Borders are now thicker at maximum zoom
[Update, January 2008]

The "beta" version of the page mentioned here is out of beta. Ω

2007-08-06

Recent Feedback Feedback

Candy looks great, but can you get more images so they don't repeat?

Sure, you render them and I'll include them. 120px x 120px, 24-bit PNGs with 8-bit alpha. Let me know what UWP ranges they should represent.

Can you add a secret parameter to make the candy-style images have higher image quality?

I'll try. I tried making them PNGs to get really crisp results but the compression blew out the memory available for the server process.

Can you make a version I can take with me?

Alas no. Actually crafting a local version isn't that hard, but the overhead of maintaining a desktop application is not something I'm willing to take on. I've shipped widely used desktop applications professionally for many years, and it's not trivial to get something that's decent quality. I took on the web site because it was easy!

Can you add a key? I like Traveller, but I don't know what all of these symbols mean!

Urk, I can't believe I didn't do that. It's on my To Do list. For now, though, here's the cheat sheet.
  • The circles in the middle represent the "mainworld" of a system (most important). White = no easily available water present (all in ice caps, desert world, etc), blue = liquid water present (easy refuelling), 4 diamonds = asteroids (it's the easiest thing to draw)
  • Small white circle in the upper right indicates a Gas Giant in the system, for fuel skimming
  • Symbols in the upper left and lower left indicate bases. Triangles are scout bases; red are scout way stations. Stars are naval bases. (I don't think I render non-Imperial bases at all correctly at the moment.)
  • Letters at the top indicate starport class - A = Best, E = Worst, X = nothing
  • A circle around the system indicates the travel code; yellow = amber zone (Danger!), red = red zone (Interdicted by the Navy)
  • Two letter code in the lower right indicates allegiance (Cs = client state of the Imperium, Zh = Zhodani, So = Solomani, etc)
  • Capitalized world names indicate a population >= 1 billion
  • Red world names indicate a local capital

Ω

Browser Compatibility Changes

Testing in Apple's new Safari 3 Beta for Windows*, I found some issues with the map. They turned out to be caused by some layout hacks I had in the page code to handle the dynamic layout of the page.

The page is composed of resizing (map) and docked (controls, footer) boxes containing other resizing elements (label controls, search results). Ideally, each element should be sized by the content - i.e. the area taken up by the footer is defined by the size of the elements in the footer, and so on. The page did that using old-school HTML <table> elements, but had some issues I'm still not sure of. (Short version: a relatively sized div set to overflow: scroll, inside a relatively sized table cell makes the cell expand if the content overflows, even if the cell and div size correctly with non-overflowing content.) To overcome the issues I had to have some script that would fix the sizes of some elements when the page size changed. These hacks - often browser specific - worked in IE6, IE7, Firefox 1.5 and Firefox 2.0, Opera 9, and Safari 2. But they caused Safari 3 to stop performing layout correctly - everything looked great, but you couldn't drag the map!

So... not wanting to layer on further hacks I redid the page entirely using modern CSS, and the end results were beautiful. Worked like a charm with IE7, Firefox 1.5 and 2.0, Opera 9 and Safari 2 and 3. Unfortunately, they didn't work in IE6. After much teeth gnashing I found a workaround. (Short version: even in standards compliance mode IE6 can't correctly size elements having top and bottom or left and right defined; however, you can use CSS expressions to compute the width or height.)

(Aside: when CSS was young and fresh, Microsoft took the interpretation of "width includes margins, borders and padding" whereas everyone else took the interpretation of "width excludes margins, borders and padding", and it was the latter which eventually became codified in the CSS standards. You can tell that Microsoft was in the "web developer" mindset rather than the "web designer" mindset. When you are designing for the look of content, you want to frame items (text, images, etc) so the exclusive width makes sense. However, when you are developing a UI, you often compose and nest relatively sized boxes. The CSS notion of "width: 100%" when nesting items is absolutely useless when combined with exclusive margins, padding or border, since the element will end up offset and overlapping its parent's right edge!)

Anyway, the map it all appears to work now... but it's probably broken in some obscure browser. If the map suddenly broke for you (boxes everywhere! oh the huge manatee!) I have the retro version available here: http://www.travellermap.com/index_classic.htm - I'll try to keep it working, but I might break it by accident with future changes to underlying shared components such as styles or code. And please let me know what platform and browser you're using - I might be able to bludgeon the page into shape.

* Safari for Windows is a subtle but effective ploy by Apple to encourage Windows-using web developers who haven't shelled out for a Macintosh to do more testing on their platform. Worked for me!

[Update: January 2008]
Given that the old version works in browsers as old as IE5 and no-one has screamed and complained, the "classic" version of the page is no longer available.
Ω

2007-02-22

Not forgotten!

I'm taking a break from work on the site. I've been working on a few unrelated hobby projects and generally just relaxing.

The site is not abandoned! On deck for future updates are:

  • Kaa G!'kul sector recreation by Michael McKeown
  • Finer rendering style control, such as hex (instead of boxes) at lower scales
  • Credits visible on hover
  • System data (UWP, etc) data visible on hover
  • Different settings/milieus - including Judge's Guild retro versions of the Gateway Domain, Paranoia Press retro versions of The Beyond and Vanguard Reaches
  • Use of precise/generated borders at lower scales
But don't hold your breath - it's probably a few months before the next update. Ω

2006-10-09

How is the metadata coming?



I made a tweak to the renderer to use the "micro-scale" borders at macro-scale to create the above picture, which shows how many borders have been generated so far. My goal is to switch to using the generated borders (sufficiently smoothed and merged with hand-drawn borders) at some point. They'll stay red at the large scale.

I'm actually farther along that it looks - very little of the Hive Federation or 2000 Worlds has been mapped out. There are a few more sectors in the Spinward and Trailing client states that need border generation, and of course the Vargr Extents. Ω

2006-01-12

Hinterworlds and Next Steps

That's it - I'm dry. I added Hinterworlds routes from Challenge #39. Note that if you look at the maps in that resource, you'll find there are two distinct sets of routes - the large "trade runs" that span the sector shown on the full sector map, and smaller communication (?) routes in the subsector maps. I went with the communication ... but I'm still pondering the decision.

(As an aside: the sector map is really poorly put together, which is surprising given who worked on it and who published it. I'll write that off to a bad month.)

I (hopefully) have Travellers' Digest #10 and #18 inbound, which means bits of Core and all of Corridor and Ealiyasiyw's routes should be in soon - assuming my favorite source is correct.

So what's next?

I'm thinking I'll spin up a quick web service and have the page ping it when you scroll (after a short delay, of course). It'll pull the credits for whatever is centered - subsector names, world data, route data, dates, etc - and display it as an overlay in the corner of a map. Ω