It isn't vague at all, cerberusti is exactly correct and the AC is a maroon.
"Work for hire" means employee. It doesn't matter what you want it to mean; look up the legal precedents. Contractors are exactly what is _not_ "work for hire," it is business to business contracted work. Basically, the opposite of "work for hire."
There is no ambiguity; you have to have an express assignment of copyright for it to transfer. The contractor owns all their own IP. What the client gets is an implied unrestricted license. That gives them certain rights; you can't stop them from using what you made, because they paid you to make it, but that isn't the same as granting copyright. And a copyright assignment that is buried in the contract is actually not enforceable. You have to have a separate document that is only the copyright transfer. You have to have a signature that is just for the copyright, or else it is not expressly agreed to, it is just an unenforceable extra condition. The copyright assignment can require another document to have been signed in order to take effect, though. So that is how it is done, and that is why there is more than one thing to sign when you have a lawyer do this stuff for you.
The funny part, yeah, consulting contracts often do claim to state the ownership, but that isn't a valid place for it, and the contractor actually still owns that code. It doesn't come up very often, though, because if you try to use that to screw somebody over, you'll be engaging in an unfair business practice and that will preclude you from bringing an otherwise-valid lawsuit regarding the matter.
The easy way to remember it if you don't want to learn the details, the copyright designation is based on who the legal employer is, not who paid for the work. Paying for the work just means you have to be allowed to use the thing that was made for you. If you want to also own the copyright, you're buying that separately the same as if it was made for somebody else.
Just wiki "work for hire" before trying to get pedantic and "stepping in it."
But in the article, as an employee there is no way for him to end up with copyright. Even if it was done at home, since it is clearly related to his work, they own it.
My advice for him, if you're not ready to be a contractor, and you're not ready to start your own company, just write these ideas down in a notebook. You're not in the right situation to be writing speculative for-profit apps that take advantage of your employer's platform, because you're also writing those for your employer. If your company actually wants you to do this, they'll give you the documentation you need, but make sure you're really well trusted by management. If you're just a regular Jr developer, don't even ask. Just write your ideas down so that you can think about them more later, and learn about which still look good later.
We had a bank in Canada that outsourced it's IT department (operations and development). After a few years of rising costs, and security concerns, they wished to repatriate their IT department. Well, they did receive the data centre, and their hardware/network, but the contractor owned the code, and the bank was up SCHITTS creak (www.cbc.ca/schittscreek/). They were forced to retain software development with the contractor.