At a small suggestion in #python, I wrote up a simple module that allows the use of many python statements in places requiring statements. This post serves as the announcement and documentation. You can find the release here . The pattern is the statement's keyword appended with a single underscore, so the first, of course, is print_. The example writes 'some+text' to an IOString for a URL query string. This mostly follows what it seems the print function will be in py3k. print_("some", "text", outfile=query_iostring, sep="+", end="") An obvious second choice was to wrap if statements. They take a condition value, and expect a truth value or callback an an optional else value or callback. Values and callbacks are named if_true, cb_true, if_false, and cb_false. if_(raw_input("Continue?")=="Y", cb_true=play_game, cb_false=quit) Of course, often your else might be an error case, so raising an exception could be useful
Comments
Thus iOS applications have to take in account the possibility that they will not be able to access location data, even if they need it.
If Android did the same, developers would have to handle permission issues as well (either by pre-testing and refusing to run or by cooking up recovery scenarios depending on the allowed APIs)
Developers of access control systems seem to ignore the last fifteen years of capability theory and the UI work that came with it - people have worked hard to make this sort of security usable, we know the answers, we just don't bother to develop toward them.