OpenCPN is getting more impressive with each successive build. Serious kudos are due to that handful of dedicated developers who keep it moving forward. The thing just doesn't seem to break that often anymore. The display and quilting algorithms are getting pretty smart. The interface is generally slick.
Support for additional chart formats is, IMHO, the single
biggest issue facing the project
at the moment. Hydrographic offices are the main offenders here, and I'm not sure if a legal
, open solution the S-63 problem is possible. But if it is, that would remove a huge barrier to OpenCPN adoption. If I can't read my government's official charts with it, it'll remain an occasional supplemental tool at best.
Thinking longer-term, IHO S-100 is on the horizon. (And along with that is S-101, all the complexity of S-100 with all the downsides of S-63...) This may be a few years out, it may be two decades out, but we'll have to adapt eventually. Is the underlying OpenCPN architecture up to it? And NGA chart support would be great too.
Performance is still a bit sluggish on low-power hardware
when many charts are loaded, and having to wait for the S-57 database to rebuild
when changing chart sets, or "SENC file create" when panning, seems to be a bit of a turn-off. Even if performance improvements aren't in the immediate future, an option to manually force all this background work to occur at a convenient time (rather than when you're panning around) would be welcome. Also in the "little details" category would be improvements to the route
manager's filing and lookup interface, which often gets a bit cluttered.
ActiveCaptain overlays would be a huge hit, of course. For the moment, I agree with Jeff that it would be exceedingly difficult to come up with an open plugin / interface, while maintaining AC's stellar standards of quality. If the plugin's closed, there are licensing issues integrating it with OpenCPN; if it's open, some shady operator is going to fork it and wreak havoc. I've seen this happen with other projects. It gets ugly.
I do not yet understand OpenCPN's architecture well enough to offer much on this front. I do think, though, that it might be worth looking at ways to modularize it further, splitting out everything except core
functionality into plugins. (Perhaps along the lines of IrfanView's architecture?) I'm not qualified to say much more, to be honest. At the very least, though, it might allow some not-quite-GPL-kosher ideas to be implemented under different licences, and still interface well with the pure FOSS core