change how location updates are made: now it is every 500ms instead of on timeupdate event, which should make it more efficient