User Page Design
Some braindstorming work around the design of User Pages (AKA User Profile page) on the OpenStreetMap.org site (Web front end)
from https://docs.google.com/document/d/1BMywOj_p0T3_e-RUgMQwZIhF9vxpgIITM8UOLQAa59Y/edit
Goals
- Motivational
- Acknowledge contributions
- Prevent discouragement for newer users
- Shouldn’t discourage “trying”
- digital candy
- Awareness that I’m not doing something right. Why is my number 0?
- Educational/informative on what OSM is
- apparently this ‘stat’ is something the community determines is important
- See your or others history.
- Different things that you do
- Reward different types of contributions
- Encourage more varied engagement
- Profiles: Mapper, Community Engager, Documenter, Trainer, Evangelist/Marketer, Coder, User (commercial, NGO, Government), Donor
- http://wiki.openstreetmap.org/wiki/Design_Mailing_List/OSM.org_Personas
- Convey User expertise (who do I ask about a question)
- convey Trust & Quality of edits and contributions
- allow for explicit feedback
- Connect different people together to collaborate
- Experienced users can help and train new users
- Move past “it’s a (male) geek thing”.
- Create a sense of “belonging to the community”
- Make it clear that people are here. The community is liviley
- Recency - last edits in last 7 days
- Make it easier to fill out profile
- indicate progress along “engagement”
- What else could I be doing?
- Share where & when I’ll be at OSM related events (physically & virtually?)
- Teach users the path to higher engagement (different paths)
- Referrals of who/how you found out about OSM (particularly another user)
- Demonstrates accomplishment of the referring user
- Connects for future collaboration/engagement and training
- Share your profile with the world. Pride, Marketing awareness
- Share their/useful media within their page
- Profile data apparent from other data objects in OSM
- Valuable link to/from Changeset or Object page
- Link with your Wiki profile (and back)
- Awareness of my ‘area of interest’
- Calls to Action
- list of things that need your help
Requirements
- Moahr API
- Private: email address, private GPX tracks, precise home location
UI Inventory
- Show nearby, upcoming Events
- Identify my location and/or Areas of Interest (AOI)
- Recent edits in my area/time of interest.
- Links to tools to learn more about AOI
For everyone: Who is this? What are they up to? For me: What could I be doing? Who could I be doing it with?
User Page Viewing
- Username (user_id)
- Profile photo
- Mapping Since date
- About Me
- Contributor terms
- Links to Edit,
- Blocked Status: Confirmed/Active, Blocked
- Edit History
- ‘Sparkline’ of my history
- Recent stream of Activity (edits). Link to full history
- future: Specific ‘Type’ - ‘User edited 4 Schools’, ‘User created 2 highways’
- Geographic centroid & bounds of the edit (edited in Toronto, Canada)
- future: Configurable to follow/unfollow, subscribe/unsubscribe from categories
- Current Location & Scope (optional to keep private - public, only with friends, private)
Logged in:
- Friends
- Calls to action
- Progress along the path to being a ‘full community member’
- Set your location, Edit a node, Edit a highway, Connect with a Friend, Edit a Wiki page.
- Mapping Requests for action
- Automatic based on missing data
- Curated requests from other local/super users
- Nearby OpenStreetBugs
- Call for “search by distance with missing metadata
- international phrase call to action
- clicking opens potlatch on that node/location
- Recent Diary items if they exist and link to full diary. Otherwise no diary.
- After login go to my profile page
- API/Components that can be embedded elsewhere profile linked to (sparkline, contrib agreement)
Sharaeble Widget
- Embed profile widget in wiki/site/facebook
- edit map
- edit counts
- recent edits in ‘natural language’
- contributor ‘karma score’ - start with edit counts, but modify over time
- future: configurable?
Friends
- Sort users by: distance, activity, expertise (schools, roads, etc.)
- Better email ping.
- Subscribe to friends activities (active, summary)
- Define my profile
Signed-in Viewing
My Viewing
Updating
- Geolocate me
- Wiki username
- WYSIWG editor, Preview. Simple embeddable objects
Examples
http://lima.schaaltreinen.nl/bravemappers/
http://rweait.dev.openstreetmap.org/daily/board_career.html
http://hdyc.neis-one.org/?mvexel
changepipe:
http://lima.schaaltreinen.nl/bravemappers/#
Current API calls for user info:
Methods for User Data
Unless noted otherwise, all user-specific API calls require authentication and operate on the currently authenticated user account. That's why they don't normally have an explicit "username" parameter.
Details
You can get the home location and the displayname of the user, by using
GET /api/0.6/user/details
this returns an XML document of the from
<osm version="0.6" generator="OpenStreetMap server">
<user display_name="Max Muster" account_created="2006-07-21T19:28:26Z" id="1234">
<home lat="49.4733718952806" lon="8.89285988577866" zoom="3"/>
<description>The description of your profile</description>
<languages>
<lang>de-DE</lang>
<lang>de</lang>
<lang>en-US</lang>
<lang>en</lang>
</languages>
</user>
</osm>
Preferences
The OSM server supports storing arbitrary user preferences. This can be used by editors, for example, to offer the same configuration wherever the user logs in, instead of a locally-stored configuration.
You can retrieve the list of current preferences using
GET /api/0.6/user/preferences
this returns an XML document of the form
<osm version="0.6" generator="OpenStreetMap server"> <preferences> <preference k="somekey" v="somevalue" /> ... </preferences> </osm>
The same structure can be used to upload preferences (using the PUT method instead of GET). All existing preferences are replaced by the newly uploaded set. Also possible is to PUT a single preference using PUT /api/0.6/user/preferences/[your_key] (without the brackets)