“I can’t call these things social networks anymore — I call them behavior modification empires.” ( Jaron Lanier TEDx April 2018)
We need to decentralize social networks. This is too much concentrated power currently...
PeepETH has some really nice ways to be cheap (scaling from the application side: stateless smart contracts; Interaction batching, ..) and provide good UX. But a native libre android client was missing yet.
I also wanted to try out interaction between a native mobile application and a native mobile wallet WallETH
What it does
It is a native android client for PeepETH. Currently you can just look at peeps, sign in and peep.
How we built it
Coded a native android app in Kotlin that interacts with WallETH
Challenges we ran into
Bevan the father of PeepETH wrote a nice mail on Saturday that sums some of the problems up:
Re: signing in and peeping, the unofficial API is severely lacking as you've discovered. Should have given you a heads up before you started as it is fairly convoluted, and will be changing soon. There is no other sign-in endpoint, and the other server-based functions are pretty tightly coupled to the DOM, so it's a nightmare from a third-party perspective.
Good luck- and sorry I cannot offer much more help right now! Hope to meet you and @dirk at some point.
He was right with "nightmare" - mainly because the server either answered with 200 or 500 - nothing much between. And the 500s had no details - so basically a black-box ;-)
And not only technical obstacles where present. Also that ETHBerlin was so full of interesting people to talk to. Some that I only knew from online conversations and really had to talk which reduced the time there was to code.
Anyway - it was fun - the seed is planted - the PoC works and I can peep from my phone now ;-)
Accomplishments that we're proud of
That we could peep in the end - despite all the troubles ;-)
What we learned
Lot's. Unfortunately also some bad things. The nice UX of PeepETH (that was even praised by Vitalik: https://peepeth.com/vbuterin/peeps/QmNgq1vyfa9nyAAoW4WZ3NXaQHqbyC5dc8YGju6TLF4Edr) is in some points rooted in some nasty centralisation. Also that apps now build on this bug: https://github.com/ethereum/go-ethereum/issues/14794 (length in decimal shrug) - now it is out in the wild. And so much more ..
What's next for PeepDroid
- release to play and f-droid
- automagic signing for peepeth prefix
- Trust but verify (verify signatures, query transactions&ipfs..)
- Make central server optional (will lead to worse UX - but important still)
- Writing an EIP based on EIP-831 for the Ethereum Signed message URI so other wallets can also integrate ..
Big shout out to
- Bevan (PeepETH father)
- skywinder + Team (iOS PeepETH client)
- the whole ETHBerlin team - spirit there was just plain awesome