In theory, it's doable but it wouldn't be real-time (thirty second delays are probably out the question) or it would put a large load on shared hosts.
If it wasn't real-time, you'd implement it the same as alerts. Hitting the database once every thirty seconds to see if there's new stuff for a user and pushing the updated content if so. Zero performance impact (as you have alerts anyway), if it's implemented properly as the check to see if anything's changed for the user can be one query.
This is probably not the answer you want to hear, but doing this properly would require a VPS.
It's not a problem for Google and Facebook because they have who knows how many dedicated servers.