Well it'd be VB.NET, that is the language I am sticking with (Just not a fan of Java, and C# does nothing, and nothing any faster than VB.NET, and C++ is just too hard)
Right now, and for a couple years, I've had an app that takes a CSV list of all the planets, their coordinates/owners, and creates a hex map (any # of LY per hex) as a bitmap image, with any color background, optional hexes. If systems were within 30 LY but not 4 hexes @ 7.5 ly/hex, it'd draw a line between them to show it as a valid jump. It drew the names in a user definable font. That is about it though, I always wanted to do the color background dynamically, but never figured out how.
I've since figured out how to do those maps kinda, at least with hexes, but unfortunately to make maps that look like hand created ones is really hard. There are HUGE gaps in space that I can't handle very well, and often it isn't a good line between outer planets and there is a big chunk of "owned space" with nothing in it, that really makes no sense on the map (but it looks good). Anything I did more programatically would be accurate but not really match the maps that were out there.
I was also thinking of having various kinds of lines between designated systems (for jump routes in invasion maps), icons behind systems to designate a battle, and maybe labels for units in the system like in the new field report books. I've also since learned how to print, so I can easily make this a printable document or just a BMP/PNG like it always was.
I started tinkering with this idea with my cartographer (see
btengineer.blogspot.com for more details and download link) but it was more of an app, and not geared towards making maps or PDFs for other people to see.
I also thought of animating the map, so you could watch an invasion take place in perhaps a 1 day per second sorta thing.
Dunno if I'll do anything more with the idea, the whole border issue is really disconcerting for me. Sure I can just allow you to define a point region, or have a bitmap with the color in the background, but that is kind of ghetto compared to what I wanted to do. I'm sure some spline curves or something would help out, but I haven't played with those yet and that starts getting into a region I'm not very comfortable with.
I should probably do up a project list for BT I have and let people know all I am working on (and their dependencies that hinder progress). Maybe I can get some help :)