Honeycode is Extremely Slow - Looking for Tips on How to Optimise my App!

Hello Honeycode community!

I have been using a Honeycode app I have designed and built for the past month or so, and whilst the functionalities provided have been incredibly beneficial for my business, it is way too slow for practical use.

Loading data and navigating pages in the app are fine, but any operation which involves updating rows (even if said operation is simple and working on a table with very few rows) take anywhere from 30 seconds to 2 minutes.

I have already reported this issue to the Honeycode a team a while ago, but I'm wondering what suggestions the community has when it comes to improving the speed of the app.


For some more context:

  • The slowness is definitely not an issue with my internet connection or my device, as I have multiple users using the app on different networks, and have tested the app on numerous devices, including my mobile phone and a virtually maxed out gaming dekstop.
  • I do have a few tables with ~2000 rows, and the slowness has only started once I populated them with data. Having said that, even row operations which do not involve those tables directly seem to be equally as slow.

Hi @Eric,

Greetings and welcome to the community.

I apologize for the inconvenience caused by the slowness. Further troubleshooting may require some diagnostics. Please report an issue from the help section as shown below.

Screen Shot 2021-07-09 at 11.06.32 AM

We have also seen that slowness may be caused by a non-efficient FILTER()/FINDROW() expression. Review some of the best practices from Writing Efficient Filters.

I hope you found this helpful. If you have any further questions, please don't hesitate to reach out.

1 Like

Hi @Eric , I've actually had this issue as well and the main reason was what @Pankaj pointed out in writing efficient filters. He also personally helped us! The one that was killing us was a SUM(FILTER()). After optimizing, the problem completely went away. Getting rid of TODAY() and NOW() also helped a lot.

1 Like

Hello, and welcome to our community @Eric! We're sorry to hear you're experiencing slowness in Honeycode. The team has reached out to you directly to better assist. Please let us know if you haven't received the message. Thanks :slight_smile:

1 Like

Hey @Max - that's super reassuring to hear! I was starting to look at MS PowerApps because the app was getting slow to a point of impossible usage.

Thank you Pankaj & Taylor for your replies as well :slight_smile: I have replied to the email from the Outreach Team and hope to hear back soon.

2 Likes

Hey @Pankaj & @Taylor just a query about this point in the Writing Efficient Filters tutorial:

Does this mean that I can safely dereference table columns within my table?

Also, as a more general question - is it okay to violate the rules in the linked article if the FILTER is being used inside a proxy column in a table? That is, can I be assured that the FILTERs in table column formulas are not being executed at runtime?

I did not hear back from the Honeycode team over the weekend, but I was able to make my app considerably faster by getting rid of TODAY() and NOW() functions in my tables, as per your advice @Max !

If anyone else is having this problem, I too would recommend moving any functions dealing with dynamic dates to the app, rather than storing them in table columns.

@Eric glad that helped! Was there a particular workaround you used so that you are able to keep the data data?

What I did is created a table with only 1 cell for the date. And in Zapier I create a Zap that runs daily and updates the date to today. Then, in Honeycode, I created an automation to run whenever that cell changes to calculate the new date in each formula where it is needed. Those cells used Date!A1 for example.

Also, to answer your question about having a filter in the dereference column. I've found that the filters do not get calculated at runtime, just whenever the value would change. Although not 100% sure if that is the case. That did help a bit when I wanted to do a SUM(FILTER()). Instead, I did a SUM([Proxy Column]).

Hi @Eric,

To answer your question about dereference, it is recommended that you dereference in table columns. That will make a difference in performance.

@Max , thank you very much for your valuable suggestions. You have implemented a clever method for updating the time and date using Zapier.

@Eric In order to implement similar solutions, you can use Zapier as max suggested, or, alternatively, you can review section 2 of our best-practices-for-optimizing-performance article. The section illustrates how to build automations to implement NOW() and TODAY() functions based on your business needs.

I hope this is helpful.

Hey @Max - your solution is elegant and one I will definitely adopt once I start working on the Zapier end of my app! I simply moved all of my date evaluations to the view-time of the app (this means the loading of the app is slightly on the slower side, but keeps the writes relatively fast).

@Pankaj Your suggestions have been invaluable. Thank you!

1 Like

HI @Eric,

You're welcome. I'm glad you found the suggestion useful. If you have any additional questions, please don't hesitate to contact us.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.