[HN Gopher] What if we had Local-First Software?
       ___________________________________________________________________
        
       What if we had Local-First Software?
        
       Author : adlrocha
       Score  : 170 points
       Date   : 2020-10-15 16:10 UTC (6 hours ago)
        
 (HTM) web link (adlrocha.substack.com)
 (TXT) w3m dump (adlrocha.substack.com)
        
       | lukeplato wrote:
       | A lot of the philosophy is similar to the Solid (Social Linked
       | Data) project that Tim Berners-Lee started.
       | 
       | https://en.wikipedia.org/wiki/Solid_(web_decentralization_pr...
        
       | space_ghost wrote:
       | This is absolute must for any kind of computing activity that's
       | not on Earth or in Earth orbit.
        
       | egypturnash wrote:
       | Uhhh
       | 
       | Have any of y'all ever heard of something called "Adobe Creative
       | Cloud", it's...
       | 
       | It is literally trying to answer most of these questions for a
       | set of titanic applications that predate _the entire world wide
       | web_ , it solves, offhand, at least five of these seven
       | principles - it's (1) built around apps that have been working
       | with local files since the eighties, (2) can sync your work
       | between multiple devices, I just carry my laptop everywhere so I
       | dunno how well it works, haven't played with the iPad apps yet so
       | I dunno about those, (3) works just fine with no net access
       | (though it'll cut you off if you don't hit the authorization
       | servers every few weeks), (4) I am not sure how it solves the
       | conflicting changes problem as I work solo, (5) your data's on
       | your local device and in Adobe's cloud for as long as you
       | subscribe, (6) okay well stuff's probably stored unencrypted,
       | unless "I turned on whole disc encryption" counts (7) it's your
       | own files and your own backup strategy.
       | 
       | That's five checkboxes out of seven, better than the 4/7 that
       | "email shit around" and "github" get.
       | 
       | And it is relentlessly uncool. But it has been here for a good
       | while and none of y'all have noticed it because it's built for
       | artists.
        
         | throw0101a wrote:
         | > _Have any of y 'all ever heard of something called "Adobe
         | Creative Cloud", it's..._
         | 
         | ...something that I have to rent and can no longer own.
         | 
         | See also losing user's data:
         | 
         | * https://www.theverge.com/2020/8/20/21377411/adobe-
         | lightroom-...
        
         | cactus2093 wrote:
         | I completely agree, but I think the days might be numbered.
         | 
         | In Lightroom what you're describing, with the easy to work with
         | plain files, is called Lightroom Classic. It's still supported
         | alongside regular Lightroom, but it wouldn't be a huge surprise
         | if it gets deprecated at some point. It also only works on
         | desktop.
         | 
         | What is now called regular Lightroom requires Adobe cloud to
         | sync between machines instead of letting you manage your own
         | files & syncing, and is the only way to sync between the newer
         | iPad version of Lightroom or Photoshop and the desktop.
        
         | reificator wrote:
         | I want to own my data _and_ my tools.
         | 
         | I don't want to pay a subscription service to Adobe any more
         | than I want to pay a subscription service for my desk and
         | chair.
        
           | CharlesW wrote:
           | > _I want to own my data_ and* my tools.*
           | 
           | More power to you! But this article is specifically about
           | local-first/offline SaaS, which is what Creative Cloud is.
        
           | Xavdidtheshadow wrote:
           | The tough thing is that most software products you use are
           | actively maintained and updated. That costs them money each
           | month, so they pass those costs to you.
           | 
           | It would be great if we could see more software sold as-is,
           | without updates. But, especially in the world of online-
           | capable tools (which not everything is, but most apps can
           | access the internet), ongoing security maintenance is
           | important. I'm not sure we can have it both ways.
        
             | rabidrat wrote:
             | Too often, those updates _break_ already working tools. I
             | don 't need my essential app insisting that I wait 10
             | minutes to upgrade when I'm 1 minute away from giving a
             | presentation using it.
        
             | 0xffff2 wrote:
             | Maybe they don't need to be though. One of my greatest
             | regrets is that I couldn't afford to purchase Photoshop and
             | Illustrator back when that was still an option. The Adobe
             | CS6 suite is software that is "done" as far as I'm
             | concerned. I would gladly pay $1000 each for CS6 Photoshop
             | and Illustrator with absolutely no future updates if I
             | could.
        
             | trotFunky wrote:
             | I haven't given it much thought, but I like Jetbrain's
             | compromise[0]. You pay a subscription to get all the
             | updates, but you get to keep a perpetual license to any
             | specific version (major+minor, you still receive bugfixes)
             | if it has been covered by your subscription for 12 months
             | or more.
             | 
             | This way you can choose to receive updates indefinitely and
             | support development with your subscription, or buy/stay
             | with a version you are using if you do not need/want the
             | newer ones. (Buying an annual subscription grants you the
             | perpetual licence immediately apparently, I have no
             | experience with this.)
             | 
             | [0] : https://sales.jetbrains.com/hc/en-
             | gb/articles/207240845-What...
        
               | Xavdidtheshadow wrote:
               | Agreed! I think that's a great model. Panic did the same
               | thing recently: https://nova.app/buy/
        
             | throw0101a wrote:
             | > _The tough thing is that most software products you use
             | are actively maintained and updated. That costs them money
             | each month, so they pass those costs to you._
             | 
             | Adobe managed to stay in existence and be profitable for a
             | few decades before switching to software rentals.
             | 
             | What changed in the creative space that caused
             | 'traditional' software sales to no longer be able to pay
             | the bills? And why doesn't that also apply to, say, Capture
             | One?
        
               | infogulch wrote:
               | > What changed
               | 
               | Businesses often prefer operational expenses over capital
               | expenses. What changed is that your average business IT
               | (bigcorp or mom's basement) now has reliable access to
               | the internet, which means that an operational expense for
               | software has just recently become _possible at all_.
        
               | Xavdidtheshadow wrote:
               | I was never a paying user of Adobe products, but my
               | understanding was that they'd release a new (yearly?)
               | version as a paid upgrade. It would presumably have a
               | killer feature that would encourage enough of the users
               | to buy, which (hopefully) retroactively funds the cost of
               | the new version's development.
               | 
               | From the perspective of their business, it's advantageous
               | to have the consistency of $X / month forever instead of
               | "hopefully a huge yearly sales month, followed by mostly
               | nothing until next year". Businesses like predictable
               | revenue.
        
         | merb wrote:
         | Adobe Creative Cloud is probably the worst sync software I ever
         | encountered. On Mac and on Windows. It's probably even way
         | worse than a one week demo with Windows Cloud Sync Engines.
         | Most Adobe products are crap, slow and have tons of bugs. Their
         | specification around pdf is so complex that even adobe reader
         | does things differently than the spec.
        
         | darth_avocado wrote:
         | Last I checked, creative cloud isn't truly offline first. How
         | many times have I opened Illustrator on an airplane, only for
         | the creative cloud to completely block opening my local
         | application till I don't sign in onto the cloud (mostly to
         | verify if I paid for my subscription this month). That's not
         | what an offline first software should look like.
        
       | jlongster wrote:
       | I have a lot of experience with this having developed a personal
       | finance app that is local-first: https://actualbudget.com/
       | 
       | Having all of the data local is a superpower. It changes how you
       | build the app, and you just never have to worry about the
       | network. Everything is fast _by default_. It's great.
       | 
       | The app uses CRDTs to sync and it's unlocked a lot of powerful
       | stuff like a robust undo system. We also offer end-to-end
       | encryption.
       | 
       | On the negative side, over time I've stepped back a little from
       | being truly local-first. The mobile app used to connect to the
       | desktop by pointing the phone's camera at a QR code on desktop,
       | and it would literally sync peer-to-peer. Maintaining that was
       | nightmare and users had endless networking problems. Our network
       | infrastructure unfortunately is not built for truly peer-to-peer
       | apps. Maybe ipv6 will help, I don't know. My app now has a
       | "centralized" server but it's really just a backup that gives
       | some convenience - the app is still totally local but syncs
       | through a single server. You can work on it for weeks offline and
       | then sync up. In the future when p2p is ready, I'll be ready for
       | it.
        
         | MrZander wrote:
         | This looks great, do you have a newsletter? I'd love to know
         | when you implement bank syncing. That's the only thing keeping
         | me from signing up right now.
        
           | wry_discontent wrote:
           | I've seen some ways you can hack this functionality together
           | with email alerts for any > $0 transaction.
           | 
           | Does Actual expose any api stuff?
        
             | jlongster wrote:
             | yep! https://actualbudget.com/docs/developers/using-the-
             | API/
        
           | jlongster wrote:
           | Thanks! Sort of do but unfortunately you can only subscribe
           | to it right now by subscribing to a trial. If you email
           | help@actualbudget.com I'll subscribe your email manually.
        
         | Larrikin wrote:
         | This looks great and similar to YNAB. Do you feel you offer
         | anything over YNAB vs just being local first.
        
           | TimSchumann wrote:
           | I've actually been looking for an alternative to YNAB since
           | they forced you into a cloud subscription model with data
           | hosted on their servers. I mean, they didn't force, but they
           | essentially stopped updating the standalone product.
        
           | jlongster wrote:
           | Right now, the differences are all in the details (income
           | categories, no weird credit card handling, etc), and there
           | are many of them. But instead I'll focus on what is to come
           | soon:
           | 
           | * A custom rules engine (to be released in a few weeks).
           | You'll be able to write a list of conditions for matching
           | transactions, and a list of actions to apply when matched.
           | The system will automatically encode what it learns as rules
           | (apply category X to payee Y) so you can see what it's doing
           | and adjust.
           | 
           | * Multiple budget types. Zero-based budgeting is cool, but
           | Actual is just a tool for you. If you want, you can use a
           | simple report based that just shows income vs expense. You
           | choose the type you want adapt it to your lifestyle.
           | 
           | * Custom reports. This is really where having all your data
           | local is incredible. You'll be able to write queries into
           | your data, process it, and render any kind of visualization.
        
             | boarnoah wrote:
             | > You'll be able to write queries into your data, process
             | it, and render any kind of visualization.
             | 
             | Now that sounds very cool.
             | 
             | Out of curiosity, do you have any plans to handle things
             | that cannot be local first (for example with YNAB I like
             | the Plaid Integration to pull transactions data out of
             | banking).
             | 
             | Something like that for your application would need to
             | clear through your own API right?
        
               | jlongster wrote:
               | Yep, bank syncing is going to launch by the end of the
               | year.
               | 
               | It's tough. I've wrestled with this for over a year. Bank
               | syncing has to come from my server, which means by doing
               | so you are giving us access to your transactions. No
               | banking provider has any way for clients to contact them
               | directly. I think this is possible with the right
               | encryption, but nobody is working on it. I've given this
               | feedback to Plaid but they don't care.
               | 
               | The majority of people need the convenience of syncing
               | though. So I plan to launch it, and it'll go through my
               | server, and I plan to communicate clearly the privacy
               | that you are giving up by doing so.
        
           | throw0101a wrote:
           | Personally, if I can get a YNAB4-equivalent that will work
           | with macOS 10.15+ I'd be very happy. (YNAB4 is 32-bit only,
           | and YNAB5 is subscription--and since I have no need for the
           | cloud stuff I refuse to rent it; I do have a license for
           | YNAB4.)
        
         | avrionov wrote:
         | The app looks great. What technologies did you use to develop
         | it?
        
         | cw wrote:
         | I cannot imagine my life without Actual. Bookkeeping is such a
         | joy with this tool. I've used Acutal for more than a year to
         | manage the budget for two companies and my personal finances.
         | Highly highly recommend.
        
           | jlongster wrote:
           | Wow, that's really great to hear! There's so much more I'm
           | excited to build into it, so it will only get better.
           | Something I'm most excited about is custom reports. Having
           | all your data local is going to make those super powerful.
        
           | phkahler wrote:
           | Who mentioned Actual? Is this a pair of advertising comments?
        
         | matheusmoreira wrote:
         | > Maintaining that was nightmare and users had endless
         | networking problems. Our network infrastructure unfortunately
         | is not built for truly peer-to-peer apps
         | 
         | What causes these problems? NAT?
        
           | jlongster wrote:
           | Yep, that and public routers blocking types of protocols.
           | There was a phase where I switched to using mDNS
           | (https://en.wikipedia.org/wiki/Multicast_DNS) so you didn't
           | need a QR code, which discovers other devices. Turns out most
           | public wifis (coffee shops) flat out block it.
        
             | bitz-please wrote:
             | What protocol were you using before that? Had you looked at
             | using webrtc?
        
               | sebmellen wrote:
               | WebRTC is a horribly fantastic mess of complexity which
               | is very hard to work with without using a third-party
               | provider like https://simplewebrtc.com. Your head will be
               | swimming with acronyms like ICE, TURN, STUN, etc. before
               | you even understand the basic signalling mechanisms.
        
       | [deleted]
        
       | junon wrote:
       | We've come full circle. The web developers are starting to
       | realize there's a whole operating system underneath the browser
       | that might actually be of some use.
        
         | jka wrote:
         | I'd be very curious to know what percentage of total aggregate
         | CPU and memory resources are in the hands of everyday people
         | (in smartphones) compared to in datacentres.
        
           | saalweachter wrote:
           | 1 gigabyte over a billion cellphones turns into a exabyte, so
           | I would guess, similar orders of magnitude?
        
         | qsort wrote:
         | Web applications can be run locally.
         | 
         | As much as it's easy to shit on the web stack, it solved a real
         | problem, namely the 'operating systems underneath' being
         | absolute clusterfucks at least as much as the web. It's really
         | sad that the only way to reliably access something from
         | multiple devices and locations are websites.
         | 
         | Ironically, if we're ever going to see something like the OP
         | wants, it's 100% going to be locally-run webapps. Whether we
         | like it or not, think it's right or not, it's clear by now that
         | the average joe is not going to learn tools like git.
        
           | thsealienbstrds wrote:
           | OSes may be technical clusterfucks. However, the most
           | important thing imho is that all this shit is running on a
           | stack that's robust against vendor lock-in. That's easier
           | with a smaller stack since you have less vendors to worry
           | about. LFSFS (local-first software from scratch), if you
           | will.
        
           | wrnr wrote:
           | That's why I am so exited about gioui.org because it'll allow
           | native applications for OSX, Windows, Linux (both X11 and
           | Wayland), iOS, android and (sortof) webASM.
           | 
           | It is a simple wrapper around the input devices like mouse,
           | keyboard and touch screen and outputs the graphics using GPU
           | shaders (DirectX, OpenGL, Metal). It feels like a mix between
           | a 2D game engine and a UI library.
           | 
           | The immediate mode architecture is a mindfuck how easy it is
           | compared to (functional) reactive programming. You basically
           | get all the benefits of having observers of values with just
           | values.
        
             | nine_k wrote:
             | The usual problems are caused by the non-native controls:
             | no built-in affordances like spell checking and all the OS-
             | specific behaviors, no easy way to plug in accessibility,
             | and the non-native look and feel.
             | 
             | All this is totally fine for a game UI, and is a much
             | harder sell for productivity software.
        
               | wrnr wrote:
               | Thats a little bit unfair, even the W3C's web-agency has
               | a hard time building an accessible website and needed
               | spend two weeks (of billable time) reviewing different
               | web frameworks because of it:
               | 
               | https://w3c.studio24.net/updates/on-not-choosing-
               | wordpress/
        
               | nine_k wrote:
               | Not that many people need accessibility. About 100% of
               | people need spell-checking, though.
        
               | OnlyOneCannolo wrote:
               | Certain types of automation and testing are often built
               | on top of accessibility features. Accessibility doesn't
               | just mean accessible to the disabled. It also means
               | accessible to your code.
        
               | p_l wrote:
               | Exactly. And people forget that depending on the UI
               | libraries you use, you might get a mostly accessible app
               | by default. All of core Windows widget classes, and
               | WinForms and WFP, support accessibility features. Worst
               | case you have a somewhat broken object tree without good
               | labels, but that's already a start.
               | 
               | Dealing with something that believed it only needs a
               | canvas to draw on is PITA.
        
       | knubie wrote:
       | I've tried to follow this approach with my own app[0]. An account
       | is optional, and a subscription plan is available to sync your
       | data across devices.
       | 
       | There have definitely been some challenges with this approach,
       | from available tech stacks to customer support, And user
       | expectations. There were also some unexpected upsides, like
       | requiring less server resources. All in all I think it was worth
       | it and I hope this trend continues.
       | 
       | [0] https://mochi.cards/
        
       | danschumann wrote:
       | What does this look like for email? Do we have to trust a
       | particular email account for everything?
        
         | 205guy wrote:
         | Ummm, IMAP? Reading the article, this was my first thought:
         | email applications like IMAP clients that work offline are the
         | perfect example of this philosophy.
         | 
         | If you can't access your mail provider, you still have all the
         | data from the last time you did, you can search old emails
         | because they're stored locally (you can set how much you want
         | to keep for these situations), and you can write an email and
         | it will be stored in the outbox to be sent when connectivity is
         | restored. In other words, your email experience is exactly the
         | same as with connectivity, except for a banner that reminds you
         | that it hasn't been able to download new mail since HH:mm.
        
       | roughly wrote:
       | The basic problem here is not a tech problem, it's a business
       | problem.
       | 
       | Your data is siloed inside a cloud-only app because it means
       | you'll keep paying for it. You can't export it or share it to
       | other apps because that'd be competition for the service you're
       | paying for. It's online-only because it makes the entire service
       | useless once you stop paying.
       | 
       | There's technical solutions for this, and they'll get no traction
       | whatsoever so long as it's more profitable to keep people locked
       | into a cloud-based service.
        
       | pjfin123 wrote:
       | Plug for my open source "local-first" alternative to Google
       | Translate (https://github.com/argosopentech/argos-translate). It
       | has a Google Translate like GUI and lets you install packages to
       | support translating between different languages.
       | 
       | It currently doesn't have the ability to go to web services for
       | translations you don't have installed locally but that's a
       | feature I'm considering adding at some point. It would seem like
       | the best way to do this we be to track (locally) which
       | translations you use frequently and then save them locally (a one
       | way translation package between two languages is ~100MB). This
       | would give you the privacy/offline access of translating locally
       | for language pairs you frequently use, while also seamlessly
       | supporting the large number of languages supported by cloud
       | services. You could also give power users much more fine-grained
       | control over which translations they keep saved locally.
        
       | meagher wrote:
       | Good read with similar ideas and same name
       | https://www.inkandswitch.com/local-first.html
        
       | mceachen wrote:
       | I've been soaking in this space for the past couple years as I've
       | developed PhotoStructure, a local-first photo and video manager
       | [1]. _I have opinions._
       | 
       | While I'm certainly sold, personally, on local-first software
       | (obviously), I think it's going to become an increasingly harder
       | sell for Normal People. 15 years ago, a large percentage of
       | households had at least one desktop or laptop, as it was the only
       | way to get on to the internet.
       | 
       | As smartphones have taken that place for most people, nowadays if
       | you've got a desktop, it's likely only for gaming, and most
       | commonly-purchased laptops (esp that don't come with Windows)
       | have stagnated in performance and capability, as their companies
       | push people to use their cloud service offerings. NAS devices
       | seem to remain niche products. This drove me to have to support
       | _everything_ : Windows, macOS, Linux desktops, and everything
       | that can run Docker. I've been very surprised to find an almost
       | perfect split of users for each edition (desktop vs docker).
       | 
       | Given the popularity of personal-information-selling social
       | platforms (however it may be waning), I don't think most people
       | are concerned about privacy to give up (almost any) convenience.
       | I'd love to be wrong. I'm hoping to make something easy enough to
       | install and live with that it isn't an inconvenience, but it's
       | hard to compete against enjoying someone else's infrastructure
       | and application management teams, for "free" (where "free" ===
       | all of your personal information and telemetry).
       | 
       | (For what it's worth, PhotoStructure only runs on hardware you
       | own, and none of your data leaves your computer, except for error
       | reporting, and even that can be disabled).
       | 
       | [1] https://photostructure.com/
        
         | A4ET8a8uTh0 wrote:
         | Your product looks interesting to me. My minor beef is with
         | recurring annual subscription ( assuming no updates, I just
         | want to pay once ). I do like the idea though.
        
           | mceachen wrote:
           | > assuming no updates
           | 
           | Know that the free tier will still open and browse existing
           | libraries: I'm not going to hold anyone's library hostage in
           | exchange for a subscription.
        
       | [deleted]
        
       | dragontamer wrote:
       | > How would an offline-first Internet look like?
       | 
       | Did people not grow up on Juno Email services?
       | 
       | Oh wow. An entire generation of modern computer users never had
       | the opportunity, did they? You'd connect to the internet to
       | download your email, then you disconnected (otherwise, you'd use
       | up too much of your phone line and get a big phone bill).
       | 
       | The POP3 protocol still works. You can still get Mozilla
       | Thunderbird and grab POP3-style emails from GMail or whatever.
       | But people want IMAP instead, an always-connected model provides
       | better idea of which emails were "read" or "not read", for
       | example.
       | 
       | Ex: You may download all emails on your Phone, but maybe Email#0
       | is never opened on your phone. If you used POP3, you don't know
       | if Email#0 was read or not, the protocol just assumed you read
       | it.
       | 
       | -------
       | 
       | How did forums work back then? Through USENET. A similar concept,
       | where you'd download the messages, then disconnect from the
       | internet as you read all the updates.
       | 
       | BBS machines however were online-only, and the start of real-time
       | collaboration IIRC (not that I ever used BBS, but that's my
       | understanding of that old telnet technology). I don't know the
       | history: whether BBS or IRC came first (or which was popular
       | first...)
       | 
       | The "Killer App" for the internet, AOL Email / Juno Email / etc.
       | etc. was offline-first, by and large. At least, to me (a good ol'
       | "Eternal September" user who joined the internet community well
       | after 1993).
       | 
       | --------
       | 
       | Anyway, you'd read and write emails while offline. Then you'd hit
       | "send", which would boot up the modem, take over your phone line
       | (woops, Mom's talking on the phone. Sorry mom!!). Wait for Mom to
       | get off the phone, THEN you connect to the internet...
        
       | snow_mac wrote:
       | > How would an offline-first Internet look like?
       | 
       | 1Password comes to mind. If you sign up for the subscription, you
       | can easily access it offline, sync to the cloud now or later.
       | Enable 2factor, and you can still access the vault offline, want
       | to sync with the cloud? Enter the 2factor ID and you're in
       | business.
       | 
       | > Your Work Is Not Trapped on One Device
       | 
       | Microsoft Office does a great job with this and office 365. You
       | have the powerful Word running locally, saving both on disk and
       | virtually in the cloud. But then if you switch machines, want to
       | use in the browser? Easy no problem
       | 
       | > Seamless collaboration
       | 
       | Doesn't Git solve this problem?
        
         | geff82 wrote:
         | Concerning O365, is it only me who thinks they have invested
         | exactly zero to make Word Online actually display a document
         | that has even the slightest complicated formatting correctly?
         | Documents that are displayed horribly in Word Online actually
         | work quite well in Nextcloud/Collabora online.
        
         | suprfnk wrote:
         | >> Seamless collaboration
         | 
         | > Doesn't Git solve this problem?
         | 
         | The author mentions that:
         | 
         | "The collaboration approach that I personally like the most
         | (and the one I feel could be embedded in "local-first
         | applications") is the one used by git."
        
       | Sodaware wrote:
       | I remember Microsoft pushing hybrid apps called "Smart Clients"
       | back in 2003.
        
       | bhauer wrote:
       | I have a vision of computing that I call "personal application
       | omnipresence" (PAO) [1] where applications are singular instances
       | that you interact with concurrently from any device. Notionally,
       | it's similar to having multiple "views" in a MVC architecture,
       | and allowing each of those views to adapt to the capabilities of
       | the device displaying the view.
       | 
       | The article linked here talks at length about concurrent edits
       | and the data structures necessary to handle work by multiple
       | application instances. I feel this is (potentially) unnecessary
       | effort. Rather than build applications to support concurrent
       | edits by fat clients, use thin clients that all speak to the same
       | instance of the application with its singular state. Concurrent
       | work would therefore be resolved in real-time by a single
       | application instance in a first-come-first-served basis, without
       | any complex data structures or clever coding.
       | 
       | The root of so much complexity in modern computing is that all of
       | us have multiple application instances when virtually nobody
       | actually wants this. I don't want a separate email client on
       | every device. I want a single email client that I can attach
       | views to and interact with from anywhere.
       | 
       | [1] https://tiamat.tsotech.com/pao
        
       | daleharvey wrote:
       | People couldn't sell adverts?
       | 
       | Working on PouchDB I spent a good amount of time thinking about
       | how to "sell" local / offline first apps. It seemed a lot to me
       | like the problem was plain old capitalism, offline / local first
       | software is faster / and more robust, for most circumstances its
       | a better decision for the user. However the economic incentives
       | arent there to build the best software, the economic incentives
       | are to slow webpages to a crawl with adverts and planned
       | obsolescence.
        
         | Nasrudith wrote:
         | Slowing to a crawl is counterproductive greed essentially as it
         | repels the user base and doesn't aid sales. Google won out with
         | text adds as opposed to "punch the monkey" autoplay banner
         | crap.
         | 
         | Aside from that there is the issue of portability which comes
         | with the power - namely supporting everything and barrier to
         | entry. But the bigger difference is probably convenience. Web
         | typically needs no install and less commitment and gives a
         | single set of servers to work on for everybody.
         | 
         | Take a general referral/word of mouth. Web has more or less "go
         | to the URL and try it with no commmitments or extra steps" and
         | web shopping found not needing to register was crucial for
         | people actually trying. Now compare local first "Hey you should
         | try and download Notepad++/git/etc." And that is before IT
         | policies or licenses get involved which can mean a certain
         | segment get a hard block they wouldn't for a web service unless
         | they specifically decided that say "pastebin is a hard no" and
         | then missed that the new hotness is say clipboard.com anyway.
         | 
         | We had an approach which tried for its own best of both worlds
         | with its own sandbox and that was in browser Java applets.
        
       | sylvain_kerkour wrote:
       | I tried to create a collaborative (the most important point),
       | local-first, end-to-end encrypted app.
       | 
       | I really tried. But it's hard, really hard. Like all distributed
       | systems.
       | 
       | CRDTs are far from a panacea:
       | 
       | * No implementation is compatible with another
       | 
       | * There is very few implementation in languages that are not JS.
       | 
       | * The biggest problem is when 2 documents are diverging for too
       | much time (think a blockchain fork) like if you go offline for 4
       | days while your coworker work on the same document as you do. You
       | have to come back to differential sync, like Git.
       | 
       | And it's just for sync, then to move to P2P you have to handle
       | NAT traversals, distributed identities, rendez-vous places and
       | much more.
        
         | LukeEF wrote:
         | You speak my pain... took so much pain to overcome these
         | problems when delivering TerminusDB... taking best ideas from
         | blockchain, git and rolling them all together... this white
         | paper we wrote might remind you of past suffering...
         | https://github.com/terminusdb/terminusdb-server/blob/dev/doc...
        
       | LukeEF wrote:
       | TerminusDB and Hub (co-founder here) is offline first open source
       | data collaboration software. We built the service so you can work
       | offline for as long as you want and then resync when you're
       | online again. We always felt this was the most important aspect
       | of collaboration - you don't want to just update a common live
       | view like google sheets, you want to go away make mistakes, fix
       | them and merge when ready. We are also in-memory, so we put a lot
       | of effort into compression, which worked out great as we can use
       | your regular machine for the compute. Download the analytic
       | engine, link to the hub and you can share data free and easy.
       | Obviously talking my book, but a great backend for lots of this
       | sort of collaborative local-first software (we're a DBMS at the
       | end of the day). Will be rolling out p2p soon I hope - so going
       | from GitHub for data to napster for data! #LivingTheDream
       | https://terminusdb.com/hub/
        
       | wrs wrote:
       | This is kind of funny because of course _everything_ before about
       | 2001 was "local first". There have been multiple generations of
       | patterns for connecting a local app to a network for
       | collaboration, so there is a lot of history to check out. Ray
       | Ozzie's Groove was the closest thing I can remember to this: a
       | local object store with P2P and central-store connectivity, based
       | on a common synchronization algorithm. CRDTs have come a long way
       | so that may be an important new angle.
        
       | SolarNet wrote:
       | This is a big one for me. But I think there is a missing level
       | here. Local as in area, not just local to the machine.
       | 
       | Municipal and Neighborhood level networks would solve a lot of
       | problems inherent in the broader internet, as well as making
       | solving problems as discussed by the OP easier.
       | 
       | For example, it's a lot easier to trust your neighbor than
       | someone on the internet (and better too). For one you can look
       | them in the eyes and shake their hand, for another you are both
       | governed by the same court (though this does make privacy more
       | locally relevant). On the flip-side this means local people don't
       | necessarily have to be great at the internet themselves to use
       | these complex hosted programs. It's just another website rather
       | than setting up a google docs server or using a git repo.
       | 
       | Continuing, another problem it solves is local discoverability.
       | There are a thousand products out there that do local services,
       | from craigslist, on down to "local wikis". But these services
       | don't often care about your community, and it can be hard to know
       | what other people are using (separating local efforts across a
       | global network). Putting them all on a local network, with a
       | local index (and search engines) allows better discoverability
       | nearby (especially if portals into neighboring communities can be
       | connected, eventually perhaps into a federation of sorts), but
       | also services that are oriented to local needs (and issues and
       | regulation).
       | 
       | I'm not saying this would replace the internet. Obviously not.
       | But it would provide a better, safer, and more useful "local
       | layer" of the internet to go to first (to say nothing of the
       | social media security and child safety aspects). That also
       | happened to be faster and more resilient (doesn't go down when
       | the internet does). The problem of course is shit ISPs, though
       | this is why the MeshNet people do what they do. And having
       | applications and a community ready for it. The technology (and
       | culture) would also be useful for communities that can't
       | participate in the global network, from isolated communities
       | (either due to poverty, authoritarinism, or remoteness) to future
       | ones (spaceships, remote colonies).
       | 
       | Just a thought.
        
         | Mediterraneo10 wrote:
         | Reminds me of when broadband was rolled out in Romania in the
         | early millennium, and the local ISP would give you details for
         | a server where you could share films and music with people from
         | the same city.
        
       | Animats wrote:
       | We should at least have local software for home automation. It
       | should not be necessary to go out to "the cloud" to set the
       | thermostat or turn on the lights.
        
       | anarchogeek wrote:
       | We've built a local first social media app, planetary.social,
       | it's in testflight, but go to bit.ly/planetarytesting to join.
        
       ___________________________________________________________________
       (page generated 2020-10-15 23:00 UTC)