Onor.io

Onor.io

The Pendulum Swings Back

I saw this post:

And I was reminded of a talk @BruceTate gave several years ago about how the pendulum swings back and forth. In the days of the mainframe all the horse power was on the server. Then PC’s came along and users started getting some power locally. Then we moved to client/server and everything was on the back end again etc etc. By the way Bruce I do apologize if I’m mangling your ideas–it’s been a while since you gave that talk and I’m going off memory.

The thing is, some apps are simply a better user experience local and some apps are simply better hosted off of a server. Dictating that all apps must be one or the other is poor engineering.

First Post!

sodapopcan

sodapopcan

Or more likely “Marketing-first software” :wink:

Somewhat tangentially, Chris being upfront about LiveView not being right for all situations from the get-go was one of the many things that impressed me about it.

Most Liked

derek-zhou

derek-zhou

Local-First web applications are basically what should have been written as native applications. However, due to the fact that most people’s computer are not computers anymore, but walled gardens controlled by mega corporations, developers have to do this ****.

kokolegorille

kokolegorille

We can do local first with Phoenix…

There was a talk yesterday about ElectricSql at Code BEAM America

dimitarvp

dimitarvp

While it is historically accurate to say that the pendulum has been swinging back and forth, and that the reasons for that are mostly well-understood (mostly related to the power of the client and/or the server machines really), I feel that this ignores what is actually a good idea and/or pragmatic to do.

IMO most people in many apps, barring social networks or just very social apps like chats, 99% of the time interact with computers in their own mini universe. They would be completely fine if the app stored their changes in a local SQLite instance that lives in a WASM runtime in the browser, for example. And syncs all changes, say, once every two minutes. And have browser capabilities that clearly state “if this tab is closed, sync this DB to this server endpoint and don’t give up until it’s done”, invisibly from the user – they can close their tab and move on with life.

Many people in smaller organizations (and/or more closed ones but still with a lot of customers) have explored very similar ideas btw, and they found them working crushingly well.

Of course, as you yourself said, it seriously depends on the app – of course. But even something like an e-commerce website where you browse products, add favorites, put stuff in a cart, order, pay etc. can work just fine with mostly local access. I mean, not like most e-stores change their inventory 20 times every day… syncing stuff once every 2 to 120 minutes is going to serve nearly everyone just fine, 99% of the time.

Alas, the tech zeitgeist moved to the path of least resistance, as it always does because, you know, the companies need interns that are paid 10x less than a senior. :slight_smile:

Last Post!

Onor.io

Onor.io

Hi all!

I really didn’t expect this much reaction to this. :slight_smile:

I was just reminded of Bruce Tate’s talk and just wanted to point out the similarity. Bruce is a sharp guy and I was just impressed by the fact that he called it years ago.

Personally I’ve been in corporate environments where “everything has to be a web app” and I think that’s an ignorant approach. Yes, lots of things work well as web apps but the Golden Hammer syndrome for web apps is sort extremely short-sighted.

Just my opinion of course.

Where Next?

Popular in Discussions Top

AstonJ
Please see the new poll here: Which code editor or IDE do you use? (Poll) (2022 Edition) It’s been a while since we first asked this, I...
208 31771 143
New
lorenzo
Hey everone! I created a prototype for my app using Nodejs for the api. But the framework I chose wasnt great (in general theresnt any g...
New
thojanssens1
It would be nice to be able to define a redirect from one route to another from the router.ex file. E.g.: redirect "/", UserController, ...
New
mikl
I wanted to capitalize a string, and tried using String.capitalize(). That generally works well, until you try to capitalize a word like...
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New
Rustixir
Hi everyone, im working on find best language/framework/system for high concurrency, high performance and stable performance after wor...
New
crispinb
On reading dhh’s latest The One Person Framework it strikes me that Phoenix with LiveView is already pretty much this. However, never hav...
New

Other popular topics Top

joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 42716 114
New

We're in Beta

About us Mission Statement