New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

EthCC 2: Dmitry Bespalov

Ethereum ParisWed, Oct 9, 2019, 12:00 AM

EthCC 2 EthCC, the Ethereum Community Conference is created by the community, for the community. It brings together great minds and forethinkers, and allows the community to grow. Follow us : @AssethFR https://ethcc.io

Transcript

hello everyone I'm excited to be in this conference I'm excited to seeing you here please sorry for the delay that that that we have there is 45 minutes delay to start this presentation but I still hope you you're gonna survive until the end before we start just quick show of hands who of you has a back pain right now all right one I was going to ask you to stand up just to wiggle we go no okay all right no actually what I wanted to ask is who of you is related in any way to u.s. development as an iOS developer product manager designer just raise your hand yeah more or less all right so the majority 10 all right so for the agenda today we have some numbers there was actually a big part with with statistics numbers then I will present a little bit about developer tools and my personal experience from development of iOS app not a safe let's start so state of the market when I was preparing this presentation I was I was expecting to find that there developers developers developers developers like everywhere developers of iOS application that are building that are building for aetherium but in reality when I started to search for for the statistics the reality was more like this so Lane field and why is it so if you look at the App Store there are 1 million eight hundred thousand four forty eight eight hundred forty thousand apps on the App Store and this is huge comparing to what etherium depths existing nowadays there are two thousand three hundred smart contracts on etherium here in this in in this number the tab is a smart contract and if you search for the Assyrian keyword on the App Store you will find 932 apps so now you can imagine two million and one thousand so if you look at this statistical of the cerium then the daily active users reported by the website state of the apps calm is around 16 K and that's counted by the unique source addresses in the transactions and the top depth like the the top most used app has 1.8 k daily active users compare this with the industry ecommerce app that have that have literally hundred thousands some of them are millions of users per day and I know some of the apps like video chatting chatting they have 800 millions daily users so this is no nowhere near the depth interaction and this is nowhere near the iOS iOS app interaction in the apps that are built for aetherium ii ii ii to top app has one around 1,000 daily active users so twice as few so if we look at the at the state of the taps this graph shows so the the the bar charts show the monthly new smart contracts appearing on cerium and the line shows the cumulative number of apps so there are roughly for the for the last eight months they were roughly from 120 to 150 new smart contracts appearing and most of them are built for the web so they they're not they don't have iOS app companion now if we take a look into the App Store again there is almost two million apps and among them 15% or games the rest is other categories if you split the apps by category then still the games will have the the most the most number of apps in them then the there goes business education lifestyle utilities and the long tail of other categories most of the apps are free and comparatively few of them are paid if we app the whole app store by the rating that the app receives and we put let's say apps with the five stars in the in the leftmost bar then we have this distribution of the of the apps by rating what we can say well there are quite a lot of apps that are that are perceived as a as billed as really good so four point five to five and five five star rating there is also quite a lot of apps there not so good speaking about iOS apps for aetherium again 930 333 apps if you search for aetherium keyword that that actually brings you the results that are not easy there are not on cerium focused but also Bitcoin or any other coin things so why does it why is it so well there may be different reasons but so far if you just search for the keyword app you get this number 22 results well basically it depends also on your search I search on the title and the description and then I just look through look through the results the source of the of the data around the app store is by the way by the website called 42 matters.com it's a market research tool so now if we if we charge those 933 apps by category of the app store then the most of the apps are in the finance category the next two businesses and utilities are actually also usually apps are related to the finance are there and so you see almost negligible amount of other categories presented on the app store now this little table shows different percentages of apps if you do this precise keyword search so basically there are there are 40% apps that mention wallet basically they are wallet or in exchange thirty five percent and small amount of other things now I doubt that this this statistic is gonna stay the same and if it's gonna stay the same still it's these numbers are very small to judge the judge the market so to actually say there is a market well there is something if we look at the apps with rating versus apps without ratings though thirty six percent of those 900 apps have ratings which is actually twice as the App Store averaged after average is 17 percent and if we put all the apps by the number of ratings most of the apps have from 5 to 50 rating responses and there are some of the apps that have 100 thousands of ratings next thing is localization this is a number of languages that that the the app support 95% of them supported up to 10 languages 5% of 4.

7% support 10 to 20 languages and very few of them support 20 or more languages so with all these statistics and if you actually look at the release and updates update cycles there are approximately 40 40 new apps per month coming if you take a look at the last six months and so most of the apps on the App Store they have been released six months ago or earlier and one-third of them have been released in the last six months what about updates meaning new versions coming up well one third of the apps have been updated in the last months so they are more or less active and around 40% have been updated six months ago last time or even or even earlier here I put the table with with apps arranged by by rating count top to coinbase and Robin Hood they have more than 600,000 ratings and then the next two have 65 basically the next one is 65 10 10 times less the next one next two are roughly two times less so this is like exponential distribution of of the ratings and most of the apps have have very few ratings below 100 100 now for the numbers that was it what are the developer tools so most of your developers probably you already know what's gonna what is there basically any app that builds that is building for iOS it needs to talk to cerium and then then it must use cryptography in in a way either through either a development kit or directly and these are the cryptographic libraries or related libraries arranged in the against in the in ascending order of stars so some of the libraries are not put here I just put here the most the most prominent ones treszura krypter is the library that is built in C it implements elliptic curve cryptography functions related to public private key cryptography and it also implements some of the Bitcoin standards specifically standards for Hiroko deterministic wallets and also standards for the mnemonic phrase this library big and written and Swift basically it brings support for the big numbers and it's used across many other projects and many many libraries also use use this one then this library is built by Bitcoin supports the SAC P 256 k1 elliptic curve parameters when the lip the curve parameters will be changed probably libraries that are gonna use using this one or depending on this one should change their their cryptography provider now the next one you see the the range for hundred seven hundred six six thousand and five hundred this is crypto Swift this is library of cryptographic algorithms written and swift its model is why is it in Swift because I can it implements secure hash algorithm three and some other hashing and cryptographic algorithms and then lastly open SSL or actually that's not the the most prominent one open SSL is also used as a dependency to other development kids I know it's the most popular one so III Amin out what are a theorem notes are available for is sadly only one yes there is a go build that you can download and use in your iOS app so basically go can be cross-compile for is and that's the only theory I'm not client that is providing iOS iOS package although rust and C++ are can also be it can also build libraries for is the Aleph and and parity do not provide RS packages as of now so what are the lips development kits just list them in the egg annex ascending order matter Labs has web 3 Swift 74 stars written Swift most of these libraries development kids they they implement functionality of the transaction signing of sending transaction to the cerium now they implement some some etherium know the api's interaction and also help you to create HT wallets so basically implement several eaps next one is the wallet kit basically HD wallets and swift this is this is used in some in some open source apps is a I think I saw it but those open source apps were not however not popular that much ether wallet kit ether subjective see the only Objective C library that is that has this many stars that is related to cerium then this web three dots with more stars cerium kids 360 stars in another one with three Swift so the common theme here is that you see that the developers have have have hard times coming up with the names and select web three dots whiffed capitalized uncapitalized maybe maybe someone will will create underscore there let's see so actually this one is the is the most prominent library that implements the most features that you need if you want to build a wallet or theorem application it in tournaments the most of the aps and it implements maybe a contract parsing and a bunch of other stuff oh no yes for comparison is here in web 3gs have 7600 and this one 417 so we are we're pretty early in the in the adoption of among iOS developers I would say so which open source apps or actually which how can you judge which libraries are used by the other apps well the most straightforward one is download all the apps from the App Store decompile them or at least open up them and look at the frameworks folder or D compile them and use and see what static libraries have a LinkedIn but for that you need to you need all the source all the all the apps downloaded from iTunes which I didn't do and I didn't decompile so what I did I searched through the github apps github and I found around 11 apps I'm not gonna go through all 11 I just go gonna go through all the apps that have 100 stars or more break browser break browser available for iOS it's built on top of the sea on top of Mozilla Firefox for iOS and for the tools its uses Carthage Carthage danger in Fastlane it's mostly has all the layout in code and the project itself uses auto layout it's modular because Mozilla Firefox project is modular and yeah quite good this wallet way wallet or I don't know how to pronounce it actually why wallet I have never heard of it but it has a lot of stars on the github so I so I stumbled upon it it is based on the reactive approach so it uses Oryx whiffed and Oryx cocoa cocoa pod Carthage Fastlane for database its use it uses realm then it again uses the cerium kit which was mentioned before stores your secrets in the keychain and use API key to talk to a theorem notes through JSON RPC I'm sorry skipped one trust wallet so trust wallet got much of attention unfortunately not much of reviews on the App Store but here on the github it has actually done time around ten or five times more stars and github than on the App Store trust wallet architecture is more or less M a VM with layout done in code it also used auto layout but specified it specifies it in code uses this these tools cocoa pods with lint danger for pull requests that one then for actually the project for trust wallet is built on is splitted into split into four different repositories one of them is SDK another one is is the core part of the of the app and so you can check it out then finally the most permanent one is the status up why it's the most permanent because it has more stars why doesn't have no stars while this app is cross-platform so it's react native and so it has desktop Android and iOS all in one project and it uses fast lane and great as a tool and reown as the as their database this project is mostly built in JavaScript surprise and closure closure script and and by far it is it has the to be the biggest amount of code written across all the all the apps that I presented so what can we learn there are a few of the iOS iOS apps available as the open source so I cannot draw any statistical conclusions or any causality or cause cause-and-effect relationship here it's just good there are open source things I didn't put the app that I worked for here because it has less than 190 stars but yeah most of the other apps have like 74 or 20 stars or no stars at all so personal experience so there were things developing developing iOS client that talks to helium for us I think the proper architecture infrastructure I think it is proper in our project it was the one of the hard parts that we tackled early on and part of that was debugging ABI and hashing so this this might take you some time if you were starting from scratch and you are not familiar with if you are not familiar with C interfaces or anything like like cryptography that may take you even longer time for me for example to debug the the proper way to deserialize the swift data structures to the to the theorem ABI compatible it took around week and a half of trainer and comparison with sprint and debug prints so quite fun then interaction with so this is a following theme interaction with smart contract through transaction calls it also the thing is the test network are more compatible let's say local network is something that you cannot rely on I mean locally theme network because it has different behavior than the test networks that are deployed so whenever you need to interact with a smart contract only and then you that I then you should probably have integration test working again still the test networks and so this this is also one of the hard part building of various applications for aetherium now user experiences the common pain for the for the whole team that is a problem that we were trying to solve and well surprisingly building the applications user interface was also challenging well I guess that's the that's the common thing across iOS development comparing to the to the web development good things so far in our project we had trustful atmosphere and I valued this a lot because it helps in in in a good morale a and it allowed us to spend a good time on the testing automation and we had enough time for four for not introducing the technical technical depth in the beginning although we have we have introduced some closer to the release and yeah basically this this were the the feelings that I've got from the development of iOS apps of iOS app for ATM so in closing there ëthere iam space especially for iOS is it at the early stage and the tools and frameworks are starting to emerge I expect more frameworks to appear actually and the whole thing is a challenging and exciting domain so if you are starting on this or if you're thinking about to join that's gonna be you and the one of the few who are starting early that's it thank you very much and your questions thank you [Applause]

Automatic transcript — names and jargon may be misspelled.