I'm looking for a design opinion. My OS X app uses System Font for textfield and button titles. Problem is, Apple has changed the value of System Font twice in recent releases of OS X, and this has messed up the layout in my app. I now know that I can use Auto Layout. My question is, from a "best practices" point of view, is it better to use system font throughout for on-window controls, and let the look of the app change each time Apple changes the system font, or is it better to have a uniform custom font throughout the interface, and one that remains constant even when the system font changes? Thank you for your guidance.
Unless your app has a clear character or you have a brand font (Spotify for example), using the system font will make you fit in the system better.
It's best to make layouts independent of font size, because those layouts will break for every change in text too.
Your question has an answer in another UX question,
Your desktop application, if it is built on system controls (not with it's own graphic style entirely) should use system font to be compliant to OS guidelines (weither it is Windows, Mac OS or Unix derivative OS)
It is important to know what it is built for. If it uses a system controls to primarily achieve a function which is disconnected from the font aesthetics then by all means system fonts should be used. The system fonts have already been through the readability and other usability checks.
Here is an example. Evernote for desktop looks similar to Outlook in the background. Here the function of the custom app is clear. It leverages the system fonts and reaps the benefits of consistency and associated mental model of users. System fonts help the app to merge with the OS ecosystem.
Custom fonts should be chosen when it has a direct impact on your business goals. It is not limited to branding. If you want to make sure that that app needs to be noticed as a different from OS for some reasons. I have rarely found it to be helpful. There is a clear disconnection from the app and the OS that loads that app. Personally, it has always been slightly irksome when that happens.
It is not limited to fonts. The layout, design also has an impact. I remember how the old Winamp was distinctively different from other windows applications. I feel we have come a long way since then.
You have got two options to tackle the problem at hand. Either stick with a font that works best for the interface, or start with the system font, and let the users select the font they most appreciate from a list of available fonts (from the preferences tab, which takes this into a whole other domain, I'll let you do your own research). This way, those who wish to continue in their old familiar environment can do so while the ones who prefer the application to go along with their current OS layout can have that too.
Eventhough my personal recommendation would be to select a font that works with your design and sticking with it, your question intrigues me. The preservation of familiarity of long time users should be a high priority issue, but as long as the fonts remain in the same family, the damage would be minimal.
It's always best practice to go with system fonts cos some environment/company's has restrictions on custom font download.
Please go with what your design is demanding