Multi-user platforms using Glide - 1 or 2 apps?

Hi all,

I’m working on a few ideas that would be dependent on two separate groups of users coming together and debating if it makes more sense to develop 1 or 2 apps to accomplish this as they each would have their own specific needs and thus, user journey. Two good contrasting examples are AirBnB and Uber. AirBnB has both the host and visitor on a single app whereas Uber has a specific driver app and one for riders.

Curious if the Glide community has any opinions on this, pros, cons, etc. (fx - more logic could potentially lead to performance issues vs if they were separate?)

Any thoughts or opinions greatly appreciated!

Hello,
Personally I would make two apps, a light, fast user app and a full administrator app.
In this version, you have to share some data tables, so that when an administrator changes data, it also changes for the user.
It also helps to divide the data according to the level of access. But it can also get more complex.
I also think it’s better for safety and easier.
On the other hand, the maintenance is a little heavier, it is necessary to think of the 2 applications simultaneously.
In short, there may not be a perfect solution, but just a solution for your needs :wink:

2 Likes

After that it’s like any new project.
I take a sheet of paper and a pen (or I know I’m ultra modern), I draw 2 columns, Administrator and user. I do the listing for data, access levels, visualization, security, …
If the difference between my two columns is not obvious then 1 application is sufficient, otherwise 2 applications.

1 Like

Thank you @Manu.n for sharing your thoughts. Really helps expand my thinking as to how to approach this, especially the fast user app aspect. So just to confirm, using your logic, if we were to design AirBnB or Uber, you would make the providers of the service (hosts, drivers) the administrators?

BTW, Leonardo Da Vinci, the ultimate Renaissance Man, used to always have a pen and paper with him and that’s why he always captured so many of his artistic and engineering ideas when they would come to him so great minds think alike!

EDIT: Also just remembered. Are there any known challenges with connecting the same Glide table to different apps? Oh wait, I just remembered there was another thread on that just this morning. I’ll find it

I looked at user needs for different ways to use the app, and ended up with three apps (and maybe a 4th to come) - all using the same backend sheet and shared Glide tables.

One of the biggest considerations is how people should log in, and what security you need to put in place.

As @Manu.n suggested, it’s a great idea to have a separate admin app. I have mine with an email whitelist - I add specific emails. That made it first ‘private me only’ then I had to upgrade to private pro. That app now has 10 users - I slightly modified the use cases for the app.

Next is my user system - public pro with row owners. I use GS for the user profiles, and ‘SavedTests’, and some scripts.

Then the call center / agent app. That is private pro - it’s a complicated App, and there are good reasons for separating it from the user app (can get a contractor to work in it, live design editing is bad enough in the user app, functionality can be ‘quietly’ developed). I do have to duplicate computed columns, plus I have to remind myself not to use usc columns in one app when they are needed ‘on the other side’ by the other.

My 4th would be a corporate app. I have no idea what it will do, but logically there are no benefits in merging it with the other apps.

Hope this helps!

1 Like

Ah yes what I call administrator is the manager of the application, or users with privilege levels.
users who have access to data not available to the basic user of the application.
and yes to refer to your 2 examples, the admin = hosts, drivers, little chef and the chef. :slight_smile:
I love Leonardo.

1 Like

Time to update on one side, then the other. It’s much better in GT than GS…. But there is a lag of some seconds.

1 Like

But after making your wise choice, the real decision maker is the budget. :sleepy:

1 Like

Helps immensely @Mark_Turrell . Thanks for your input and sharing your creative thought process. I did see your post with your app (congrats BTW) and thought you might be doing something similar but haven’t had time to watch yet so didn’t want to tag you unless it was relevant. May I ask why you chose GS for the user profiles? This is for GDPR right? (apologies if you answered this in another thread as it sounds familiar)

Bonjour @Manu.n ! Merci (ok that’s all the French I can bust out right now ha!)

Ok, so using either AirBnB or Uber examples, looks like minimum 2, maybe even 3 apps might make sense since you’d have one for users (riders, renters) another for the providers (drivers, hosts) and a third one for admin to keep it all organized depending on access and complexity. Got more planning to do.

Thanks gentlemen!

1 Like

Budget is a big thing :slight_smile: in the end, the expected budget for my system is $300K (for everything, not just Glide). It might be more if it is very successful (SQL backend, AWS hosted Jitsi server with recordings, etc).

I have been working 10+ hour days for weeks… first ‘line of code’ was 17 March… feels like a lifetime ago!

10 hours a day is not enough.
Considering that they need meal breaks and 8 hours of sleep every 2 days, that gives us almost 18 hours a day :wink:

1 Like

That’s why I added the +.

To think, in my life before Covid I would be in a different country every week giving talks and lecturing, and ‘stuff’. Now I am stuck at home (though Germany allowed restaurants to open outside… with a proven negative test… yippee!!! to go out… and for the app :wink: )

EDIT: Mark’s post here provides great knowledge: Multiple apps - one sheet? - #2 by Mark_Turrell

Danke again Mark. This part just clicked for me (almost):

“functionality can be quietly developed”

But you’re saying that the private pro app that your contractors have access to do have impact on the user side functionality then? Not just the data that they share?

EDIT: Just watched the videos of your fantastic app so I sort of understand why you would keep it separate. I initially had AirBnB in my mind as a reference point when your app is doing something different.

I could’ve sworn you had another thread on here regarding sharing GT tables but I can’t find it. So other than user profiles, you are keeping separate glide tables for each app and updating them both vs having one master glide table to have all 3 apps share?

Thanks in advance!

When you get other people working on your app/s, you need to think about how to get code from one place into another.

Glide does NOT offer any form of design refreshing from another template, nor can you copy tabs or other pieces between apps, and within apps you can copy tabs (thanks!) and UX components, but you cannot copy columns (computed, etc), and you cannot copy between data tables.

Some people complain… others do not like the answer ‘no’ :slight_smile:

So what I have done is have some contractors work on a copy of the app, then walk me through how to bring their code changes into my live app. More recently I am experimenting with having someone actually work in the live app (checking I do not need it … as we kick each other out).

Within the app, you can actually do a lot in a way that does not interrupt end users. I duplicate a tab and work on improving that tab… and when it is ready, I change the routing between the tabs via buttons and compound actions. This allows me to work on live, with live data, whilst not disturbing people.

BUT not ideal… so I am looking forward to Glide changing the way we push out design changes.

In terms of Glide Tables, I have my master table, TestFlow. This is shared between the User and the Agent App. I copy in data I need from user Profiles (CollectUser in my case) or from Agents, or from other parts of the app so I can reference the data I need in TestFlow. If the column is needed on both sides, I have to think about usc (can only work if you have a button that moves the user value into a shared column), about the time it takes for the data to go from device, to server, and then push to the device, and what values I might need in one place and not the other.

Considering how it is built, it is pretty slick, and likely only to get better.

Now the way I did it with GS might have been potentially more functional, but it would have collapsed totally.

1 Like

Thank you so much @Mark_Turrell for taking the time out of your busy schedule for this breakdown. You mentioned in your video that you stand on the shoulders of giants and you’ve become one of my giants as well. Hope I can repay the karma someday or at minimum, a Heineken or whatever German beer you like. (same offer for @Jeff_Hager and @Darren_Murphy as well as others)

In addition, much respect for the additional creative thinking to develop solutions for the offline aspect (medical students, other contractors, etc). Hope you take this as a compliment but your thought process reminded me of the first time I ever felt inspired by what impact programmers/developers could accomplish. It was some news article about how Uber treated the offline world as a computer problem. If we had more creative programmers running the governments of the world, I think we’d solve many of our biggest problems with innovative thinking vs doing the same old thing. Anyways, danke

3 Likes

2008… I invented crowdsourced election monitoring to get people with early camera phones taking pictures of local results in Zimbabwe to defeat a dictator in a stolen election | The Zimbabwe Election Monitoring Project 2008Mark Turrell – Changing the World…

We have a short time on the planet - it is good to do good things that help lots of people :slight_smile:

2 Likes

Wow! Very cool and inspiring @Mark_Turrell ! Imagine if Glide was around back then.

The bigger question: Would you have used GT tables or GS? ha!

something quick :slight_smile:
It only took me 45 mins to come up with the plan I gave my friend, Arthur. And I know nothing at all about Zim, nor anything about elections.

(nor much about CSS :wink: )