14 ms·
The cloud is a prison. can the local-first software movement set us free?
- galaxyLogic 3y agoWhy not use SQLite? It is easily part of any app. Then what remains is some synchronization to some database on the cloud.
- samwillis 3y agoI'm going all in on Local First, it addresses so many issues with the current "app" web. Better responsiveness from UI, working offline, privet data, lower server costs, just as a start. Somewhat counter to the article, I would argue that local first isn't about having "no cloud", it's "low cloud". So you could go P2P for sync, but you can also have a much more lightweight sync service on a central server. Both are valid "local first", it comes down to use case. The way to think of the term is like when we all moved to designing web UI "mobile first". It's a kind of shift from operating one way and adding on support for the other, to the other way around. Start local and layer on server and cloud support. One of the most exciting things about local first though is that once you have solved all the sync, and conflicting edit resolution problems (CRDTs are key here) you are 90% of the way to solving "multiplayer real-time". The only missing bit presence. The community around local first is also really buzzy, it's got that great feeling of being part of something new, something that's going to be bigger than the sum of its parts. To learn more about local first this is a great starting point https://localfirstweb.dev/ https://localfirstweb.dev/
- korpsey 3y agoIs this a webdev only community? I see this being an issue in other development environments..
- samwillis 3y agoNot at all, it's open to all. There are many ways to build local first, both with web technologies and with "native" app toolkits. Many of the CRDT tools have started as JS/TS libs but have been rebuilt in Rust to be cross platform, WASM or native. The appeal of using web tech is its accessibility and ease of distribution. Local first and PWAs with the new origin privet file system api kind of go hand in hand, but it's not an exclusive relationship.
- jasfi 3y agoThe cloud offloads a lot of maintenance worries, especially hardware related. E.g. no need to worry about replacing failed hard drives. Can local first really compete?
- Nezteb 3y agoI 100% agree. At least in the Elixir space, Phoenix has some excellent lightweight methods to solve the presence piece! https://hexdocs.pm/phoenix/Phoenix.Presence.html https://hexdocs.pm/phoenix/Phoenix.Presence.html
- shafyy 3y agoCleanShot X for Mac is a great example of this. It's basically a screenshotting and screen recording tool that you install. But you can also tell it to upload your images and videos to their cloud and get a link to share them with your friends or coworkers (especially helpful for screencasts for example).
- akho 3y agoWhy not dropbox or whatever place you use to share files normally? a screenshot program does not need a cloud.
- shafyy 3y agoIt's completely optional. And it's very convenient to record a screencast and have it uploaded to the cloud with one click which also copies the share URL to your clipboard at the same time. I don't use Dropbox or a similar service, so this is a real value added for me.
- akho 3y agoYou add yet another account you need to manage, and it's very easy for your private information to be visible in screenshots/casts, in a cloud managed by the makers of a screenshot app.
- robertlagrant 3y agoDropbox would do well to make a decent screenshot tool and make it share dropbox links.
- NikkiA 3y agoOnce-upon-a-time dropbox had a built in screenshot tool that could upload to your public directory. It was always a pain because I was forever having to determine which of onedrive or dropbox had taken print screen handling away from my preferred screenshot tool (at the time, greenshot, now ShareX)
- this_user 3y ago> Local First > "Join our Discord"
- samwillis 3y agoQuite true there is some irony to that. There has been a little talk of building a local first community platform, sadly doesn't exist yet.
- Znafon 3y agoIsn't that what email and mailing lists are for?
- samwillis 3y agoThey are hosting monthly meet-ups - mini conferences - with video chat and presentations. Not local first solution to that yet.
- fsflover 3y agohttps://matrix.org/blog/2023/02/09/finally-a-hybrid-conference-that-worked/ https://matrix.org/blog/2023/02/09/finally-a-hybrid-conferen...
- yonz 3y agoThis is interesting, been putting off setting up a discord <> Matrix bridge but will have to tackle this.
- rolandog 3y agoFor the uploaded videos, perhaps PeerTube? For live presentations... could Jitsi suffice?
- jedahan 3y agoDiscord's UX is miles ahead of Element, and I setup and maintain communities on that use both. For something like local-first, like a local principled makerspace, we are happy to deal with the friction and try and contribute back on Matrix/Element. That said, infrastructure churn can be disruptive. Don't envy your position.
- BSEdlMMldESB 3y agothe cloud is a failure of the internet originally we were all going to be able to host our own stuff in our closets, the 'intelligence' goes in the edges. then the industrialists went full-cloud on this idea. and the 'intelligence' got concentrated in a few gigantic industrial warehouses. but it sure feels more orderly this way. why spread the load when you can focus it and centralize it?
- digitalsushi 3y agoI'm terrified. I'm someone who used to learn skills but now I learn products. I am not sure I can get to the end safely if everything in my professional toolbox is something I rent.
- lotsofpulp 3y ago> originally we were all going to be able to host our own stuff in our closets, the 'intelligence' goes in the edges. This would have required fiber to the home with symmetric upload and ipv6 and ISPs not blocking all the ports. In the US, the vast majority of people still only have access to a crappy coaxial cable broadband connection, where they allocate a few Mb/s upload to a whole neighborhood. The lack of that basic infrastructure and demand for always connected devices meant hosting at home was never an option for the broad populace, and so the market never had an opportunity to deliver those solutions.
- blacklion 3y agoI've lived in country where symmetric Ethernet connection is norm for ~15 years (yes, 15 years ago it was something like 10/10 Mbit/s and now it is 100/100 or even more Mbit/s) and white, unfiltered, static IPv4 costs about +$2/month as option. Yes, it is for big city, but even small ones have something comparable, maybe slower like "3 years ago in big city". Typical ISP firewall for these IPs are "Port 25 is closed". And it's all. One problem - typically you can not get good PTR record, your back-resolve will be something like "ip12-45-67.pool34.isp.tld", which is pity for SMTP, but irrelevant for all other protocols. Unfortunately, this country has started bloody war, and now I'm living in civilized 1-st world country with crappy DOCSIS connection and without static IP :(
- MrBuddyCasino 3y agoI don't know what this fluff is doing on HN. They make it sound like the Cloud Mafia forces everyone to use their server farms, instead of offering a product that people willingly choose to use. The rest is some hazy hype of CRDTs, as if their usage magically eliminated editing conflicts. Kleppmann is legit and his book is great, he deserves better than this.
- samwillis 3y agoWhile the article is certinaly and little "fluffy" - more infotainment and information - the concepts behind local first are sound, they are a strong and compelling way to build apps. Quite right CRDTs are not magic, but they do get you something like 80-90% of the way there for most CRUD style apps. There is also a bunch of work going on into developing new CRDTs for different use cases. What's important is articles like this help us to explain to less technical people what local first is, the advantages it has. They help to sell the concept. But ultimately Wired is entertainment isn't it.
- rc_mob 3y agoThey do force it. The force your non technical CEO and your non technical customers to value these stupid cloud servers far too highly. This forces many to embrace cloud tech purely for marketing reasons.
- idlewords 3y agoCompanies embrace cloud tech because it turns large capital budgets into operating budgets, and prevents dental implant companies or soda distributors from having to figure out how to hire competent sysadmins.
- shortrounddev2 3y agoThis is the important thing. So many people in tech think of these solutions in terms of tech, the ease of use of the tech, and the cost of the tech. But the ultimate cost in everything is the cost of labor. On-premise solutions require on-premise administrators, with full time salaries (who are mostly sitting around waiting for work or problems to arise). It is far simpler and cheaper to contract the work out to a cloud provider and pay hourly for a tech's time. If you are a highly competent sysadmin you probably aren't working at a dental implant company. So the kinds of people non-tech companies hire are usually going to be lower quality and get paid less, increasing security risks
- vegetablepotpie 3y agoThis is how things worked 15 years ago, before the “cloud” hype took off. In my opinion, things worked great. You could get stuff done. I’m intrigued that there’s a “movement”. I suppose that’s what you need to get news articles and promote change. What’s old is new.
- 878654Tom 3y agoI do mostly remember and encounter with on-premise datacenters the following pains - Small selection of services (databases, queue's,...) If a service was not yet in house, brace yourself for a year of meetings, enterprise contracts, security audits,... - Overprovisioning of everything as it was a weekly to monthly process to acquire new resources - lots of half-assed documentation with many manual steps being missed. Sometimes the DEV environment was so different from the PROD environment you couldn't reliable trust deployments. - lots of outdated software and servers with tooling that promised to ease all of that while delivering none of it. - different teams for different components, all with their own procedures, zero API's and you hoping that the one guy that actually helps you is not on a holiday. - Very strange limitations because how all the different vendors had their own set of restrictions and zero incentive to adopt another vendors solution.
- itronitron 3y agoIt's interesting how scarcity of work experience in a technology can drive up advertised job opportunities which in turn drives technology adoption as everyone seeks to boost their resume with the in demand skills.
- Thaxll 3y agoThings did not worked great, you should see the bad practices about ci/cd, security etc ... let the dev ssh root into a linux box, 1000 days uptime, no patch...
- dgudkov 3y agoExactly the same things now happen in your cloud provider. Now you just don't see them.
- xrd 3y agoIt's a bit orthogonal, but I think Derek Siver's "tech independence" is relevant here. https://sive.rs/ti https://sive.rs/ti
- johnklos 3y agoI'm happy for an article like this that I can invite people to read. I often tell people that the "cloud" is a lock-in for subscription based everything, where you have literally no control of your data nor the slightest insight in to who can access it, where all privacy boils down to whether mega-corporations don't lie, and so many other compromises and shortcomings. Most of the responses are, "but it works for me", "it's convenient", "I don't want to run my own servers", and/or, "everyone else is doing it", as though not using the cloud means all those things go away. Many of these people genuinely don't care about privacy and completely lack the imagination to envision what could be done with their home security cameras' feeds, their Ring doorbells' feeds, the settings on their Nest and so on. Even when we have stories about assholes scaring the shit out of people via babycams, Amazon turning over Ring footage that the homeowner explicitly said not to, or houses getting burglarized because criminals knew the house was empty because the thermostat was set for vacation, people still seem to imagine these aren't the kinds of things that are rare and won't happen to them. It reminds me of the early days of online credit card fraud and online phishing - people had a hard time realizing that it was more likely than they believed. While most people's eyes will glaze over during the discussion of CRDTs, and while I can't wait to see more local tools that negate the need for "cloud" services, there's a lot in this article that can be pointed to when people might benefit from learning about possible long-term issues with the cloud.
- optimalquiet 3y agoAnd this is why, as a hobbyist, I’m very skeptical of, for lack of a better term, the consumer cloud. We’re not talking about AWS here, we’re talking about companies’ servers (that are actually AWS on the back-end) that they use to offer services to consumers. They insist on calling that “cloud” because everything has to be confusing, I guess. And I think that distinction gets lost in the translation between hobbyists/power users and IT professionals/software engineers. I think those two groups often miscommunicate, because they use the same terms in different ways, because their worlds are so different. It’s not about on-premises vs cloud for corporations, it’s about control over your data and what Apple’s marketing once called “your digital life” (before they went all-in on cloud) for consumers, for normal people, whose recourse when a company does something wrong isn’t “hire the best lawyers in the business and sue them” but “get screwed.” I don’t care what corporations do with their infrastructure, my concern is my own digital life, which is more important to me than the market cap of FAANG.
- taylodl 3y agoAnyone who's worked inside a large organization knows the cloud is the solution to be able to get things done and deliver value to the business. Why? On-prem solutions require I work with the infrastructure group, who wants to cookie-cutter me into their limited stable of infrastructure options; I have to work with the systems group, who gives me very limited options and configurations for the operating systems; the network group, who are very fixed in their ways and make very few concessions; and the middleware group which is what you need to connect to anything else of importance. Four groups! All with their own workflows, their own SLAs, their own exemption policies, etc. It's a nightmare to get anything done and the business is frustrated that things take so long. Now I'm on a team that does everything in AWS. We keep everything serverless so the infrastructure and systems teams can't butt in, and the cloud environment eliminates the need for interacting with the network group. I only have the middleware group to contend with. The result? We're delivering much-needed solutions far faster than any other group in the organization. They also have far fewer business impacts (read: support issues impacting operations) than the applications we have on-prem. People seriously underestimate the time and energy required to keep a highly-available, and DR capable datacenter running. They also underestimate the complications of interacting with all the teams need to keep that datacenter running. We have found that AWS is faster, cheaper, better than hosting on-prem.
- piker 3y agoSo your organisation is so inefficient that it’s easier to just engage a third party to syphon off any profitability?
- belval 3y ago> your organisation is so inefficient Very few organizations are able to stay efficient on the long run as they scale. This is a simple matter of processes being stacked on top of processes and inter-departement frictions. That complexity is inherent to having regulations and laws that you need to comply with that become hard requirements. For a more concrete example think of HIPAA compliance, during an audit you can have everything on-prem and hope that your IT department actually understand the security and privacy boundaries or have everything in AWS and be compliant because they conform to the standard by default. > syphon off any profitability For most of those businesses software is not the profitable bit, it's a cost center like most other things that serve to support operations. In that context, migrating your code to AWS/GCP/Azure means very little cost inflation.
- baz00 3y agoI don't care as long as I control my data and leverage the collaboration opportunities that the cloud gives us. That means I want real files with documented formats on my real disk on my real computer and to be able to work with them with other people. And I need to be able to work offline for a couple of weeks at a time. At the moment the only real product on the market which comes close to this is O365. I can literally stop paying for it, disable OneDrive and open all my documents with LibreOffice tomorrow if I desire. The same is not true for Google Docs and iCloud which have complex exit strategies.
- multiplegeorges 3y agoThe work Ink & Switch (unaffiliated) do has been an inspiration to me with regard to local-first and decentralized software: https://www.inkandswitch.com https://www.inkandswitch.com They have a quasi-manifesto on local-first (https://www.inkandswitch.com/local-first/ https://www.inkandswitch.com/local-first/) and have published the best rich text CRDT around, Peritext: https://www.inkandswitch.com/peritext/ https://www.inkandswitch.com/peritext/ Lots of interesting work happening in this space.
- troupo 3y agoNothing beats Google Photos in speed and search. Nothing beats cloud for email hosting. Other things are debatable, but in general nothing beats cloud on ease of use and setup.
- api 3y agoThe cloud is DRM. Its popularity is primarily due to the ability to conveniently attach a recurring revenue model and decisively prevent piracy. People expect local software to be free or very cheap, but in reality complex software applications with good UI/UX are extremely expensive to produce. The UI/UX aspects are often far more costly and time consuming than the core of the software. Basically computers are intrinsically hard to use and it takes tremendous effort to pound them into a shape that non-computer-experts can deal with without pain. Lack of an economic model is why local software is nearly dead. Local is better in virtually every way except paying the developers. You get what you pay for. If you won't pay for local software but will rent software in the cloud, you will only get cloud software.
- gottebp 3y agoBefore it was called "local first" it was known as "subsidiarity". Seeing the principle applied to food, politics, software is exciting to me. "Subsidiarity is an organizing principle that matters ought to be handled by the smallest, lowest or least centralized competent authority. Political decisions should be taken at a local level if possible, rather than by a central authority".[1] [1] https://en.wikipedia.org/wiki/Subsidiarity_(Catholicism) https://en.wikipedia.org/wiki/Subsidiarity_(Catholicism)
- marcosdumay 3y agoInteresting that the word comes directly from the Catholic Church, because I don't think they ever allowed it to exist. When you see it happen in society, it's almost always learned from a military group or earned by some popular revolt.
- fellowniusmonk 3y agoIt's interesting, I'm one of what I presume is a small number of people that have conversed extensively over my life about subsidiarity, mostly on the context of subsidiarity and sphere sovereignty a rather niche area of theology. Most Catholics, even highly engaged western catholics are not aware of subsidiarity. It's ~commonly/known term and catholic juxtaposition cited by theological/historical non-conformists in church polity and discussions around separation of church and state.
- inconceivable 3y agoi ran a hosting company. a successful one that made money for years. it made me millions of dollars. i knew it was time to sell when prospective customers literally couldn't believe our prices. they thought we were full of shit, and accused us of being amateurs, fly-by-night scammers. and our prices weren't low - they just weren't insanely inflated like public cloud. we didn't deliberately try to undercut anyone on our quotes. it just started happening one day. of course we raised our quotes to test the market but then they became too expensive for what we offered. lol. lmao. okay. as you can imagine running infrastructure is something people do not take lightly, so this is an uphill battle all the way. once you have no service or price edge the game is up. so anyway, long story short, i can take a hint. i'm not nearly as smart as jeff bezos so it was time to gtfo of dodge. luckily with those 0% interest rates we found a buyer and anyone stuck in public cloud hell due to their own incompetence can kiss my ass because we fuckin' told you so.
- pphysch 3y agoCan you give a ballpark figure by what factor AWS/Azure TCO exceeded yours?
- inconceivable 3y agoto keep it simple, think of a 42u rack stuffed to the gills with servers and switches. that would cost us maybe $10k a month on the margin, and we could resell and manage it for nearly $50k a month. i'm betting amazon could milk it for $200k a month, possibly 2-3x that if it's GPU's.
- crazygringo 3y agoI don't get it. Surely there was a middle ground where prices weren't so low customers didn't think you were running a scam, but weren't so high they became "too expensive for what we offered"? What you're describing doesn't seem to be anything unique to cloud; it's something every business deals with. Figuring out the right market segmentation to deliver cheaper prices to those who are more price-conscious, and more functionality to those who can pay.
- gizmo 3y agoThe difficulty with cloudless apps is that if you want to sync between devices you still need somewhere to fetch your data from. In theory you can have some true end-to-end encrypted peer-to-peer network, but in practice it works much worse than a cloud app with a central server. CRDTs are awesome and offline-first applications are much more responsive than the ajaxified status quo. But CRDTs work much better with a hub-and-spokes model when you know for sure the hub is always online and has sufficient bandwidth. All data can be stored stored locally by the client and the cloud service only serves a distribution channel for end-to-end encrypted data that's a pragmatic middle road where you still have the convenience of the cloud but not the lock-in.
- taeric 3y agoI have a hard time squaring the push of this, with the rise of the embedded VSCode in github to edit in your browser. Actually, really just the damned browser. It has been both a god send for software delivery and by far the biggest mistake/road block in building local software. I remember in college I commented that I used a web browser based email provider because it was easily accessible, and one of the old guard chided that telnet was more accessible. I honestly felt properly chided and didn't understand why I was more inclined to think the web would be available. Fast forward to today, and I don't know many people at all that don't use a browser based email system. We certainly exist, but not in meaningful numbers. Then there is the sheer idiocy of keeping up with home storage options. It isn't that a terabyte drive is expensive. It is that keeping it indexed with the latest search friendly media is. Why do that when you can offload the idea to someone else? (There are certainly reasons, but they are niche.) Worse, we're a generation or three removed from people that built giant media collections that become liabilities more than anything else. I literally have a stack of records behind me with no record player. I have a few CDs that aren't available on streaming platforms behind me, and I don't really have a CD player anymore. Mountains of books that make me happy to have, but I'd be a liar if I claimed they were wise purchases. Most, if I'm honest, were hoarder indulgences that I should have kept closer tabs on by using a library. In the modern world, I can donate to authors easily enough. So, I'd love for some of this story to be true. I just don't see it.
- YurgenJurgensen 3y agoIs a physical media collection any more of a liability than a streaming service? If whoever you're paying wants to double their prices, throw in ads, pull your favourite series, replace your favourite book with one that's been "updated for modern audiences", ban you because they think your doorbell is racist, ban you because they automatically detected an infringing performance of 4'33" in your cloud storage or stop supporting your device because they want you to rent their own, they can say "We have altered the deal, pray we do not alter it any further." and there's nothing you can do. Trusting your data or anything you care about to someone else's computer is the real liability.
- 3y ago
- nottorp 3y agoWhat cloud? The $5 VPS with a basic linux on it? Or AWS with so many services that you will never be able to get out of without discarding all previous work? It's also pretty sad that all the speed advances in the past 10 years have been squandered on ... running javascript.
- aloer 3y agoI like the term local-first software and I think p2p collaboration (think: protocols other than HTTP, e.g. to prevent nation-wide censorship or decentralized / synchronized via local means during emergencies) and e2e encryption are amazing features. Possibly increased performance for local sync is a nice benefit as well. That said, the article and most of the comments here somehow talk about or even compare to The Cloud and I don't think that is particularly relevant. The cloud has nothing to do with companies owning all the community data (user relationships, crowdsourced information). Facebook, twitter, reddit etc. are not "the cloud" The cloud has little to do with data privacy concerns. Self-hosting exists and it is not a problem of trust in infrastructure. Self-hosting on AWS should be considered safe for all but the most extreme cases (legally forbidden content?) The cloud has little to do with proprietary data formats. It is absolutely possible to build a SaaS with proper import/export protocols. Financial incentives are misaligned, not technical. An example is excalidraw (https://excalidraw.com/ https://excalidraw.com/). AFAIK they don't use CRDTs but they are what I would consider local-first. Here, local-first adds the features mentioned above. In addition to that it is self-hostable from a small local raspberry pi to a proper server in someone else's data center / "The Cloud". I would propose more use of the cloud for something like this. If self-hosting became easier then perhaps more people would care for open data (access & standardized formats). A managed, serverless and on-demand model seems perfect and could enable non-technical people to host their own collaborative whiteboards or photo galleries or chatroom for family & friends.
- pratio 3y agoThe comment section seems to be going in the direction of On-Perm vs Cloud while the article is about the local machine of the user. As in instead of using google doc to collaborate, we each use a document editor on our local machines and then sync without going through a middleman.
- retrocryptid 3y agoIs this anything more than a research project? I've been monkeying around with p2p sensors streaming data over quic in my house cause IoT is just SO BROKEN. Config goes the other way with self-resolving data structures. I hacked together a "wide area overlay" using manually configured IPv6 VPN tunnels, but am thinking of grafting bittorrent on top of it to communicate config info for the VPNs (or quic or tls tunnels, but they're sort of being used as poor-mans vpns, so I'll keep calling them that even though they're operating above layer 3.) Everything I've done is a hack. I should document it so people can taunt me about its hackishness or be inspired by its "elegant re-purposing of existing technologies."
- dakial1 3y agoThat's why I think Hybrid Cloud is where corporations are headed to (which means a mix of Public & Private Clouds and On Prem Servers). You would use your on-prem servers for the core (and predictable) demand, as scaling it takes time and CAPEX. You use cloud for elastic demand and innovation. Once you have the technology layer to orchestrate those things, it should be more effective for corporations, specially those with high computational demand, to have this kind of setup.
- vcryan 3y agoMovement is an exaggeration
- rkagerer 3y agohttps://archive.ph/7SpV8 https://archive.ph/7SpV8
- ldjkfkdsjnv 3y agoPeople that dont like the cloud are generally engineers who were left behind by the paradigm shift. They want development to go back to what they spent a decade learning. And so they complain about complexity or out of control cost. The truth is, they arent effective engineers with the cloud because they havent learned it in depth. It is clearly 100x better than on premise, and the boom in tech is partially from productivity gains from cloud. Infrastructure as Code is a major technological improvement.
- hotpotamus 3y agoInfrastructure as code is indeed a major technological improvement, which is why I use it on-prem lol.
- optimalquiet 3y agoI’ll do you one better, I use IaC techniques to configure VMs at home, on an old workstation I’ve turned into a server. It’s great for hobbyists, too, and doesn’t require the cloud although I will admit it’s easier to go all the way when resources are totally spin-up-as-needed. But I don’t need to go all the way, I’m just a simple hobbyist.
- thrixton 3y agoWhat flavour? I’d love to be able to configure a proxmox, linux vm through pulumi (or TF if that’s your thing), Ansible seems to be the best option but I’ve not had enough experience to be competent as yet.
- paulclinger 3y agoThe article (and the local-first software) has nothing to do with cloud vs. on-prem. It's about the priorities in developing and running/using your applications: "The word “local” in the name refers to your personal computer. “First” means your computer is prioritized over “someone else’s.”". Local-first apps can still use cloud resources for synchronization or for simplifying their initial configuration, but it's not a focal and critical point of the design and only serves as one of the nodes and can be made optional. You can still get all the benefits of being cloud-enabled, but you're also getting all the benefits of working without any cloud involvement at the cost of adding synchronization and conflict-resolution mechanisms.
- m_mueller 3y agoBtw. Lotus Notes did exactly this already in the 80s - apps based on local database replicas. CouchDB comes from an ex Lotus dev (Damian Katz) who, inspired by this, created a peer to peer database with similar functionality. Thus I think it would still be a good fit for this kind of local first application.
- oblib 3y agoI've installed CouchDB and an app I made on both my local desktop pc (Mac Mini) and my app server (DigitalOcean) and it's pretty sweet. I've also installed both the app and CouchDB on a Raspberry Pi in my office and set it up to sync with the DigitalOcean server. This lets me run the app on all the devices in my office even when the internet is not accessible. In both scenarios the local app is faster and since syncing runs in the background there's no lag when using the app at all.
- tristor 3y agoHonestly, I don't really care for software that is "local" to the machine as its primary path. What I like is software that provides a self-hostable backend that is as close to identical as the cloud-hosted backend as possible. Allow me to to configure things to point to my local network (or better yet use SRV records to discover it) so I can still use the mobile app, desktop app, and browser app with live collab and sync between them, but without relying on your cloud service. This isn't completely trivial to do, but it's also not that hard either, as long as you design your software architecture for the backend to be reliant on operating your own services in the cloud on dumb IaaS instead of relying on PaaS components. It's one of the reasons I really like certain companies because it makes it possible for me to still provide my family the ease of use that comes with centrally managed services and mobile apps without the privacy and cost tradeoffs of abandoning control to the cloud. Something like OwnCloud but for everything would be really fantastic.
- oblib 3y agoI worked on a local first version of an app I sell. I use CouchDB to store user data so it was pretty easy to implement because CouchDB will sync a local CouchDB to the Cloud based CouchDB as soon as any changes are made. That app is now 20 years old and over those years I've had users who quit using it call me years later to ask if I could give them access to their expired account or a copy of all their data. CouchDB is easy to install and easy for users to configure for that purpose so I explained the benefits and provided simple step by step instructions. I explained how this would make the app faster for them, provide a local backup of their data, and that it was possible our Cloud based CouchDB could be inaccessible for a variety of reasons beyond our control but their local CouchDB would be there for them and it would sync up any changes with the Cloud based CouchDB as soon as it was back online. I also explained how this gave them a way to use the app for free after their yearly subscription expired, so I assumed most of the users would jump at the chance to set up the local first version of the app. Not one of the app's users wanted to do that. They really could not have cared any less. I still use it for my own account so it wasn't a complete waste of time but I was, and still am, a bit amazed that users didn't grasp the value in that.
- yonz 3y agoThanks for sharing your experience, what was the app? Personally, I don't think I would have gone through the trouble as well. For example, I used to have a ton of Evernote entries and don't think I would setup a personal CouchDB just to get access to it. A middle ground could be a file path to an sqlite file that can be copied, opened or backed up in the cloud.
- oblib 3y agoThe app is at ezInvoice.com. CouchDB is really a very good fit for that app. In the early versions of the app I used CGI.pm to store and get user data and that was very fast and efficient, and the format for storing data was similar to CouchDB's (JSON), so it felt more familiar for me to work with. I had never worked with SQL before making that app. I had a partner back then create a new version that used an SQL db. I did this mostly because I felt like the app wasn't keeping up with web trends and he had been pestering me to use SQL in the next version for about a year. What he ended up with was buggy to the point of users calling and screaming at me and after a year he still couldn't get it right. Back then news of SQL dbs getting hacked were common and after buying several books on SQL I realized that to be proficient required years of study and experience. CouchDB had just come out around then so I looked into it and for me that's been much easier to work with, and do so securely. It's practically designed for an app like ezInvoice. PouchDB.js has made it easy for me to work with. If you're already proficient with SQL there's probably no compelling advantage to using CouchDB/PouchDB, but it's a really good tool set for building web apps.
- nu-world-odor 3y ago[dead]
- hintymad 3y agoThe cloud may be a prison, but its infra services, specifically EC2+Autoscaling Group, S3, SQS, and DDB, make the cloud a Four-Seasons-like prison. So, what specifically can we do to make local-first at least equality productive for a med-sized company like Uber for at least the following simple (doesn't mean they are easy, though) requirements: - Anyone in the company can launch and configure an autoscaled VM cluster. It's surprisingly hard to create a system like EC2, as Uber failed to do so even though they tried, and a number of multi-billion-dollar internet company tried and also failed. - Anyone can store any amount of data and scan them with practically unlimited bandwidth for analytics. In fact, object storages on cloud have been so good that I failed to see a thriving open-source community that actively work on an alternative. - A database that just works and can handle a wide range of workload, including seemingly anti-patterns like using database as a large-scale distributed queue. Yes, I'm talking about DDB. - A simple queue that supports competitive consumer pattern and practically scales infinitely. Per Tim Bray, a queue that "is almost perfect" as SQS.
- freedude 3y agoI was reading through the comments after reading the article and realized some didn't take the time. So TLDR; Local-first software is about doing the work on the device at hand securely, effortlessly and serverlessly collaborating on that work using data structures that are designed to facilitate local-first collaboration. It is a platform shift in software development and if you are "all-in" on cloud technology it would behoove you to understand its tenets if for no other reason then to know "who moved my cheese" in the future.
- petedrexel 3y agoBest I can do is edge.
- lakomen 3y agoUnreadable... Popup after popup
- mitchbob 3y agohttps://archive.ph/2023.08.03-124319/https://www.wired.com/story/the-cloud-is-a-prison-can-the-local-first-software-movement-set-us-free/ https://archive.ph/2023.08.03-124319/https://www.wired.com/s...