The Future of Apps / Owen Barnes

EthPrague 2023 · June 2023 · 28:33

Owen Barnes asks what apps are and how they should work, tracing how building an app since the App Store era has come to mean building a business on rented SaaS infrastructure. The talk argues that AI code generation will soon let non-coders create apps, but that what runs under the hood still matters: dapps bring composability, and where blockchains fall short, Urbit offers always-on personal servers that keep users in control of their own data. Barnes gave the talk at EthPrague 2023.

Speakers

Topics

From EthPrague 2023, hosted by ETHPrague.

Transcript

hey everyone okay we're gonna start this if you say maybe oh this is fading in and out a little bit this microphone um okay we'll see how we go maybe we have to stop to another one okay so we're gonna start a little bit early because lots to cover um so this is a talk about the future of apps and we're going to talk about basically uh that's what's working two minutes ago one second let's try this again

yeah okay so what exactly is there another microphone because I think it's uh thank you thank you okay this is a wide one that's probably better okay so what exactly are apps so we all kind of know that apps are uh gosh uh this is not working yeah programs in user space foreign okay so programs in user space kind of look like this they are command lines but they are also uh over time we've become to know that apps really kind of oh my God I know exactly why this is happening right

let's just do this should fix it um right so I think there's like an irq conflict when you have the Thunderbolt in and also the clicker thing at the get before I've had that before so we'll try again okay what exactly are apps okay so apps are programs in user space they look a bit like this uh this is a command line app but over time we've become used to apps looking more like this uh what these all have in common is that they all are squares and they all

live on your phone or your desktop or something like this apps are designed to fulfill a goal so whether you're staying somewhere traveling somewhere or you just want to be entertained you click an app to achieve that goal and then you go into this immersive World which is all about fulfilling that gold goal so apps are also human interfaces into Data so this is binary code and you can't read that because you're a human so instead someone has to come along and make a use of interface which translates the binary code into an emotional experience that you as a human can understand now talking of emotional experiences if you ask a back-end designer to try and design you an emotional experience a

back-end engineer you get something like this and that's because Engineers always optimize for efficiency they like to cram as much data into the app as they possibly can it's the way they think if you ask a designer to do the same you'll get something that's more like this and that's because designers optimize for readability very different thing so this is all about prioritizing what the user needs to know first so absolute emotional experiences there's no such thing as a non-emotional experience when you're using an app but the most emotional thing of course is when you're transferring large amounts of money and how many times have we come across apps that make no distinction between transferring ten dollars and 10

million dollars because no one's ever thought that the emotional experience that you're going through is very different and certainly the error messages if something goes wrong need a lot more thought on larger amounts the apps that we use today really got started in about 2008 when the App Store first came out we started going through a lot of different generations of apps but really the App Store was the first and easy way to monetize apps people learned this obscure language called Objective C because there was a reason to do so a reason to translate your ideas into code put them on the App Store and monetize your ideas interestingly when ethereum first came out and people proposed solidity nobody was that bothered about making solidity apps but as soon as there was some

economic incentive to do so everybody rushed to learn how to do it back in 2008 when the App Store first came out everyone had ideas for apps but these days things are a little bit silent and the reason for that is because the reality of creating apps is that making an app means making a business and few people have the idea or the desire to do that just teach yourself the code is a thing that we hear all the time it's like oh if you want to make an app you can either go to an agency or you can learn yourself right easy but not everybody wants to learn how to code and even if you do learn to code you're sort of dealing with just one piece of the you

know you're dealing with a whole load of issues basically which me as a coder for since I was 16 none of these things have got any better really like the way that we code really hasn't changed and even if you can code it's just one piece of the jigsaw puzzle there's a whole host of other things that you need to think about if you're putting an app on the App Store things that involve making an app which is basically making a business so these days it's impossible to make everything in-house so what do people do they go to these SAS providers they have endless subscriptions with SAS providers to do things like versal or if you're doing a npm something like like a react native app you go to Expo and Super Bass

for databases but if you look beneath the veneer of these SAS providers they're all essentially hosted on the same three companies servers which is a bit of a problem and let's say you're okay with all of this you've got yourself a team and now of course you need some money to pay them so you go to a VC and you say hey VC I would love some comes with your money because I want to buy make this app and the VC will turn around say is your app a mass market app will it affect you know is it going to go absolutely crazy and become a big unicorn is it usable by everyone and if the answer is yes you may get some money but if it's a niche app something that only like a thousand people are ever going to use good luck trying to get

some money from the VC so the sad truth is that today millions of ideas never get made and yet the desire to create applications has not gone away if you know this because if you look on Twitter you see that people designers are spending a long time designing apps as they should be on things like figma but because they don't have any coding skills they can't connect everything together so you end up with just an app just a UI that basically does nothing it's very annoying but of course as we know everything is about to change so [Music] gpt4 has come along and is now starting to write code like react code AS equally

well as humans can in some cases better this is just the start it's not too impossible now to fast forward a few years and imagine whole apps being written this way by AI for the very first time non-coders in the audience who've always felt a little bit like excluded from this group are now starting to feel a new emotion which is maybe there's hope for me maybe I can turn those ideas that I've had all these years and turn them into apps that can live on their iPhone I predict that there's lots of companies in Silicon Valley that are currently getting funding for this exact thing and the way that it will probably work is that you'll have an app on your iPhone which you click and inside will be lot a an environment where you talk to your

computer and you start making very very basic apps apps that have Primitives such as chat and things like that so I predict that we're only a few years away from everyone being able to make these basic apps with basic Primitives and on top of those basic apps will be a new era of personalized uis uis that don't look the same so at the moment your Airbnb and my Airbnb app look identical but they don't have to in the future you'll you could have a very different type of skin over your apps to me who've got a different type of skin on mine a whole new look and feel with different data so this is a quick 20 minute talk but I go into this in much more depth and the

bigger version of this talk that lasts an hour which I did in March for the urban people in El Salvador and if you're interested in this sort of thing I recommend watching the whole talk because we go in much more detail about how this will actually work okay so back to the 20-minute talk the thing about apps is that every single platform in the world has this one square one box idea one app is each one square you click on the Square and you go into this immersive world and which is really really good for focusing on a particular task especially if you want to go full screen however the problem with these squares is that they're very shiny they're very pretty but essentially they're sucking up your data and this data that they suck up can't

get out of the square that's on your phone it's just pulled in and often there's no API we know what's happening with Reddit at the moment where Reddit is charging for API access if you're super lucky you come to a button that says this export my data Google has one um other platforms have this so you can export your data but what do you get you get a file that looks like this a load of Json that is useless and in fact essentially what you realize is that data is useless without the code to interpret it and do something with it so apps are just islands of data they sit on your phone they don't then they cut the things that you don't own and control you don't own a control even the data your data that you put inside them

they don't talk to each other but that's not all because unfortunately with centralized app stores centralized app stores act as Gatekeepers which means that they can de-platform your app if you say the wrong thing they can also because an app is a business it also means that some businesses go Bust or they decide not to continue anymore taking all your data with them including this app which I was promoting last year a really good team but they couldn't continue so all that data goes with it luckily this team are very good and they've had a sort of export plan but many of them with many apps you're not so lucky app creators often do some crazy things so startups will come along and they

will say hey do you remember those terms and conditions that you didn't read well they allowed us to basically take our Little Indie startup app and sell all of your data to some bigger company like a Microsoft or Google without your permission without ever asking your permission or without even notification instead what you get is an email like looks like this hey we're so excited we've just joined a big company and we've sold all of your data to them and there's many many examples of this in fact you can read them all here but the main reason that this centralized App Store model really works is really sucks in the first place is because so many apps never make it onto

the App Store in the first place so things like this for example a Nostra app yes you can see it now in some countries after a big fight but not at all so what about the web it's the open web right it's open we can do anything we want with it there's no centralized Gatekeepers well the problem with web is that I started actually programming when Netscape looked like this before the days of CSS and today coming into this environment I would be utterly confused like what technologies do I actually use to get started with app web programming I don't know how anyone does it to be honest because continually you're fighting this Pawn which is that HTML

was never designed for applications it was always designed for documents so Frameworks like react are layered on top to try and make some sense of it for app developers but you're always going to come up against two big problems there's no local storage which means for crypto apps there's no private keys and yes there is local storage but it doesn't work if you use private browsing mode which renders it completely useless and also all of this is hosted on something like AWS okay or Microsoft or Google so if the future of apps is going to be AI generated and I certainly think it will be very soon we need to build some solid foundations for these apps to live on and we have to start thinking about

fixing these problems so this takes us to the promise of dapps so what is the promise of dapps well the number one first one is open protocols open Protocols are like IRC SMTP or just basic networking we had them at the beginning of the internet and we still have them now in some cases like email where you can use any email client with any email service but these things are very rare in fact the only other example I can find of this is ethereum and Bitcoin which works on the same approach contrast that with the way that most apps work today where it's just a a basic app that you click on and all that's doing is taking you to a proprietary back end things are changing we're moving to open

protocols like Nostra and lens and indeed you know once people start realizing the power of these open protocols and the composability it brings this trend will continue um I think one day we'll have open protocols for things like food delivery taxis bike hire all that sort of stuff um but this is all about a trend that's a bit deeper because it open protocols enables whole new businesses which simply weren't possible before so think about decentralized services for example think about the way where every service you build on using open protocols is a business that makes money on top of your service that was never

possible before um so this is what I suggest we start thinking about designing protocols that encourage others others to make money off our own work an example of that would be something like Airbnb where we can have several different matching and discovering engines which can sort of bring you your ideal place to stay but then when you come to the checkout you can decide which of the insurance providers you want to take the risk so it gives people more choice and all of these can be profit-making businesses above the base protocol a good essay that talks about some of this stuff is written by Jacob it's called hyperstructures and it talks about the sort of desire and the need to

build things that live on the blockchain that Outlast outlasts us all with eventually the the fees of these big protocols trending to zero over time it's really really good read so open protocols give us a lot of the desirable functionalities that we want um but there are also some serious challenges too the biggest one as a someone who's about to build a Dap is where to put the data of course we know that layer ones are too expensive so what's your Alternatives well we could do some sort of layer 2 bridgy thing right but layer 2 bridging is neither easy cheap nor fast and that's not to mention any of the security issues that come with it

the real challenge of course so as a coder is that you want to be able to include code from one chain into another and that's currently impossible even if you do some fancy messaging like layer zero you still cannot simply directly include one person one contract in your contract which I think is a real shame because all of this stuff this composability is what made D5 summer and all the 2017 Ico boom possible but the thing you could do then is you can say okay where am I going to build well I could build where my friends are the app that we're going to be building is going to be using uh amazing protocol called Talent layer um but where do we put it well they're on polygon right do we have to build on

polygon it feels kind of sad if that's the case uh maybe we should go to layer 2B and check out some of these other layer twos right they're certainly not short of them and what we do is we go down each one we'd look into whether the sequencer could possibly stop running if it runs out of eth um and we would make a very very POS uh you know sort of reasoned rational decision we would go in we'd look at all the people who were building on them the number of transactions and in the end we'd probably decide to do the only rational thing which is to build on the chain that gives us the most money hardly hardly the answer so I'm not the first to talk about this but I have talked about this in November last year eve Bruno about all the other

issues with layer 2's because this is just a scratch in the tip of the iceberg but luckily I'm no longer alone uh this guy here just in bonds uh we I saw him in Amsterdam and he's giving lots and lots of talks about how layer twos are not the future of scaling and I 100 support what he's saying here so why are we like this why have we got into the mess that we are well it's because ethereum is many things and a lot of the smartest people in ethereum are currently dealing with much bigger issues in their heads at least than daps they're thinking about economic status out they think about economic incentives how to make sure that ethereum can't be corrupted or taken over by any estate so I understand like why we are here but unfortunately right now dapps are often

an afterthought it's something that's like oh they'll figure it out been here since the beginning of ethereum I can always say that ethereum always gets it right eventually and we will get it right but also it's time to think critically about this layer 2 thing all these logos here like which one would you pick I don't know or there's so many Layer Two Chains and they're all kind of competing in the same space so that's that's one problem with daps the other one is the lack of privacy if you think about dapps at the moment uh sorry if you think about decentralized apps um well yeah so the thing about blockchains right is that everything is transparent and I'm a big Dow skeptic I don't think the way that we're doing Dow's works at

the moment at all but I think dowels are great for one thing which is the transparency that they offer the fact that you can actually see where the money comes in and who it goes out to is priceless in fact it would be really nice if Charities like this cancer research charity in the UK was adopting something like a Dao the transparent Dao because you would be able to see where the money is actually going and decide if you want to contribute anymore so I predict that one day all Charities and public organizations will live on the blockchain but this one day could be 20 30 years away from where we are today talking a long time but what about individuals it's slightly different with individuals because I completely agree that individuals should

have privacy and that my transactions are my business and nobody else well the blockchain is not very good at this at the moment as we know from the previous talk a way that I think of this is that private individuals should have completely private transactions and public institutions should be completely transparent and this is the world that I would like to see when we start thinking about the blockchain so the next question is should the data live on the blockchain at all well this comes up to some big problem that nobody wants to talk about which is immutable data why is nobody talking about it we'll get that in a second but right now as somebody building an app we've got a dilemma we want our data to be freely

available to everyone so we want to build on a public blockchain in fact I think of blockchains as nuclear-proof databases because all sides could annihilate each other and it only takes one surviving copy of the blockchain to propagate back to the rest of the planet however the world is not ready for immutable data just yet if you took a photo of somebody and that that person was drunk and then you posted it on an immutable data source and later they said actually I was drunk please delete it you would be like uh can't do that um despite the fact that we know that the NSA has been collecting data for years and years and there's no such

thing as delete most consumers don't know this and they still believe in this fantasy land where if you delete something it is removed off all backup tapes and all agency computers immediately which of course is not true it's amazing how many people really honestly believe that works on Snapchat as well so why is nobody talking about this well that's because no web3 company has ever gone mainstream have you noticed like we've been doing this nearly 10 years now and nobody outside of this venue is actually using any of the products we make inside as soon that will change and one Brave starter will come across the law which is going to hit them right on the face which is this one the EU right to be forgotten and I've been digging around

and looking into this and there's no easy solutions because governments don't really understand immutability let alone have any solutions of how to handle it I do think sometimes our industry is a little bit out of touch because of the I understand why because of the App Store rules um dapps have to be web3 apps and we've talked about web apps but the lack of Secure Storage means that dapps today look like this this monstrosity which is you have to get a laptop you have to get some sort of Hardware wallet and then you have to get this metamask thing or something similar and then people wonder why web3 isn't going mainstream it's like and of course you know this is all run encounter so the trend which is that

there are way more mobile phones in the world than actual laptops and indeed most people the ones that we want to reach the most can't afford can't afford to buy both so we need to start prioritizing Mobile in a serious way right now we do that through things like this initiative ethos which is like an ethereum operating system that you can put onto Like a Virgin Android um Samsung have done a really good thing by putting a key store into their phone so you've got a secure Enclave to store the seed phrase and sign transactions from but the person the the company that I think has done the most in this area is actually Solana which have made a specific web3 device with this key store in it and a app store which is crypto

friendly obviously only to Solana anyway I I like this uh a lot so I bought one so if anyone wants to try and play with it come up after this talk and I'll show it to you um either way we need to start getting these web apps and these dapps off AWS and that's a big priority for us okay and that's why because of the censorship we know about this so that takes me nicely on to what the hell is there a bit um so okay so Uber is not a blockchain that's very very important to know if you think about blockchains so that Global state things that we all need to agree upon are stored on blockchains

data that would be nice to be accessible to all like large images large files should be living on something like our weave or filecoin well Urban is for everything else your local data that you don't need to share you don't need to have Global State about you can think of it as your own personal server um a computer that's actually yours because you install apps onto your Urban ship where do you get them from other ships there's no centralized App Store so there's no gatekeeping how do you find these apps you can either get them recommended by a friend in one of the groups or you can go to this app called portal which will recommend them to you which is very cool

um because all your data lives in one place it's not scattered like the way that web 2 apps work at the moment where you've got these islands of data that don't talk to each other indeed every uh because all the data lives in one place it enables full app composability something we've never had so what can you do with Urban today well you can go on the groups they kind of function like IRC used to do in the 90s I spent a lot of time on that but they're way better because they're encrypted and they're stored the message history is stored by the ship that actually creates the group so it's truly peer-to-peer um there's work going on on an uncensored uniswap front end that will be complete soon so if you want to use uni swap without the ofak sanctions bear

in mind it's only censored in the front end not the contract you'll be able to actually run that in your orbit but the other thing is that Urban is actually a VM it's a very clever VM built on a different language and because of that it enables other companies to come along and build whole experiences on top of this VM the best example of this right now is this one by uh by a company called hollium called realm and the product's called realm this is in you can have access to this if you go down here and uh host your Urban ship with them already but already on Holly and realm you've now got decentralized uh front ends for things like osmosis with many more to follow um very very exciting

so the other big thing about Uber is you can make apps today without having to worry about hosting or deployment this is actually massive imagine thinking about all the issues you have for scaling and deployment and then it gets crazy with kubernetes and all the rest of it all of that goes away you can basically do this yourself you can put it you can deploy it and then someone pulls it from you and the App Store model of urban even though Uber is still very young and still has a lot of issues the App Store part of it works really well so how do you get it today well you can get it from all these hosted providers not very great or you can buy your own little yellow box from native planet and host your own ship directly on that so

now you're in control of your own data of course you can also install it on your own PC and run the PC in the basement the key is that that thing has to be up 24 7 to receive messages that's the way it works but there's something new now which is very exciting to learn the big company behind um Urban in the early days is now doing free hosting and this is not going to last very long so I recommend going to salon.io and every day they give out so many uh chances of having free hosting and if it all goes today as it probably will because everyone's now taking their phones um just wait for a few days and you'll get a chance to get free hosting in a few days time I don't expect this to last very long again there's way more about all of this

in my big talk uh big talk okay the future of apps which is one hour and it goes into a lot more detail than I can possibly go into in this 20 minutes so to wrap up very soon everyone's going to be able to create apps using AI but all apps won't function or be the same what goes under the hood is just as relevant as how the UI looks daps give us composability and solid foundations to build upon but there's some things that blockchains don't give us and that's when we need to look for other Solutions Urban one of many in general the future of apps I think is AI created personalized interfaces over decentralized services and all of that

sits on composable data you own and control this is the future that I would like to see foreign and finally after being kicking around the ethereum ecosystem for quite some time um I'm starting to build my own thing now and uh I'm looking for really world-class people and these are the skills that we need first uh but if anyone's interested please come and talk to me after this talk thank you very much [Applause] [Music]