\

Show HN: Tiny FOSS Compass and Navigation App (<2MB)

84 points - today at 11:09 AM

Source
  • ratmice

    today at 3:51 PM

    > 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?

    • rapnie

      today at 3:19 PM

      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 >60° as if the train is making curves all the time. OpenStreetmap places me in New York instead of Netherlands.

        • nativeforks

          today at 3:57 PM

          > 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.)

          • dizhn

            today at 3:32 PM

            New Amsterdam?

        • rubymamis

          today at 11:47 AM

          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

              today at 11:54 AM

              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

                  today at 12:27 PM

                  Some projects offer the app for free on Fdroid and charge a small fee on Play. Might be an option as well.

                    • nativeforks

                      today at 12:38 PM

                      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

                          today at 1:58 PM

                          > (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

                              today at 2:09 PM

                              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.

          • nativeforks

            today at 12:29 PM

            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!

            • getpokedagain

              today at 2:55 PM

              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

                  today at 3:13 PM

                  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.

              • spiffytech

                today at 12:36 PM

                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

                    today at 12:40 PM

                    That’s great to hear! Glad it’s helping with everyday use cases like that.

                • PaganLecturer

                  today at 2:35 PM

                  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

                      today at 4:10 PM

                      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.

                  • jacquesm

                    today at 11:51 AM

                    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

                        today at 11:59 AM

                        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.

                  • miroljub

                    today at 11:44 AM

                    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

                        today at 11:50 AM

                        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

                            today at 12:03 PM

                            > 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

                                today at 12:10 PM

                                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.

                    • blamestross

                      today at 1:26 PM

                      A feature I have been looking for:

                      Let me indicate a location and point an arrow at it!

                        • nativeforks

                          today at 1:29 PM

                          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!

                      • monegator

                        today at 12:44 PM

                        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

                            today at 12:49 PM

                            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

                                today at 1:00 PM

                                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.