On the way to the Numenta HTM Challenge… (Part 2)
Read Part 1 of “On the way to the Numenta HTM Challenge” here.
(sneak peek of Nostromo linked below)
Greetings Earthlings (and otherwise affiliated),
Remember I “warned” (informed?) you that this series of posts would be about the preparation for Numenta’s next Hackathon, right? Well, as such there is going to be a lot of Java-centric talk due to the fact that – not only does the project have to be created (using HTM.java of course), but in order to do so, we have to first create a JavaFX Google-mapping library capable of doing all we need to be done!
So here’s a report of my most recent challenges (no pun intended)…
I guess you could say my biggest problem is not being able to see all the needed functionality from the beginning. We’ve already figured out that there needs to essentially be 2 modes for entering routes; a file loading mode, and a route composition mode. And while I knew any one map could potentially have many routes – I didn’t quite figure out how much fine-grained control would need to be expressed over any one particular route. So in my anxious uninformed haze, I created a map-centric control (component or widget in JavaFX-anese) which allowed the creation, deletion and modification of maps – with virtually no thought of individual route handling.
I guess it dawned on me that there needed to be some more interaction between maps and their routes – coupled with the ability to manicure a given map’s routes – but how was I going to shove all that functionality in a toolbar so that its decoration was as brief and concise as possible yet consumed as little space as possible? Also, I wanted to be able to offer the ability to customize or “skin” it (later after the Challenge, when I’ll have more time – or when someone else wants to take it on?).
So now I’ve moved FXMaps to its new home and the reference implementation (demo) now has what I hope will be a sound means of manipulating routes and maps and their interactions. (Warning: Not perfect yet, it’s still a work in progress).
So what’s left before moving on to Nostromo? (…the reason all this is being done).
Well we need:
- …to be able to select, delete, and clear routes from maps
- …and then there’s the whole Directions pane (using the Google Directions API) which is a major addition! Thankfully, I’ve already written the code to handle this when I did a “feasibility” assessment & prototype when first imagining the project! (whew!).
- We’ll need a way to edit properties and change attributes like size and color of drawn routes etc. (because Nostromo will be coloring the individual legs of routes according to their degree of inferred anomaly).
I expect there’ll only be one more post about FXMaps before moving on to Nostromo – I’m hoping there will be enough time!
Btw, I found one of the best short tutorials on how to get essential things done using Java 8 Streams here enjoy!
See a sneak peek of Nostromo here (w.i.p.) !
Cheers,
David