DAPPCON 2019: Building Mobile-first Dapps - Marek Oszweski (Celo)
DappCon 2019 · August 2019 · 26:15
Marek Olszewski of Celo discusses building mobile-first decentralized applications at DappCon 2019. He covers Celo's approach to lowering the barrier to crypto adoption on smartphones, addressing how lightweight clients and phone number-based addressing can bring DeFi and payments to users on basic mobile devices, a theme relevant to broader smart contract platform design.
Speakers
Topics
From DappCon 2019, hosted by Dappcon Berlin.
Transcript
so my name is miracle chefs key I'm the CEO and one of the cofounders of sello and as we just heard we're going to be talking about building mobile first apps today and I'm gonna start with something a little controversial maybe maybe not I'm gonna argue that the apps today are simply broken and I'm gonna argue that for a number of reasons so number one you know they require plugins if you want to use add app today you have to install meta mass for a whole slew of other plugins maybe you have to install a new browser on your mobile phone or worse yet trust a third-party to custody your keys
and provide an API to your adapt and second it's hard to argue that they're really reaching masses right now I was looking just the other day on that radar and the number I think to daps were had less than or had around 2,000 active daily users I think compared to the web to world those numbers are very very small and if you go down the list you reach I think number 10 you're already at 400 daily active users again compared to the web to world these are really small numbers and then finally and this is the part that really hurts
me the most they're not really censorship resistant you know they're called decentralized applications but they rely on these centralized gateways to these decentralized protocols which makes them really susceptible censorship and so they're not really he centralized now the good news is Mobile will save us and I think that for a number of reasons so number one no plugins required if you build your own native app on a mobile phone you can do pretty much anything these things are very programmable you can connect to the decentralized network you don't need to rely on a third party plug-in and number two this is where the
people are I was just looking at a mobility report from Ericsson that was just released a little bit just a month ago actually and they were showing that by next year there will be six billion active smartphones next that is a staggering amount of devices and this is not phones these are smart phones and finally they can be like lion friendly so you can program your mobile apps in a number of different languages which makes it easy to integrate like clients so that they
can connect in a fully trustus manner to your decentralized protocols and not require again those plugins and actually be censorship resistant and so the future is mobile fortunately and so this is coming again I mentioned that's that six billion smartphones by 2020 this is a source this is sorts from Erickson's annual mobility report and there are other reports that are also counting the number of unique individuals with smartphones they're showing that the six billion dollar account will hit in the next four years again these are staggering numbers and I think three years ago now a number of the amount of
traffic that came from smartphones exceeded the maya traffic coming from desktops and computers this happened three years ago and mobile continues to gain more and more dominance over desktop and notebook traffic and I think probably the most funny thing about all of this is that web 2 has gone mobile first I think starting nine years ago so nine years ago a person named Luke of dubofsky started going around and telling everyone hey mobile is coming we need to get ready for it we start designing mobile first you wrote a very famous book about this and then a lot of people
listened a lot of please developing web apps for the web 2.0 they started going mobile first so they started literally designing their applications for mobile before they even thought about what it looked like on desktop actually there's a lot of benefits if you read the book about why you might want to do that and so it seems a little ironic to me that web 3.0 which is supposed to be the evolution of web 2 is somehow so far behind web 2 and this one really really key manner and so I would like us to lead in this way to really show the rest of the world that we actually are the future and that we
can figure this out and so when I talk to people at events like this I instantly get pushed back yeah but you know I'm building for myself and building for my friends we all have notebooks shiny MacBook Pros I'm not really interested mobile app that would mean I'd have to learn a new platform and yeah it's true if you look at Europe and North America people do have a notebook and desktop devices and you can definitely build products for these people but if you look at that same mobility report from Ericsson and you look at how mobile traffic is gonna grow
over the next five years these are some pretty impressive numbers so in the next five years mobile traffic will go ink will multiply by 3x which is a huge number so this is showing and the number of exabytes per month that will be created from smartphones and I think what's probably more interesting here is the breakdown by continent so if you look at 2024 if you look at the fraction of mobile traffic that will be generated by Europe in North America it will add up to around 13% so what I'd like to encourage everyone in this room to do is to start thinking about the other 87%
those people are on mobile they don't have those shiny MacBook Pros and it's big big opportunity so how do we build the apps for so I think hopefully you agree with me by now that really the future is mobile and that we need to start thinking mobile first the apps need to start cooking mobile first and to get there I'd also like to argue the apps need to be more than just web apps that run inside your that browser they need to be native apps so for one this matches existing behavior I think
for most users I don't think they really care or even need to know that they're running an app they would just like to install an app just like they install any other app and use it for whatever purpose they need and so by making these dabs native apps you will be matching existing behaviors which again opens you up to a bigger user base they're also easier to discover people are trained now to go to their app stores and look for new apps and these app stores actually go to great lengths to highlights good and interesting new apps and so by not building a native app you are missing out and a really great marketing opportunity for yourselves by
burying your app inside another level of indirection where you have to install one app to then discover your your actual depth you're making it so much harder for people to find your actual application and finally native apps are delivered efficiently to people's mobile devices their cache there they're stored efficiently and they are updated efficiently so if you have a mobile app that needs to be updated you can configure your app store to only update it if you have Wi-Fi this is much better for people who are living in theater constrained environments and so do them a service using native app don't make them read download your web app every
time they visit it and so I think now the next question is well how do you build these native apps maybe you're a web developer maybe you've being using react on Web Apps for most of your life and you're comfortable with the DAP ecosystem there how do I go and make this transition and so fortunately there is a project named Selim that can help you with that and so what is sell o sell o is a open platform that makes financial tools accessible for anyone with a mobile phone and it has a number of features that I think you might appreciate number
one it's fully programmable so cell o is we started it two years ago and we decided to build on the community's best work which of course is etherium and so sello is fully IBM compatible and so if you have adapted a or if you have a that you've written or you have a favorite app that you like and if you have any developer tools that you really really like all these are fully compatible with sella and number two since ello is a next-generation blockchain it's running a proof of stake protocol that uses stake to elect a hundred validators who then perform pbft consensus and that's really important because in the context
of adapt you may want finality and so one of the nice things about pbft consensus is that it gives you one block finality and that means that in your UX as you're building your your UX you never have to worry about a case where suddenly a chain reorg will roll back whatever you've shown your user to be true whatever they see will always be final and I think perhaps more interestingly and more importantly this proof of stake protocol allows for a very efficient like client protocol and so I tell oh we've worked really hard to make the like client protocol use just only a little bit of data in order to sync while still remaining
fully permissionless fully trust lists in censorship resistant and it does so using a number of new in number one epoch based sinking which gives a roughly 17,000 times reduction in the amount of data that you need to download as a lifeline BLS signature aggregation which leads to another 90% reduction in data and then finally we're also using ZK starts base your knowledge proofs to prove that headers are in fact part of the chain and this allows like clients to simply consume these proofs and verify them cheaply so that they can quickly get synched without having to
download much data and so I just zipped through these it's not really the purpose of this talk to go through them but if you are interested please do check out the recording of my web 3 talk from earlier this week that talk goes into a lot more details it's not on YouTube yet but it should be hopefully soon now cell also has a few other useful features number one it has a lightweight identity protocol which Maps hashes of phone numbers to public keys and so as a DAP developer you might find this really useful if you want to add social features to your DAP so if you want to add social features to your DAP
today you may have to result to resort to using a centralized social network but there exists a really great social network in the world that is fully decentralized and that is the combination of all of our addressed books on all of our phones and so this decentralized PKI allows you to tap into that social network which allows you to add social features to your adapt in a fully decentralized way Zelo also has a stable point platform that allows for the creation of multiple stable assets that are all backed by the same over collateralized crypto asset reserve and so this means if you're building a D fide app then of course you can use this
user currency like seller dollars which is pegged to the u.s. dollar but I think more interestingly you can actually pay for the gas needed by that defy app in that same stable currency and this is because sello supports paying for gas in multiple currencies including yusin funny style tokens which means that of course you can also pay for gas using our stable points so this is pretty neat and earlier this week we launched our celos mobile first SDK and so this SDK is all about making it really really easy for you guys the app developers to build adapts that are native mobile apps
and it's composed of two pieces a contract kit and app get contracted allows you to access all of celos system smart contracts which includes that identity protocol that I just described and that stable point that I just described and then that kit allows you to integrate with celos mobile wallet which sits side-by-side with your app on your target users mobile phone and so let's look at the app get a little bit closer it's built with Expo in mind and so for those of you who are new to Expo
Expo is a really amazing tool set that allows you to build react native applications for your mobile phones really easy so if you're a web developer and you know react but you've never done any mobile development Expo makes it incredibly easy to build native mobile apps for both iOS and Android and it actually makes it really easy to get started too so rather than having to create your own app bundle and somehow ship it to your phone and run it while you're developing expo actually lets you scan a QR code and lets you use their native app to run your JavaScript or
typescript code to test out your application while you're developing it on their app this is really great because they have great libraries that you can use and they have hot reloading out of the box for free so you can really easily iterate and just change things in your in your in your editor and see those changes be reflected on the mobile phone instantly next that kit has a really interesting and easy to use deep link API the lets you query the user's mobile wallet to access their account their
verified phone number and cell those supports verified phone numbers and also to send transactions that need to be signed so your DAP never has to worry about key management similar to meta mask only the only difference is the signing happens on another mobile application running on the same phone and finally we're working really hard to add like client support here and so the mobile the sella mobile wallet is already running a light note that uses those syncing features I just described so it's already sitting on the phone it's already connecting to the protocol and a fully trust list manner and so
we're working hard to allow other DAP developers build apps that can connect through this like client node and actually for the first time be real decentralized apps Capitol these apps without requiring a third-party trusted node or without requiring you to install a node at home so what does all of us get you what is the end result we have a demo here that we recorded earlier today and one of the engineers on the sea labs team built this in just a couple of hours last week again building anything
with expo is really really easy and so it's a saving circles application so for those of you who don't know a saving circle is an agreement between a group of people it's actually been around for a while maybe a hundred maybe even longer years typically people who don't have access to bank accounts will agree on some saving goal and then come up with a way to collectively save money we saw this frequently or a number of times in near agusi refugee camp in Western Tanzania where we went to perform user
research upon the invitation of the UN World Program and the basic idea is like this you have a group of people they can be friends they can be strangers they all agree that they want to save to hit some goal maybe they want to buy a phone or some appliance and they all week they all meet monthly or weekly and they put in a little bit of money into a pot and when that pot is enough to hit their target then one person in the group withdraws all of the funds goes and buys what they're looking for and then they repeat this until every person in the group was able to withdraw the funds
fully and there's an interesting variant of this where people who withdraw from the pot earlier pay a little bit more and people who withdraw from the pot later receive some of those extra payments so this is in a way an easy way for people to either borrow money easily or lend money and earn some interest from that without having to rely on a bank and so it's an interesting idea it's especially interesting in the world of decentralized applications because people already have these mental models for what these saving circles are and
arguably these are the people who could benefit from decentralized applications and so we wanted to build an example app that already fits their mental model and so this is what it looks like again this is just a really quick I think we put together so here's an app it's a native app and we're about to pull out the $30 it's noms turn to withdraw all of the funds and he pressed it withdraw button that took him to the cellar wallet to confirm the transaction and in the cellar while I took him right back and because we're running put mistake transaction settled really quickly and
so the whole thing looked pretty much like what you would expect in the centralized application but this is fully decentralized there's a couple of things to point out too so this list of members these are members of folks who are part of this saving circle and none of these names are on the chain these names are pulled entirely from your contact list so all that's on the chain are the hashes of these people's phone numbers they verified these phone numbers they put them on the chain and then by hashing all of the contacts in your phonebook you can map them back to people that you know and add names to
them and so you can create social experiences with people's names without actually relying on any existing social networks and so that was just a little pest app we actually have the code available for you to play around with on our docks UPS elllo.org website but we're also working on a staking app so ello is a proof of sake network after all and so people have to secure the network by staking our native currency seller gold and they can also participate in governance and we wanted to build a mobile first experience for
letting them do that and so we want to lead by example and so we're working on this self-sticking app we are excited to hopefully soon offer a future where people can just pick up their feet sittin on the couch and actually participate in shaping the future evolution of a decentralized protocol right there from their phone so as I mentioned if you're interested in learning more please do check out our Doc's stop to visit Doc stops elllo.org we have a whole section for the SDK and it has a lot of example the description letter example code little snippets as well as that example application and if
you're a small team and you're interested in building adapt then you might be interested to hear that poly chain one of celos earliest ecosystem participants just earlier this week announced the sello ecosystem fund this is funded by folks like in recent Horowitz obviously colleges as well and sello and so if you're interested in hearing more about opportunities for funding for building on top the cellar I highly encourage you to either reach out to us or to poly team directly they're running the fund and one way to do that could be to attend the joint
poly tuning solo event that's happening later today at 6:30 and so if you're interested please take a photo of this QR code it takes you to a Eventbrite link which you can then RSVP from awesome well thank you so much guys [Applause] any questions thanks thanks for the presentation just a quick question in
the example of the saving circle so let's say you're operating in a in an environment where people are based in Fiat cash money how do you switch how do you tokenize that cash and how do you do the accountability for gentleman so i'm contributing with you know a 10 ringgit note right and that has to be translated into that tokenized app all right so do you have any mechanism whereby you know there's for example an admin or person in charge of trusted party who collects the money who gives a receipt like in the app for example saying you have deposited $10
fiat and come in because I think one of the issues that we have is where it has to be mobile friendly because those guys are mobile friendly but it also has to be an easy onboarding for Fiat cash based population yes I think I understand the question so I think you might be imagining that several dollars is Fiat back like maybe USD see and the way to think of seller dollars and all other stable coins on the sella platform is that they're more like died in that they're backed by other crypto assets usually over collateralized and so you don't need a receipt of some kind that's tight for some fiat sitting somewhere and so you wouldn't need that can you see in terms
of on and off-ramps you know sello is a decentralized protocol so that's not something that we deal with directly but we have a lot of partners that are very excited by Stello and who are looking at those cases so we're actually out of time Thank You Murray key