Most of my career has been working on numerical algorithms, image processing, calibrating science data, making LEDs blink... very little at the level of whole apps and sophisticated GUIs. Though I have written some apps, by today's (or 10 years ago') standards, these were toys, simple demo wrappers around the number-crunching black boxes I'm good at making.
Looking around, I see little demand for low-level numbers/pixels skills, interfacing directly with hardware and such; it's all desktop machine apps, smart phone apps, web apps. I'm interested mostly in desktop apps to be used by technically intelligent people - scientists, engineers, doctors etc - since I've already spent plenty time in such environments.
So maybe it's time to become expert at this type of software development. Besides reading, reading and more reading (of course) and dabbling in hobby pet projects, what are the most effective ways for an experience non-apps developer to begin developing this particular kind of expertise? Which books, sites, and blogs are especially informative for learning whole-apps level design?