Apple rolls out new features/platform.
Developer forges ahead in gray area (there's history here with apps that launch other apps).
Apple "clarifies" their stance by rejecting said developer's app. (In Apple parlance, clarifying means issuing a firm opinion on their openly stated policy of "we'll know it when we see it".)
Development community cries out.
Apple remains singularly focused; stringently enforcing their policies (even if they are often unclear or inconsistent).
I don't mean to lay the blame entirely at the feet of the developer in this case, but it's hard to argue that there isn't history here. Remember when iOS apps first hit and there were a whole slew of "home screen" apps that displayed things like the weather, calendars, etc? Apple banned all those apps too. The reason given was that Apple doesn't want apps to usurp the home screen. Apple wants to control that part of the user experience, because Apple knows best.
> Instead, Apple is being Apple and aggressively protecting things that do not need to be protected. They do so with inscrutable and nebulous reasons that leave all involved feeling dismayed.
This is purely a matter of opinion. Apple feels that they need to control the user experience. Just read the introduction to the App Store Review Guidelines [1]. Apple's stance is really clear: they control what happens on their platform. They've made some efforts to make the process a bit less lopsided (the appeal board), but it's still crystal clear that Apple holds the reigns.
If, as a developer, you disagree with that philosophy, you have to decide how to best effect change. I would argue that continuing to develop for the Apple platform is about the worst way one can affect change. Proselytizing the developer community is a fool's errand. Look at the case of the larger iPhone. What drove that? Apple looked at the market landscape and decided that they could no longer ignore the trend.
IMO, your best choice as a developer is cast your lot with the platform that best reflects your philosophy.