navit-project.org

forum for navit navigation tool
It is currently 21 Nov 2017, 17:25
View unanswered posts | View active topics


All times are UTC


Forum rules


Feel free to ask anything here related to the development process - coding, creating new features, fixing bugs and custom changes of Navit.

Note: For reporting bugs, use the bug tracker.



Post new topic Reply to topic  [ 10 posts ] 
Author Message
 Post subject: Some ideas for additional compass features
PostPosted: 14 Jul 2014, 19:42 
Offline

Joined: 14 Jul 2014, 17:12
Posts: 10
Location: Germany
Hi all!

The following features in the OSD compass item I would personally find useful (your mileage might vary):

  • a sun-pointer: during daytime it would point into the direction of the sun (it is useful still during dawn and dusk, and will vanish by night)
    Use Cases:
    When standing or moving slowly (walking, hiking) the north direction may be imprecise. A sun-pointer would, IMHO, be very useful to orient the map display correctly and to get a good bearing for your destination or the next route segments.
    Representation Variants:
    • an additional gold/orange colored pointer is added -- simple to implement and to read
    • a small golden/orange circle is displayed in a sky map fashion, i.e. the distance from the compass border indicates the elevation or altitude over horizon, the center of the compass corresponding to zenith.
    • better ideas?
    Difficulty of Implementation:
    Given time and position from the GPS receiver, a sufficient correct sun position should be relatively easy to calculate. Adding another pointer should be easy to ...
  • a map orientation indicator: show if the map is oriented into north or travel direction
    Use Cases:
    • More and better information to the user about map orientation without wasting screen estate, especially when the decision on map orientation is done automatically (depending on speed, GPS quality, etc.)
    • Uncluttering compass display and making room for new features.
    • BTW produces a logical interaction element to switch map orientation ...
    Representation Variants:
    • the outer compass ring is colored in the color of the map orientation arrow, the arrow itself is displayed like -O-> turned upright, i.e. the inner circle is empty and a small arrow head sits on top and perhaps a small tail lurks out below.
    • better ideas?
    Difficulty of Implementation:
    Should be quite simple ...
  • a traveling direction indicator: indicates the current bearing
    Use Cases:
    Useful in combination with the destination and the north pointer. The combination with the destination pointer is especially helpful when the route is not yet calculated/updated or path information on the map is incomplete as you can make educated guesses where to go (the sun pointer is helpful here too).
    Representation Variants:
    • an additional pointer (color configurable, default: cursor color)
    • better ideas?
    Difficulty of Implementation:
    Should be quite simple ...
  • a routing state indicator: inform the user about routing efforts
    Use Cases:
    Actually the compass already indicates, if a routing destination is set. Nevertheless either the user is riddling about progress or failure, or additional OSD elements are needed. The necessary information could be neatly stowed away in the corners of the compass box left unused by the circle.
    Representation Variants:
    • place simple icons into a corner: '?'=no route found, '!'=route completed, clock icon or '~'=routing in progress
    • more elaborate failure/success indicator, a percentage of routing progress estimated from the distance of nearest route element to position found so far to the destination divided by distance between position and destination, i.e. RoutingProgressEstimation=Distance(Destination, nearest route element to position)/Distance(Destination/Position)*100%
    • better ideas?
    Difficulty of Implementation:
    Should be relatively simple (the unknown element for me is the difficulty to extract a suitable metric from the routing ...)
  • a moon pointer(?): points to the moon during night time, if moon is potentially visible
    Use Cases:
    A nice-to-have: Essentially the same as the sun-pointer, but of more limited use as the moon is not always visible on the night sky. While the sun-pointer can be very helpful in daylight off-road/hiking scenarios, I'd consider night condition off-road/hiking more an emergency condition than an use case. Night-time travel on roads should get sufficient guidance from the roads themselves?
    Representation Variants:
    the same as the sun-pointer, but light grey/silver
    Difficulty of Implementation:
    I cannot estimate the difficulty of calculated the moon position. I guess, given the imprecision of our display, we can get away far below astronomic accuracy. Perhaps somebody with some astronomic knowledge can shed some (silver ;-) light on this? Aside from this calculation it is trivial, once we have the sun-pointer ...


What is your opinion on these individual features?

Further: Should they be added into the existing compass or into a separate OSD, condensing the suggested and existing compass functionality into a single, highly informative display? Should it be possible to enable them individually?

Given some positive feedback and some gentle introduction in the existing code base and test procedures, I would volunteer to implement a few of them myself ...


 Profile  
 
 Post subject: Re: Some ideas for additional compass features
PostPosted: 15 Jul 2014, 06:32 
Offline
User avatar

Joined: 07 Jun 2013, 17:13
Posts: 146
Location: Tartu, Estonia
Nice ideas! I can't really say how much effort it is to implement them, but such features are probably nice to have. As soon as I have some time I will have a look at the code for drawing the compass, to see what needs to be done.


 Profile  
 
 Post subject: Re: Some ideas for additional compass features
PostPosted: 15 Jul 2014, 17:03 
Offline
User avatar

Joined: 07 Jun 2013, 09:32
Posts: 200
Location: Rostock, North Germany
Some clever ideas :) I would love if you could start a TRAC ticket and maybe add some GUI mockups?

As Xenos points out, we have currently very little ressources and the next 0.5.1 release is basically focussing on stability while the next [ur=http://trac.navit-project.org/milestone/version%200.6.0l]major 0.6[/url] will focus uasbility. But there is still so much stuff todo ... Any help is welcome, but also brainstorming as you did :)


 Profile  
 
 Post subject: Re: Some ideas for additional compass features
PostPosted: 15 Jul 2014, 19:38 
Offline

Joined: 14 Jul 2014, 17:12
Posts: 10
Location: Germany
Thanks for the positive resonance!

As I said, I can contribute development skills: my K&R C is somewhat rusty, but 20 years ago I was quite versed in C, so it should come back ...
I just need some gentle introduction into the sources, to get the necessary traction.

Meanwhile here some links for calculating sun and/or moon positions:

A relatively simple approach for the sun destination, but sufficient precise for our purpose:
http://en.wikipedia.org/wiki/Equation_of_time#Addendum_about_solar_declination

Some code for sunrise and sundown must already exist for switching between day and night layouts. A sun-pointer will useful from around 1 to 1,25 hours before sunrise and after sundown, because the light distribution indicates the direction of the sun, even if it is roughly 18° below the horizon.

A more elaborate source for calculations is
http://stjarnhimlen.se/comp/tutorial.html
It provides all necessary calculations for both sun and moon declination as well as elevations and rise and set times. Our accuracy requirements are more modest, so further simplifications should be possible.

GUI mockups will follow ...


 Profile  
 
 Post subject: Re: Some ideas for additional compass features
PostPosted: 16 Jul 2014, 12:51 
Offline

Joined: 16 Jun 2013, 11:11
Posts: 16
Location: Dresden, Germany
Nezmi wrote:

  • a routing state indicator: inform the user about routing efforts
    Use Cases:
    Actually the compass already indicates, if a routing destination is set. Nevertheless either the user is riddling about progress or failure, or additional OSD elements are needed. The necessary information could be neatly stowed away in the corners of the compass box left unused by the circle.
    Representation Variants:
    • place simple icons into a corner: '?'=no route found, '!'=route completed, clock icon or '~'=routing in progress
    • more elaborate failure/success indicator, a percentage of routing progress estimated from the distance of nearest route element to position found so far to the destination divided by distance between position and destination, i.e. RoutingProgressEstimation=Distance(Destination, nearest route element to position)/Distance(Destination/Position)*100%
    • better ideas?
    Difficulty of Implementation:
    Should be relatively simple (the unknown element for me is the difficulty to extract a suitable metric from the routing ...)


Actually this is possible by now outside the compass element. You only need to draw your own icons ;-)

Here is some code from the one OSD Layout on the wiki (http://wiki.navit-project.org/index.php ... k_Layout_2) how to use this feature.

Code:
   <osd name="my_osd_cmdif_1" h="1" w="1"  update_period="2"  enabled="yes" type="cmd_interface" x="-1"  y="-1" command='
osd[@name=="icon_route_status"].src =
route.route_status==1     ? "$HOME/.navit/displays/destination_set.xpm" :
(route.route_status==0     ? "$HOME/.navit/displays/no_destination.xpm" : 
(route.route_status==3     ? "$HOME/.navit/displays/no_route.xpm" :
(route.route_status==5     ? "$HOME/.navit/displays/calculating_route.xpm" :
(route.route_status==13    ? "$HOME/.navit/displays/calculating_route.xpm" :
(route.route_status==17    ? "$HOME/.navit/displays/route.xpm" :
(route.route_status==33    ? "$HOME/.navit/displays/route.xpm" : "unhandled"
)))))))
'  />

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Navit on: Sony Z1 compact (Android 5.1.1)


 Profile  
 
 Post subject: Re: Some ideas for additional compass features
PostPosted: 16 Jul 2014, 18:57 
Offline

Joined: 14 Jul 2014, 17:12
Posts: 10
Location: Germany
Hi tauso!

Actually the code, you quoted, was one of the inspirations for my proposal and it supports my argument:

If a kind and competent soul feels compelled to code such a complex command in an interpreted language and let it run every 2 seconds, there is obviously user need for this information.

navit being an open source project and intended also for "low-powered¹", battery-driven devices like PocketPCs/WinCE, an efficient C implementation and the integration into an indispensible (IMHO) OSD element like the compass seems to me a more efficient and natural solution in term of CPU cycles and screen-estate.


PS:
[¹] low-powered in quotes, because these devices with 64MB RAM have more than thousand times more RAM and CPU power, than the first "high-powered" computer I soldered myself together over 30 years ago ;) (and it was not a toy, but a real tool paying itself off and serving well over many years!)


 Profile  
 
 Post subject: Re: Some ideas for additional compass features
PostPosted: 09 Aug 2014, 23:54 
Offline

Joined: 14 Jul 2014, 17:12
Posts: 10
Location: Germany
Mockups for the proposed features can be found under http://trac.navit-project.org/ticket/1226.

Feedback and suggestions are welcome!


 Profile  
 
 Post subject: Re: Some ideas for additional compass features
PostPosted: 18 Aug 2014, 11:17 
Offline

Joined: 14 Jun 2013, 11:02
Posts: 24
Really some nice ideas...

Once upon a time, in an IRC far far away...
cp15 updated the compass to get a click function - he did this in a few minutes!
I use this function to change the map orientation. As an indicator i have a TEXT field displaying "N" in the center of the compass.

This is very usefull when you're on the road you know the direction where you want to go but the last time you've seen it on the map was online where the map is always oriented north.


 Profile  
 
 Post subject: Re: Some ideas for additional compass features
PostPosted: 14 Sep 2014, 14:18 
Offline

Joined: 14 Jul 2014, 17:12
Posts: 10
Location: Germany
ZeroOne wrote:
Really some nice ideas...

Thank you -- which ideas would appreciate (and use ;-)) most?

ZeroOne wrote:
Once upon a time, in an IRC far far away...
cp15 updated the compass to get a click function - he did this in a few minutes!
I use this function to change the map orientation. As an indicator i have a TEXT field displaying "N" in the center of the compass.

This is very usefull when you're on the road you know the direction where you want to go but the last time you've seen it on the map was online where the map is always oriented north.

Exactly one of the use cases I see too!


 Profile  
 
 Post subject: Re: Some ideas for additional compass features
PostPosted: 25 Oct 2014, 20:02 
Offline

Joined: 27 Sep 2014, 23:41
Posts: 15
Nice work! IMHO the most important feature is to show if northing is on.

I'd implement route status as a separate OSD item, since it doesn't really have anything to do with the compass.

I've been playing with a route status control for a while, using the command interface to implement it. My approach is to hide the maneuver icon when Navit is not routing (it would just display a blank background anyway) and I used the same space for route status – to me, that seemed the ovious place to put it. A maneuver would mean we're routing. If the box is hidden, it means no no destination is set (we're in tracking mode), and ay other status would be indicated by an icon:

* balloon marker with question mark = destination set, waiting for location
* hourglass = calculating route (or recalculating)
* slashed-through arrow = no route found

I am planning to implement that as a separate OSD item as soon as I get to it.


 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Silver Orange 2.0.6 for IPB Designed by Skins and Hosting
Converted for phpBB3, based on Royal Blue template by BigB © 2007 2008 AEON KINGS