On 17/03/12 00:08 AM, Ben Francis wrote:

The Open Web Apps team has proposed a model very similar to the Chrome Web
Store model with three important differences:

(It's worth stating that in the goal/objectives/mission...)

1) There shouldn't just be just one web app store run by one corporation,
anyone should be able to run their own web app store and users should be
able to install apps from stores they trust, without the intervention of
Mozilla or anyone else.
2) Web app developers should be able to list their web apps in multiple app
stores and even host their own apps on their own web server and have a
direct relationship of trust with the user.


Which probably means they need a net-centric identity and brand system. In this sense, the identity would likely come from a private-key-pair of some form as a handle (the common ones are x.509 and OpenPGP but there are others). The brand would come from the name the developer chooses, their other apps and the sum of the direct relationships they have with their users.

There is an essential tension between the brand of the store and the brand of the developer, best seen from examples. People buy from the Apple store because they know Apple's brand, and it is relied upon not to sell them stuff they don't want. They feel somewhat less certain about Google's brand, which has explicitly loosened the controls... so there is a perception that what they buy in the Chrome store isn't as safe - they have to look after themselves. So they put more trust in other brands.

The alternate brands they look to for trustworthy decisions are friends - download what some mate has - and the net - reviews, columns, blogs.

By saying that app developers need to be able to move between stores, this takes the emphasis off of the store brand (that worked so well for Apple) and puts the pressure on other brands ... including and especially developer branding.

If we look at say Microsoft Word, the brand of Microsoft is all people need to make their buying decision. So as long as that brand cannot be attacked, the developer can sell the product happily across different stores.

so that would lead to these things:

1.  all developers have/are a brand
2.  they can attach that brand definitively to their product
3.  all shops can technically at least support the products and brands
4. supporting things that enable the other brand channels to work (by this I mean ways for mates to pass reliable links back and forth, and for blogs/columns/reviews to past in articles).

From where I sit it seems that some form of brand/id/public key/signing technology is needed.



Surely there should be no central authority for permissions requests other
than the user?

  ah - yes.  but are the users technically competent to evaluate the
safety of the code?  no, they're not.  they haven't got time.  so
whilst the word "permissions" is the wrong word to use, the concepts
in this section are still kinda sound.


To be honest, other than verifying that an app developer is who they say
they are and displaying this verification in the app description, I'm not
sure how feasible it is for the app store to verify that a web app (which
has a server-side component) is safe without having full access to the
entire source code of the app and checking every change that's made to that
source code. I could be wrong but this seems to me to be more of a
contractual issue of trust between the owner of the store store and app
developers than a technical one.


At a technical level, yes. There are contracts, clauses, etc, between various of the parties.

But at the human level, the average customer just follows brand and recommendations based on brand. This is the great simplifier. E.g., most users of Firefox do whatever is presented to them by Mozilla, rightly or wrongly. They trust in the brand of Mozilla to more or less get it right, or not so wrong as to be disastrous. (Indeed, for much of Firefox's life, there wasn't really a proper agreement, and that agreement or contract is still quite light and boilerplate.)

This is seen in the permissions - relatively few users adjust permissions as delivered. Instead they trust in the brand.

So, following this along to its architectural import: ignore the contracts for now, and think how to allow the brand of the developer to successfully attach to the product and on the user's privileged space.



iang
_______________________________________________
dev-security mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-security

Reply via email to