A line in this answer, "Get used to using the Mac on its own terms", took me aback a little bit, and made me start to think about something I pondered ages ago and still haven't come up with a good answer to.
Each OS has its own guidelines for how to develop an application's interface so it fits with the OS, and consequently the mindset of the user.
While no one really enforces this to any great degree (aside from the usual "made for xyz OS" programs) it bothers me that I have to make a choice when developing an application that suggests functionality that is different from the OS suggestion. It may be the application itself is better with a different user interface, or it may be due to implementation, such as being a webapp or cross-platform.
App vs OS:
- What are the ramifications if I choose to develop against those UI recommendations assuming I have a good reason to do so?
Webapp vs OS:
- If I'm developing a webapp that's meant to be used as if it were a desktop app what do I do:
- Develop and follow my own convention (or one of the major OS's conventions)
- Check the user's OS and follow that convention (and thus a user would get a different experience on different computers even if using the same account)
- Follow the convention of another major webapp (gmail/docs, live, etc)
Cross platform vs OS:
- In developing an app that is cross platform
- Follow one OS's convention
- Use a cross platform library that follows most of the OS conventions depending on the OS it's being run on, though none are perfect
- Custom interface for each OS that is fully native
I realize it depends greatly on resources available, and various other unknowables, but what are the considerations, tactics, and arguments you use when considering this choice.