Starting to think damus needs an android app

Reply to this note

Please Login to reply.

Discussion

naw we already have some decent ones.

I will enjoy comparing you with Amethyst

Platform agnosticism is a good thing in almost any area that isnโ€™t bitcoin lol ๐Ÿ˜‚

Apple only

Bitcoin only

I think thatโ€™s all the tech we ever need

Maybe some dentists

HA! @ "Maybe some dentists"

No, screw apple they're terrible.

Lies

License to think, as without there are cases turning true.

#mainvolume

Yes.

Cmooo

And eventually, web.

๐Ÿ’œ๐Ÿ‘

As long as you leave the likes in place mate

It's the unspoken rule.

If you make an app for iphone you must then remake the same app for the 47 other genders of phones

๐Ÿ‘€

#[0]

yesss ๐Ÿซ‚

๐Ÿ™Œ๐Ÿฝ๐Ÿ™Œ๐Ÿฝ send it on every platform

There are others (Nostros and Nozzle) but none are as stable or feature rich as Amythest.

A few more mature clients would be nice.

What took you so long? ๐Ÿ˜

Why?

Care to elaborate?

Heโ€™s having creative differences with #[4]โ€‹, the man in charge of Amethyst.

More like vitor is doing something extremely disruptive to the rest of nostr and he doesnโ€™t seem to care. Oh well, itโ€™s his users who will suffer. I am no longer going to recommmend amethyst and point users to plebstr instead.

Agreed! His responses seem callous. Plebstr works great! Damus is the king!

I do care. That's why I am being disruptive. NIP-94 was discussed for 2 months and merged.

I am not the one refusing to go along with everybody else here...

๐Ÿซ‚

As an outsider to Nostr development, this is something Iโ€™m puzzled by. According to the GitHub page, โ€œ[NIPs] should be implemented in at least two clients and one relay โ€” when applicableโ€ before theyโ€™re accepted. Yet it seems as though Vitor is the first to implement NIP-94?

https://github.com/nostr-protocol/nips#criteria-for-acceptance-of-nips

Actually, https://filestr.vercel.app/ implemented NIP-94 before Amethyst.

cc #[6]

Thank you for the correction. Still, isnโ€™t the order supposed to be implementation in two clients, then acceptance?

Theoretically, yes.

But it doesn't always work like that.

Sometimes a single implementation pushes a NIP acceptance (i.e. Zaps or Repost in Damus), sometimes implementation waits till a NIP merge, even months later!! (I.e. NIP-42 Auth).

Hm. I think the recent unpleasantness could have been avoided if everyone had seen Vitorโ€™s implementation before NIP-94 was accepted. Will would have objected, and there wouldnโ€™t have been consensus to merge the NIP.

Sometimes implementation is important, yes.

But communication is always more important.

๐Ÿซ‚

That didnt take long for the in fighting to start

Plebstr isn't in a trust worthy app store yet. I only really trust f-droid at this point: https://f-droid.org

I understand recommending the Android client that suits more the way you think nostr micro-social should work, of course.

But building a Damus Android client because you don't agree with Amethyst direction looks like wanting to control yourself where micro-social nostr is going, imho.

Just my opinion, ofc.

I picked up Plebstr recently, but it seems very unstable on my Pixel 7 Plus. Crashes regularly.

:( yeah itโ€™s pretty new

It's missing a lot of features for sure.

What's the beef with the images about? I'm on Android so I haven't noticed I guess.

In short, no one can see amethyst users images because of nip94

Well that sucks.

Nah

Yess ๐Ÿ’œ๐Ÿซ‚

Ideally, Mobile clients should all strive to create apps for both IMO.

Why. Other platform users can just use another client. Specialization is good. Multi platform is very difficult and often lead shitty UX.

Because if you're running a business you would probably want to reach ๐Ÿ’ฏ of a market instead of just 50%

Better aim for 100% of your platform market I think rather than providing a mediocre UX on both platform and getting a lower share in the end. Except if you have lot of ressources to put into such thing it's probably a mistake.

Bring it on.

Texas proms. What?!

Canโ€™t we hash this one out? Everything has been so collaborative thus far.

apparently not. Me and #[4]โ€‹ have already voiced our concerned. #[2]โ€‹ seems ok with breaking images in every other nostr client .

#[2]โ€‹ can we come back to a common standard here?

Standards will become a thing of the pastโ€ฆ.

Finally drama has arrived โ˜๏ธ

You mean the only zap fight wasn't drama?

Missed that sadly, but I am for it ๐Ÿ˜‡

But drama about GBTC drama will get everyone back in line as soon as it unfolds ๐Ÿ˜Ž

Here we go Jack ๐Ÿ˜

?cid=2154d3d7gy1qmpjjr7yk3frmh2ji4bz5qobu27stv2917160&rid=giphy.gif&ct=g

Gangs of Nostr. #[4] VS #[2] .

๐Ÿคทโ€โ™‚๏ธ

Just call me Nostradamus. Honestly, 1 client with many devs (like #bitcoin core) is safer than hundreds of clients with a couple devs each. The only way to achieve such a thing is to make a multiplatform app that everyone can rally behind.

nostr:note1xvlkjlkn6nj57lyyl8emjzdttarkkh4368w57tkm9uw78fue0l9qsynmrw

"We have too many standards! Let's make one more standard to solve the too many standards problem!"

At this point, that probably won't work as intended.

It works for #bitcoin, and it will work here if the new standard is excellent.

Wait and seeโ€ฆ Universal consensus is a deep beauty of decentralized protocols, because social consensus doesnโ€™t scale โ€” as you can probably tell by the bickering between different client-devs.

Switching clients is simply proof that it isnโ€™t centralized โ€” like running knots instead of #bitcoin core. Although, 95%+ run bitcoin core and that is for the best. I think the same exact rules apply here.

Bitcoin and Nostr are different though, because Nostr doesn't have any consensus algorithm. If you stubbornly choose the wrong chain, you lose money or degrade your security. If you choose "the wrong nostr client" (which doesn't exist) your client is not interoperable with other clients. Factions emerge and social networks split, but there is no economical incentive to switch clients whatsoever.

Those developer factions will not include their users. Users of the clients will always want to see messages from each other, no matter what client they are using. Users are not going to be ideologically split by the ideology of the authors of their favorite client.

This means that the client developers will find themselves under very intense pressure to cooperate and interoperate. They can stamp their feet all they want; and throw all the tantrums they like. But they WILL eventually be forced, by their constinuents, to work together.

They can do this the easy way, or the hard way, but they will eventually do it.

Because WE are nostr, not THEY.

>From: (cypherhoodlum) at 04/25/23 08:04:32 on wss://relay.damus.io

>---------------

>Bitcoin and Nostr are different though, because Nostr doesn't have any consensus algorithm. If you stubbornly choose the wrong chain, you lose money or degrade your security. If you choose "the wrong nostr client" (which doesn't exist) your client is not interoperable with other clients. Factions emerge and social networks split, but there is no economical incentive to switch clients whatsoever.

Relying on forkable universal consensus > Relying on the fragility of peer pressure

True, you have a point there. If a rogue dev breaks interoperability badly enough, no one will want to use the app anymore, forcing the dev(s) to either ensure interoperability or lose contributors and users. Nothing a single dev can do about it. That's the beauty of Nostr.

Sybil-resistant data discovery and decentralized data storage on untrusted computers is the true magic; itโ€™s the heart of the cypherpunk. ๐Ÿ

A million Twitter clients isnโ€™t innovation. Also, itโ€™s quite confusing to normies when I tell them there are many apps for the same social mediaโ€ฆ

Hear, hear. Decentralised data storage on untrusted machines is exactly what the NostrGit project needs to succeed. Gotta host that code somewhere.

I canโ€™t see many images people post now because of this Damus/Amethyst drama. Interoperability is already being destroyed. That was the entire point of my post. Itโ€™s the exact same principle. If you donโ€™t get it, thatโ€™s fine..

Yeah my point was there's not as much incentive to mend the already breaking interoperability in Nostr than there is in Bitcoin. Although there will be enormous pressure to make apps on Nostr fully interoperable, it's not as clear who is in the right because there is no consensus mechanism like there is in Bitcoin. The longest chain wins. The fork with the highest hashrate wins. Which client implementation wins on Nostr? Who knows? What do you mean by universal consensus btw?

Universal consensus means a single set of rules everyone can rally behind. In Bitcoin, the longest change does not determine the consensus rules.

First, the consensus rules determine what can be a valid chain. Then, the longest chain following those consensus rules wins.

#Bitcoin Core has universal consensus because everyone rallied behind it as the ultimate full-node client. Thatโ€™s what Iโ€™m suggesting here, with a multiplatform app.

nostr:note1rql5wuhmzxnt3kfxhltx6qzwcv98x7nua8s879jnl6z95328kkcs8cda72

There would still be many apps no matter how good the universal specifications are. As you said previously, the Nostr protocol is not only for social media, far from it. And even within the social media use case, the apps are noticeably more efficient when coded natively for one specific platform. For example Flutter vs. Kotlin or Swift.

Kotlin just released multiplatform, and you just said Kotlin works well like Swift. There is another option beyond Kotlin that is very efficient tooโ€ฆ

As for your first point, thatโ€™s the very problem Iโ€™m going to solve. Watch the magic unfold this year.

Oh, that's very cool if the performance remains! I need to look into it.

More-speech is written in Clojure, which works on Mac, PC, and Linux. It's about as cross-platform as you can get.

That's great! But then there is mobile of course.

Yes, So far, to my knowledge, no mobile platform supports Linux, OSX, or Windows. (Though some used to run Windows CE). One day perhaps...

I would love the communities of #Nostr to comment on MAUI.

MAUI is no longer in beta, unlike Kotlin Multiplatform. MAUI only requires a single codebase to create an cross-platform app on Windows, Mac, iOS, and Android.

Here is an abandoned MAUI Nostr app by #[6] @djbyter

https://github.com/kfrancis/NuSocial

#[6]โ€‹ #[7]โ€‹ time to take Damus multi-platform?

This isnโ€™t the right way of thinking about the problem. If youโ€™re trying to draw parallels to Bitcoin Core development, what youโ€™re looking for is not a multiplatform Nostr super app. What you actually want is a multiplatform Nostr SDK client library and relay library that people can use to build their own experiences that conform to the protocol.

Trying to build consensus through a multiplatform super app will fail and no one will rally around that. Consensus, in this case, is achieved through conversation, not technology. The reason why Nostr has worked up to this point is because itโ€™s an open development environment. If you try to limit what developers can do with tooling, it will fail.

If you think Android needs a good Nostr client that doesnโ€™t deviate from the protocol in a breaking way, there are already alternatives that exist. If they arenโ€™t living up to expectations, send feature or issue requests or bounties to the developers. If youโ€™re a developer yourself and the client is open source, contribute pull requests.

I canโ€™t speak to Damus going to other platforms. Thatโ€™s up to Will. But in my opinion, thatโ€™s the wrong way of thinking about the problems discussed in this thread.

Conversation doesnโ€™t scale when the number of devs rises high โ€” this isnโ€™t a community village. Thatโ€™s why the scope of conversation in #bitcoin is usually limited to softforks only.

Either way, regardless of my views there, a multi-platform app is a great idea for overall convenience. There could be multiple multi-platform apps.

I was simply asking what you thought of MAUI since youโ€™ve been working with Kotlin Multiplatform recently.

The multiplatform app doesnโ€™t create consensus by the way โ€” itโ€™s the superior rules that do. Everything else that isnโ€™t backwards compatible with those rules is not allowed. Thatโ€™s how rules work in #Bitcoin or #nostr, it appears.

The multiplatform app is just a bonus that increases reach.

I havenโ€™t heard of MAUI. Looks like XML UI development, which some may or may not like. Regardless, I think multiplatform frameworks are great for developers who are willing to use non-native tools to build a uniform experience that everyone can use while minimizing code duplication, as long as the look and feel seem native feeling to the end users. If someone wants to build one, Iโ€™m all for it. More client implementations mean more choices for end users, itโ€™s great for market competition and everyone wins. I think Plebstr is multiplatform but not sure what their stack is, theyโ€™re not open source.

I started building native iOS and Android for a new app because I wanted to have experience building purely native apps (Iโ€™m usually a backend developer)

We are using Flutter for multiplatform approach in Plebstr ๐Ÿ˜Š

My opinion of flutter has just increased. The perf is impressive

Can be even better, we have things that need to get optimized.

I have been using flutter since 0.1.X version and itโ€™s awesome, had issues, but those are being resolved and itโ€™s getting better and better.

Thanks for sharing!

The note loading on Plebstr seems a little slower compared to Damus.

Iโ€™m truly not sure if Flutter is a better option than MAUI. Wish there were a more developed MAUI app to see. https://nostr.build/av/68e79ada592a37720ecdee593cc8264948cd5009c243d81b9aca8ec39fe88f3c.mov

Loading thread is not slow because of Flutter, itโ€™s because it needs optimalization in our code tbh.

I have been using in past Android Native, Kotlin, Xamarin, Ionic, React Native and end up on Flutter.

Im sure that MAUI might be great, never heard of it before tbh, but I feel strong in Flutter and I enjoy using it ๐Ÿ˜Š

Looking forward to seeing everything progress! ๐ŸŽ‰

Apparently MAUI is an evolved version of Xamarin. Microsoft standardized it.

๐ŸŒด

โ€œMAUI represents an evolution of Xamarin.Forms, which Microsoft acquired in 2016. By integrating Xamarin into the .NET platform and rebranding it as MAUI, Microsoft aimed to provide developers with a unified .NET client application project model for building applications that can run on multiple platforms, including Android, iOS, macOS, and Windows.โ€

I'm working on it again after a nice chat yesterday. :)

A common standard is already here:

Pasting an image URL.

#[3] has 'just' added a new way of embedding an image via a nostr: link.

But the old way is still working, isn't it Vitor?

The more the better

๐Ÿคฆโ€โ™‚๏ธ๐Ÿคฆโ€โ™‚๏ธ๐Ÿคฆโ€โ™‚๏ธ๐Ÿคฆโ€โ™‚๏ธ๐Ÿคฆโ€โ™‚๏ธ

This is what the big tech loves and where every nostr user loses.

I have seen this happening too many times.

For example, libertarians have so many factions, and the world is sailing towards authoritarianism and socialism again while they focus on internal arguments.

It's not a standard if nobody follows it. Early users and builders are the founders of the protocol. The choices we make define the future outcomes and the direction for the whole ecosystem.

#[0]

#[1]

๐ŸŒŽ๐Ÿ‘จ๐Ÿปโ€๐Ÿš€๐Ÿ”ซ๐Ÿ‘จ๐Ÿปโ€๐Ÿš€

we got plebstr

๐Ÿ‘€

Yes ๐Ÿ‘

Yes Android is mendatory

Fark shit fark hell yes

Damus the new iOS on Andriod

๐Ÿ‘€๐Ÿ‘€๐Ÿ‘€๐Ÿคž

#[2]โ€‹ ๐Ÿ‘€๐Ÿ‘€

Iโ€™ve been working on #[4]โ€‹ with the bit of free time I have. But if #[5]โ€‹ and #[2]โ€‹ can align on strategy, I'd be all for that. I wonโ€™t be able to move fast enough, so weโ€™d need additional contributors ๐Ÿซ‚

Happy to help.

Cross platform is good but It would be ideal to figure out how to make all clients interoperable or the Nostr protocol is going to be siloโ€™ed greatly hindering the intent of the project.

Itโ€™s better for developers in different area to come up lists of NIPs that an app should implement.

What I meant is, for example,

Social Apps should do nip 1 2 3

DM should do 2 3 4

Blog should do 3 4 5

Something like this

Then we can visualize the overlapping and reduce the smallest common set of NIPs

Client diversity is also important. Interoperability is useful below a certain threshold.

yes pls

#[0]

how is everyone getting that little lightning symbol next to their name

๐Ÿ’ฏDamus for Android would be great!

What it takes, it takes!

When Windows Phone?

Long overdue! I canโ€™t recommend anything to my Android friends.

Yup. Solid plan. Itโ€™ll expand your fiscal reach in the long run, is a win from an equity standpoint, and makes you a dynamic leader in the space. Damus as only iOS is leet no doubt, itโ€™s just that gets played out.

Gotta go grab some ๐Ÿฟ

ROFL

๐Ÿคฃ๐Ÿคฃ๐Ÿคฃ๐Ÿคฃ

Then you are facing the ugly problem of cross platform mobile. Donโ€™t use Flutter. Dart is a tasteless language. The worst part of Flutter is Dart.

๐Ÿ‘€

to hell with android they can go use a laptop lol, better make damus for intel macs & windows

A lot of us refuse to use an OS that isn't open source

here we go ๐Ÿ™„ linux master race right?

๐Ÿ’œ And website :-)

๐Ÿ‘€

#[0]

#fun #poking #beehive #hehe

Checkout Flutter if you havenโ€™t yet: flutter.dev

If Damus was written using Flutter, one codebase (in Dart) would be available for both Android and iOS. Possibly even web!

I prefer native solutions for maximum performance

totally

Thatโ€™s fair. Flutter is quite impressive in terms of performance from what Iโ€™ve seen. Not going to say itโ€™s faster than native but itโ€™s better than say react-native.

omg please so much

Would building a Damus app on Android be easier than just implementing NIP-94 on Damus...๐Ÿค”

I will never implement nip94 for inline images in damus because that would be insanely rude to every other nostr client.

๐Ÿคฆโ€โ™‚๏ธ๐Ÿคฆโ€โ™‚๏ธ๐Ÿคฆโ€โ™‚๏ธ

I think Apple needs and android OS interface for the users who are forces to use Apple ๐Ÿคฃ๐Ÿคฃ๐Ÿ˜‚

๐Ÿค”๐Ÿซค๐Ÿคฏ

How would Swift run on Android?

I'm sure android users will be flocking to the app with no backup functionality.

Yes please.

โ˜๏ธWhat he said.

Web version even better... no app ;)

the web sucks tho

arent using apps worse?

Web apps are run in an app (a browser).

lol fair enough

But many people can access if that is your overall goal

There are plenty of good web clients (snort/iris) a fast native experience is the *main feature* of mobile clients

Competition is good! ๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿฝ When the users make the demands and not advertisers, awesome shit is gonna happen! ๐Ÿคฏ

๐Ÿ™

i like web sir

Open standards are pretty cool :)

Iris is really nice!

smart. most people with cell phones are android users

Androidamus

Needs to be on IOS share sheet!