top | item 19976068

A Revolution in Your Pocket

237 points| UkiahSmith | 6 years ago |rbs.io

101 comments

order
[+] RodgerTheGreat|6 years ago|reply
I'm definitely sympathetic to the ideas described in this article. I strongly feel that software should be designed to serve the interests of users, and running locally is structurally necessary to accomplish this.

For some applications, it seems plausible that mesh networking and cooperative routing could potentially replace centralized communications infrastructure. It's probably OK if an email takes half an hour or more to wind its way through intermittently connected machines to get to a recipient, and for things like maps and restaurant menus you can take advantage of physical locality.

Most of the time, though, the decentralized approach means information propagates slower, less reliably, and with greater need for redundancy (and thus overhead), so anything that's already challenging current infrastructure, like livestreaming video, is right off the table. And then there's the part where if you aren't living in an urban center there may well not be any other machines for miles to mesh with.

I'm also doubtful about the assertion that mobile devices are up to the task of "machine learning". Cell phones have severely limited power and thermal dissipation capacity. The tensor units that have started to show up on mobile devices are exclusively designed to _evaluate_ pre-trained networks; training is far more expensive and practical today only because of the economies of scale in a datacenter: train once, run many times. But to train fancy NNs, you need big heaps of data, too, and not always the sort of data you can source in an... entirely above-board manner.

Perhaps the answer is simply that some of these things aren't done anymore, or at least not for free?

[+] ryukafalz|6 years ago|reply
>so anything that's already challenging current infrastructure, like livestreaming video, is right off the table

For a wireless mesh... yeah, probably. But if you relax the requirements to include things like small home servers (still using the internet), things that challenge centralized infrastructure can be very doable.

With good network connectivity, there are things that decentralized services already do better than centralized ones. Distributing files to a large group of people is much easier with BitTorrent than hosting the files directly would be; the bandwidth requirements are themselves less centralized in a peer-to-peer system.

[+] rschulman|6 years ago|reply
I appreciate the thoughtful feedback and I admit that I'm less confident about some parts of the vision than others. Some things, you're probably right, are much less amenable to a distributed network model. With that said, there have been demos of streaming video over IPFS.
[+] fnord77|6 years ago|reply
I think the author has done little or no mobile development - battery life isn't even brought up. Sure the latest phone might be in some ways as powerful as a 10 year old laptop when the hardware is in a high performance mode, but running a mobile device full-tilt is going to drain the battery very, very quickly.
[+] devoply|6 years ago|reply
I was thinking today why not just create an overlay network on top of the internet that throws-back to a place without corporations or governments?... Back to the 90s internet. With its own DNS servers, etc. Which does not resolve anything outside of the overlay network. So no facebook, no Google, no cloud services... Maybe a user run directory like Yahoo! used to be. Nothing but realms run by webmasters. A walled garden of the people by the people for the people.
[+] shtack|6 years ago|reply
We've been working on a very similar idea to this for the past few months: https://pocketweb.io

There is a very early iOS beta available, and Android is coming within the month. We've thought a lot about battery and data and have gotten really good results by leveraging existing radio wakeups, batching requests, and doing all sorts of optimizations to the sites themselves.

Right now we're focused entirely on personal websites, because we believe the majority of those can actually easily be hosted on a phone (eg. How many people actually view your LinkedIn page every day? A single Facebook page doesn't require a datacenter. Etc).

We're limited to single static pages with images right now but better support for multiple pages and server code with SQLite is coming. More template types, for example stores, are coming as well.

Let us know what you think!

[+] BMorearty|6 years ago|reply
Congrats, your site is 100x more comprehensible than the wall of text on the original link. :-)
[+] mikenew|6 years ago|reply
Love the idea. Couple first impressions from the iOS app though:

1. Most of the icons and images are really low-res. You should include @2x, @3x assets or just have higher res images and let them downscale on older devices. 2. A lot of the "Latest Active Sites" won't load, and the spinner just spins forever. I know the whole point is that it's a site hosted on someone's phone and may or may not be available, but there definitely needs to be a more graceful way to fail. The spinner blocks the UI and doesn't go away.

I know it's isn't part of the core service you're trying to offer, but seeing blurry buttons and having the app get into a broken state after clicking some links is not a good first impression. There's a lot of signalling involved in the first 30 seconds or so when a user (like me) is trying to decide if they want to invest time and brainpower into exploring your service, and it's worth smoothing those things out.

[+] baggachipz|6 years ago|reply
> "When you are ready, turn your PocketWeb site on and you'll a URL that you can share."

I think you accidentally a word. Love the project though.

[+] mwcampbell|6 years ago|reply
I noticed that the word "battery" doesn't appear anywhere in this post. Isn't conserving battery power one reason why we delegate so much to central services?

That said, I think the wireless routers that a lot of us have in our homes could play an important role in this kind of decentralized Internet. They'd need to have more computing power than many wireless routers do, but that's OK because they're already plugged into the wall all the time.

[+] awinder|6 years ago|reply
That vision is definitely being explored, not necessarily built into the router but usually as network attached appliances for some kind of “local cloud” (idk marketing). Syncloud & antsle are some Ive seen on the device side, and usually they run owncloud or nextcloud plus other “apps”

The problem is from a reliability standpoint running stuff at home can be not great. Home network quality / reliability is not going to be datacenter quality, you’re going to have to deal with this thing running all the time & power costs, and you’re probably going to have to be tech-inclined enough to admin these apps at some point. These things have real costs, I think there’s a place for an honest discussion about what things cost for sure, but I don’t think people are getting fleeced on apps in the cloud by and large

[+] sequoia|6 years ago|reply
> They'd need to have more computing power than many wireless routers do

It seems like at this point we're describing "running a server at your house." I've been playing with this with a Raspberry Pi for a Plex server (could have gone cloud but why not just tape a Pi to the wall next to my router?), I think the idea has a lot of merit.

[+] ggm|6 years ago|reply
This feels like a superset of the problem medical records management is in a digital age.

There are the bits you need public. your anaphylaxis status. your advanced health directive with 'do not rescucitate' and your organ donation status.

There are the bits you need semi public. You need a trained health professional in sexual health to know you have chlamydia, but its not relevant to a physio doing upper body work.

There are the bits you need private. your mental health status adversely affects your employer insurance, and your employment. You do not wish this revealed randomly.

Some health models empower some health professionals with magic override keys to see almost all of it.

Some models empower statisticians to see all of it in 100 years after your death.

Some models you carry it in a smart card. Some models you carry keys, and its in a central DB.

[+] FerretFred|6 years ago|reply
This article really resonated with me. I rarely use my Android phone for talking to people, and the apps and setup are geared to getting work done securely and with as much privacy as possible. I seem to spend a lot of time tweaking settings to stop Google trying to run my life and monitoring me. Overall, I have a good experience but I really wish I didn't have to keep fighting my phone!

What would really make a difference (to me at least) would be a libre phone/OS. Yes, I know these are available but I can't afford them. What we need is a freedom-minded philanthropist to step in and Save The World. Once we have a more private phone then surely privacy-designed systems could flourish, as the author describes. If that happened I'd be there like a bear!

[+] kasbah|6 years ago|reply
I would suggest installing LineageOS on a supported phone and not installing any of the proprietary Google apps (play services, maps etc). I have been doing that for a number of years.

https://lineageos.org/

[+] jcfrei|6 years ago|reply
This is an idea that keeps coming back every 2 years or so. While it is enticing to think about, these ideas never manifest into anything. With most decentralized projects there usually hasn't been a big enough financial incentive to execute them.
[+] fenwick67|6 years ago|reply
The problem is that with no VC funding and no profit model, most decentralized systems rely on volunteers to run servers, give up storage space, spend cpu cycles and/or develop it.

Meanwhile Twitter could spend money like crazy for years on end because their goal was cornering the market. They can afford to operate at a loss of millions per year, whereas John Q Developer can spend a few hours a week in his free time. It's a very lopsided situation.

[+] abecedarius|6 years ago|reply
I don't disagree, but... when Bitcoin came out I ignored it because of the long history of digital cash schemes that had failed. I assumed the same forces would give it the same fate.

If decentralized money can finally find some traction, maybe so can other kinds of networks. Maybe the financial incentives are a part of the context that could change.

[+] kristianc|6 years ago|reply
It's more about "What's in it for the user?" when you define user as "the majority of people from whom a device being 'decentralized' is not in and of itself attractive". If there was the demand for this, the VC money would come along soon enough.
[+] fenwick67|6 years ago|reply
The author should check out Scuttlebutt if they haven't already. There's a compatible mobile app called Manyverse which will sync your social feed over WLAN or Bluetooth with peers while it's open, and also over the DHT and via public forwarding servers.
[+] tomxor|6 years ago|reply
> Many, if not most, of us already own a hand-sized computer with a persistent network connection that we take pretty much everywhere and which lives in our pockets or bags. The top of the line Android and Apple personal computing devices [...] run at upwards of 2 Ghz, have around 4GB of RAM, and on-board storage ranging between 64 and 512 GB.

Who is "many of us" really? If this is supposed to be a promising new avenue for decentralising the internet it seems a little premature... I feel like there are too many wide eyed rich people with $1k phones living in a bubble sometimes - the vast majority of the world cannot afford the expensive toys you take for granted.

> honestly, does anyone use their “phone” primarily as a voice communication device anymore?

Most of the world... (The internet does exist outside san francisco, but hey you can decentralise _your_ internet I guess)

[+] the_duke|6 years ago|reply
I recently got a Nokia 6 as a secondary phone for running/ the gym.

It was 180 Euros, comes with a 1.4Ghz ocatcore, 3GB ram, 32GB storage (+ option for 128 GB SSD) and a decent GPU. This is a cheap phone that can run beautiful 3D games surprisingly well.

(I honestly don't know why I would need anything more powerful, only the somewhat weak camera is a drawback)

Most applications are not high res video editing, they are note taking, todo/task management, document editing, small group chats, ...

A lot of those could be implemented via local compute and federation perfectly well, with the help of some cloud storage and online instances for easy sharing/coordination/discovery. Especially if implemented in memory and CPU efficient (and therefore battery preserving) languages like Rust/C++.

We would just need to change our approach to application design and implementation.

[+] rschulman|6 years ago|reply
I live in Washington, DC, actually...

But I appreciate the feedback. I think you're right that I'm being a bit optimistic here, but the whole vision is a work in progress.

I'm also not sure that current smartphones are actually what you would want to use for such a vision. They're convenient because lots of people have them, but they're not purpose-built for the kind of work that I'm discussing here.

[+] fwip|6 years ago|reply
Smartphone penetration in the US is over 75%. That's not just San Francisco tech bubbles, that's most of America.

Over half of China has a smartphone. Venezuela, the country where it's hard to buy bread, has 40% smartphone penetration.

[+] maehwasu|6 years ago|reply
If you design for today’s $1K phones, you have an outside shot at maybe, maybe having your system sort of ready by the time a few billion people have the phones that cost $1K today.

In other words, the fact that not everyone has this tech yet is an even better reason to start building now.

[+] sorrowfulgeek|6 years ago|reply
This is not a new idea. Apple already emphasises that they do all the machine learning on your own device and no data is sent to the cloud. But this approach only works well for a small class of problems. For other types of problems you need to look at data wholistically at a large scale in order to see patterns and you need a cloud service.

But more importantly we know that complex services break once in a while. If such services run on entirely on your personal device then the complexity of your device goes up exponentially. That’s not good. We learned in the 90’s that a better model is to centralize complexity, and make end devices as simple as possible. (Look up Larry Ellison’s 90’s speeches about Network Computing.) So, no, moving the center of computing to personal devices is not a good idea!

[+] simonh|6 years ago|reply
I agree it looks like Apple is the only mobile vendor who's business seems to align well with a vision like this. They're already taking steps in that direction, which are hard for rivals to take because this approach closes off revenue opportunities for them.

Every now and then I see a suggestion we should move towards federated services and mesh networks because it would give people more control and freedom, but the cost of that is complexity. It's like the classic reply on HN when Dropbox was announced, along the lines of why would anyone ever want this when they can 'just' run rsync against an SVN repository?

Any solution that expects average users to become sysadmins is DOA. It was true when people were pushing for it in the 90s and it's still true now.

[+] sorryforthethro|6 years ago|reply
Federated Learning[1] you can train across multiple customer data by sending the in-training model to every device, then exfiltrating only the backprop adjustments you get back. In-theory, user data never leaves the device. In-practice, the backprop data has the information encoded within it to an extent, it's very difficult to secure.

[1] https://medium.com/syncedreview/federated-learning-the-futur...

[+] boomlinde|6 years ago|reply
> For other types of problems you need to look at data wholistically at a large scale in order to see patterns and you need a cloud service.

What types of problems do you have in mind?

> But more importantly we know that complex services break once in a while. If such services run on entirely on your personal device then the complexity of your device goes up exponentially.

The idea is that a lot of problems aren't so complex once delegated to participants of the network.

> We learned in the 90’s that a better model is to centralize complexity, and make end devices as simple as possible. (Look up Larry Ellison’s 90’s speeches about Network Computing.) So, no, moving the center of computing to personal devices is not a good idea!

By "we learned in the 90s" you mean that a company with an obvious commercial interest in the idea tried to push it and largely failed because it was based on assumptions that were practically Jurassic within a few years ("you don't need a powerful machine to support the use of common network services" and "thin clients can be much cheaper than general purpose computers"). We have our multi-core gigs-of-RAM phones and multi-core gigs-of-RAM Chromebooks now that may superficially qualify for implementing the idea of a "network computer" or even "thin clients" by dubious standards, but are actually just powerful devices that are locked down to proprietary third party services for reasons that have no real advantage to the consumer; "fat" clients.

Other things we learned in the 90s: JNCO jeans are cool.

[+] atomical|6 years ago|reply
Brave browser also does machine learning locally.

It's definitely a value add for Apple users and something Tim Cook relishes throwing in Zuckerberg's face.

Other companies don't seem to care so much. I think a good compromise is having more data in the cloud that can only be decrypted by the user.

[+] mark_l_watson|6 years ago|reply
Nice write up. I am straying off topic, but I am interested in local decentralized data, machine learning, and apps. I switched to iOS several years ago for privacy reasons, but at least a few years ago it was a nuisance to permanently install one’s own apps on your iPhone. My iOS developer account expired a few years ago so maybe this has changed. It seems important to be able to build apps from source code and install them on your own device. Android is probably a better story for this but my Samsung phones had a ton of crap ware on them, taking hours to clean up (as much as possible). What do people use? De-Googlized Androids? Easier way to install one’s own iOS apps just on your device?
[+] 29083011397778|6 years ago|reply
I've been using a de-Googled Blackberry KeyOne. I adore the keyboard, and Blackberry is pretty low on apps with undisclosed and/or non-standard permissions[1]. Root's unavailable, but disabling everything down to, and including, Play Services, is good enough until the Librem 5 is available.

At this point I'm down to a minimum of apps from the yalP store (Firefox, Whatsapp, Signal, Wire, VLC), with everything else on F-Droid.

AndOSM is more than good enough for me; either it's right there within a search, or I find a website with an address, and add what was missing at my earliest convenience. It's not perfect, but data seems to be added faster than the world changes, suggesting Google will have to innovate or lose their lead in accuracy/completeness.

[1] http://eprints.networks.imdea.org/1959/1/An_Analysis_of_Pre-...

[+] genpfault|6 years ago|reply
Keeping all those radios powered on and transmitting/receiving for mesh network servicing/upkeep is going to burn through battery pretty quick :(
[+] rschulman|6 years ago|reply
Author here.... I'm actually really interested in what we can do about the battery situation. The vision I laid out is clearly more battery intensive than your average phone is today. I do have some ideas about breaking apart the compute and display components, allowing the compute (and wireless) to go in a bag (or something) and connect up to a hefty battery while the human interface components are lighter weight.
[+] JohnJamesRambo|6 years ago|reply
Is there any hope we can have something like a "Linux phone" someday and not have to cater to anyone or any privacy infringement at all?
[+] Causality1|6 years ago|reply
Assuming I'm an average user, this revolution would require my phone to double the time spent transmitting and receiving data, and block off a large chunk of its internal storage for information I don't care about. I cannot imagine as a consumer thinking these losses if battery life and data capacity ever being worth it.
[+] ekianjo|6 years ago|reply
Sharing data directly from mobile sounds like a poor idea since data caps and data volume pricing is rampant in many countries. Plus it is likely to make a poor battery life even worse. I would rather folks upload data on their home or shared servers for sharing purposes.
[+] SmellyGeekBoy|6 years ago|reply
A decentralised internet running on mobile devices? Richard Hendricks would like a word.
[+] fit2rule|6 years ago|reply
I really wish the OS vendors weren't asleep at the wheel on this one, or otherwise being distracted by the effort to just 'move everything to the cloud'.

Imagine if we had an OS that solved the usability problems of IPFS and made it immensely easy to publish content on ones own named segment of an IPFS network - instead of having things like Dropbox glom themselves around a paltry excuse for file-sharing system services that exist in most modern OS's today?

Wouldn't it be grand if someone write an email client - yes, EMAIL - that integrated with a smart contact system, allowing one to run and operate ones own social network without requiring any further infrastructure beyond local, private email services. Everything I do on Facebook, I was once able to do just as easily on Email - the interface is the only difference. I want social networking back under my control again, and a return to email, wrapped in a better local tool for providing the services, is the way to do it.

I also want to be able to turn myself off the Internet - having the ability to turn my phone off and be unavailable to the Internet at large - not just as a consumer, but also as a provider of information - should be a basic, inarguable right.

If the OS vendors weren't chasing the cloud bucks, this would be a reality.

I believe an opportunity for a smart team exists: build a Linux distribution which incorporates a few basic ideological rules:

* The user owns their data

* The user controls their data

* No new services or protocols are needed to provide better services: Use OSI properly or GTFO

* The UI is the final frontier for freedom

* If the user wants to fully disappear: OFF SWITCH

* If the user wants to engage in public discourse: ON SWITCH

* De-centralize all the things, bring control back to the local user always

As the years go by, I feel more and more inclined to start a test-bed Linux distro which uses these rules to build out a user-controlled OS designed for widespread content distribution on the basis of such things as IPFS, albeit with a much, much better UI for maintaining ones assets than currently exists. If anyone else is interested in such an experiment, I am all ears ..

[+] theamk|6 years ago|reply
Btw, "OFF SWITCH" is fundamentally incompatible with IPFS.

If you serve your website from IPFS, the first visitor will get the full copy and start serving it. You can toggle your switch as much as you want, this won't have any effect.

It's funny that Facebook is much better at giving control to user than email. At least in Facebook, you can delete post. And once you send email, there is no way to retract it.

[+] nanomonkey|6 years ago|reply
Anyone interested in this sort of revolution should look into Dweb Camp (https://dwebcamp.org/about/) put on by the Internet Archive crew. Folks from Mastodon, Gun, Scuttlebutt, IPFS, Beaker Browser (DAT), etc. will likely be there. If not, look into these names, download Manyverse for your Android phone (Scuttlebutt client) and start playing around.
[+] ilaksh|6 years ago|reply
I like a lot of these ideas. And eventually it seems like mobile devices is where it could go.

But before we are entirely reliant on mobile, we may be able to do a lot of it on our home computers over the regular internet using decentralized protocols.

But back to mobile, does anyone know of any open decentralized identity solutions that will run on a smartphone?

[+] tanzbaer|6 years ago|reply
A summary at the beginning would be nice.