-
@ Troy
2024-03-17 01:35:42Toto, it's a long way to Kansas
In my first "Nostr Clients for Android - March 2024" (posted in a reply to this note), I shared my adventures of touring the landscape of Android apps aimed at using Nostr for social media. Even though I thought my journey was over, for the time being, I was wrong. Here is what I have learned in the last week. Mostly what I've learned is that Yana doesn't really implement zaps correctly, and that Primal has many horrible glaring issues, and one potential redeeming quality.
Yana? YaNO. Well, Maybe.
Although Yana seemed like a good choice, I found a major failing that I had not noticed before. I should have tested zaps more thoroughly, as the first note I zapped just happened to be a Strike wallet. Any notes made by users with other wallets would produce an error when zapped, even Alby wallets, and Alby is what I use. This means anyone using Yana cannot zap me. Boo. It also means Yana doesn't really implement zap functionality. I still prefer Yana for how it displays my feed, however.
Primal Zaps
Several people replied to my previous article about Primal's ability to use wallets other than Primal's wallet. Primal sure didn't direct me to this option when I tapped the zap button. I understand the desire for an organization to drive users to their own projects, but providing a link to the wallet settings page would be trivial to implement. This was the first experience in a reoccurring theme in Primal.
My First Zap In Primal
So, I get my wallet set up and hit the zap button. Immediately 10 sats are sent to the poster. Who decided this? Why 10? No option presented for the amount to send? I found out if I long-press, I get a list of options. Strangely enough, 10 sats was not one of the options available. Also, each of these amounts is associated with an emoji and a comment. You can erase the comment before the zap takes place, but that edit is only good for that zap. The next time you zap, the comment will be there.
Primal Zap Settings Funhouse
So I go to the zaps settings where I am presented with a default amount, and several preset amounts, all of which can be edited. Everything is cool so far, but then things got weird. All zaps are required to have a message. The default amount doesn't require an associated emoji, but the other preset amounts do. One of the preset amounts has the comment "Coffie on me". This whole area of the app feels like it's put together with edible paste and aged packing tape. I would think something as significant as zaps would have been given more appropriate attention, like allowing the user to choose that their transactions be public, private, or anonymous.
So, now that I have my wallet set up, what does the giant zap button in the middle of the lower tool bar do? Nothing.
Can I really zap everyone?
Some people do not have lightning wallets associated with their profile, and Primal produces a perfectly intelligible message for this situation. Compared to Amethyst, I can zap almost any note that has an associated wallet, even Wallet of Satoshi users... or can I? When I zap a note successfully the icon changes instantly. Compare this to other apps that show a wait indicator as the transaction completes. I noticed that even though I would get an indication that the transaction for a Wallet of Satoshi user completed, the icon on the note did not change like it did for other wallet users. I haven't taken the time to look through my transactions to trace everything down, but that seemed suspicious. It's difficult to determine if I really can zap more people in Primal than in Amethyst, but it seems so. Compared to Yana, where I can only zap one wallet, Primal wins in the zap category.
Notifications (and not much else)
I saw my notification area show a dot, "Yay! Let's see what it is!". Later, I find that this badge almost never goes away, giving the user a constant false positive. I tap a bell icon to open the Notifications area. I see that people have reacted, replied, and zapped notes of mine, but there doesn't appear to be a way to find out which note they are responding to. The only way I could find was to search my profile notes section and replies section, (or, if it was a note I had replied to, someone else's notes section and replies section), then scroll through looking for notes that have replies/reactions (replies aren't displayed until you tap on them), until I find a response that matches what I saw in my notifications page. This makes the notifications feature near useless, and it's not the last time I encountered this beast during my journey.
Relay Shell Game?
My feed seemed to be lacking a lot of content, so I looked at the "Network" settings to see what my "Relay" settings were. There was a single entry of "Caching Service" using Primal's cache relay. Here's another "You're going to do it our way" situation. There was a link to "restore default relays", which doesn't make sense since the default relay is obviously the Primal cache relay, but whatever. After hitting the link, eight relays were loaded up. A portion of them were ones I was using, along with some ones I had not used before. I made a text file of my relays, and figured I would paste them into Primal. This would be easier through their web interface than highlighting and pasting with my phone, but then I found that the web interface has all the relays I usually use, but the app doesn't.
Adding Relays Action Mini Game!
There is an option to add more relays. Attempts at adding a relay produced the message, "Unable to add relay. Please try again in a few moments." When I see messages like this from Google Play, I see it the same as a middle finger to the user. Other than communicating "Thing broke", it gives the user no information. How long is a moment? How many of these arbitrary units of time should I wait? Why not give me some error message that I can at least perform a search on? It would be nice to know if the issue is something I may be able to remedy or not. Real information might give me a clue as to how long to wait.
However, let's look at some details here. When I activate the button to add a relay, part of what I'm asking for is that a text string, like "wss://some.nostr.relay", be added to a list. Secondly, I expect that the app will connect to the relay addresses on that list. Sure, there may be connection issues, but why am I getting the error immediately? Why is the relay not added to the list at all? Doesn't Primal want to confirm that I have entered an address to the list even if connection attempts are still being made?
Hold Up, Or Holed Up?
While writing this, I wondered if it's been enough moments, and I was able to successfully add a relay, so I guess whatever mysterious problem took place has been solved ... for now. At the same time, when I visit the Network Settings page, often the relays show red dots instead of green, and sometimes they just stay all red. So what's going on here? Are these relays being used, or not?
Feed Issues - Tap And Rack? No Chance!
While in my profile I saw where I had forwarded a note (while using a different client), but Primal decided to show a Nostr string "nostr:nevent1qqsp9p77x..." instead of the forwarded note. I later saw this a lot in my feed while using Primal. Other clients I've used don't have this issue.
The default feed is "Latest and Replies". This shows me notes created by people I follow, and every reply they make to any note everywhere. This fills my feed with notes like, "Yeah, I think so to.", "That's great", "No, the other one.", "Thanks", or "But WHERE did you shave it???" And, just like the broken Notifications page, there's no way to find out what note they are replying to! Even if I could, I would never opt to open my client to a list of replies. Replies to other people do not add value for me. In fact, it's clutter, which wastes electrons for pixels. It's possible to temporarily change the feed to "Latest", showing only notes created by profiles I follow, but that setting isn't persistent, and will change back to "Latest and Replies" regularly. Primal doesn't want you to curate your own feed. They've decided for you what you're going to see each time you open the app. It seems that getting a "Global" feed is impossible too. Sure, it has a lot of trash, but I've also used it to find new users and cool bots that give me things like "Today in history ..." or tech news headlines. Preventing users from accessing posts just a lame practice overall.
Hashtags
The "Feed List" also has several default hashtags to follow. The hashtags I was following in Amethyst weren't recognized by Yana or Primal. Heck, sometimes Amethyst forgot which ones I was following, so I'm not hurt by it. What I don't understand though, is why Primal wouldn't ask new users what they want to follow. Their preset list is something I completely deleted, leaving only "Latest and Replies" and "Latest". The hashtags I was following in Amethyst could only be viewed in Primal if I made a feed for each hashtag. If you have 133 interests, you would need to load the feed for each one to see any of the content from those hashtags. This is not practical in any way.
"Missing" Notes
One day I opened Primal and saw the note I had been reading when I had last used it. That's so awesome! It shouldn't be, but we're in the world of bleeding edge technology, so simple jollies become huge wins. There was also a notification at the top of the feed showing that more notes had been posted since then. Great! I loaded the new notes, and continued to scroll. Then I noticed something odd. The times of the when the notes were posted went from "15 hrs" to "1 hr", and no notes in between. I had this scenario repeat for me later, which confirmed for me that this is "just how it works". In these cases, there is no way that I can find to get Primal to fetch notes between "last night" and "just a bit ago". Later, when I relegated Primal to being my zap tool, in some cases I was not able to load the note that I wanted to zap, even when searching using the note ID. This defect, whether by design or not, isn't tolerable.
Odds and Ends
There are several other oddities, like:
-
Pictures always loading below the text of a note, even if the author put the URL to a pic before the text. Again, Primal not caring about how people want to do things. The author's intentions are void.
-
There are no "wait" timers when a post is loading. Many times a post will load and it appears there are no replies.
-
Replies of replies are not displayed until after you tap initial reply, then a new page loads showing only the second reply.
-
If you want see the profile of someone in a reply, clicking their pic doesn't do anything. Clicking on profile pics that are not in a reply do take you to the profile.
-
You can't zoom an image. There is a slight "bump" of the pic, so the zoom capability is there, but not enough to make useful.
-
Videos launch your browser instead of running in the app.
-
You can't view a profile pic at full size. If you want to know what that pic is, you're out of luck.
-
The list of your Follows is sorted by the users with the largest number of followers at the top. Whatever logic is in place here is backwards since the top of the list contains people that are most easily found without coming to your list of follows. Alphabetical makes sense here, especially for someone like me that doesn't care about how many followers someone has.
Conclusion (Perhaps)
All software has defects, and it's rare for me to find a title where I can't find something to re-design. This adventure into the realm of bleeding edge technology requires putting up with some incomplete features, and the absence of cushy things, (like being able to select different reactions to a note), but it's also fun to play with, and the possibilities make for some great visions of the future. It would be nice to have a Nostr client for Android that fully embraces the concept of the users and authors being at the helm, while also having all the basic features for navigating and zapping notes.
So what's an adventurer like me to do? What I've been finding myself doing is using Yana to view my feed, Primal to zap posts (if I can find them), and Amethyst to look at my notifications. It's an odd horse to ride, being that it also has a long trunk and a caudal fin, but it's getting me where I'm going for now.
-