?

Log in

No account? Create an account
Semiformalishmaybe

Policy Layers

With social network software, I'd like to access the services more through APIs and standard data structures and less through provided interfaces. I've seen a few distributed social network systems; I wonder if they might catch on. Although there's a strong anti-incentive for the existing big networks to go with this, I think it'd be great if people could write their own policy layers that would sit between them and those social networks. For example:
*I want to see everything this person ever posts
*I want to see everything this user posts that doesn't have this tag
*I want to never see anything this user ever posts but do want to see their comments in discussions
*I want to never see anything this user posts and want any threads they're in pruned at their comments
*I want this user's posts throttled by $PROVIDEDMETRIC which designates them to be grouped into a daily digest
*I only want to see posts from this group of friends that have more than 5 comments
*I want any inline media in posts matching this heuristic to be replaced by clickthroughs

I had this for awhile when I had written software that would scrape/reformat/aggregate all sorts of news sources, and I really miss it (although the software was an incredible pain to maintain). I recognise that not everyone can program, but there are plenty of people who can reasonably easily learn to cut'n'paste program, given a reasonably simple programming language. Likewise, some people might ask someone else to code up something for them. As a general principle, I think it's great for software to be scriptable and to encourage users to write policy that the app will try to obey. (This part of this post is a companion to a similar thing I said on G+ today)



One of the things that bothers me about the Android policy layer (and in general OS policy layers) is that it feels static and that it's mostly upfront. I don't think this is maximally empowering to the user; I think users should also be able to script policy for their operating system, and that it's in general a good idea to let users say be asked anytime an app does something and say "Yes forever, Yes for an hour, Yes with these specifics, or No". I don't like how on Android the developer gets to ask once with very coarse-grained permissions and then keeps those permissions forever. It should be impossible to implement reliable DRM on a well-designed operating system. It should be impossible for apps to phone home without the user knowing on a well-designed operating system. It should be considered very rude for apps to refuse to run if they want a permission they don't absolutely need and the user refuses to give it to them. The user should be able to write a policy layer that will lie to apps about the system clock, the contents of the filesystem, any system identifiers present, the network, whether the system is virtual, and pretty much anything else. A well-designed operating system should make this easy. I would like to see good operating systems (by this metric) replace bad ones.
Tags:

Comments