CSCI321 - Project Diary

Friday, October 27

Project Complete

We have finally finished our project.

The three of us, namely Andrew, Shawn and myself met with Daniel in his office.

Gene was supposed to be there, but for some reason wasn't, which was unfortunate - as her being our assessor, I believed it was imperative for her to attend our final presentation to the school. Although Daniel has since explained that it isn't necessary for her to be present, and we should worry for our marks.

Everything went as planned, and the demo went quite well.

We spoke for several minutes with regards to the features we managed to finish off, and the possible benefits of our project.

Then Daniel asked regarding the missing features, such as multi-db support that he suggested several weeks prior.

Daniel also mentioned the notion of commercialisation of iTrac. I mentioned that if something was to develop in the future, that I would want the universities written statement of affirmation with the head of school or someone worthwhile signing a letter of exemption of Intellectual Property of the project, given it was one proposed by us and designed and managed by us. Although Daniel said this isn't necessary, as the school "doesn't care" and we will only set out on a bureaucratic battle which will last for 2 years before anything is signed. He said to just take our idea and do what we may with it, and not to worry about the university.

Am quite pleased that it is now all over, and I can now sleep without thinking of GPS units.

Sunday, October 15

Bubble Profile or also known as Information Window

Well, wrote two new functions that allow me to determine and then write out the details into the info window.

What I do is I initialize using a bubbleProfileInit function, this calls a stored procedure to determine which of the following needed to be displayed for each unit:

  • Friendly Name,
  • Lat,
  • Long,
  • Speed, and
  • Direction.
I then have another function called bubbleProfile that then creates a string based on what the user wants displayed in the info window. These details are added for each marker that gets added to the map.

Shawn

Saturday, October 14

Live tracking(display) using Polylines

Started work on the live tracking using Polylines in addition to Point(markers) Display. So, user's can now select either plotting the live tracking of their devices using either markers or polylines. Tested it by walking around my pool a couple of times and down the front of my house. Worked like a treat.

Tomorrow I am going to work on bubble profile (Information Window). Where the info window will only display what the user has defined for that device, being:

  • FriendlyName,
  • Lat,
  • Long,
  • Speed, and
  • direction.
Shawn

Thursday, October 12

Code Day - Trips using Polylines and Geofences

Well

Went up to Roman's place and we had a coding day...

I finished off the trip display so that it works with polylines too. Each trip passes in a StartPoint, EndPoint and LineColour (more info there, but not used yet). I then plot each one as a polyline using the desired colour.

Geofence - Have now created a inputMap.php, user is able to click on the map and a marker is added. This marker has a circle drawn around it to represent the geofenced area. User can then click on the marker and a iframe bubble pops up with editable Lat/Long, In/Out radioButtons and slider bar for radius. Has a save button to allow user to save that Geofence.

Still have lots we could do and no time left to do it :-(

Shawn

Sunday, October 8

Trip Journey

The concept here is that the user will be able to display "several" trips in one go. That is, Roman has designed a interface and code that allows the user to select several trips that their device has record. This information is then passed to the MapEngine, I have tested it for displaying several trips from one device as Points. Code "should" work for multiple devices/trips passed in. I still need to test it for polyLines.

Also, need to improve the speed for displaying points but given that Googles official Blog say that you should not display more the 150 points on a single map, and we are displaying 1000's not sure what I can do here.

Shawn

trip separation + site

for the last two days i've been working on the algorithm for trip separation.

i can explain the idea to anyone, and set the rules for the trip differentiation.

although when it comes to expressing it as a logical definition of steps, then there's a little problem.

anyhow. today i've managed to get the splitting by time working flawlessly, and have only left the splitting by speed.

from the trips that i've seen so far, i've played them with Shawn's mapping engine - and they work great.

also i've been working on giving the site a more uniform look, and ironing out some UI quirks that Shawn pointed out.

Monday, October 2

Multiple Unit Display Working

Well

As I said in my last post, I have the php passing in the args to javaScript I was then trying to do a live display of two gps devices on the same map at once. After several hours, I was able to solve my timing issue (only getting one unit and it had the name of the other one) so we can now display multiple units with live updates. The way I have coded it, you can pass in as many gps units as you want.

I have also spent a fair bit of time trying to get history replays to work. It would be much easer if javaScript could modify args within functions...so I could use something like this:

window.setInterval(cs321ds7HistoryReplay,historyDisplaySpeed,currentPidPoint);

am trying to get it to work using this

window.setInterval(currentPidPoint=cs321ds7HistoryReplay,historyDisplaySpeed,currentPidPoint);

But returning a value to a setInterval function doesn't seem to be working. And if I push the logic further down, I can't delay adding points to the map, so it's doesn't look like a "replay". Will keep at it, am sure there is some other way to do it...

Note, I broke the Multiple Unit Display (MUD) and it took me about 4 hrs to track down and fix the error I had. :-(

iTrac Progress Report

I have spent many hours now on figuring out a way to split up a journey into it's trips.

Mostly am stuck on the algorithm side of things.

Last thing you want is the user to just select a the days which he wishes to map, as there's

no way to select the trips that were made on that day.

I've also fixed up several of the errors that were apparent due to me working with Microsoft

AJAX implementation called ATLAS. Now everything from the menu for page navigation, to the

actual postabacks for KEY generation for mobile devices, and even browsing of raw data, is all

handled with asynchronous postbacks which utilizes AJAX.

The MapMe page/controller has been revamped to accomodate the reverse navigation to the iTrac

website.

Unfortunately nothing has been submitted by Andrew in the last week, as he has promised on any part of the project.

No project website, no tasks that were allocated to him, nor the ones he picked for himself have been done.