Apurv - following your advice, I found the following:
"opensocial-0.8":{"path":"http://%host%/
api","domain":"
google.com","supportedFields":{"person":
["id","name","thumbnailUrl","nickname"],"filterType":
["all","hasApp"],"activityMediaItem":
["type","mimeType","url"],"activity":
["id","externalId","userId","appId","streamTitle","streamUrl","streamSourceUrl","streamFaviconUrl","title","body","url","mediaItems","postedTime"],"sortOrder":
["name"],"name":
["unstructured","familyName","givenName","additionalName","honorificPrefix,
honorificSuffix"]},"impl":"rpc","enableCaja":false}
There is nothing listed for id, name, givenName, familyName, etc.
As I said earlier, I tried
<div if="${Cur.viewer != null}">yes</div>
<div if="${Cur.viewer == null}">yes2</div>
for all three cases. I tried it for (a) owner viewing app on his own
profile, (b) visitor with app installed viewing app on friend's
profile, and (c) visitor withOUT app installed viewing app on friend's
profile.
In all 3 cases, "yes2" was output. I am not sure what this means, but
at the very least it means Cur.viewer shows no distinction between the
three cases.