UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Merezhyvo browser

    Scheduled Pinned Locked Moved App Development
    13 Posts 4 Posters 93 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • N Offline
        naz.R
        last edited by

        Please meet Merezhyvo – a new small browser for Ubuntu Touch.
        I first made it only for myself. Later I realised that I like using it, so now I want to share it with the community. Maybe it will be useful for someone else too.

        What is Merezhyvo?
        Merezhyvo (pronounced like “meh-REH-zhy-vo”) is a simple, minimalist browser based on Chromium. It is made specially for Ubuntu Touch. The name comes from the Ukrainian word for lace / web.
        This is an MVP / early access version. The browser already works for normal daily browsing, but development is still in progress and the feature set is small on purpose.
        Main goals:
        • a lightweight browser that feels native on Ubuntu Touch;
        • privacy-friendly by design (no tracking, no telemetry);
        • convergent UI that works both on phones and with external displays;
        • built-in optional Tor support.

        Privacy
        • No tracking, no analytics, no telemetry.
        Merezhyvo does not send data to any server, does not include analytics and does not collect your usage data.
        • Local-only data.
        History, bookmarks and passwords are stored only on your device, inside the app sandbox.

        Key features (current MVP)
        • Confined Ubuntu Touch app
        Merezhyvo runs as a confined app and follows the Ubuntu Touch security model. File access is limited to internal folders, so the browser works correctly inside the sandbox.
        • Convergent UI: phone and desktop
        The UI is made for mobile first, but it also works with external monitors and keyboard/mouse. There is a UI scaling option that lets you change the size of the interface (toolbar, tabs, buttons) without changing the page zoom. This helps to adjust the browser to your screen and DPI.
        • Built-in Tor integration (optional)
        The browser includes the Tor software as an internal binary. With one toggle you can send your traffic through Tor and automatically open a Tor check page to see if it works. There is also a “Keep Tor enabled” option that starts Tor automatically when the browser starts.
        • Bookmarks and password manager
        There is a simple bookmark system and a basic password manager. Passwords are stored locally and protected with a master password. You can import and export data inside the app’s sandbox folders.
        • Predictable downloads
        All downloads go to this folder:
        ~/.local/share/merezhyvo.naz.r/mDownloads
        For easier access you can create a symlink from your normal Downloads folder to this path, so your files are easy to find in the file manager.
        • Safe uploads and imports
        File pickers are limited to:
        ~/.local/share/merezhyvo.naz.r/mDocuments
        This keeps the browser compatible with confinement and still allows uploads/imports (where supported). You can also create a symlink from your documents folder to mDocuments if it is more comfortable for you.
        • On-screen keyboard integration
        Merezhyvo has an on-screen keyboard integration made for the browser. Right now it supports a limited set of layouts (12 languages). I plan to improve this based on user feedback.

        Merezhyvo includes Tor as an optional connection layer, but it is not the official Tor Browser and it does not include all Tor Browser security and fingerprinting protections.

        What is not in scope (yet)
        This is a small and focused browser. It does not try to compete feature-by-feature with uFirefox, uWolf or Morph (when Morph is updated again). Those are big, full browsers. Merezhyvo is a simpler alternative with a different idea and a smaller feature set.
        At the moment:
        • File access is limited to the app’s own sandbox folders (mDownloads and mDocuments).
        • Camera, microphone, geolocation and push notifications are not supported yet.
        • Some Ubuntu Touch platform limitations apply (for example, the clipboard is separate from the rest of the system).
        These limitations are known and often intentional for this MVP stage.

        What kind of feedback I’m looking for
        I am not looking for a list of “missing features” – I already know that many things are not implemented yet 🙂
        What would really help instead:
        1. Bug reports for the features that are already present.
        If something that should work in this MVP (basic browsing, tabs, downloads, file picker, bookmarks, password manager, Tor toggle, UI scaling, on-screen keyboard) behaves strangely or breaks, please tell me.
        2. UX feedback.
        Is the UI clear and easy to use? Are there any small but annoying problems in daily use? I have onlly one UT device, which is OP Nord n10, so I am sure how it looks only on this one device.
        3. Keyboard layouts: which languages first?
        The on-screen keyboard supports only some languages now. I would like to know which additional languages/layouts are the most important for you, so I can add them earlier.
        4. Would you actually use this browser?
        This project started as a personal tool for me. And for me it’s good enough already, it covers my personal needs. I want to understand if it is also useful for other people. Your feedback will help me decide if I should spend more time on Merezhyvo, or keep it as a small niche browser.

        How to get it:
        Merezhyvo is available on the OpenStore

        I do not expect Merezhyvo to replace uFirefox, uWolf or Morph. These are great, full browsers and they cover most needs. Merezhyvo is more like an experiment: a small browser with built-in Tor, a convergent UI and a simple, predictable way to handle storage and permissions.
        If this experiment is useful for more people than just me – great! If not, at least I had fun building it and learned a lot.
        In any case, I would really appreciate your feedback, bug reports and thoughts about what works well and what does not. This will help me decide whether to continue developing this project or leave it as a small side tool.
        Thank you for reading and for testing Merezhyvo!

        1 Reply Last reply Reply Quote 0
        • CiberSheepC Online
          CiberSheep
          last edited by

          Thanks for the announcement, but I don't think the app will show on the Open Store.
          Installing via download will fail.
          There's no code available, as you licensed as private (but the code you are using is licensed open source)
          Anyhow, unpacking the click you have an error on the apparmor:
          "policy_version": 2404.1,
          it should say
          "policy_version": 24.04.1,

          also your manifest doesn't include a framework (I'm not an expert, but you might need to check this as well)

          Another planet, another time, another universe!

          N 1 Reply Last reply Reply Quote 0
          • pparentP Online
            pparent
            last edited by

            Thank you for your work and app!

            I have just a question 😉, the app appears as proprietary in the Open-store. Is that a deliberate choice to make it proprietary? On my side it will unfortunately block me from installing it, even to try it.

            Thank you!

            N 1 Reply Last reply Reply Quote 0
            • N Offline
              naz.R @CiberSheep
              last edited by naz.R

              @CiberSheep Thanks for mention the code availability, I forgot to add the link, fixed it now.
              Added the link to OpenStore page and adding to the post above too.
              I was able to find it on OpenStore and install for there, so, hope it should work fine.
              manifest.json includes following line:

              "framework": "@CLICK_FRAMEWORK@"
              

              I was trying to follow this instruction: https://forums.ubports.com/topic/11333/app-developers-guide-to-publishing-applications-for-ubuntu-touch-24.04-1.x

              Thanks again and feel free to check the code if you want to.
              code base

              CiberSheepC 1 Reply Last reply Reply Quote 1
              • N Offline
                naz.R @pparent
                last edited by

                @pparent thanks for your question.
                I am not sure, may be that's not the right choose for the license type.
                The app is free to use and I am totally ok to keep the code open.
                I added the link to the app page on OpenStore now. My bad, forgot to do it before.

                But I would like to be the owner of my app. Is it proprietary? and is it something bad ? 🙂

                pparentP G 2 Replies Last reply Reply Quote 1
                • pparentP Online
                  pparent @naz.R
                  last edited by pparent

                  @naz.R

                  Well first thank you so much for publishing the code! 😊

                  Well you are free to choose a license that suit you, whether a proprietary license or a free and open-source license. (You can also decide not to put any license but then what we are allowed to do with your code and app can be a bit ambiguous, although normally standard copyright applies by default) . Be "the owner of the app" can mean several things, you would need to precise what you mean by that in order to define your license. For exemple most Free software licenses (Free software refers to freedom not price), will require to keep the copyright of the original author, and give credit. Owning the app in the open-store is also a different matter.

                  For me Free and Open-source software is fondamental to control individually and collectively the software we use, and guaranty that the software is doing what we want it to do, and not something the developer has added in its own interest to exploit users, their data, and their device ( That of course, I'm sure is not the case of your app at all 😊 , but is unfortunately very common in the proprietary world ).

                  Basically everything in Ubuntu Touch system is Free and Open-source software, except binary blobs, given by the manufacturers, that are needed for the hardware, and it's kind of a trade-off to have to use them, because unfortunately in the mobile it's currently very hard to have acceptable hardware running without proprietary blobs drivers or firmware.

                  The Free software philosophy is personally the reason that I prefer Ubuntu Touch over Android. If it wasn't for that, I would use Android.

                  1 Reply Last reply Reply Quote 1
                  • G Offline
                    gpatel-fr @naz.R
                    last edited by

                    @naz.R said in Merezhyvo browser:

                    But I would like to be the owner of my app

                    From a legal point of view, you are the author of code you write and you can do what you want with it (note that usual understanding is that licenses one given are irrevocable). Problems can appear when you are taking code written by others and you combine it with your code. The other authors are also allowed to do what they want with their code and you may not be allowed to do what you want with the combined result, even if you are the person having produced the final result. This is not official legal advice 🙂

                    pparentP 1 Reply Last reply Reply Quote 0
                    • pparentP Online
                      pparent @gpatel-fr
                      last edited by pparent

                      @gpatel-fr @naz.R

                      Yes it's true as well that if you reuse existing code in your app (like tor, chromium, electron, ect...), this may (or may not) have implications about the license that you can chose for your app, depending on the license of the softwares you are reusing.

                      This is because some of the Free and Open-source software enforce that any derivative software should in turn be Free and Open-source. 😉 ( But not all )

                      G 1 Reply Last reply Reply Quote 0
                      • G Offline
                        gpatel-fr @pparent
                        last edited by

                        @pparent said in Merezhyvo browser:

                        some of the Free and Open-source software enforce that any derivative software should in turn be Free and Open-source

                        There are even some case of producers of Free and Open source software allow for derivative software to be turned into proprietary but for a fee. IIRC there was (is still ?) a time when Qt was producing a virtual keyboard that was just that, a giant trap, and people wanting to write proprietary software were avoiding it like the plague :-). Maybe that was a reason for maliit (the UT keyboard) to exist in fact.

                        1 Reply Last reply Reply Quote 0
                        • N Offline
                          naz.R
                          last edited by

                          Thanks everyone for the detailed comments about licensing – I really appreciate that you took the time to explain your points of view. It definitely helped me think more carefully about this part of the project.

                          Just to clarify the current situation:

                          The source code is published on GitHub so that people can read it and see how the browser works. My own license is a “free to use, source available” license. The only restriction is that reuse, modification or redistribution of my code is not automatically allowed – people should ask me first.

                          The app on the OpenStore is marked as Proprietary. I don’t see any more suitable option there.

                          There was an inconsistency: my package.json still said MIT from an early stage of the project. That was my mistake and I have now fixed it so it matches the actual license.

                          About third-party components:

                          I build on top of Electron, which is MIT-licensed and already embeds Chromium internally.

                          I bundle Tor as an external binary; Tor is under a BSD-style license.

                          All npm dependencies I use are under permissive licenses as well.

                          Their licenses and notices are included in the app (THIRD-PARTY-NOTICES, Tor license section, etc.).

                          I’m not a lawyer, but as far as I understand, these permissive licenses (MIT / BSD-style) allow me to keep my own JS/TS code under a more restrictive “source available, free to use” license, as long as I keep the attributions and don’t claim their code as mine. This is what I am doing now.

                          I also fully understand and respect that some people prefer to use only fully Free/Open Source software in the strict FSF/OSI sense. My license is not fully Free/Open Source in that strict sense, even if it is close in spirit (free to use, source published to read). I might reconsider this in the future, but right now I prefer to keep this more controlled model.

                          In the meantime, I would really appreciate any feedback about Merezhyvo itself – bugs in existing features, UX issues, performance on your device, and especially which keyboard layouts / languages you would like to see first. This will help me decide if the browser is useful for other people and if it makes sense to invest more time into it.

                          Thanks again for all your input and for testing the browser.

                          pparentP 1 Reply Last reply Reply Quote 0
                          • pparentP Online
                            pparent @naz.R
                            last edited by pparent

                            @naz.R said in Merezhyvo browser:

                            I’m not a lawyer, but as far as I understand, these permissive licenses (MIT / BSD-style) allow me to keep my own JS/TS code under a more restrictive “source available, free to use” license, as long as I keep the attributions and don’t claim their code as mine. This is what I am doing now.

                            Yes BSD, MIT and apache license allow you to make derivative with the only obligation to give credit (to simplify).

                            The source code is published on GitHub so that people can read it and see how the browser works. My own license is a “free to use, source available” license. The only restriction is that reuse, modification or redistribution of my code is not automatically allowed – people should ask me first.

                            The app on the OpenStore is marked as Proprietary. I don’t see any more suitable option there.

                            Yes in that case it is indeed proprietary. You might want to add a license file explaining shortly that in you GitHub directory, to make sure everyone understands and respect your conditions.

                            N 1 Reply Last reply Reply Quote 0
                            • N Offline
                              naz.R @pparent
                              last edited by

                              @pparent yes, the license is there on GitHub, as well as all third-party licenses and Tor license.
                              As well there in the browser is a special Licenses page where all of them are available (including licenses for every single npm package I use)

                              1 Reply Last reply Reply Quote 0
                              • CiberSheepC Online
                                CiberSheep @naz.R
                                last edited by

                                @naz.R said in Merezhyvo browser:

                                Thanks again and feel free to check the code if you want to.
                                code base

                                Thanks. I was able to build it from source but not installing it from the Open Store, I see now why, and some minor errors.
                                Again, thank you. You have fun developing this app ^__^

                                Another planet, another time, another universe!

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post