As was said before, the issue here is not computational, it's the user interface. Given that it's my job to worry about these things, let me just throw out a few issues so you can see that something like this isn't just a few lines of code. Don't mean to sound discouraging, I just want to show how seriously we take any update and why we don't just do things on a whim, and why adding anything is complex. These aren't issues that can't be overcome, because we overcome them with every feature we add, but they are the reason we don't just say "make bearing pointers point wherever you want" and it magically happens in the next release with a few lines of code:
0) Let's agree that calculating the bearing is easy inside the computer because it is. This is not the issue.
1) We can't break the HSI for all our traditional customers. This means the HSI needs to still work with the primary selections being GPS1, GPS2, NAV1, NAV2, etc. This also means the bearings need the same selections. Pressing BRG1 needs to cycle through the same list it used to, without adding steps for customers that don't use this new feature.
So we now need a special mode where it acts different, without getting in the way of traditional use. It also needs to clearly identify itself in this mode.
2) The user needs to know, at all times, where the bearing pointer is going. Right now all we have space for is seven characters such as SKYVIEW. When it's going to Auntie M's Chicken Farm, that needs to be clear. It's totally unacceptable to have it say SKYVIEW when it's not going to SKYVIEW's fight plan, but some other waypoint.
It's also not OK to say KPAE since it's totally invisible what device is being used to create the bearing. The pilot must know how that bearing is being sourced.
What do you do if the user has just chosen a random lat/long to get a bearing to? How do you name that?
Is just showing SKY PAE okay? Will that make people think it's coming from a NAV radio since SkyView might be connected to a NAV radio and PAE is a VOR?
3) The user needs a way to verify where it's pointed even if it says SKY PAE. So I need a UI that allows the user to choose BRG1 and then ask where it's pointed and the system to give the airport, waypoint, or lat/long. This is why we have a flight plan list for flight plans and each one can be selected and get more info. The flight plan is also shown on the map, so you have two ways to see what your flight plan is.
Just having SKY PAE on the HSI isn't good enough. What if there are two PAEs in the world? Which one do I have selected?
4) You need something, somewhere in the system that says "I want what I am looking at right now to become a bearing pointer source."
That option needs to allow BRG1 or BRG2, so it can't be a simple single button press.
That option needs to exist in NRST, INFO, Flight planning, and probably other places. Which means we need a button or method in all of those menus. And all of those menus are full right now.
There needs to be a way to go to the location of the pointer since you want to be able to point somewhere arbitrary and go there, not just points in the GPS database.
Does pressing this just override your current bearing pointer? Even if it was to NAV3 which was a real VOR?
If I press BRG1 and move from SKY PAE to NAV1, is that now lost, or can I rotate SKYVIEW, NAV1, SKY PAE? Does that SKY PAE persist forever, or until I reboot, or ???
5) These settings and selections need to be added to the user datalog
6) These settings and selections need to be saved across boot cycles
7) These settings and selections need to be synchronized across screens
8) The user manual needs to be updated
9) We need to ground and flight test the feature
If anyone out there thinks they can implement all of that in a few lines of code, we have a job opening for you.
You can now see why GPS units put out one output. The whole device is dedicated to that. It has one flight plan, one display of where you are. This avoids a huge amount of complexity. When you click on something, it doesn't need to wonder "do they mean this for the primary flight plan, BRG 1, or BRG 2?"
As you can see, we take all additions to our system quite seriously, and it takes a lot of thought to make SkyView work smoothly and intuitively, but we think it makes a superior product, and I'm quite proud of what SkyView has grown to be over the last few years with this kind of thought given to each feature.
--Ian Jordan