Comment by jasonkester
6 years ago
This is a lot of good work and thinking put in to a technical solution to something that’s not a technical problem.
The reason that software is online is a business one, not a technical one.
Software as a Service is impossible to pirate and generates continuous income rather than a single upfront fee. That’s all you really need to know to understand why there is less and less desktop software coming to the market these days.
So yeah, sure, if you were to build a piece of desktop software from a clean sheet of paper today, this is a really good guide on how to do that. But nobody is going to. Because it makes no business sense to do so.
Most people won't make use of this kind of research. However, CRDTs aren't just another way to architect the same kind of software. They are an inversion of the tropes and techniques we've zealously stuck to over the last decade, and they grant us brand new technical capabilities that no SAAS player will ever be able to offer:
• Offline-first support with real-time collaboration
• Real-time collaboration with local devices over Bluetooth/ad-hoc Wi-Fi
• End-to-end encrypted real-time collaboration without the server having access to any of your content
• Transport-agnostic sync: use Dropbox, iCloud, and Bluetooth all at the same time with no consistency issues
• The ability to switch to a different cloud provider with zero friction, and to grab your (mergeable, collaborative, and versioned) documents from your current cloud provider without conversion to any intermediary format
• Anxiety-free sync: the user can be 100% confident that their changes will never fail to merge, even if they spent a month in the bush editing their documents
These are off the top of my head, but there are many, many others. And they are features. If enough people build software using these tools, people will get used to them and start seeing the big players as annoying and clunky. ("Why can't I make changes to my spreadsheet when I go through a tunnel? Why did I lose all the changes I've been working on over the last hour? What do you mean this .doc file is just a link to a webpage?")
Is there Big Money in it? I don't know (or care), but I'm going to try hard to make sure that any software I write on the side follows these principles, and I hope others start to do the same.
You could have easily said that "the reason that software is online is a business one" about time sharing versus personal computing, and yet here we are. Focus on the user instead of your bottom line and you will (eventually) win.
Can't say it better.
I welcome your thoughts on swarmdb http://github.com/gritzko/ron-cxx
That is syncable RocksDB with CRDTs inside. Pre-alpha.
Some other interesting projects: the DAT Project (https://www.datprotocol.com/, https://datprotocol.github.io/how-dat-works/) as well as Briar (https://briarproject.org/). I'm very interested in this space for all of the reasons you outline.
I'd say it's even simpler: Software as a Service is a lot easier to develop than software that a third party has to install: Integration of build pipelines that deploy the software immediately are a blessing for bugfixing and you can build an insane backend out of third party dependencies noone but you has to ever install and connect to each other.
I don't like the privacy problems this generates, but in a business environment I want my stuff to work for my customers, and that means I do the hosting.
There is also the huge advantage of not having to install anything. It's already hard enough to convince my friends to switch to any open source videoconferencing in-browser solution, I would never go through having them install a whole application.
"No install" is a major selling point, unfortunately.
"No install" is a major selling point, unfortunately.
I'm not sure that's entirely true, but since most people are now familiar with the likes of mobile app stores or one-click/one-command installations that Just Work(TM), the insane complication and risk that come with trying to install and manage software on a major desktop platform like Windows is now obvious for all to see.
4 replies →
Keep in mind that it's possible to develop Software as a Service by selling software that the user has to install - we have done it with our accounting software Solar Accounts. This approach is probably more painful to develop than the traditional web app, but it does give our users features such as (a) end-to-end security and (b) storing data locally - which are selling points for some users.
SAAS and the goals outlined in this article can be perfectly complementary if you let client-side JS do most of the work. Just because an app runs in the browser doesn’t mean that you also have to share all your data with the developer, or lose your ownership of it.
> The reason that software is online is a business one, not a technical one.
That's only partly true. Software gets more and more developed for the big corps in mind as the sole users. So web browsers are developed to make Google and FB happy. Kubernetes is developed to only work in AWS and Google Cloud really well. And so on.
All that hollows out the foundation that gives software usability to all of us. Eg. if big linux corps only focus on Kubernetes, Kubernetes only works in AWS and GC, then nobody puts effort into Linux anymore. It might even happen that linux gets unusable if you don't run it in such kind of environment. In the end it all depends how the majority of resources get spent.
So we come from today's tech level X everywhere to tech level X+Y in the cloud and tech level X-Z on local clusters. Then where will most of the data be? Where will the new hip stuff be? How can you develop new stuff with an incomplete local infrastructure?
What you lose is not the desktop software but the desktop. And you will lose it in a technical sense. You won't be able to rebuild it technically alone.
> a technical solution to something that’s not a technical problem
Why does a problem have to be 'technical' to have a technical solution? Skype, Wikipedia, Amazon, eBay...pretty much every major technical product I can think of solves non-technical problems, almost by definition.
> But nobody is going to. Because it makes no business sense to do so.
You are talking about a general trend as if it's ubiquitous. Yes there are strong business reasons why most software vendors have shifted to SaaS, but that doesn't obviate the fact that some users have problems for which local software is a better fit. The local software market may be smaller, but it exists, and it's incorrect to say it makes "no business sense" for anyone to operate in it.
New technology can be a prerequisite to solve certain non-technical problems, but it’s not the technology itself that solves the problem. Wikipedia is a good example. It probably wouldn’t work without the technology, but just building a wiki platform is not enough to get people to volunteer to collaborate on writing high quality encyclopedic articles. Arguably, the vast majority of the work that has gone into creating Wikipedia has not been technical.
Couldn't the same argument be made about why it made no sense to create the Linux operating system, since there was no business case to do so?
This may be a scenario where it's possible to create a communal good (for personal data ownership and control) which doesn't require businesses to lead the way.
In addition, it is feasible to distribute some-or-all of an application's software via the cloud while still keeping application data locally; we can be more nuanced here and keep a lot of the business benefits while caring more for users.
> Couldn't the same argument be made about why it made no sense to create the Linux operating system, since there was no business case to do so?
But there is a case to do so: https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/
> we can be more nuanced here and keep a lot of the business benefits while caring more for users.
If you are talking about "business", then we should not talk about "users" but "customers". And it so happens that most "customers" (so far, at least) consider it more valuable if the business also is responsible in keeping (and securing) the data. For these customers, putting the responsibility of controlling the data on them is a burden, not a privilege.
Customers vs users is a very interesting perspective - and yep, it seems very understandable that a 'customer' (or user) might not want to take on the liability of their own data storage.
I'm stretching a bit here, and haven't mused on your thoughts a ton, but perhaps one reponse is that this shift places demands on ensuring that local storage defaults - and the security of the delivered software - are adequate to keep the data safe in the hands of a layperson user/customer, and that that needs to distribute the cost and attacker opportunity away from massive centralized data silos enough to make the markets (and users, customers) follow.
Another angle would be to (optionally) assign another organization/entity as your storage provider - I think the 'Solid' project was suggesting something along these lines.
> makes no business sense to do so
Actually it's not true that local-first software cannot be businesses (or non-profit orgs but still revenue-generating), it's just that the money to be made in local-first is an order of magnitude (at least) smaller than with cloud software. On one hand, the money to be made is much smaller, but on the other hand, local-first is where the next big disruptions can happen, while still having a non-zero revenue. Look at open source or open data projects for some examples on this: Wikipedia, VideoLAN (VLC), OpenStreetMaps, etc.
> But nobody is going to. Because it makes no business sense to do so.
While your reasons make sense, they make sense from the supplier side. However, the ultimate decider of what makes "business sense" is not the supplier, it's the customer.
You can have all the supply-side advantages in the world, if your customers decide they want that other gal's product, you're toast.
It may not even make sense from a supplier side (sometimes). Instead of just writing the SW, the supplier now has to manage servers, deal with angry customers when downtime happens, backup, protect the servers from attackers, deal with scaling, deal with customers who don't like change, etc., etc.
With local SW, you can just write it and mostly forget about it, as long as OS stays compatible with your program.
But the customer is easily distracted. That's why we have things like Facebook where customers will happily give up their privacy in return for a little functionality.
Please sir, can I have some more?
As long as the internet remains free and not completely controlled by a few big players.
> Software as a Service is impossible to pirate
There are SaaS business models with local/native desktop software, e.g. Adobe CC.
iOS AppStore-monetized software can run locally and be licensed as a subscription. Apple encourages local computation and continues to add both hardware and software for on-device processing.
x86 clients are adding SGX (hardware secure enclaves) which provide stronger mechanisms for endpoint license enforcement. This can support multiple business models, including subscriptions.
Local computation makes sense especially from a user experience perspective. However, another challenge arises from talent availability and willingness to work with this sort of deployment model. More complex deployments generally lead to the need of hiring really top notch engineers, which as we know is quite scarce. The next best thing might be infrastructure that makes the deployment easier but no one's really interested in investing in infrastructure tech without some tangible reward.
This is an excellent point which may be an advantage for top tier engineers who can build a company in this space, avoiding the glut of "cloud" competition. Once they have proven the business model and infrastructure, they can provide easy-to-use interfaces for "desktop native" writers of apps. In some verticals, these may the users themselves. There is precedent in spreadsheets.
"The next best thing might be infrastructure that makes the deployment easier but no one's really interested in investing in infrastructure tech without some tangible reward."
Almost every OS vendor is investing in deployment and packaging, because it's perceived that users now expect either zero-install or app store experiences.
The issue is that most OS vendors are incentivized to make themselves gatekeepers and insert themselves into the delivery chain, for financial or security reasons. That always causes conflicting requirements. It's interesting to look at Flatpak, which is not built to privilege an OS vendor, versus almost anything else.
Adobe CC is desktop software with a monthly licensing fee.
In other words, software as a service. You can only use the service as long as you keep paying.
That’s not saas
I once subscribed to a farming management program, developed by a french company that was launching to the cloud market.
Apparently they had bought several other smaller companies, integrated their software into their own program when useful, built huge servers for their cloud service that they also rent.
I knew the program was good - I was familiar with previous versions - so it was kind of a no brainer. The problem was the new cloud thing.
I am in favor of economic rational practices in agriculture (in addition to the normal functioning of markets), so that crops are chosen wisely between farmers and prices do not plunge because of all-or-nothing decisions, and sharing information between farmers is essential.
But data harvesting (no pun intended) of farming practices to the purpose of informing large companies and futures markets brokers of their possibilities can work against the interests of farmers and consumers. The way large corporations treat small farmers is ruthless and they negotiate no terms.
So if my and other farmers' data was being uploaded to the cloud without possibility of local storage, who had access to it? Every crop, production, pesticide, invoice, price was going there!
They wouldn't sell it, they told me. It is stored with e2ee, they assured me. If I ever forgot the password, data would be irrecoverable, they said.
But there was also the problem of internet connection issues, because farms are remote. Would it ever work?
The first thing I noticed after installing the program was that there no important message was shown that informed the user of what would happen if the password was lost. I typed in some new data, saved and exited. Then I started the program and reset the password with ease. There's no possibility of 3FA, either.
So I told them I could not use the program because of my poor internet connection, which was true. They installed a local version that was temporarily available.
But they took so long doing this that I developed my own modular managing system, based in - yes, that's right - spreadsheets. It fits my needs, it is completely portable and it works.
The formulas are getting cryptic, and there are still some things I have to do manually (like sorting lists or generating pdfs), but the files access each other and it works. I have no time to code anything and I don't think I have sufficient knowledge of database software (I am trying to find time to learn MySQL).
Maybe some day I'll make some GUI that handles all of this, in such a way that if everything else fails, I can still access and edit files manually.
As a thought, since you're just getting into database stuff as time permits, it's probably better to start out with something like SQLite and/or DB Browser for SQLite, if you prefer the GUI way of doing things.
https://sqlitebrowser.org
https://a-gentle-introduction-to-sql.readthedocs.io/en/lates...
SQLite is a bunch easier to get up and running than MySQL, and the data is all in one file you can copy around. So, easy to backup. :D
If you do eventually hit it's limits, it's big brother is PostgreSQL, which is a really powerful database system. :)
I second that. SQlite is great. I had millions of lines in there and did not hit limits that were blocking me from doing analysis work in python based on the data in SQlite.
So parent should probably be fine with a solution like this.
Portable, local and without the server configuration hassel.
If you use LibreOffice then you can make a spreadsheet into a "database source" and query it with SQL. That seems like a good interim, you can move sheets and make them external tables as you grow in confidence/knowledge.
At least you could 10 years ago, very easily (it was OOo.org I was using then I think) - I made a simple customer record system just 4 or 5 tables but the address "table" was a kind-of view of the spreadsheet for email-merge.
Presumably Excel and others do this too.
1 reply →
Thanks. I'll give it a try. I chose MySQL because I knew there were Python libraries I could use.
1 reply →
Thank you. Thank you for being self sufficient. Thank you for learning what you need to help yourself.
If you ever need a helping hand. Maybe with visualisation or analysis stuff shoot me a note.
I sure will. Thanks!
This is applicable the more you try to optimise the business for profit, and, ironically, not "service".
It dehumanizes the customer.
With SaaS the customer is always running the latest version of the software.
You only need to support it, no need to worry about clients/customers still using a 6 year old version because they refuse to upgrade for some reason.
This also has downsides: for example, the user is confronted with an ever-changing UI, and other surprises.
Web apps are almost always better for the developer and worse for the user.
On the flip side customers lose control over their environment.
If you work in regulated environments this can be s big deal and this validation process becomes captured (forced) by the saas provider.
If you ran your own you validate and keep that unless new requirements. No need to revalidate every time a new release is out and pay for that re-validation.
This is not always true.
My last company had at least one client lagging behind by about 100 releases.
I think it was browser compatibility and their internal enterprise firewall.
> Software as a Service is impossible to pirate and generates continuous income rather than a single upfront fee. That’s all you really need to know to understand why there is less and less desktop software coming to the market these days.
Sounds very cynical and short sighted to me.
Pros to customer: Nothing to install. Can be used on any operating system with a web browser. Updates and security patches are performed automatically. Can share documents and collaborate more easily.
Pros to developer: Easier to support multiple platforms. Easier to upgrade users and migrate data.
> So yeah, sure, if you were to build a piece of desktop software from a clean sheet of paper today, this is a really good guide on how to do that. But nobody is going to. Because it makes no business sense to do so.
Imagine having to install Trello, Google Docs, Slack etc. manually everywhere you wanted to use it, deal with updates yourself and ask people you wanted to collaborate with to do the same. That makes no sense in terms of ease of use.
>Imagine having to install Trello, Google Docs, Slack etc. manually everywhere you wanted to use it, deal with updates yourself and ask people you wanted to collaborate with to do the same. That makes no sense.
That's the way things worked for years, and the way most software still works (except through app stores) and it wasn't a madhouse of anarchy and suffering, it was perfectly fine.
Installing software "manually everywhere you want to use it" implies installing it once in 99% of cases, maybe twice in most of the rest, where "install" is a trivial process. Businesses will require that everyone use the same set of installed software, so that's not even an issue to begin with. It's not unreasonable to expect people to have a PDF reader, or Adobe software if you're working in graphics, for instance, or for Windows users to be able to read Windows documents.
Plus... you do know native software can handle automatic updates and security patches as well, right? And if you don't think people can share documents or collaborate easily with native software, I mean, that's been a thing since Napster and IRC. FTP and USENET. SAAS didn't solve any of those problems, because they were never problems.
> Installing software "manually everywhere you want to use it" implies installing it once in 99% of cases, maybe twice in most of the rest, where "install" is a trivial process
It's not trivial at all compared to "click this link (and optionally sign up) to start using the software". Especially with the landscape now, asking a likely non-technical user to download, install (potentially with security warnings) and launch software is a lot to ask and will impact your conversions if you're not an established product.
5 replies →
`sudo apt get install trello gdocs slack` wouldn't be exactly taxing (I realise it d doesn't work that way, but it could). You can just have a web/net link with apt-url too.
I imagine it's similarly easy with chef/puppet, etc..
One of my problems on Ubu is that it's so easy to install stuff that I can acquire a lot of unused cruft; mind you it's mostly a mental problem now with disk sizes as they are.
I agree that SaaS is more convenient in the short term on both sides, but people have been using desktop-based software for a long time so I don't think it's accurate to say it makes no sense. Like anything else, there are tradeoffs.
Desktop software works "forever" (as long as the underlying OS and drivers don't break support for it, at least) and the longer you use it, the more value you get for your money. SaaS works until the company that maintains it stops supporting it, and the value scaling is basically the reverse of desktop software.
>But nobody is going to. Because it makes no business sense to do so.
I've got Blender open on my desktop. Could you explain the business sense behind Blender exisiting?
Interest? Very few people care to build medical billing software or crms for free in their spare time. So you get products that aren't as good. Even with blender, there's far better paid tools because people need money to live, so they put their efforts into things that make money.
Blender Institute, the main source of programmers of Blender, is a non-profit organization that pays people real money. As a user of 3D software, your statement about "far better paid tools" is inaccurate this day and age.
6 replies →
I thought blender was used by commercial producers (3D modelling, animation, NLE), if there are better things, for them, then why do they use blender?
You might say "price" but then that's part of being better "better excluding financial considerations" is quite a different notion.
1 reply →
Companies/Content producers that do not want to depend on a single vendor, or want to avoid the lock-in, and went on to support an open alternative?
Makes perfect business sense.
Well, they open sourced it as a bit of a gamble when it became apparent that they couldn't afford the programmers to run it profitably as a business, but if I squint I can see where you are coming from. OK, here's a harder one. Explain the business case for TempleOS.
11 replies →
Donations and free time.
The Software as a Service model is 100% compatible with what they have outlined, and in fact has been working well with many traditional desktop applications (Microsoft Office, Adobe Suite). Providing a good end user experience while taking care of caching, cross-device & offline syncing, conflict resolution etc. are still mostly unsolved problems, and any amount of progress in those areas is good.
The other reason is how it looks to business customers.
Buying a piece of software (one-off) almost always requires budgeting and capital-expenditure approval. Add in the mess of depreciation calculations and maintenance fees, and it's just a mess. Can be weeks of work just to buy £200 worth of software.
A subscription service usually gets budgeted and booked as recurring expenditure, and looks better on the balance sheet.
In some environments (esp. the public sector) recurring (AKA "operational") expenditures are a lot harder to justify than capital expenditures.
An OpEx increase requires an increase in budget paid for by taxes, while CapEx can be covered by a one-time bond.
This leads to paying vendors millions for a software+support contract rather than hiring a few engineers.
Taxes might be different too. our municipality taxes my wife's biz as a percent of biz capital (US)
>Software as a Service is impossible to pirate and generates continuous income rather than a single upfront fee. That’s all you really need to know to understand why there is less and less desktop software coming to the market these days.
I'd argue that the increasing complexity of the stack involved in any given product has also brought us to a place where the kinds of thorough QA we had 20 years ago isn't really viable anymore, at least for most smaller orgs.
The ease with which you can fix a deployed product in a SaaS situation is a huge boon.
You can charge subscriptions for installed software as well. Oracle is an example, as is every other on premise Enterprise software
You can, but it's still easier to pirate said software.
And in Oracle's case, you're neglecting to mention their ability to bring lawyers to bear on any infringers, something not a lot of software companies may have the capital to do, compared to a SaaS model.
> But nobody is going to. Because it makes no business sense to do so.
If your only objective is making money, that's correct. If your aim is to achieve something more, you may still want to take this risk in spite of knowing you'll earn less.
"Software as a Service is impossible to pirate and generates continuous income rather than a single upfront fee. That’s all you really need to know to understand why there is less and less desktop software coming to the market these days."
The other reason is platform control: there's continuous tension between the desire of each OS vendor to differentiate their platform and make applications part of the desktop experience, and the desire of application vendors to be able to deliver to any customer using the minimum number of platforms.
SaaS vendors will build mobile apps (1-2 platforms), and desktop applications in Electron (kind-of 1 platform) as service clients, but I agree that they are not incentivized to build local-first applications.
> Because it makes no business sense to do so.
Apparently there are needs, that's why this guide even exists. Maybe not many but there are people willing to pay for better privacy/data protection.
But you are right, this won't generates continuous income, which is bummer for developers.
s/developers/software selling businesses/
Actual developers rarely see ongoing revenue from their past works. It's the business who sees the ongoing revenue, because odds are high that any individual developers have moved on with their career, and have been replaced by someone new to kick in 2-3 years of labour.
> Software as a Service is impossible to pirate and generates continuous income
Service as a Software Substitute (SaaSS)[1] is also inherently spyware, an increasingly popular feature as surveillance capitalism[2] infects our economy.
[1] https://www.gnu.org/philosophy/who-does-that-server-really-s...
[2] http://nymag.com/intelligencer/2019/02/shoshana-zuboff-q-and...
It is not inherently spyware, because fully homomorphic encryption exists. This in theory allows cloud computing providers to operate with no knowledge of their customer's data or computations. It's in general too computationally expensive to be practical, but that's not the same as being impossible.
https://en.wikipedia.org/wiki/Homomorphic_encryption
If I encrypt the data how is the service able to handle it?
As an example you offer an online document cleaner, the user uploads his document and you do the magic on it, but if you encrypt the document then the backend can't read it. The document needs to be decrypted somewhere.
6 replies →
It is the same as being currently practically impossible. Which may change in the future, of course, but doesn't help us particularly with the current situation.
So it's spyware unless they use homomorphic encryption?
2 replies →
AFAIK homomorphic encryption exists only on paper; it's not something you can find in use within SaaS applications. Until that changes, GP's point stands.
>Service as a Software Substitute (SaaSS)[1] is also inherently spyware, an increasingly popular feature as surveillance capitalism[2] infects our economy.
Sure, but it's how business in the real world works as well. You can't enter a shop without being observed or even recorded, either by cameras or the shop personal / owner in smaller ones. Your behavior during a conversation is analyzed in realtime and reacted to, that's the basics of selling. There is no invisible commerce in the real world.
That's a fundamental reality that you can't just omit, doing so would be irrational treating the web as something purely abstract, which it isn't. It's an abstraction / extension of the real world, because it's part of it.
What the web needs is obvious boundaries and private spaces that are basically extensions of your own home and those of your friends, make it clear that you can't do x or y (going in public) without being observed and analyzed. Right now the only real indicator is the tracker count of adblock plugins.
This analogy works for businesses like banks or stock brokers. Of course they'd keep a log of everything you do with their services. But in those cases, they provide service beyond the basics: banks insure your deposits and put their credibility behind transactions, and stock brokers (hopefully) give you advice.
But there are plenty of situations where the analogy shows how invasive surveillance can be. Imagine if your car mechanic kept a log of everywhere you drove. Imagine if the mattress maker knew everything that took place in your bed (for product improvement, naturally).
I'm alright with necessary data collection, like the banks and brokers recording what I ask them to do. But that's because there's no other way of doing those things except for services or becoming a professional myself. If the software can work as not a service, then I'm less okay with the data collection when it's only offered as a service.
1 reply →
Surveillance capitalism? Capitalism as an economic system does not surveil, governments and corporations do. If you do not like a service, you can opt out by not using it, unlike the government. If you have an issue with something used by millions of people, then you should consider the possibility that it actually may be the people who keep the service alive.
I try to do my part. I do not buy access to games on Steam, movies and TV series on Netflix, books on Amazon, I do not use Google, I do not use Facebook nor am I in contact with anyone who does, and so on.
I am open to discussion. Why is it specifically capitalism's fault? What other economic systems would be favored, and why?
Surveillance capitalism is a variant of that economic system, much like industrial capitalism or financial capitalism. It's characterized by specific business models, which have particular consequences in society.
> If you do not like a service, you can opt out by not using it
This is a simplistic objection, that doesn't stand to cursory scrutiny. These systems invade everything, and give you no real way of consenting. When you visit some random site, you will be informed upon to dozens of services, with no way of even knowing which. You might not use Google, but can you avoid sending an email to anyone using Gmail - particularly those who use it with their own domain?
And this is getting impossible to escape even in real life, with companies employing many mechanisms to surveil you on the public street, without you even entering their private property. How do you opt out of that? Stay at home 24/7? No, that doesn't work either.
> If you have an issue with something used by millions of people, then you should consider the possibility that it actually may be the people who keep the service alive.
People are driven by incentives. We can criticize a system, government or company for incentivizing behavior we consider harmful.
> I try to do my part. I do not buy access to games on Steam, movies and TV series on Netflix, books on Amazon, I do not use Google, I do not use Facebook nor am I in contact with anyone who does, and so on.
And yet, the last site you submitted to HN loads stuff from Facebook's servers. Even if you have enough know-how to block them, you've helped them surveil other people.
> Why is it specifically capitalism's fault?
It's capitalism's fault insofar as it promotes these business models.
> What other economic systems would be favored, and why?
Criticizing a system doesn't mean one advocates its replacement.
2 replies →
There are local first E2E encrypted apps that do charge monthly fees. 1password is one example, bitwarden is another and mylio is a third. 1password syncs with 3 services, mylio syncs with your local NAS, other computers, amazon, etc.
They are definitely in the privacy space more than others, but it shows it's possible.
I thought about ideas like the post here myself, although I admit I haven't thought about it in the detail they have there and I am look forward to reading that fully over the weekend.
Anyway I don't think piracy is the problem per-se, but the question is: what is the commodity?
Because take Netlify for instance - picking on them, but you will see this sort of pattern everywhere:
1. Generous free tier to get you hooked. 2. $29 / month for something that costs $0.01 in terms of cloud compute. 3. $100 / month for something that costs $0.10 in terms of cloud compute.
Etc.
So really they are creating a fake scarcity and mark up stuff ridiculously.
But with local-first as I see it, you will get stuff like "filling in forms" or whatever software that has made companies into multi-million companies for free. And you will deploy that on cloud(s) of your choosing with no effort, and pay their pretty cheap per-transaction costs. Stuff that is trivial will rightfully become very cheap and commodity like.
This is probably a good thing for consumers, because for cloud companies and new startups to compete they'll need to offer truly innovative products. Do stuff that was really not possible before. Quantum computing for example.
That generous free tier probably costs more to run than all the paying customers combined, depending on how generous we're talking and the proportion of free to paying. There was likely also no revenue for a significant time, but still salaries to pay, and other costs to be borne.
If you really think the profit margin is 99.96% for that tier two customer, it should be pretty easy to create a competing business to provide the trivial service and charge a lot less. Like $0.02 and have a 50% profit margin :-) But I think you're underestimating how much it costs to run a business, even if compute costs are cheap.
I’m not thinking in terms of business here. Look what has happened to iPhone apps. You can get all sorts of great apps for free. Writing an app, no matter how hard it is is no longer enough to be a business. Look at open source: people spending half their lives writing free programming languages. When was the last time someone purchased a compiler?
The tech ideas talked about in the article could help commoditise at the saas level. You’d no longer need an engineering team because the app is designed to work with generic cloud services. The engineering is done by digitalocean or whoever. The software is free or maybe $100 one off license for forms say. Like a desktop application of yore.
It’s a separation of concerns between features and infrastructure. A bit like desktop apps. You don’t need to buy a new computer for each app, so why pay a computers cost in cash every year for form filling or value add file storage or whatever.
2. $29 / month for something that costs $0.01 in terms of cloud compute.
The major cost for paid tiers is not infrastructure, but user support.
I was thinking development costs. It's basically free to run a computer program. And the hardware is relative cheap too, compared to developing the software. I think it's really weird that the price of software is a race to the bottom, which affects the quality of the software, and kills innovation. "Software as a service" sure have artificial costs, like two orders of magnitude higher price running it in the "cloud" compared to hosting it on a service provider of your choice. But how else are we supposed to pay for the developing costs? Via advertising!?
> But nobody is going to. Because it makes no business sense to do so
An app that comes to mind is Omnifocus (iOS/macOS): https://www.omnigroup.com/omnifocus
Double stream of income in validated environments where the provider gets to validate on your behalf on their schedule. It’s nog like you needed that last useless feature, but hey, since it’s new we gotta validate it for you, pay me.
The reason that software is online is a business one, not a technical one.
True, but I host my data in the cloud because I don't want to pay the energy bill of the equipment at home. Despite not having concrete facts I believe it is more environmental friendly if we started hosting servers centralised in facilities instead of everyone doing at in their homes.
> I host my data in the cloud because I don't want to pay the energy bill of the equipment at home.
Then you pay someone else's energy bill.
> Despite not having concrete facts I believe it is more environmental friendly if we started hosting servers centralised in facilities instead of everyone doing at in their homes.
It's true that running 1000 instances of a software on the same big computer consumes less than running them on 1000 different computers, because they won't use all its resources at the same time. There's also less overhead if you can share their computations.
However, hosting everything at the same place has some environmental issues too. A datacenter needs cooling, and not all homes do. If there's a lot of data traffic between you and the software, that traffic needs to go through the internet instead of being local.
I'm not saying one way is better than the other; it probably depends on the kind of software we're talking about.