9 April 2018

Daden U Day: GeospatialAR - Take 2



I spent the latest DadenU day doing some more work on the AR app I started last time. Like the recent OS feature this is a geospatial AR app, so it puts markers in your smartphone viewscreen which align with real world objects. As you pan around you see different objects, and if you move to a new location all the markers track the objects they are pointing at.

The driver for the project is a personal "need" to have such an app to support battlefield walks, but we can also see some commercial potential for it, as well as more formally exploring the battlefield tours angel with the Battlefields Trust of which I'm a member.

In the latest session I focussed on bring the data in from the web, rather than having it hard coded within the app. This meant developing a JSON format for the data, doing a fetch by web service request, and then feeding the data to the existing plotting routine.

Getting my head around JSON took a fair amount of time, I much prefer, XML, and most of the rest was fairly trivial. Where I got stuck at the end though was creating a dynamic drop down of the available locations based on the files on the web server - will have to ask one of our pros how to do that!

Over the next couple of months I hope to work it up to a full blown demo based on a real battlefield, and then we'll see where we can take it.




Creating a Blockchain

For Daden-U day that took place in February I chose to look into a technology that’s on everybody’s radar. Blockchain is being touted as the next big thing and becoming a buzzword for business. A block chain is a is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Blockchain is synonymous with cryptocurrency because blockchain is the underlying technology of cryptocurrencies such as Bitcoin and Ethereum but there are other uses for Blockchain. Blockchain is still a young technology and it goes without saying that the world still figuring out whether is a solutions looking for a problem outside of cryptocurrency. To gain of a better understand of what blockchain is, its usefulness and how we can integrate it into our products I decided to create my own blockchain called UncomplicatedChain using a simple console application in c#. Different blockchains have different structures depending on their purpose. To keep things simple I decided to have the only the necessary elements in my blocks.

  • Index – The block number, so we know how many blocks are in the chain
  • Hash - The blocks Id (identification document) which is long list of numbers and letters. This is generated using index of the block, the hash of the previous block, timestamp and data. This is so that we can keep the integrity of the data. It should be noted that this hash has nothing to do with “mining”, since there is no Proof Of Work problem to solve.
  • Data – The information we want the block to store
  • Previous Hash – This essential creates the chain by storing the id of the previous block. We can also use the previous has in our validation process to check the integrity of a new block or a new chain. At any given time we must be able to validate if a block or a chain of blocks are valid in terms of integrity. This is true especially when we receive new blocks from other nodes and must decide whether to accept them or not.
  • Timestamp – Stores the date and time the block was created
I won’t go into any technical detail about the rest of the implementation of my UncompicatedChain as there are many tutorials for developing a blockchain. My take away from this exercise is that blockchain is a simple but powerful technology that certainly has its uses. For us as Daden the best use may not be so obvious. One way in which we could use blockchain is with our product Fieldscapes. Fieldscapes is a service which lets educators create and share 3D and VR immersive learning exercises. Fieldscapes includes a user generated library of locations and objects, and an easy-to-use editor. Fieldscapes could track changes to made exercises. Another use could be keeping track of location and object use then using this data to reward content creators.