In the UI dialogs of Invite, Register, Configurations and Notifications you can see some oddities, such as
ZAI0107I, Invitations we are using: 5 / 50
I would like to explain these and enrich them on the occasion of the current domestic ties with the help of small episodes from the longer past. In the middle of the 90's of the last millennium Microsoft released the OS WinNT 3.5/3.51. This was not a complete composition of the company's own, but had interesting functionalities of another operating system, the VMS from DEC. VMS was a popular and powerful operating system for users, with authorizations, a domain concept, guidelines, and much more. The idea of implementing VMS for the PC architecture could not be realized at DEC, and some "escaping" developers were gladly accepted by Microsoft. ( https://web.archive.org/web/20020503172231/http://www.win2000mag.com/Articles/Print.cfm?ArticleID=4494
) There was still a fairy tale about VMS, that when some companies moved, the people in charge asked where the systems were actually installed, which led to the realization that their systems had been forgotten in the basements of the old buildings, but continued to run trouble-free even without maintenance. Indeed, the stability of the DEC VAX machines and VMS was legendary. Well, as I said, some things have been incorporated into WinNT, and are present in today's Win systems (which should not lead to the conclusion that the quality of Windows is anywhere near as good as that of VMS). Documentation on WinNT was published by Microsoft Press at the time. There was also a thick book about messages and notices about WinNT, which was translated into German, and cost about 60€ compared to today. The scoop was: the texts were documented in German and sorted according to the English original messages.So the background of a message was not even easy and quick to look up, not to say largely useless.
For decades, operating systems from IBM were widely represented globally. There was also documentation on the messages and the mostly in several volumes of many thousand pages (and much more expensive). And a message, no matter in which language, could be found easily. Each Message item had a short identifier that quickly showed experienced users which corner of the operating system the message item came from. This has advantages for the users, also for the developers. Instead of endless discussions about the message "Your input contains an error", an "IEC1234E blah blah" could quickly lead to an explanation. Interestingly enough, these documentations ("Messages and Codes") could even be skimmed well sequentially to get a better understanding of the operating system functionality.
Identifiable messages in complex systems are not only helpful, but can also contribute significantly to the user-friendliness and transparency of a system. A developer who somehow gets the message "XYZ12345A Blah blah" wrong will quickly know where in the code something about it can be found.
And Hubzilla/Zap? Well, many people here in the forum have been dealing with the system for many years and some of you may remember how difficult and opaque it was to get started. With about 2700 php scripts it is also not a lightweight and the functionality is potentially so powerful that an increase in transparency in general can be helpful. For this reason I used the messages in the Invite and Account functionalities. The additional coding effort is not expensive. A message ...
t('This is an error')
... might look like this: ...
'ABC1234 ' . t('This is an error')
The message identifiers are structured: Prefix+number+Suffix
. As prefix I used 'ZAI' and 'ZAR', where Z stands for core functions, A for account, I for Invite and R for register. IBM used "I" as first character (for what else then IBM) and "Z" can be assumed to be Zotlabs. These prefixes can contain 3 to 4 alphabetic characters. The following number has four digits and offers potential for structuring. For example, I use number ranges 0100 within GET() and 0200 for POST(). The suffix says something about the importance of the messages. I stands for info, W for warning, E for error, D for disaster and A for action. By the way, a message prefix is also good to use in the html skeletons of the templates, e.g. as
(at least that's how I used it). Speaking of html. The message identifiers in my examples don't have to be designed optically like in my current UIs. For a more discreet use, the Html Title attribute would be very suitable. Only for now, as a kind of promo for something like qms
, my UIs look like this at the moment.
Hope story was not too boring. Keep healthy