(Nostr Browser)
#### Overview:
Today, we've solved the issue of using various #Nostr web-app clients on mobile devices, thanks to the ability to log in via NIP-07 | nos2x (Browser Extension) and securely store keys within the app itself (eliminating the risk of storing them in general browser memory).
Additionally, the flexibility to switch between apps seamlessly is now possible. (via its Switcher modal)
This #Spring not only resolves issues for end-users but also encourages developers to gather more user engagement data (given the growing preference for mobile usage).
It increases the chances for various clients to be picked up and used more frequently. This is a highly promising development for the Nostr ecosystem.
#### Positive Features:
- Secure key storage
- Client login via NIP-07 or nos2x
- A "Key permission" management system enhances key usage security.
- Supports multiple accounts and offers convenient account switching.
- Switcher modal: Seamlessly switch between various apps at any time and easily close lingering apps
- Features a hidden App-drawer at the bottom, accessible by swiping up. Apps on the drawer must be pinned beforehand (some are default).
- Apps in the drawer can be drag-and-dropped for positioning (though positions may not be remembered if usage dictates recent activity?).
- In-app sharing or copying is available within various tabs.
- Explore news, trends, and various content on Nostr
- User follow recommendations
- A diverse range of apps to choose from, covering almost all popular apps
#### UI Overview:
- The primary theme is black, presented in rows of horizontally swipeable cards.
- Vertical swiping allows for browsing through rows of different content categories.
- Easy to learn and intuitive, with a visually pleasing design.
- The settings menu bar is hidden on the left side and can be revealed by clicking on the profile picture.
#### General Usage:
- Users can add accounts in two ways: using a Private-key (full access) or a Public-key (read-only), and multiple accounts can be added.
- At the top row | Trending notes: Various trending notes are displayed. When selecting any card, the app will prompt and compel you to choose which app or client to use for reading that particular note (based on suitability or preference - also native apps).
- The invoked app will request permission to use our key to proceed (in case it hasn't been used before, and we can choose to remember the permission or ask every time it's invoked or an event is displayed). The app will then be activated and appear in the browser tab below.
- Each tab has a menu button on the top right (three-dot icon) that displays the Note URL and Note ID with options to close the tab, pin the app to the Drawer, open with another client (if available), or Zap that note.
- The bottom right of the tab has three icons: a home button (to return to the app's homepage), a refresh button, and a tab management menu button to close various open tabs.
- For other rows on the home page (such as Trending profiles, Highlight, Big zap, etc.), the functionality is similar.
- Using the App-drawer at the bottom (by default, it shows a single row; swipe up from the bottom to reveal the Drawer displaying various pinned app icons.) Apps that are left open will have a purple strike line indicating their status, allowing us to continue where we left off. We can drag to rearrange the apps as desired.
#### Performance Testing Results
- The app runs quite smoothly, and I haven't encountered many bugs (none in this version, so I can't comment) or the lag experienced in previous versions. Overall, it's excellent. (Some freezes sometimes, but very rarely.)
- Memory usage depends on the number of apps invoked simultaneously. I feel the app utilizes device resources quite efficiently.
#### UX Recommendations:
Disclaimer: I offer these recommendations as a usability tester and in anticipation of general user needs. The intent is to present opportunities for app improvement, not to criticize or tarnish the app's reputation in any way.
- I believe the key highlight of the Spring app is its ability to invoke other apps by logging in with NIP-07 or nos2x (most users will likely choose Spring for this primary reason). Therefore, the main focus should be on the "Apps" section, which should be easily noticeable and prominent on the homepage, followed by other rows.
- The tab management window still requires us to reach (swipe) up to close it. We could add the option to simply press Back or swipe left to hide it, and a "Close all tabs" button would be great.
- From my testing, I still can't log into my Nostr account via the Primal app.
#### Additional Feature Requirements (High-Level Features):
- Inspired by nielliesmons (npub149p…722q), we might allow users to optionally display their Wallet (balance + recent transactions) and any Podcast cards (as he once mentioned in the context of a Portal inspired by Spring).
- I'd like to see Spring incorporate a search filter in the future.
- Add the ability to toggle various rows on and off as desired, and perhaps include a "Live Stream" row.
- Should users have the ability to add Apps beyond what is displayed?
- Add a light theme.
- Option for Desktop display mode (as some apps are not yet mobile-friendly).
- Options for managing Relays.
- Others language.
### Conclusion:
Spring is a highly promising app that's worth using, as it has resolved most past issues and significantly enhanced user convenience. I can have just two apps on my phone, namely #Amethyst by Vitor Pamplona (npub1gcx…nj5z) and Spring, and that's sufficient for me to access nearly all interesting apps in the nostr-verse on my mobile device. If you're someone who enjoys experimenting with new developments on Nostr and is frustrated with general browser usage and key management, this app is the answer.
#### Warning:
- Spring is still in its early stages of development. There are many areas that can be improved and optimized. Bugs or usage issues may be encountered. Use it at your own risk and don't forget to provide feedback to the developer brugeman (npub1xdt…ntxy) for future enhancements.
- I'm still quite incomplete with this test. You may find other suggestions in the future.
Thank you for developing such a great app for us to use, brugeman (npub1xdt…ntxy). I hope my review and testing results will be useful for you.
> Thanks in advance for your feedback and for testing, my reviews, so I can better meet your needs in the future. I aim to continually contribute to Nostr's development in one way or another.
Feel free to reach out to me whenever you need a #Testr.
#### Note: System Used for Testing
- Samsung Galaxy S23+
Spring (the nostr browser) v0.1.2, adds key permission management.
And we're live on Play Store (open testing): https://play.google.com/store/apps/details?id=com.nostr.universe
Apk: https://github.com/nostrband/nostr-universe/releases/download/v0.1.2/spring-nostr-browser-v0.1.2.apk
With key permissions implemented, you have full control over how your keys are used. Sign permissions are per-kind, so it's not all-or-nothing.
Notable changes:
- Key permission management
- Tab switcher modal
- Search over live events and communities
- Faster tab open/hide/close
- Drag and drop to rearrange your pins
- Share & copy action support inside the tabs
- Bug fixes
Next week we're working on a major architecture upgrade, and NWC for one-click zaps.
Stay tuned!