[HN Gopher] Show HN: Tiny FOSS Compass and Navigation App (<2MB)
___________________________________________________________________
Show HN: Tiny FOSS Compass and Navigation App (<2MB)
Author : nativeforks
Score : 116 points
Date : 2026-01-14 11:09 UTC (11 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| miroljub wrote:
| Nice. Without trying it, just by looking at screenshots, I wonder
| how your navigation works.
|
| Are you calculating the route or just pointing the user in the
| general direction?
| nativeforks wrote:
| Currently, the app shows the user's live location with real-
| time tracking on an OpenStreetMap-based map. It does not
| calculate routes or provide turn-by-turn navigation instead, it
| focuses on orientation and situational awareness.
|
| I'm actively working on features like waypoint tracking,
| offline maps, and a GPS speedometer. The goal is to keep
| MBCompass a useful navigation utility, not a full routing app.
|
| Routing isn't planned at the moment (maybe with plugins later),
| since adding it would shift the app away from its core purpose
| and increase complexity. The main priority is to remain fully
| functional offline-friendly and extremely lightweight
| (currently under 1.5 MB).
| mastermedo wrote:
| > The main priority is to remain fully functional offline-
| friendly and extremely lightweight (currently under 1.5 MB).
|
| By offline-friendly you're referring to the compass part
| only, right?
|
| Otherwise users would have to download the map in advance
| which would take more that 2MB. Am I reading this right?
| nativeforks wrote:
| Good question! "Offline-friendly" mainly refers to the core
| compass and sensor features, which work fully offline.
|
| For maps, it's a bit different users initially see an
| online basemap (requires internet). Instead of forcing them
| to download an entire map upfront like some libraries
| (e.g., MapsForge), they can crop or select specific areas
| to download.
|
| This makes it convenient to get only the map they need. Of
| course, if they prefer online maps, the app will cache
| tiles automatically. In remote areas, offline maps can be
| used as planned.
| rubymamis wrote:
| As a FOSS maintainer myself, I recommend you to charge (a small
| amount of) money for the app. People could always compile and run
| the app themselves still, so paying for the app is a clear way to
| support the project. I see that you have donation on your page,
| but it rarely happens that people donate. Just my 2 cents.
| nativeforks wrote:
| Thanks for the suggestion. I do plan to publish the app on
| Google Play as well. While much of the audience is FOSS-
| oriented, there are also users who aren't familiar with open
| source or compiling apps themselves, like here:
| https://github.com/CompassMB/MBCompass/issues/48.
|
| For them, donations are a simple way to support the project,
| and they're definitely appreciated.
| Milpotel wrote:
| Some projects offer the app for free on Fdroid and charge a
| small fee on Play. Might be an option as well.
| nativeforks wrote:
| Thanks! MBCompass will stay fully FOSS and free. Donations
| are extremely rare (tbh, I've not received a single one),
| especially from the Foss Android community, but they're
| still very helpful for long-term sustainability (given
| Google's non-sense Play monthly policies) and greatly
| appreciated, especially for users new to open source.
| embedding-shape wrote:
| > (tbh, I've not received a single one),
|
| Not true anymore! \o/ I don't use Android anymore, but I
| agree a lot with the principles you've shared here, so
| it's a thank you for sharing that. And I know how
| difficult it is to get the first donations, and after you
| get the first, it's much easier to get the later ones. So
| best of luck, and I hope you'll remain steadfast with
| your principles when it'll matter! :)
| nativeforks wrote:
| Thank you, that really means a lot. Consistency has been
| important to me, whether it's shipping regular releases
| with real improvements
| (https://github.com/CompassMB/MBCompass/releases) or
| writing about Android development and FOSS alongside the
| project. I really appreciate the encouragement and
| support.
| jasonvorhe wrote:
| You might add Bitcoin, Lighting or Monero to your
| donations page. Would've gladly dropped you a few bucks
| but I don't use any of the services you're offering.
| jacquesm wrote:
| Neat. If you want to make it more practically useful you will
| need to include some kind of magnetic compensation map. That's
| one of the reason navigation apps usually are a bit larger, they
| require a lot of data to function well world wide. Best of luck
| with this, it looks very promising!
| nativeforks wrote:
| Thanks! Currently, MBCompass can show both magnetic north using
| Android's sensor fusion and true north (based on WGS84 geodetic
| coordinates).
|
| Adding a magnetic compensation map sounds like a great fit for
| improving global accuracy without changing the app's core
| goals. Thanks for the suggestion.
| jacquesm wrote:
| YW, there are some pretty compact representations possible of
| that data but it will come at a considerable expense in
| computational overhead.
|
| https://www.ncei.noaa.gov/products/earth-magnetic-model-
| anom...
|
| Is a good starting point.
| nativeforks wrote:
| As part of the MBCompass v2 proposal, I'm working on:
|
| - Waypoint tracking (with GPX import/export support)
|
| - GPS speedometer
|
| - Offline maps with offline POI search using GeoPackage (an OGC-
| compliant standard supporting spatial queries)
|
| I'd love to hear your thoughts or suggestions your feedback is
| really appreciated!
| spiffytech wrote:
| I found MB Compass a few weeks ago and it's been very helpful for
| everyday things. For example, I just moved to a new apartment and
| I used the app to identify which room would get the best sunlight
| for my office. Works great!
| nativeforks wrote:
| That's great to hear! Glad it's helping with everyday use cases
| like that.
| monegator wrote:
| It's incredible how small apps get when you throw away all the
| bullshit: useless frameworks, ads, third party libraries that
| require you to include a huge binary.
|
| People are always amazed when i show them my apps are 2-5 megs,
| and that's because there's 2-5 megs of assets.
| nativeforks wrote:
| Exactly! That's exactly the philosophy behind MBCompass keeping
| the core functionality focused and lightweight, without
| unnecessary frameworks or bloat.
|
| People are often surprised by how much you can do in under 2
| MB.
| monegator wrote:
| There are also frameworks that don't bring in anything unless
| required. I use B4X for most of my apps.
|
| It has a fundamental issue, which is being single threaded
| (with exceptions), but it's truly lightweight and easy to
| extend, and the team behind it really know their business.
| blamestross wrote:
| A feature I have been looking for:
|
| Let me indicate a location and point an arrow at it!
| nativeforks wrote:
| TBH, that's a great idea! It's actually on my roadmap for
| MBCompass, something like waypoint tracking, where you can mark
| a location and get a directional arrow to it. Appreciate the
| suggestion!
| PaganLecturer wrote:
| I would like to say that an in app way of purchasing the app
| would be great. Something like what FUTO software does. Just add
| the card details and click pay button, easy two step process.
|
| If you want to receive compensation for the work you put into
| making the app, then you need to start treating it as work and
| call it a payment and not donation.
| nativeforks wrote:
| Yep, I'm aware that many FOSS projects use in-app payments, but
| for MBCompass, I want to keep it free on every platform,
| regardless of the audience. Without funding or community
| contributions, it's hard to maintain a FOSS project with
| meaningful features and improvements, rather than just vague
| "bug fixes/version bumps."
|
| As a FOSS advocate, I started this project as a community
| contribution to address the gap between user needs and
| available apps.
|
| I can maintain it long-term without major contributions, but
| support really helps (especially maintaining in different apps
| stores). I'm planning a non-intrusive in-app prompt to remind
| users about donations something subtle, because many users
| forget once they start using the app, rather than only seeing
| the donation info in the README.
| getpokedagain wrote:
| This is a wonderful app. Thanks for making builds available via
| Obtainium. You will be getting a donation shortly. I will
| assuredly use this when I go hiking and fishing.
| nativeforks wrote:
| Thank you so much that really means a lot!
|
| Beyond donating, the best way to support MBCompass is simply
| spreading the word. That helps more people discover it,
| contribute to it, and make it better for everyone.
| rapnie wrote:
| Just installed. It looks very neat, but I wonder how accurate the
| compass is. I am in a train now on a completely straight track
| and I get compass deviation of >60deg as if the train is making
| curves all the time. OpenStreetmap places me in New York instead
| of Netherlands.
| nativeforks wrote:
| > but I wonder how accurate the compass is
|
| MBCompass uses sensor fusion for accuracy, combining sensor
| data from the accelerometer, gyroscope, and magnetometer.
|
| It is one of the most accurate compass apps. Don't trust my
| words, try it with different apps on Google Play and with some
| FOSS options like Compass by Philip Bobek:
| https://f-droid.org/en/packages/com.bobek.compass
|
| And importantly, for true compass accuracy, I'd recommend you
| use the "true north" (magnetic declination) function, which
| requires location access. It takes some time to lock GNSS hold
| (the same goes for the current location button on the map view,
| default map location is Paris, France), but if you're moving,
| it locks pretty quickly and shows your current location with
| tracking (if you're moving.)
| cachius wrote:
| Is it an electric train with power lines above? They produce
| huge magnetic fields and will cause any compass to deviate.
| ratmice wrote:
| > Proprietary use, commercial redistribution, or publishing
| modified versions with ads or tracking is strictly prohibited
| under GPLv3 or later.
|
| These all sound to me like "Further restrictions" which the GPL
| says:
|
| > If the Program as you received it, or any part of it, contains
| a notice stating that it is governed by this License along with a
| term that is a further restriction, you may remove that term.
|
| It seems like if you want those clauses that GPL doesn't seem
| like the license you want?
| nativeforks wrote:
| The reason I included that note is that, as an open-source
| developer, I've seen many projects that weren't actively
| maintained get picked up by bad actors as they modify the code
| and publish it on Google Play with ads or IAPs. I wanted to
| discourage that.
|
| Other than this notice, MBCompass is fully licensed under GPLv3
| or later.
| ratmice wrote:
| The sum of the note and the gpl doesn't behave as though the
| notice has any precedence over the gpl. It behaves as
| additional restrictions and a license that allows you to
| ignore the additional restrictions. I'm no lawyer but it
| seems like it isn't achieving what you want.
| jasonvorhe wrote:
| Maybe look into dual licensing. You could allow all free use
| but require a custom license fee for all commercial use.
| raybb wrote:
| What a cool project and I really appreciate the way you are
| emphasizing the foss nature of it.
|
| Have you had any luck using vector maps? I know for the web SDKs,
| vector maps are finally getting some love for OpenStreetMap, but
| I'm not sure what the situation is on Android or if something
| like https://openfreemap.org/ can be used.
| z2 wrote:
| Nice and thank you! I think there's a great opportunity to apply
| the same love and care and compete with utility apps that tend to
| come with ads and exploits today. Thinking of music
| tuners/metronomes, barcode scanners, unit converters, bubble
| levels, flashlight strobe apps.
| maelito wrote:
| Not many people know that compass on the Web is possible.
|
| https://cartes.app/nord
|
| Works on most Android phones.
|
| I discovered that when I figured out that a Web map without a
| position arrow is missing something.
|
| Turns out, it was easy to implement. The Web has been so
| forgotten for the profit of app stores that entreprises don't
| even bother to check how capable it is.
|
| I know offline maps (think Comaps) is possible on the Web, there
| just isn't anyone that did implement it yet.
___________________________________________________________________
(page generated 2026-01-14 23:01 UTC)