Ideas for Apps based on Coda

Hi all :slight_smile:

For my app based on Coda i’ve arranged some cool ideas, like

  • Gifs as banners, they work and they can be great :smiley:
  • Gifs as loading
  • Loading (made using a formula that is calculated only after complete loading)
  • Random phrases at loading (my app is a diet calculator for pets, so things like “vitamin a is found on liver”)

See here a preview!

Let me know if you have any other cool suggestion for a public app :grin:

10 Likes

I love this @Mario! So creative and fun!

1 Like

Love the loading trick. How did you do that?

I got curious and came up with this solution:

If(
  [Current User] = "",
  "⏳ Loading…",
  _Delay([Teacher header])
)

I’m wrapping Teacher header in a _Delay() so that this formula renders even if the result of Teacher header is still calculating; otherwise this formula will stay blank instead of showing the Loading message, and will jump right to showing the teacher header. Looks like _Delay() can unblock this calculation and not make it wait on the result of wrapped expression.

(before anyone asks how I figured it out — I know a bit of JS and how its event loop works, and figured Delay could be loosely based on that)

Hi @Paul_Danyliuk, it’s a honor to receive your interest :slight_smile:
The formula is made like that

 If(custom-formula-user.IsBlank(),
 Pre-loading content (Image and random phrases),
 Post-Loading content (user name, license)
 )

The formula to calculate user is based on the suggestion made by @Krunal_Sheth, is modified to accept anonymous users for the public sharing

If( User().Email.IsBlank(), [Pets Meal Maker] ,User() )

Pets Meal Maker is the Demo account made for that sandbox, with sample recipe and pets

As you can see there are no particular tricks, just the fact that my app is so huge that it loads before that text, and then the custom-current-user formula
When user is calculated “magically” the app is fully loaded, in my case it needs about 1 and half minute on desktop and 3+ minutes on mobile

Thanks @maria for the kind words :blush:
Probably i should open another post or use the one of publishing, but is there any plan to let users “save” their change to the published docs?
I mean, just for the already in users, the ones that i’ve added manually
Because the published version of docs is less-prone to wrong edits by users (limited interactions by default, with no hidden sections, ecc), and in some ways lighter to load, and the top nav bar is way cooler :heart_eyes:
This will really help publishing polished app to users that are not too much practical with coda or doesnt want to dig deeper in the doc :slight_smile:

1 Like

Interesting. Well, I’m doing the same above, checking for current user.

However my problem is that the “Post loading content” formula is itself what takes ~30 seconds to calculate (because it’s based on many underlying user-specific calculations in the doc, like applying user-specific timezone to all times etc). So until that’s done, this formula is itself in the empty [] state and never shows the loading message.

But yeah, the _Delay([post loading content that takes a while to load]) seems to do the trick. It lets this formula evaluate immediately and show pre-loading content, but still switch to the post-loading content when loading has completed.

What do you mean by “license is verified”? Are you cross-doccing the list of users who “purchased” the app? You know the doc is still not protected from copying and removing all the checks, right?


P.S. Re honor :slight_smile: thanks, but if it wasn’t for the community and these little tricks I found here when I was only starting with Coda, who knows, maybe I wouldn’t be digging into it and discovering any tricks of my own :slight_smile: I still remember how I found the “use rectangles as makeshift progress bars” trick and that spiked my curiosity about what else makeshift we could do with Coda. So — great job and keep them going! Every post like this may make a difference in someone’s life :slight_smile:

4 Likes

Really seconding this!
:trophy:

4 Likes

Thanks @Paul_Danyliuk, your presence in this community is really inspiring :smiling_face_with_three_hearts: :star_struck:

i’ve thought about the fact that those are both 2 formula and they should load at the same time, but then i remembered how i designed that piece, and was based on the observation that in a formula made like

“Your name is:” “user.name”

The first part (the static text) was loaded as a “base” nearly after opening the doc, along with tables, and then, after a while, along with the filtered table (that seems to load completely and then filtered) load the second part, about the user.

So i wrote as static text the loading part and with a dynamic content the second part, and it worked logically.

Then i added the random phrases, that are from a cross doc synced table, and here the game should stop, but it work anyway :sweat_smile: (Probably formulas don’t know that, dont tell them! :joy:)

Yes that’s what i’m planning to do, but at the moment i’m in a beta stage so nothing commercial yet! :upside_down_face:
My integrations work like that, in the cross doc (the “cloud license manager”) i have a table with 3 columns, user email, name and app type (like if you are a breeder, a vet, a nutritionist etc)
This is synced in the main app (and it does not appear to de editable by users) and then a formula check if current.user is inside this synced table.
Then i should blow the doc up if user is not in, with hidden formula, thanks BTW :joy: :rofl: :joy:
And in reality nothing happens, just “you’re a cheater” message…
Seriously, coda should protect content creator harder :crazy_face:

Thanks also to @Federico_Stefanato, i will keep posting cool ideas and implementation, it’s funnier together :grin:

2 Likes

Hey Mario, could you elaborate a bit on what you are thinking here?

I made a post similar: Published Docs: Show or Hide content based on whether user is logged in or not and would love to hear your thoughts in this post or that one.

Sure!
I’m talking about this post by @Filmos

Where hidden formulas are listed (thanks also to @Paul_Danyliuk) i don’t remember now where i read that those could be used to turn the doc in a unusable app, for example after a verify from a license checker, but they could technically be used, apart from the fact that they could stop working like expected in anytime and break docs.
This is not a viable method because of the unstability of those formulas

Coda should work on protect user doc letting other users use those.
Like i was saying, a published doc with a save button (with copy blocked and play mode) would allow us to share our work with just listed people, that are not allowed to edit the doc, but that can use certain fields or control to interact with it!
But you already have figured out this! :smiley:

I’m preparing a new post with my proposal of payment management in coda, to integrate also license management, to help shape this feature for future :slight_smile:

Then, once i know that user is not one of the paying one coda should give us the tools to block that doc

I also have 2 other suggestions, i should be able to view, under the publishing statistics, WHAT are the (in my case) 6 copies of my doc, where they are, who own them ecc, and also i want to know if my ip is counted on the views of the doc (Probably yes because i’ve got 160 in 3 days ahahaahaha :smiley: )

Nice to see others dealing with public app on coda :grin:

Hi @Mario,

Thanks for your input and sharing your know how. Always nice to see more people are thinking in the same direction and together influencing the development of Coda :traffic_light: :vertical_traffic_light:

Sharing some parts of the Crowdcast…


Hi @Jean_Pierre_Traets thanks for those links! :slight_smile:
I had already seen the Crowdcast, let me tell you that your question made me jump as I was watching it :joy:
I’m really interest in your opinion about in my idea for the integration of user subscription model into coda billings! :slight_smile:

1 Like

Hi Mario,

I am standing 100% behind your post:

It’s obvious in my eyes THE earning model both for “Coda” and "The Makers"and it will make Coda without competition in the landshape of SaaS applications.

Mr. Reid Hoffman will be pleased too, by Blitzscaling his investment

3 Likes

UPDATE:

I’ve made some other post regarding apps in coda, and many other have been made by other community users, i’ll try to keep this post updated with those to create a sort of list of feature useful in using coda as an app maker.

Cross-doc as Cloud Backup:
Me

@Paul_Danyliuk

Use Button as Pop-Up:

Me

@justin

License Manager
Me

UI Design:
@Paul_Danyliuk

Rotating News
@Federico_Stefanato

Social features

@Matt_Goldenberg

I’ll try to keep those up to date with the post in the community, if you think a post should be here please tell me! :blush:

Let’s create apps on coda! :grin:

Coming soon:
How to manage users and groups of user to share data between them, creating apps for communities


@Johg_Ananda i’ve reviewed with more care your linked post,
i’ve resolved your issue creating a dummy/demo user that is loaded in every filter/formula in place of the usual “User()”.
This resolve the problem in the sense that is this custom formula “currentuser” that tells you if the user is valid or not.
If user is valid the return will be “RealUser”, if not gives back the dummy user.
If an user is “validated” it load the tables according to his/her/whatever email, if not validated the demo account is used.
This will always show only a portion of the data
It’s too late for that?

4 Likes