In one of my frequent failing to sleep moments the other night, I revisited an idea I’d had a while ago about making an interactive map to show the progress of historical events. I came up with the idea having read the latest Horus Heresy novel and realising that it was just so complex I couldn’t rightly remember which faction, let alone which character, was on what planet and at what time. I always struggled with history anyway; remembering dates and such like. I wanted a better, more visual, way of remembering this information.

I envisioned a map of the galaxy with a timeline at the bottom of the screen. As you scrolled along on the timeline, events popped up and arrows indicated movement of particular characters or groups across the galaxy to new events. Each planet, character or group was represented by a dot and hovering over these dots would give information on that location or person at that particular moment in time.

If I made this just for myself, I might be able to write it to be run on my PC, but I think it would be quite nice to make it web-based so that other people could use it too.

You could then expand the concept such as being able to zoom in on different areas and move around; having some method of account management so that multiple people could contribute events and people; the ability to add graphics to represent locations or show the appearance of characters; supporting multiple maps and timelines that you can choose between.

Because I understand databases I’ve already been planning it out in my head – including how to future proof it to allow for expansion. As I don’t know much about code I have no idea if this is a feasible project, or what language to do it in, so I’ll be asking Tom his opinions. Depending on what he says, the learning C# might be out of the window because I’m really excited to work on this project.

Something I had thought about is that an interactive map like this might already exist (it does, but only for looking at the galaxy, not for individual events), but I figure this is a nice meaty project to help me learn to code outside of books and blogs. I’m beginning to resign myself to the fact that it’s just one of those things you learn by doing but that doesn’t mean I can’t write up what I did and why :-).

EDIT: Well, I’ve thought about it some more, and I’m not sure if I can just jump into it. There’s jumping in at the deep end, and then there’s doing it a mile out to sea, during a full-blown storm, without a floatation device. I can still work on it, but perhaps I’d gotten a little over excited and so I’ll need to do lots of research and planning before I even make a start.

EDIT 2: Tom and I went through some examples of interactive maps and he thinks it’ll be best to use HTML5, Javascript and JSON for it, even though really it could be done in several other ways and I might change my mind before I start. I’ve got Pluralsight to look at for help, and I’m sure Google will produce some blog buried under lots of links that will give me an insight into some of the project.