Best way to plan a new project

Hello all

I am terrible at just launching into Glide and setting up an app without any planning.

I am sure it’s best practice to plan in advance - but does anyone have any recommendations on the best way to do this? Do you sketch it out on paper? Do you just write a list of notes with details on tables / fields etc?

I’ve wasted so much time setting up apps one way, only to realise it would be better to do it another!

Thoughts welcome.

Thanks,
Andrew

Hi @Andrew_Davies

On paper:

  • I always start on paper. I have a Glide notebook and each project takes at least one page.
  • I usually force myself to write down the pitch of the app: “It’s an app for ___ who need to ___ and want (in order) to ___ . They choose ___ because ___ , unlike ___ .” I try to keep that as my north star and return to the pitch if I start getting lost in the woods or if a client starts going all over the place.
  • I jot down what I call a data schema: a list of tables and the attributes (columns) I will need per table to get started.
  • I jot down the list of personas/users of the app. And for each persona, I define user flows. To me it’s important to develop user flow/experience and not only features. A flow usually represents a process, a feature a step in the process. The more clarity I have here the better. Less clarity usually leads to rebuilds both in the data and layout editors. The user experience of admins of the app (a client for instance) might be different than the user experience of their customers. Whether working for a client or yourself, the more clarity here the better.
  • Not always, but I usually try to draw sketches of screens, again on paper. I never use Figma or any third-party tools to sketch, digitally I do things in Glide’s layout editor directly. But I do try to sketch things on paper first.

Building in Glide:

  • Very first thing I do, in the dashboard in the team, I create 3 folders: :warning: Live in production, :white_check_mark: Practice apps, :no_entry: Backups. I think these are self-explanatory. After working on an app in production, I duplicate it, rename it with a date “2024-09-23 14:00 App Name” and move it to backups, religiously.
  • In the builder, I always, always, always start in Settings. I find that configuring name, logo, appearance gets me in the mood, it’s good for me to ease into it. I usually even end up in Canva in the first 5 minutes, create a quick icon and logo, upload to Settings and then publish the app. It makes it real, it’s important to me.
  • Still in Settings, configuring privacy and authentication are vital because they might make me realize I haven’t understood the app correctly.
  • I usually start building tables and a few basic columns: row ID, name, default and uploaded image, a few basic attributes I know I will use, maybe a few relations if I absolutely know I will need them. You need to existence of tables just to create a tab in the Layout Editor. I try to stick to the minimum here first. I try to avoid building columns for the sake of building, I like building columns as I need them to avoid unused columns.
  • As quickly as possible I head to the layout editor and sketch out the app. I usually end up developing both in the layout editor and data editor at the same time, but really I would prefer spending more time upfront in the layout editor. Oftentimes I spend too much time building out tables and columns, only later to realize that what I did in the data editor doesn’t quite fit what I would need for the layout editor, and I end up having to redo things in the data editor. This is the story of my life in Glide.

Note on layout versus data first: I know some experts, when building (not scoping), swear by working on data first. I’m on the fence with that or even disagree with that. I think building should start in the layout editor (other than just creating basic tables to be able to create tabs), because the layout is where the user experience happens. The user experience dictates the layout which in turn dictates the data, and not the other way around. That being said, I’m guilty of often spending too much time too early in the data editor, which I think more often than not is a mistake.

I’m curious to hear what others do, I’m always tweaking my starting process :slightly_smiling_face:

5 Likes

I wouldn’t fret about this too much. I’ve learnt from the geniuses in this forum that there are always many ways to achieve the same thing in Glide. If it works, it works. I still tend to believe that there is a more optimal or efficient way of doing something, and it might be the case, but I try to clear my head of that and just ship.

2 Likes

We usually use Whimsical to sketch the wireframe at our agency. It does help a lot before the actual work.

2 Likes

Whether its Whimsical, paper, Glide’s layout editor or any other tool, I do think it’s layout first, data second. I don’t really understand the “Data before everything” approach :person_shrugging:

1 Like

Nowadays I almost do a data scheming sketch in Whimsical first before we actually dive into the data building part itself. It helps clearing a bunch of questions I have in my mind when I “draw” it out.

Then I generate mock data using Mockaroo, and import it to Glide so I kinda have a head start before I work on anything else.

I also love the exercise of assigning formula to schemas in Mockaroo, it’s like a quiz I love every time we have a new project.

3 Likes

Oh I am enjoying this discussion! Two apps I haven’t heard of before. I always struggle sketching out first. I tend to start, get half way through - then dump it and go straight into Glide / Airtable

Here you go, I’m always up for a discussion on Mockaroo :wink:

1 Like

Interesting.
I am very much in the data first camp, and I don’t even understand how you can possibly start working in the layout without any data to point at?

It’s not uncommon when I start a new App to spend a full day in the Data Editor before I go anywhere near the Layout Editor.

4 Likes

while I’m not in any camp yet, after publishing my first app I think that structuring the data was the part that needed critical planning. I’ve learned a lot along the way (re database normalization) and if I had to do it again, I’d map out the data first to avoid having too many columns and roundabout relationships.

I feel like the layout is more changeable since you can always create new screens to represent that data but messy data tables make it hard to build screens.

2 Likes

Most components won’t need more than 4 data points, so at most I need 4 columns to get started: name, description, image, perhaps a meta value. Also when I create the components, as long as I have dummy data to point to, I have a vague idea of what the screen will look like. Pointing to the actually data can happen later.

It does happen that I spend an inordinate amount of time in the data editor adding columns, relating tables, and I always regret it. When I then go the layout editor, I realize that I hadn’t thought through the user experience and so as I start building out the user experience I go back and forth to the data editor to create the values I needed in the first place. I then also realize I have extra columns that looked nice on paper in theory, but that I’m not really going to use, so I end up having to clean up tables because I dislike having unused columns.

I agree that the existence of a few tables and columns in each are needed technically just to get started in the layout editor. I make the mistake of overlooking and not spending enough time planning the user experience in the layout editor, which in the end is what the user is going to experience by definition.

When I get to your level perhaps my process will change. I hope! I think it’s possible that you already know what user experience you are going to build out?

I fully agree with this. That’s why taking over clients’ data usually make for the hardest projects.

3 Likes

Hi all

Thanks so much for the replies. I have just laid out some “wireframes” in Whimsical and found it really useful.

Found myself thinking more about what tables / columns I will need from the start. Next step would be to flesh out the tables / fields needed, then will head into the Data editor. Just waiting for the nod from the client.

Thanks again,
Andrew

2 Likes

Lovely stuff!