Wednesday, January 17, 2018

Tracker - more cleanup and UI updates

Due to snow, I was unable to get to work today. So while I did spend half the day getting my computer ready to be able to work from home (Ubuntu on Windows without a VM! All the updates! Then Ruby! Then Rails! Literally almost half the day just downloading stuff) I also spent half the day working on this project (technically the office is closed due to the snow, but as some of us can work from home...)  I also spent some time shoveling snow, and getting my computer ready for the project management class that starts tomorrow.  So updates, due to an estimated 15 hours a week for class time, may be greatly reduced soon.

Anyway, after playing around some more I realized that several of my layouts won't play nice with smaller screens. So I've been doing a bit of revising, and some more cleanup under the hood as I've found minor errors when using the tracker.  The only major UI update you'll see from today's work is the available cargo tab.  I've set the major/minor/incidental cargos to just be text inside the button, and that reduced the width enough to fit on most tablets I am pretty sure. I also added the jump distance next to the world name, and if you click on the world name, the world info box comes up just as it does on the jump listing.

I've also had 2 people clone the repository, so that does mean at least two other people are looking at the code. Woot?  I also finished up the community stuff in GitHub (basically be nice) just because.

Sunday, January 14, 2018

Tracker - and more cleanup

A lot more under the hood updates, mostly correcting the removal of an application-wide list of sectors I did not need. I also added the 1st option: reset the sectors. This actually removes all the sectors and worlds from the local DB, resets all the ship sectors and worlds (now I realize I don't need a ship sector if I have a world - the world contains the sector. Maybe another correction in a bit).  It then reloads ALL the sectors for the 4 eras. Doing so of course broke the ship view - it was assuming we have valid values for the things I just cleared!  On the bright side, this should also correct the same issue when adding a new ship - something I had not thought of.

I also added a list of eras to the main app, so it is now centralized versus being in various places. The eras (M0, M1105, M1248 & M1900) are part of the API calls to the TravellerMap, so that you can get the UWP for the specific era. 1105 is of course the largest set of sectors; I think M0 only had about a dozen or so versus all of them for 1105.  I may have the options page show the count of sectors for each era, and maybe the list as well or something.

I've added a generic dialog class so that I can abstract user-enter dialogs a bit.  I've added that as I also added the image list table, and will allow you to load images for ships or worlds. I want to figure out the image carousel thing as I think that would be really cool, but realized I also wanted the user to be able to enter text for the images.

Throwing in one of the hex maps from my game - no images for the tracker since the UI has not changed much yet, and I like pictures.

Saturday, January 13, 2018

Tracker - moved jump map to same tab (aka pivot) as the jump list

Well, that was simple, and I think simplifies the UI a bit now we've the visual with the text for the jump distance as well.

Tracker - more cleanup, added the jump distance to the jump button

Bit more cleanup under the hood. There are parts that are a bit more complicated than I like - sometimes I apparently develop in a stream of conscious sort of way.  But I am at least unifying the UI a bit.

I've also added the jump distance to the jump button on the list of systems in range.  Just so you know at a glance how far away they are.  And now I am thinking I could add the jump map there...

What I really need is someone to side load this & give me feed back. Sort of going in circles.  If anyone is interested, I'll create the new installers for Windows 10 and post them.

Tracker - still in clean up mode

Mostly under the hood updates. I've moved all the ship edit stuff to the ship tracking view, and removed the edit option from the main ship listing. So now there is just tracking, and to edit the ship use the info tab.

A few other minor cleanups - apparently I was calling the TravellerMap API more than necessary (not that they are charging or anything but someone is paying for the web!)  So there is a bit more checking to see if I've already loaded what is needed into the local DB before loading again.  So that should also improve off-line capabilities a bit more (and I've not really tested that, but I am going with there will be problems).

Mostly refactoring.  Hopefully I'll finish that today.

I also updated the tiles to be better. The splash screen as a tile does not work well. Not happy with the small or wide tile so those will also need a bit more work. But they are better than before.  GIMP is under my Traveller selection as I pretty much only use it for Traveller stuff.

Sunday, January 07, 2018

Tracker - a bit more consistency

I've started attempting to make the various layouts more consistent. I've removed the New Ship button from the main menu and it is now on the ship listing content page. That's where the new whatever button will be on the various layouts, such as cargo and starports (yes, you can now add your own starport class).  The ship listing page no longer has the delete option - it is on the ship edit page instead. But I have added the ship class so that may make the listing more useful.

I've also made the database save all changes when the program is closing or getting suspended.  I still have issues with data not always getting persisted to the DB, and this should help.

I've also reset the migrations, so anyone who is running this from the source code will have to reset their database if they use the last version or two of the software (App.xaml.cs file, uncomment the db.Database.EnsureDeleted line, run the program, then re-comment out that line unless you want a fresh DB every time).

Interestingly I have received no comments about installing this locally on user machines. Either no one wants to, the directions were more complicated than I thought, or people are being more cautious about installing software from the internet.  While I do have 7 watchers on that repository, no one has cloned it either.  But the code is out there for anyone to see.

Saturday, January 06, 2018

Tracker - Traveller version update

After realizing there were also...questions...about the cost per jump for passengers, and not just bulk cargo, and also finding that the layout did not work on my tablet, I've made some additional updates to the version.  I've added the cost per passage by jump, and updated the math involved so that adding passengers as well as cargo should use the cost that is assigned to the ship's version.

Just trying to avoid the whole can of worms that has been open for, say, 40 years or so now...

Not entirely liking my approach: I almost went the way of adding yet another table that would have the cost, the jump distance, and what it was (high, mid, low, bulk cargo), as well as the version ID.  It would have allowed for jumps more than 6 if you allow that as well as streamlining the tables. But it also makes the UI more complicated in some ways. So each version would have, out of the box, 6 (jump ranges) x 4 (cargo, high, mid, low pax) associated records. I went this route for the actual value table - there are 14 actual value records per version (they get created at 100% when you load a version the 1st time).  So it could have been done to make it more flexible (I would then add another field to the version to indicate max jump range, rather than the default 6 with the hardcoded fields).

I really hate hard-coded fields - they box you in. I may still go that route, but as this is not enterprise level software, I probably won't.

Monday, January 01, 2018

Tracker - sideload the alpha release

I'm going with this is an alpha release.  If you want to trust me and have Windows 10 and install what I've got so far, here is how you do that:

1. Go to Windows settings & set your machine to developer mode to allow side-loading

2. download the installer package here (this has the installers for x86, x64 and ARM processers - I loaded it on my ARM Win10 machine this way to test):!AgjJYJOsJH7WgYtQgV1IYp11qM_lwg

3. right click the appx package and follow the directions here to allow my not-a-real security certificate to allow you to install software from me:

4. Install

Now this is an early, beta release, so it WILL have issues (I just found that the version editor on my tablet does not scroll so you can't get past the J4 settings).  But I will appreciate any feedback.

Now note that this does mean you are trusting me, a faceless person on the internet.  While this application does access the internet (to use the TravellerMap API) and I've given it access to your pictures folder which may not be necessary to load images but I've not tested that yet), that is all it accesses.  You will get that info when installing.

Also note that if I do make radical database updates, your Traveller Tracker data will go away.  I cannot stress enough that this is an alpha release!

And finally, as to not clog up the Traveller G+ site, probably any questions/requests should go on this blog.  I fear most of them will be of a technical nature if you are not a developer.

Saturday, December 30, 2017

Tracker - some general cleanup

Mostly under the hood updates. I've added the ability to remove the cargos and logs for a ship, as well as deleting a ship itself.  As I've updated the way the ship cargo works so that it is never actually deleted, even when unloaded, you may want to clean up things after a while.  I am setting an active flag for the cargo so we can have a cargo manifest based on what is currently loaded, or on some historical dates (i.e., what you were carrying 3 months ago. Pesky bureaucracies!)

Minor UI update to the ship list to make it a bit easier to read, and I've added the version and current planet as well as the delete button.  The number in [ ] is the ID of the ship.  I'll probably remove it but I thought it could be interesting to see how many ships you have added.