Christian Strebel
Thanks for your feedback and your recommendations, which is what we already heed, although I personally still didn't have a use case where the UUID would have made sense on any customer engine, but I understand why it makes sense also thanks to the blog post you guys created back then.
Regarding the business-facing identifiers: When I give this a second thought, I think it's hard to build a generic solution which will suit the needs of everyone. One of our customers needs a specific number for their accounting software consisting of a prefix in relation to the corporate body where every corporate body has its own identity seed. To build this generically would probably be more headache than any use for anyone.
That said, I think that process model case identifiers would be a good point to start so that every process model has its own consecutive numbers to keep them shorter and more human friendly. Regarding tasks, I think that the need here varies way too much to be useful in a generic fashion, at least from what I've experienced. Also to have starts which create a caseId only after e.g. the user dialog was ended in a successful fashion would probably be good in that regard.
In terms of technical ids, I think the current situation is already pretty well solved other than literally everything being a case or task from a technical perspective whereas simple viewing process starts already count as such. From my rather naive point of view, I'd say making process starts attach to a caseId by parameter without creating their own id would be a good thing, especially for viewing processes. It would allow to have the case scope directly available without having to include snippets to distinct it in the view itself. This could be bypassed by using the case in a variable instead of the ivy godobject, but yeah, it's just some redundancy one wouldn't need.
In the end, I can see and understand that making this good for everyone is much more of a challenge than to fulfill the needs of the projects I worked on.