But there is this social element to designing an app on OS X that you don't get elsewhere. People
will critcise you if your app 'feels wrong' or 'feels un-mac-like'.
This is why writing software for the mac is harder than the PC. On the PC (or especially Linux) you can just do whatever you like, whatever makes sense to you.
But here's the thing, the reason that the Mac feels so 'intuitive' is because - if you're doing it right - you have to implement six different ways to do anything. That means that the second or third way someone tries to do something will work, so it feels instant. On the PC if you try 20 ways to do something, and it doesn't work, you feel frustrated.
This is a lot more work. It is much easier on the PC because if you can't be arsed supporting say... drag and drop, no one is going to call you on it. On the Mac, you will be pilloried. Saying it's not fair on people because of their hard work is to commit two errors:
(1) to not understand Mac culture, where developers are expected to put in the extra effort
(2) to falsely label something as hard work when they clearly haven't done their homework, and have taken shortcuts to avoid putting in the real hard work
If I ask someone to cut my lawn, and they go over it with a roller in order to flatten it because they can't be arsed and it's just the same... I will not praise them for their ingenuity or hard work.
They haven't finished the task.
Also, there is a third point
(3) to commit the error of thinking that the software is finished and set in stone forever
Software is change. But how will they know to change if no one points out to them the error of their ways?