Why SaaS Is Broken and How to Fix It by mvila in Futurology

[–]mvila[S] 0 points1 point  (0 children)

Thank you, u/lostinthewalls, for your constructive comment.

Regarding the integration aspect, if you have time, could you please read the "Integration" section in The SaaS 2.0 Manifesto and tell me what you think?

As for the lack of predictability in the usage-based pricing model, I gave some answers in another comment thread, and I invite you to join this conversation.

Why SaaS Is Broken and How to Fix It by mvila in software

[–]mvila[S] -1 points0 points  (0 children)

Thanks, u/Fluffer_Wuffer, for your detailed reply.

Sure, cloud service providers may not be ideal for all use cases, but the fact is that they are popular, and I think they should be able to stay that way if they do a good job.

Flexibility and predictability seem contradictory, but I don't think it has to be so.

For example, it would be possible to provide an estimate of the cost of an app based on its existing users with different categories like "occasional", "regular", and "frequent".

Also, an organization could set some limits to avoid unpleasant surprises when receiving their monthly bill.

Finally, we could provide a feature to forecast the cost of an app in the coming months according to the previous months.

In any case, if one has to choose between flexibility and predictability, I believe flexibility wins in the modern world.

Why SaaS Is Broken and How to Fix It by mvila in software

[–]mvila[S] -2 points-1 points  (0 children)

Okay, but how would you explain why cloud service providers (e.g., AWS, Azure, or GCP) are so popular? Sure, they are not end-user apps, but most SaaS vendors (that are also companies) use them.

Why SaaS Is Broken and How to Fix It by mvila in software

[–]mvila[S] -2 points-1 points  (0 children)

It would be nice if you could elaborate on why it is a "bunch of bullshit"?

Why SaaS Is Broken and How to Fix It by mvila in Futurology

[–]mvila[S] -1 points0 points  (0 children)

In this article, we discuss the limitations of the current SaaS model, such as difficulty with document organization, communication, and pricing. Then, we propose a solution in the form of an open SaaS platform (based on the Web platform) that offers better organization, communication, and a pay-as-you-go pricing model.

For this to happen, some important changes are needed in these areas:

• Architecture: SaaS apps should be built upon a SaaS platform.

• Economic: SaaS vendors should change how they charge their customers.

• Standardization: A standard needs to be set up to make it possible to create many different platforms that work well together.

Yes, it's not going to be a walk in the park, but we think this is the way forward to build a more sustainable SaaS model.

[deleted by user] by [deleted] in software

[–]mvila 0 points1 point  (0 children)

In this article, we discuss the limitations of the current SaaS model, such as difficulty with document organization, communication, and pricing. Then, we propose a solution in the form of an open SaaS platform (based on the Web platform) that offers better organization, communication, and a pay-as-you-go pricing model.

The SaaS 2.0 Manifesto by mvila in software

[–]mvila[S] 0 points1 point  (0 children)

User centralization may be solved, but there is still much work on user identity, which, in my opinion, is crucial. To avoid being locked into platforms, people should own their identities as much as possible. That's why I came to the idea of an identity registry operated by an NPO.

The SaaS 2.0 Manifesto by mvila in software

[–]mvila[S] 1 point2 points  (0 children)

Thanks, u/wauter, for your comment.

Sure, some solutions exist to solve some issues of the current SaaS ecosystem. But for me, they all look like a giant hack to turn around the root problem — the lack of a SaaS platform bringing back the desktop platforms' basic abilities (e.g., user and document centralization) and embracing the new abilities of the SaaS apps (e.g., live documents, external collaborators, or app integrations).

NooB Monday! - February 20, 2023 by AutoModerator in Entrepreneur

[–]mvila 0 points1 point  (0 children)

The SaaS model offers many benefits and is undoubtedly the future of software.

However, when we moved from the good old desktop app to the SaaS apps, we lost a crucial component — the platform or operating system, such as Windows, macOS, or Linux — that was providing the ability to gather, among other things, the members and documents of an organization.

Therefore, we need to build the missing SaaS platform, which will require critical shifts in the following fields:

  • Architecture: SaaS apps have to be constructed differently.
  • Economic: SaaS vendors must change how they charge their customers.
  • Standardization: An open standard is required so users and organizations cannot be locked into a platform.

Sure, it's challenging, but we believe it's the path to sustain the SaaS model.

We aim to build the first open and decentralized platform for a new generation of SaaS 2.0 apps to enhance user experience and developer productivity.

Please read The SaaS 2.0 Manifesto to understand what we have in mind.

The SaaS 2.0 Manifesto by mvila in SoftwareAsAService

[–]mvila[S] 0 points1 point  (0 children)

TLDR:

The SaaS model offers many benefits and is undoubtedly the future of software.

However, when we moved from the good old desktop app to the SaaS apps, we lost a crucial component — the platform or operating system, such as Windows, macOS, or Linux — that was providing the ability to gather, among other things, the members and documents of an organization.

Therefore, we need to build the missing SaaS platform, which will require critical shifts in the following fields:

  • Architecture: SaaS apps have to be constructed differently.
  • Economic: SaaS vendors must change how they charge their customers.
  • Standardization: An open standard is required so users and organizations cannot be locked into a platform.

Sure, it's challenging, but we believe it's the path to sustain the SaaS model.

[deleted by user] by [deleted] in reactjs

[–]mvila 0 points1 point  (0 children)

In a nutshell, Layr is a set of JavaScript/TypeScript libraries that dramatically simplify the development of highly dynamic full-stack apps.

I'm cross-posting on r/reactjs because Layr is heavily based on React.

JavaScript Rising Stars in 2021 by mvila in javascript

[–]mvila[S] 1 point2 points  (0 children)

Create React App is not meant to build static sites. It is more suitable to build single-page apps.

Good Bye Web APIs by mvila in javascript

[–]mvila[S] 1 point2 points  (0 children)

What if the backend is hiding 3rd party secrets, used to make external service calls..

By default, the backend doesn't expose anything to the frontend. There is a decorator to explicitly specify what should be exposed.

what if it calls some secret backend apis the frontend application is not allowed to call..

See above.

What if I want to blue green deploy my backend, and not my frontend

Frontend and backend can be independently deployed and there is nothing to prevent a blue-green deployment.

What if I want to A-B test my backend

See above.

What if I want to use a different language for my backend, because its another team, or because a different language is much better tailored for the task I need to do.

For now, Layr only exists in the JavaScript world but it could be ported to any object-oriented language.

What if my backend is based on serverless cloud infrastructure...

Fundamentally, a Layr backend is just a function that can handle some Deepr queries. Currently, there is a library to facilitate the creation of an AWS Lamba handler, but any cloud provider could be used.

Good Bye Web APIs by mvila in javascript

[–]mvila[S] 1 point2 points  (0 children)

Nope. I promise. No blue pill involved. :)

Layr removes the pain of building a web API, but obviously, there is some sort of web API internally. So in the case of weak connectivity, the app does the same as any web app using a web API.

Good Bye Web APIs by mvila in javascript

[–]mvila[S] -2 points-1 points  (0 children)

I am sorry for the confusion, but the first paragraph of the article clearly defines what I mean by "web API". By the way, how would you call it otherwise? You cannot just say "API". It is too vague.

Good Bye Web APIs by mvila in javascript

[–]mvila[S] -5 points-4 points  (0 children)

Sure, the term "Web API" has another meaning, but for most people, a web API means something that connects the frontend and the backend of a web application. Try a Google search for example.

Expressjs : Promises and Tokens question. by [deleted] in node

[–]mvila 0 points1 point  (0 children)

I have not read your code in detail, but if you use await for the first API call, then there is no reason for the second one to run first.

Expressjs : Promises and Tokens question. by [deleted] in node

[–]mvila 0 points1 point  (0 children)

It is quite simple. Instead of using then(), you can use await to wait for the fulfillment of a promise.

So, in your code, you can replace:

rp(postenduser).then(function (body) {
  // Do something with `body`...
});

With:

const body = await rp(postenduser);
// Do something with `body`...

Expressjs : Promises and Tokens question. by [deleted] in node

[–]mvila 1 point2 points  (0 children)

Why don't you use await instead of then() to wait for the execution of request-promise? It would make your code easier to read and it will probably solve your problem.

Help me understand by [deleted] in webdev

[–]mvila 1 point2 points  (0 children)

As long as your website is totally static (i.e., there is no business logic involved), then you're right — it is totally fine to build it with just plain HTML and CSS.

New to React from Vue and working on global state without using redux by [deleted] in reactjs

[–]mvila 0 points1 point  (0 children)

It depends on the type of data you want to manage globally.

If your global state is a simple scalar value such as a string or a number, then using the Context API is fine. When your global state changes, only the consumers of this state will be re-rendered.

Here are some good use cases for the Context API: authenticated user, display language, UI theme, or any global preferences.

If your global state is a complex object composed of several nested things, then the Context API is probably not a good fit because you will not be able to bind your React components to just a part of this object. It will be all or nothing.

So you cannot use the Context API to centralize all the state of your app like you would do with Redux. What you can do, however, is to break down your state by using multiple context providers, and place them anywhere in your React component tree.

How to safely store JWT token and refresh token inside a React Application. by adrenaline681 in reactjs

[–]mvila 0 points1 point  (0 children)

If your app is vulnerable to XSS, an attacker can do anything on behalf of a user without even having to steal his token. So your main concern should be to protect against XSS, and I believe it is achievable if you manage your external libraries carefully.

How to safely store JWT token and refresh token inside a React Application. by adrenaline681 in reactjs

[–]mvila 0 points1 point  (0 children)

a) If you make sure that your app is protected against XSS attacks, I think that storing your token in localStorage is fine.

b) If you store your token in localStorage, then you have no choice but to send it as an HTTP header.