45 Ideas for Thunkable Improvement

Hello Thunkers, after the list, you can find my disclaimer!

IMPROVEMENT LIST:

  1. Implementation of Global Functions, to avoid repetition of generic function blocks on all screens.

  2. Better presentation/organization of variables list, because today they are sorted in order of creation, and we spend a lot of time “looking” through long lists for them.

  3. Locate / Replace tool for multiple occurrences of variables in blocks page.

  4. Copy and paste blocks between different projects, to speed up the development process (today we have to save the screens and add them to the projects where we want to copy the blocks).

  5. Improvements in the DataViewer components to connect directly to the Realtime database or in-memory Lists and also provide more native layout options.

  6. Implement native DATE & TIME blocks that performs date and time display and calculations, as the LOGIC, MATH and TEXT blocks categories. Some useful blocks: date difference, time difference, sum days into a date, sum hours into a time, timestamp formating, day of week, show calendar (with click capture blocks).

  7. Better implementation of maps (which are currently buggy), with custom markers, geolocation and calculations of distance, time and routes natively.

  8. Support for other date formats such as DD-MM-YYYY in the Date Input component and in the DEVICE blocks create the Current DATE or TIMESTAMP options with different formats.

  9. Make it possible to set any property of a component using blocks, for example, in Text Input, the property “Enabled”. Right now, it seems like we can set about 25% of the properties of any given component dynamically using blocks. So that’s a limitation.

  10. Better organization and categorization of projects on the Thunkable homepage, being able to separate them into folders (by subject, client, project, etc).

  11. Locate / Replace for texts, or code blocks on the IDE’s blocks page.

  12. Backup tool for downloading old projects archiving them for possible future uses.

  13. Conversion tool of projects from version StP of Thunkable to new version DnD.

  14. Improved DataViewer and ListViewer control allowing to position them on the first or last line at runtime.

  15. Allow configure Firebase connection at runtime, for applications that needs work with different databases, or even multiple databases. To avoid security issues the connection info must to be stored in the Thunkable servers, never locally, with some authentication method and never showing to the end user the full stored data.

  16. Hide the application variables from the list on the loop blocks, or make them work in these blocks.

  17. Allow creation of Screen Templates with colors, headers, footers, formats for buttons, labels, text inputs and background patterns, so that when you drag them to the screen, they are already pre-formatted.

  18. Improve integration with Cloudnary DB to implement the concept of folders on save, and allow resize and deleting unnecessary files.

  19. Improve scrolling speed on blocks page when there are many blocks.

  20. Being able to save PDF files natively, with data from a Dataviewer, ListViewer or even full screens.

  21. Realtime data fetch functions, and load scope with data paging for better performance and less unnecessary traffic.

  22. Connection to Google’s new Firestore Database, which is more powerful, extensible and flexible.

  23. Background execution of applications made with Thunkable (essential for applications that need to send notifications or monitor device sensors in real time).

  24. Allow the use of localization files to translate applications into multiple languages.

  25. Improve the menus offering animations and other visual options such as using background images and zooming in and out on the screen scroll, not being static like today.

  26. Version Control for the APPs with automatic backup / restore of old versions when you “pack” the app version.

+ Ideas consolidate from what @tatiang listed here:

  1. Allow users to collaborate on a single project simultaneously. This would be a great feature for teachers to use with students and for small businesses to use when developing apps.

  2. Add better support for Bluetooth devices. There seems to be a fair amount of interest in this and it’s difficult to connect them to Thunkable.

  3. Improve the documentation. It goes without saying that one of Thunkable’s strengths is the community of forum users who offer their knowledge and advice. And while the documentation is generally helpful, there are lots of missing pieces such as in some cases a lack of viable screenshots of blocks or links to sample proejcts to demonstrate each component.

  4. Improve the Drag & Drop interface so that it contains all of the features of the Snap to Place interface including cloning/all component blocks. Retire the Snap to Place interface. It’s confusing to new users to have two active interfaces with separate UI, features and documentation.

  5. Vastly improve the Canvas or remove it. It’s clunky and odd that it’s a separate world within a project. I’d love to see it integrated better and make the whole feature more intuitive and user-friendly.

  6. Make components more universal or add a universal component. A button should have all of the events (click, long click, etc.) that a label has and visa versa. Or else there should be a “catch all” component that has every possibility available and we can use that when needed. This could also be the case for sprites. Any component such as an image or switch could use movement blocks, etc.

  7. Fix Groups. They need help! It’s awkward to manipulate them in a screen and they are missing key features that rows and columns have. Half the time when I think I’ve added a component to a group, it’s merely on top of the group outline on the Design tab screen but in the component tree, it’s not part of it. And it’s not possible to re-organize the component tree to add components to groups. So I have to drag the component out of the group outline area and back in.

  8. Add more button styles, screen transition effects, etc. that have been long asked for in the community.

  9. Ease off on some of the restrictions that were implemented with the new pricing model. Some of the decisions around downloads and web apps seem overly restrictive when compared to long-standing availability of account features prior to the change.

  10. Add more forum support staff. It’s amazing as a user to get feedback from someone like @Jared_Gibb or @jane but they can’t completely handle the volume of user requests now and assuming (and hoping!) Thunkable grows by leaps and bounds, there will need to be dedicated staff to handle this.

  11. Hire teachers as consultants. The educational side of Thunkable feels a bit forgotten sometimes and there’s a huge market for a good product (which Thunkable is) that teachers can easily understand and use as a tool with their students.

  12. Improve Figma integration. I still struggle to find Fimga imports helpful. The documentation in Thunkable is limited and it doesn’t seem to be possible to convert imported shapes/objects into fully-functional/native Thunkable components.

+Some More Ideas

  1. Limit the scope of functions variables (parameters received) inside the function only, to enable recursive calls to the same function. Maybe can create a different function type to implement this feature.

  2. Improve the crash log to display the last “line” or block that was run. - Idea coming from here

  3. Variables Monitor: Show app & stored variable values during runtime. Suggestion: Add an icon in the status bar at bottom in the Live Test mode and show the variable list with the current status.

  4. Dataviewer Components: Create an “on refresh” block, to allow more control over the dataviewer.

  5. ShareImage Block: Allow to share images coming from an HTML link. Today the component allow to use HTML images but does not work when sharing with other apps.

  6. Public Project Page: Today is not possible to search by project name, only by the categories or username. So you need navigate for hundreds of projects, trying find what you looking for. We could also have the main screen preview in the grid (this helps to identify the app quickly). The only way to check the app is opening the project, but when you return the page you was before is lost. Horrible navigation problem!

  7. Create / update row object from datasource blocks : Develop an approach like ReatimeDB to save entire row using objects instead use multiple blocks (for update).

DISCLAIMER

I’ve been working daily with Thunkable for the past 7 months, and wow! How many challenges and learning in this period!

First of all, I have to say that I haven’t programmed for over 25 years, I was working only in project and IT management, and I was looking for a tool that would quickly and easily offer good support to develop my projects, since I’m working alone. Thunkable was the natural choice for what it proposes to be: a multi-platform, NO-CODE tool with the flexibility to create applications with access to APIs and data in the cloud.

Gradually I could see the good quality of the documentation, since I didn’t know anyone close to me who used Thunkable. The official information provided is enough to get you started, and supplemented with videos from developers who have kindly shared their knowledge on Youtube.

In addition, we have the Thunkable community and it’s impossible not to be surprised by the commitment to help. This makes all the difference to get out of the basics and reach a level of knowledge sufficient to proceed with projects. And after subscribing to the PRO plan, I could see that support is equally responsive when needed.

I am now in the final stage of developing a large project with several technical challenges and hundreds of business rules, which basically requires 3 distinct and integrated applications. And as was to be expected, the time has come when all the pieces need to work together.

It’s a critical go-no-go moment, as Thunkable like any tool has its limitations that will either have to be accepted or resolved, but if the end result is bad, it will force me to discard it and do development in the traditional way. .

I chose to give everyone this context so that it doesn’t seem like I’m here looking for defects or complaining, because I recognize the tool’s qualities and that it can go further.

Last year I had the opportunity to participate in two live feedback sessions with @domhnallohanlon and @Jared_Gibb, where I talked about my projects, and about the improvements that I believe are important for increasing productivity and product reach, especially after of having been involved in “heavier development”.

So I’m going to list the ideas I’ve presented and others that have come up over the last few months, hoping that this gets to the right people, and that it’s possible to get a real plan for improvements with what will or won’t come in the months ahead.

Well… I think with this things Thunkable will for sure go to the next level in App development.

More ideas? Do you disagree with an item? Feel free to comment, add or review! The goal here is to have a community-oriented evolution of this wonderful product. So let’s deepen the discussion and make arrive these ideas to the right people.

And before finish this long post, my gratitude for the Staff commitment and support!

With my best regards,

Paulo Vaz

9 Likes

Thanks for taking the time to write all this! I have a similarly long list over here.

Some of this is similar to what I wrote so I won’t duplicate your list items but I do have a few comments:

  1. Yes! Here’s my suggestion: Improved Variable List organization · Issue #740 · thunkable/thunkable-issues · GitHub

  2. Great idea to have distance calculations included with the Map component.

  3. Yes! See my comment #6 at the first link above.

  4. Oh man, I really wanted the project list improved a while ago so I made a mock-up of some improvements and guess what happened? Thunkable took my suggestions and implemented them (yay!). But yeah, there’s still improvement needed there.

  5. Do you mean converting from “Snap to Place” to “Drag & Drop?” Or something else? Thunkable X is the newest version so I’m not sure what you mean.

  6. Can you explain this more?

  7. This seems like a popular request!

3 Likes

@tatiang , fantastic!

Your list matches with my list in some items, but looks you have additional itens we can remix in a single list…

Because I’m only working with the StP version of Thunkable, I don’t know much about the requests for the DnD interface. The only thing for me now, is guarantee that we have an conversion tool from StP to DnD, good documentation and a full support for the features of the previous version before end the support of StP. I saw a long list described by @muneer of itens that are not okay to move to the last version in Christina’s post, so hope to see this fixed in the future before I move my projects.

But essentially my suggestions are to the StP version in order I can apply to my current projects.

Do you agree to mix our lists here and help the staff knows and understand our needs?

2 Likes

You can already convert from StP to DnD. It’s not perfect but it’s a good start. I guess it’s a beta testing version because I have it but I’m not sure everyone else does. You cannot convert from DnD to StP.

I think it’s fine to mix our lists.

2 Likes

Definitely agree with 1 and 2! Those are two things that I have dealt with a lot in my app. I have started to clean up my app’s blocks now to make it easier for me to follow everything and I have a few functions which are identical across several screens. It was easy to copy and paste them from one into all of the others, but global functions would be awesome! The variables thing was a bit strange to me until I figured out the sort order. Alphabetical would make the most sense to me, but I’ve learned to live with it at this point.

3 Likes

5 and 20 are my favorites :smiling_face_with_three_hearts: as it will boost my work

3 Likes

If Global Functions can be implemented in Thunkable then it would be an opportunity to use my own functions to connect to Firestore instead of Realtime DB.

Firestore has many advantages over Realtime DB some of which:

  • Larger base and classifies entries by default
  • Sores data in a form very much like a spreadsheet making it ideal for tabular data.
  • Can include pagination when retrieving data.
  • Can create your own listeners from the database side and connect them to your functions.
    Can use server functions to process database maintenance without user intervention. This is also relavent to Realtime DB but all Google example is using Firestore.
  • Can handle external triggers such as notifications.
    See trigger documentation for more info.
5 Likes

See this post

4 Likes

Well, my suggestion #22 is to provide native connection to Firestore. Your arguments reinforce the advantages to implement Firestore on Thunkable, hope they consider providing all the functionalities you mention natively.

Anyway, having the Global Functions, our daily work will be easier while keeping code light and clean, and also allows to “extend” Thunkable functionality by making real libraries of functions to use across the projects (maybe a new bussiness of “library creator” will born after this).

In other words: if Thunkable don’t implement Firestore access soon, we can develop our own connection layer using Global Functions. :wink:

2 Likes

Well, I never had access to this tool… so I can’t comment about…

Hope they make available soon…

But 1st, they need to improve the DnD to cover all missing points mentioned by you on the list above plus the @munner points here, otherwise, at least for me don’t make sense to convert my projects with functional gaps…

2 Likes

Humm… very interesting! For a single function the timer performs the rule with the use of app variables… CLEVER!

But for a complex library with lots of functions, it’s almost impossible to work with this approach (creating timers for each function), don’t you agree?

2 Likes

In CRUD operations you will need a minimum of 4 functions anyway, if I have to create 4 timers to call these functions then why not.

Although no one can stop you from running all the 4 functions from a single timer event. Create a variable for operation type and the timer will check which operation type to execute the relevant function.

3 Likes

In another topic, it was suggested that a crash log display the last “line” or block that was run. I like that idea. I also want to suggest that Thunkable add a way to monitor app & stored variable values during runtime.

4 Likes

Hello @tatiang !

I will edit the post in each new feature request someone posts here in this topic. And the suggestions above are great ideas for Thunkable improvement.

We don’t have any feedback from the team about this topic, so let’s try keep it alive :wink:

Regards,

Paulo Vaz

3 Likes

Added two new requests, regarding this and this posts.

Adding 2 more requests… 44 & 45!

1 Like