Use a Workflow to create a word cloud from data in your app

Here’s a neat trick I played around with today. You can use a Workflow to create a word cloud from data in your app!

Here’s an example app:
https://www.appsheet.com/samples/Event-Management?appGuidString=85f9d9c6-17ae-40f4-ab3f-fbb04fabd8ce

Follow these steps to see it in action:

  1. Copy the example app to your account and open it up
  2. Click an event to see the detail page
  3. Click “Create Word Cloud”
  4. Wait for the changes to sync. A new button will appear to open the word cloud. Click it!
  5. Assuming you’re using Chrome, your browser will download the file and put a shortcut at the bottom of your browser window. Click the arrow next to the shortcut and select “Always Open Files of This Type”
  6. Go back to the app and click the “Open Word Cloud” button. It should open the word cloud in another tab. Neat!

When you click the button to create the word cloud, a workflow is triggered. The html file uses a google doc template. Most of the template is the html required to render the page. There is one line where all the words are injected that are used for the cloud. It looks like this (the &lt;&lt; &gt;&gt; tags are used instead of << >> because it is html. See this article)
text: ‘&lt;&lt;simulateSurvey[feedback]&gt;&gt;’,

I created a table called simulateSurvey that has a bunch of fake survey data in it. The words are random with a few intentional keywords to make the demo look good. You can update that line to pull whatever text data you want from your data source (e.g. using a select() statement, etc).

The template references scripts created by ZingChart. Since the scripts are hosted and publicly available, the html file is able to render directly in your browser.

Have fun word clouding!!

9 Likes

Hmmm… could you include a video showing what this looks like? Your sample app, by it’s nature, is read-only so we can’t see the result of pushing the “Create Cloud” button in the app.

1 Like

Good call! Added a video below.

3 Likes

Awesomeness!!!

Query: Is there a way to use the word cloud as an image inside an app?

Something like this would make a great background or even a header (as the image is wide and squat).

There are bunch of services both paid and free - capturing screenshort of target web.
On my production app, I m using other paid services for this purpose, but this is free.

https://pagepeeker.com/

@Derek I believe word cloud is returned as public URL, in that case, could you try to paste your url on this testing service to see how it goes?

3 Likes

In this particular implementation, I used a workflow to create an html file that includes data from my app. Then I open the html file using the Chrome browser.

So inserting the rendered image of the html file in AppSheet isn’t an option with the current implementation.

@tsuji_koichi, that’s an interesting idea! There are many services that render word clouds. Perhaps there is alternate implementation that would result in a hosted url that could be used in an app as an image.

1 Like

I love the whole HTML file creation thing. :nerd_face:

It’s so… Jack Black - Juicy

2 Likes

We use the below in conjunction with Integromat to create all sorts of interesting things… Gantt, XY Backgrounds with multiple pins, etc…

1 Like

Thats cool Derek!!

I ever thought of Word Cloud will be cool but stop short of posting it as a feature request. You’ve brought the spoon to my mouth with this workaround!! I have not had time to study how you did it but this is super exciting! I got the following screenshot when I tried:

Could it be due to the fact that I am using box instead of google drive?

What’s next? A clickable word cloud that goes to instances of the keyword :stuck_out_tongue_winking_eye:? :rofl:

Hi Jerry,

The relative file path in the “wordcloud” column of the spreadsheet needs to match the location and name of the file in your cloud storage. The 404 error occurs when there is a mismatch between those two pieces. First two things to look at are

  • Check the file path in the spreadsheet
  • Check that there is a file at that location in your cloud storage
2 Likes