Zemo: Shielded Messaging🛡️💬

Is the plan to build Zemo with native Android/iOS code or a mobile framework like react/flutter?
Note: using a framework ends up adding 50MB+ to the APK download size and restricts users who don’t want to install yet another messaging app.

Would you be open to contribute to existing wallet app codebase to add the Zemo/Zubscribe specific features? As duplicating & maintaining the underlying wallet app can be a huge challenge, especially with the frequent network upgrades of Zcash.

3 Likes

We’re planning to build the app in react native. Extra download size is a small issue imo. Moving faster and supporting both platforms out of the gate is more meaningful . Plus we’ll produce a nice RN codebase that is open source and can be used by other teams.

From a product/UX point of view, I’m not a big fan of this approach. My view is we need Zcash mobile apps that have different use-cases that are branded differently and speak to different audiences. Adding everything into one or two wallets makes for a clunky UX.

2 Likes

React Native is pretty good in terms of being lightweight and performant (provided you optimise your code properly, and avoid the native bridge bottleneck). How we reduced our production apk size by 70% in React Native? - DEV Community – you can get React Native apps down to 8MB it seems.

Would be helpful to know how much experience a team has with React Native, as it’s quite different from React web, and there’s a number of performance considerations like using FlatList and Animated (or React Native Reanimated) well, ability to debug, familiarity with Java/Swift/Objective C for developing or maintaining native modules, and doing manual linking.

2 Likes

Using aab bundle is a standard practice when publishing on Google Play Store. It strips unused dependencies, yet the standard react based mobile app has a larger footprint when factoring in the custom app codebase.

1 Like

Our mobile dev specializes in React Native. He’s been making RN apps since 2016. Very very senior. We’ll find ways to optimize the the app size as much as we can.

The cost and time to build and maintain native apps across both platforms would be significantly more expensive.

1 Like

I support the idea of Zemo. We should do it.

I’ll let ZOMG decide/negotiate if the proposed cost is high or not but hiring top notch mobile app developers who knows what they are doing & interesting in building with Zcash is hard.

Ziga has proven that their team can actually BUILD high-quality stuff that works for masses.

Idea of Zemo is to bring more users into Zcash ecosystem. It’s important to have consumer-friendly app for everyday user to use.

My arguments for messaging on Zcash, why Zemo & Ziga:

  1. Zcash already offers z2z memos & we have this feature being used by many existing wallets (although user size is small)
  2. It could be a forcing function for Zcash to scale right. When scaling a particular system, engineers them-shelve ask how much should we scale, it always depends on current traffic & it’s projected growth. There is no point of spending resources to scale 10x if you are not going to have 10x users in near future.
  3. Zemo doesn’t have to be happening on L1, it can be done at L2 when Bolt labs launches.
  4. Is permanent storage of messages even though encrypted a good idea? I will say it’s not a bad idea. This idea holds for true for money too.
  5. Zemo is doing payments not just messaging, so it will grow payment volume, as Zemo expands to more real-world use-cases.
  6. Zemo can help create fee market for Zcash, pay more or burn fees to unlock features or something.
  7. I see comments saying something can be developed for less, you can, but it won’t reach adoption and it won’t be consumer-friendly.
  8. Most important thing, Zcash needs more builders, not less.

You want someone in this for the long haul, I’m sure Ziga & team will continue to build on Zcash if we support with fair arguments. We should set target based payments for Zemo, more users they onboard & more successful they are, more ZEC to them.

Cheers!

2 Likes

I really appreciate the thoughtful response. Thank you.

Agreed. It’s worth noting that the cost per hour on our proposal works out to $75/hr. We’re underpaying ourselves to take on this project. Many other mobile teams that received grants are charging $150/hr to $200/hr.

Producing consumer grade applications is not easy. There’s a significant investment in UX that is required. In our case, our team needs to create new patterns for blockchain based messaging. There are numerous edge cases that need to be addressed and designed for. We can’t just copy and paste everything from YouTube tutorial videos like someone mentioned above. There’s a lot of custom work and collaboration with other projects that goes into this.

Correct. I’ve personally received nearly 100 memos from people over this past year. There’s so much room to expand on this capability that already exists. We can build real-time messaging applications on Zcash today. The tech already exists.

Agreed. I’d love for most of the adoption to be happening via shielded txs too. This could be a really great way to demonstrate to the world that the Zcash blockchain can power all types of applications, not just wallet apps.

That’s correct. Zemo can be used as a social wallet, similar to something like Venmo.

Correct. This then creates a favorable investment opportunity for investors. In the near future, Zcash can be used for private money, private assets (ZSAs) and private messaging. From a branding perspective, Zcash can establish itself as the most trustworthy brand when it comes to privacy. Offering everything from cash, to messaging to real-world assets (ZUSD, ZEUR, etc).

Yes, you can build something much more basic for cheaper. In most cases, these apps are barely functional, have major bugs, UX issues everywhere, terrible branding, no users, no promotional material, etc.

Our team has already spent 3-4 weeks on Zemo coordinating, planning, researching, branding, desiging mock-ups, social media engagement, etc. We have nearly 400 people following the Zemo Twitter page already. Our proposal is offering far more than a barely working prototype that nobody wants to use.

Absolutely. We’re here to help. What we’re attempting to create is challenging, requires a well rounded experienced team, and ultimately needs the support from the community in order to grow into something meaningful.

Target based payments is an interesting concept. I like the idea of having incentives built in for bonuses. I believe Filecoin was doing (or is doing) something similar with their grant system.

3 Likes

100% + dollar is devalued very heavily since last year, everything seems more “expensive” including products, engineers, contractors, wood etc. but they are not.

2 Likes

Target based payments is actually something we should enable especially now because Zcash needs growth. It also incentivizes the developer team to fix bugs, maintain support for N years & apply growth tactics etc

2 Likes

It’s worth noting that Coinbase runs on React Native with 50M+ users. The slightly larger footprint seems like a non issue.

2 Likes

Mobile frameworks for app development is an understandable choice for CRUD applications. Sorry I assumed Zemo will be non-custodial for local wallet, signing and only broadcast tx data to the blockchain, or is it going to be a front end app for a centralized backend that does the heavy-lifting like Coinbase, Facebook?

Might want to double check on that by reviewing surveys for available storage on smartphones of an average user. App size is an important concern, especially for a messaging targeted app(as users have multiple messaging options today) as the storage space on smartphones is limited and users need to be convinced to install and try a new app.

It all depends on the initial target of Zemo, maybe the V1 is a PoC and if successful, you can decide to branch out to native app development. There are several apps that had to switch back to native after finding gaps in react’s functionality.

1 Like

zecwallet-mobile has a React Native codebase, I’m guessing the plan is to integrate parts of the code from there? I’ve opened an issue for factoring out the Rust bindings into an independent module, that would make it easier to implement self-custodial light wallets into third party apps, as I’m interested myself in building custom React Native UIs on top of the light wallet infrastructure for my own projects.

When it comes to messaging, React Native doesn’t have good support for notification actions, and I would personally write Swift/Kotlin code for notification actions, and have some kind of shared data bridge with React Native, it’s a rabbit hole I’ve sunk time into and made me consider switching to full Swift/Kotlin. Afaik, this is the best library to include support for it, maybe things have improved since I attempted it: expo/packages/expo-notifications at master · expo/expo · GitHub. React Native and JavaScriptCore struggle with background activity. Skype uses React Native, but the app is the buggiest mess I’ve seen in the past number of years when it comes to notifications and receiving messages/calls. Half the time you respond via notification, the message gets swallowed up and lost. I love React Native, but sometimes you realise why Airbnb left it :rofl:. By notification actions, I’m referring to responding to messages from your lock screen – it essentially requires a background thread in your app.

Coinbase is (and Airbnb was) hybrid React Native with native code, together with the Facebook/Instagram apps; Swift/Kotlin are making a lot of progress lately and the idea of using them for navigation/background activity, but React Native for UI is appealing. Eventually SwiftUI and Jetpack Compose will be able to replace React Native imo.

3 Likes

App size matters. Yes, I agree. However, it’s not my biggest priority at this stage.

The cost to build and maintain two native apps is far more expensive and time consuming. We’ll move slower. Require more money. Have more technical issues. Etc.

We have to make tradeoffs here. We’re choosing to move faster.

2 Likes

Agree with this. Also think the amount of Zats is too much even if its a success. We should strive to be frugal with these grants imho.

2 Likes

For what it is worth, I think Zcash is actually resistant to quantum computers — if they are ever built — as long as the attacker doesn’t know your z-address! That is, even a quantum computer couldn’t crack Zcash’s encryption in that case.

12 Likes

Hello,
my issue with this grant proposal are simple and has been expressed already : the use case is simply not proven & thus the $$$ investment asked to the community is absurd.

Using Zcash for chatters seems such a stretch… I can accomplish 99.9999% using Signal and not pay a dime and use Zcash p2p memo for the 0.0001% left of my use cases.

This project is certainly interesting to solve & realize, but it is economically a non-sense as of right now.
I think instead of trying to ask for a grant :

  • you should come with a solid business plan and go after Signal / Onlyfans / Whatsapp
  • expand existing wallets to add a more friendly memo chatting UI
  • or engage instead with the Signal foundation and collaborate on a Zcash integration plan

I’m not in favor of spending $300k for this, sorry.

3 Likes

I’m also working on a messaging app, but the more the merrier. The more apps in the ecosystem the better IMO. At first glance, quarter of a million USD for a messaging app appears high, but with four full time devs we should expect amazing features, great usability, etc.

Just my 0.0001386 ZEC

Thank you all for joining in on the discussion. I really appreciate all of the input on the proposal.

Unfortunately, we’ve decided to put Zemo on hold for now. We may continue to explore the idea again in the future.

Thanks again,
Ziga

6 Likes

Zemo grant application has been cancelled on the grants platform per request.

This thread will also be closed since proposal is no longer active.

2 Likes