I'm designing a cross-platform, desktop engineering app. I'm wondering whether I should make the apps follow native design practices (a la MS Office),or use the same ones for all platforms (a la Discord).
This has been discussed a few times for mobile apps, where different OSes create different usage habits:
However, different desktop platforms generally create similar usage habits. For example, most desktop apps have a menu at the top. On Windows, it lives at the top of the window. On Mac, it traditionally lives at the top of the screen. Linux is a somewhat mixed bag. So all users are accustomed to a menu somewhere at the top. Shortcut keys are generally the same as well (Ctrl/Cmd+C, Ctrl/Cmd+V, etc).
For this particular application, it’s quite likely that users will have the application on multiple platforms (I'm currently using similar software on both Windows and Linux). So there is an argument to be made for identical application interfaces.
Mac OS seems to be the odd man out in the industry, but as my application engine is already cross-platform, I'd like to support it.