Finally fixed a bug that’s been bothering me for a day. I’m amazed at how much different the programming is “up here.”
In many ways interacting with the operating system is a fairly straightforward thing: There are some system calls, they return some errors. In CoreFoundation and Foundation, we layer more sophisticated behaviors around those calls to make them easier to use, or to provide new facilities.
As soon as a user gets involved, things get infinitely more complicated. Interaction must be taken in to account. Designing the user experience takes time and effort, and designing and writing APIs to support a user experience or interface take a lot of time and effort.
Still, I’m having fun. I miss the low-level stuff, but I’m getting immersed in the things that I’m working on now. It helps.