RELEASED - New Plugin - Wordcloud

Hi. Can you send me a PM with a link to your app editor if possible? Thanks

I’ve been using WordCloud TagSearch in my app for a few months. As input I give it a standardized list of tags that has no duplicates. As you would expect, WordCloud displays those tags all the same size. When a user clicks on one of the tags, my WF triggers a search which returns records the user needs.

So in my app, WordCloud TagSearch is acting like an attractive menu. Nice. But I would like it to behave like a word cloud with the most searched words displaying larger.

To do this, I started testing WordCloud TagSearch as a true word cloud. I feed it a simple list like this: startup, finance, retiree, homeless, manufacturing, startup, finance, safety, startup

All is well until there’s a duplicate word. Then WordCloud TagSearch behaves erratically. It may display nothing. It may display only words that aren’t repeated. It may display one repeated word larger than non-repeated words but leave out the most popular word entirely.

I get the same results regardless of what combination of WordCloud TagSearch settings I use. It also makes no difference how I input the words – static, dynamic, or regenerate – the outcome is the same. The number of words makes no difference either. If I input six words with one word repeated, it almost always goes blank or ignores the repeated word. Everything on my page is fixed, nothing responsive.

My testing and Bubble environment are so basic and the results so clear, I’m thinking WordCloud TagSearch must do the same in any Bubble environment. Is that true?

I figured this out and it’s been working nicely for about a week. Here’s how I got it from crashing to working.

Data Source: In my app, I have a Parameters file with one record to control various system settings. In this file I created a list field that stores each tag that a user clicks on.

WordCloud TagSearch configuration: The WordCloud plugin was most vulnerable to crashing or displaying nothing on initialization. So, I put a static entry of one word (the word Startup) in its source (Text) parameter. I also increased the Angle Count, Angle From, and Angle To parameters to maximize the number of ways the plugin can fit words. I also removed the Stop Words. These are unnecessary for my app because I’m working with a controlled list of tags, not a random tract of text.

WordCloud generation: I feed WordCloud its list of words via a workflow when the page loads. The data, as mentioned earlier, is a field in the first record of my Parameters file which adds an entry each time the user clicks on a word in the WordCloud or selects a tag word from a Dropdown that lists all my tags.

Results: The WordCloud is a nice looking, functional feature on my page. Like most plugins, it’s sparsely documented. Initially, I found its behavior erratic to the point where I considered dropping it. However, through much trial and error, I found a combination of settings that is reliable and gives a nice looking output. If I do a detailed comparison of the WordCloud rendering versus the source, I do notice some anomalies. For example, on one rendering, it might skip the most frequently used tag word but catch it on the next The algorithm seems to process until it runs out of space then stop and paint. Since I have many other ways to search on my page, I accept that the WordCloud isn’t always the truest representation of my most clicked Tags.

image




Thanks for the reply. I’m actually working on a totally new version based on a different library. This one actually create some issue with the new responsive engine.

2 Likes

Hi @Jici

I’ve just purchased the plugin and have the same issues as a couple of the posts above. When will you be releasing the new version?

Also would be nice to have a cleaner looking word cloud such as this style if possible :slight_smile:

Hi! The new version is almost ready, but there’s a lot of settings in the new library and I’m playing with them to know what is possibble.

For you layout, if you talk about a kind of “shape”, I will check if there’s a setting for that too.

Thanks

1 Like

Hi @Jici

Do you have an idea of when the update will be released? I need this rather urgently :slight_smile:

Hi @norberg88

Did you manage to fix the words overlapping? I’m having the same issue.

The release should be next week with a new library

Very excited @Jici
Will this be an update to this plugin or are you creating a separate plugin?

This will be an update but with a different element. So if you are using the current one, you will need to replace it by the new element

1 Like

Hi @Jici

Any updates on the new version?

Hi everyone!
Finally release an update.
Good news, I was able to find what was freezing browser with the new responsive engine. This is now fixed! However, you can only use it in a fixed container.

But… I also added a new element called Wordcloud_V2 based on Vega library.
You can see a preview here
https://sandboxjc.bubbleapps.io/wcloud

Some interesting features:

  • You can enter CSV list of words and CSV list of numbers to generate a wordcloud instead of using full text
  • You can set font weight min (base) and max (if count is above X number)
  • You can set word size range based on the count
  • Set words padding (between words)

The layout is different. This is responsive, however, if the user resize window, it will not automatically update. Use Regenerate wordcloud to update the layout after resize. See how it work in editor (link available in preview page)

Thanks for your patience!

Hi @Jici

Thank you for the update. Loving the new version! :slight_smile:

Quick one: when I regenerate the word cloud it requires me to add a width and height. If I am using the new responsive engine and have set the width to full stretch, it overrides it to pixels.

image

Is there a way to keep the dimensions as is?

Yes, so you need to just put the Element size (Wordcloud V2’s width and height) in theses fields.
Strangely, in action, Bubble doesn’t allow us to use the properties.bubble
And the issue with the V1 (but was also an issue in V2, but it was just not freezing the browser and isntead regenerate in loop the cloud) come from Bubble new responsive engine on some settings that trigger the update function of a plugin n loop even if not needed. I didn’t get time to report this issue already but I will and I hope Bubble to fix that.

Hmmmm strange. Is there any way to make them optional at least?

Not actually, but using the element width and height will work just fine. This is what Bubble provide in the element state after element is rendered or page resized (You can check my example). Sadly, Vega expect a value in px (I wish it could use percentage too!)

I could probably fetch with js or jquery the element dimension. I will consider this option too. But in the end, this will be the same value you get from Bubble states

Thanks @Jici. That would be amazing.
Is there any way to make the word cloud update automatically instead of having to regenerate it with a workflow? Similar to how other charts work.

In a future update, I expect to have an option to auto-refresh (you will be able to choose if you want it to auto-refresh or not).

1 Like