Skip to main content

Compared to other platforms, Thinkwise really excels in productivity. Especially the fact that creating a Data Model immediately results in a working Application is unparalleled! 

One of the current strategic priorities is to double down on this development speed of the Thinkwise Platform: we strive to make every Developer a mythical 10X Developer!

There are a lot of angles we can work in order to achieve that goal. As a first, we want to fix unnecessary limitation in the Software Factory (SF). This means we want to tackle those things for which you as Developer have to create workarounds to get functionality working the way you(r users) need it.

There are a lot of great Ideas out there and of course we'll review the existing ones. But I would also like to call upon the Community to highlight which existing Ideas would be your priority and/or to create new Ideas related to eliminating SF workarounds (please keep it to this scope in this topic).

Could you please:

  1. Reply with Ideas that would be your priority
  2. Vote on Ideas listed in this topic that you agree with
  3. Create new Ideas if your idea is not yet listed on the Community 

I'll curate a list in this post. Note that actual implementation in the near future depends on our prioritization which includes an ICE assessment on Impact and Ease to implement. As inspiration a couple of Ideas that are already on our radar:

 

Additions:

 

Currently it is a hassle to create a somewhat similar situation using checkboxes, but it takes workarounds.
 

I think this one speaks for itself 😄

 

This one would help out the non-english developers a lot.

I understand these are already on your radar, but I’d like to highlight the importance by mentioning them here as well:
 

This is an issue that pops up a lot. It does have workarounds but only when it’s a read-only field.
 

This would make a huge difference when using table variants.


There are several places where a developer needs to press a button in order to perform an action. I think a few of these could be done in the background or when performing an action that would follow the button press. 
 

  1. Immediate validation upon performing a related action (ie add a column to a table)
  2. generate code groups in the background 
  3. create translation objects after adding an object
  4. Schedule unit tests after completing a control procedure

There are probably more areas where this type of improvement can be made. Feel free to chime in. 


Validation of the complete model (as a background process) after generating the complete definition would also be beneficial/better default behavior than the current “generate  definition”/”execute all creation steps” choices (current options require more clicks to configure and/or more waiting time). 

 

As far as the validations are concerned: some of these are now after the fact, while they could be (and are generally more efficiently handled when) validated directly upon insert/update/delete on the related subject. 

 

The process of creating a template based task could be made more time-efficient (and easier for inexperienced users) by adding a standard flow and/or a screen that contains all the different required parts of the Software Factory. Similar improvement could be made to the process of adding a process action with process logic. 

 


 

As far as the validations are concerned: some of these are now after the fact, while they could be (and are generally more efficiently handled when) validated directly upon insert/update/delete on the related subject. 

Perhaps we should have two types of validations: batch and just in time (JIT) validations. 


I found another issue that could enhance the development time since you now have to create multiple conditional layouts if you want the same layout to apply on multiple columns.


Making process flows cost a lot of time. And can be optimized:

  • Auto generate variables based on actions used, then you only need to map them. Now you have to manually create them every time. 
  • When you edit a connector and change the type you get errors..  (or support it or don't allow it, instead make it insert/delete.  (this only happens with change of action type.. such as HTTP connector, via edit change it to Web Connector. 
  • Add code on connection lines from flow creator, we sometimes have to think to much to find the right generated procedure :D

And we loose quite some time debugging here, especially with external connectors.. in the logs we miss the actual requests being done and received for quicker analyses. 

 


When you edit a connector and change the type you get errors

This is fixed in 2024.3. Also other process action types had this behavior. Now changing the Subflow in Execute Subflow for example will try and map all previous input and output if possible.


Love this, I would suggest all developers to contribute to this topic so we can elevate the SF to the next level. Here is my input: 


Validation process:

A lot of validations could be given at the time you are working on said subject. For example reserved table/column names. Replacing these with JIT messages will make the development process more efficient and as a bonus reduce the time needed for validations/

- where possible replace validations with just in time validations
- https://community.thinkwisesoftware.com/ideas/control-procedure-multi-selection-set-ready-for-review-2752

Deployment during development process:
  (probably not feasible/scope too large)

I understand the problems that can come when allowing developers to manually deploy tables. However, when needed advanced developers will do this manually on the DB, so why not add the option maybe even set it behind an advanced setting so it’s not available for junior developers.

- Allow for table and domain creation in the same way functionality allows you to create views/triggers/tasks etc without doing a full creation.

Synchronization:

For small changes or only roles the synchronization process is too heavy. Giving more options would greatly benefit this process.

- https://community.thinkwisesoftware.com/ideas/smart-synchronization-4397

- https://community.thinkwisesoftware.com/ideas/option-to-only-sync-roles-authorisation-settings-from-sf-to-iam-665

General

The amount of micro management on roles is too much. When windows gui goes to 3 tier there is no longer a reason for all this micro management. Also not being able to simulate a group or a set of roles is a huge downfall in the testing process. Stil needing 5 steps to create a simple table task is cumbersome.

- https://community.thinkwisesoftware.com/ideas/remove-micro-management-on-roles-5051

- https://community.thinkwisesoftware.com/ideas/simulate-multiple-roles-777

- https://community.thinkwisesoftware.com/ideas/task-to-create-and-assign-a-template-for-tasks-views-ctx-lay-def-755

Model insight Universal

A lot of time is wasted having to go to the windows gui since the debugger has more or better options there. Universal has improved greatly, now we need to make that extra leap to make the debugger of universal more powerful.

- https://community.thinkwisesoftware.com/ideas/improve-model-insight-to-same-level-or-better-as-windows-gui-s-path-location-5016

 


Several possibilities, I see, to give the development process a huge speed boost with relatively small adjustments in the platform
 

 

 

To begin, I would fix the problem below, so that we can start measuring how often actions in the SF are used and how much time they take. Then the processes can be optimized based on facts.

 


@Robert Jan de Nie @Maurice Liebregt @Erwin Ekkel​@Freddy  Thanks for your input and contribution to this topic! Please do create Ideas and refer to these instead of just posting, so we can collect votes and let the Community speak.

A bit of feedback:

  • Realtime validations are absolutely a great idea, we have heard this a lot from the Developers we interviewed too and this is an important improvement to the Developer Experience! It is not in scope for this workaround topic and first we'll aim for bringing the Software Factory to the Universal GUI, after which we'll look at picking up Realtime validations. @Robert Jan de Nie would you be so kind to raise an Idea for this specifically?
  • Faster & easier deployment/synchronization is indeed not in scope of this topic, but another clear topic of improvement for our Platform! One of our competitors has a nice 1-Click-Publish button in their IDE which displays as Error button in case of Validation errors and automatically changes into a link to the Application GUI after Deployment is done: definitely something I'd like to see too. In fact, a long-term dream of mine is doing zero-downtime deployments to Production, automating the entire process from Merging until Deployment as much as possible (will take some years I'm afraid). NOTE: we might look at streamlining the Creation tasks a little bit better as part of this topic.
  • Model insights improvements will follow soon. In fact, we did our best to improve the Developer/debugging experience with the Thinkwise Platform 2024.3 release. We feel the Model insights improvements are the last thing we need to get on par with/better than the Windows GUI. I can recommend the next Knowledge session that will further dive into this topic: 

     

@Robert Jan de Nie I believe your point 2 & 3 are mentioned in this Idea, could you make sure to add your vote there? 

@Robert Jan de Nie on your 4th point: what is ‘Completing a Control procedure’ in your perspective? Doing it upon changing status to ‘Ready for review’ would be too late I believe. How about including this in the ‘Generate code group’ step and triggering both on saving a Template? If so, please add to above mentioned topic.

@Maurice Liebregt Agreed that the flow to create a Task with a Template or a Process Action with code is not efficient. Would adding the Control Procedure tabs as detail tab help? I believe this Idea tries to cover the same:

@Freddy Would the generation of Process Variables fit in the ‘Eliminate all creation / generation tasks in SF’? If not, please raise a separate Idea.

 


@Harm Horstman Thanks for your input! I have added most of your Ideas to my first post. 

Two things I would like to mention:

  • Your Idea for ‘Quick model editing’ has been merged into below Idea. I believe it is a great and useful concept, but not in scope of this ‘workaround’ topic. It would be a theme of it's own and is currently listed as a good next step to ‘10X’ the Development speed.

     

  • User Action logging would indeed help to find out what Developers (or End Users) are actually using in the SF (or a Custom Application) and would certainly make my life as Product Manager easier too. It is a good recommendation to start with this, and since we aim to bring the SF to Universal soon, votes on below Idea would actually help. It is not in scope of this specific topic though.

     


Two more Ideas I would like to highlight and will add to the topic:
 

This gives way stronger filtering capabilities to end users, and empowers them to create more custom Filters. As a result, this helps Developers who most likely need to create a lot less Pre-filter (expressions) on behalf of users.

Check Constraints are a very powerful feature, but seem to be underutilized. Also the creation of custom messages feels rather hacky. With this Idea we can make it a more ‘first-class’ feature.

P.s. This blog is great inspiration: Check constraints using the Software Factory | Thinkwise Community (thinkwisesoftware.com)


Added the two ideas which I proposed but didn't exist as an idea yet: 

 

https://community.thinkwisesoftware.com/ideas/replace-validations-where-possible-with-just-in-time-checks-5401

https://community.thinkwisesoftware.com/ideas/allow-for-individual-table-domain-creation-5402


I would love to see this feature to save a ton of time when creating unit tests:
 

 


Hi @Arie V ,

I have to following missing features which currently results in workarounds.

  1. Having a lookup value filtered by 1 or more columns. For example filtering available items based on available date. Currently this results in creating a view in which you cross join items with your dates in order to being able to filter in a column or task parameter on a the item list. This is not a great solution, costs alot of resources and performance. When you could create a view upon a tabled valued function or stored procedure you could show a filter data set instead of selecting everything and then filtering
    1. Lookup combo values based on table value function | Thinkwise Community (thinkwisesoftware.com)
  2. When you want to show information on the same page this is not directly related to 1 and the other, you have to do this by adding a reference with no reference columns. This works great but is obvious not the most logical way to do this and it something that is asked for quite often
    1. Show multiple subjects on the same page | Thinkwise Community (thinkwisesoftware.com)

Reply