Difference between revisions of "Summer of Code/2013/Social Sugar project"

From Sugar Labs
Jump to navigation Jump to search
m (→‎Work done: Small addition to work done in week ending August 9th)
m (Undo revision 89460 by Axitkhurana (talk))
Line 51: Line 51:
 
** for the social icon, use white fill, black borders
 
** for the social icon, use white fill, black borders
 
* Set up a VM to test mock-service extension
 
* Set up a VM to test mock-service extension
** Realized I had missed a couple of files were required by webservices module.
 
 
* Fixed issues faced in accessing social_ids in group view, apparently group view has different objects for buddies.
 
* Fixed issues faced in accessing social_ids in group view, apparently group view has different objects for buddies.
 
* Reached out to Daniel regarding network issues with multiple instances of osbuild, I need to update osbuild and get back to him regarding this.
 
* Reached out to Daniel regarding network issues with multiple instances of osbuild, I need to update osbuild and get back to him regarding this.
Line 91: Line 90:
 
[[File:MiniprofileScreenshot.jpg|260 px|Small cloud icon in friends view.]]
 
[[File:MiniprofileScreenshot.jpg|260 px|Small cloud icon in friends view.]]
 
[[File:MiniprofileScreenshot2.jpg|260 px|Large cloud icon in friends view.]]
 
[[File:MiniprofileScreenshot2.jpg|260 px|Large cloud icon in friends view.]]
[[File:MiniprofileScreenshot3.jpg|260 px|Large cloud icon with image and
+
[[File:MiniprofileScreenshot3.jpg|260 px|Large cloud icon with image and text in friends view.]]
 +
[[File:MiniprofileScreenshot4.jpg|260 px|After Manuel's suggestions]]
  
 
== TODO ==
 
== TODO ==

Revision as of 13:54, 9 August 2013

This page tracks the progress of Akshit Khurana's GSoC project: "Social Sugar". More details about the project can be found on proposal page.

Work done

  • checked out previous work done: on webservices, journalx and sugar-network.
  • added social_ids to BuddyModel, still working on integration to access them in group view.
  • reading about GObject and Python GTK

Week ending Friday Jun 21st

  • read about GObject, gconf and some PyGTK.
  • am able to read social_ids from BuddyModel, access them in Group/Network views, send data through telepathy.

Week ending Jun 28th

  • Social ids are taken from webservices' Account models.
  • Working on User Interface for mini profiles. See notes from Mini profiles UI discussion.

Week ending July 5th

  • Created a couple of svg icons, initially a simple cloud, then a cloud with a speech bubble like pointer for mini profiles
  • Made few mockups for the neighborhood view, but we would focus on friends view first.
  • Implemented small icon gtk widget on friends view.
  • Will work on expanded view of mini profiles this week.

Week ending July 12th

  • Added a method stub to webservices Account to get latest post from webservice and a class to store a generic post from any service.
  • On clicking the small cloud icon (above the friend's buddy icon) the post gets printed to the log currently, which will be later displayed in the expanded view of the mini profiles, when the GTK widget is ready.

Week ending July 19th

  • On clicking smaller clouds we get the larger icons which will display posts.
  • Facing issues adding Gtk widgets over cloud icon (cairo surface). Tried the following:
    • Using .add() method of the icon
    • Changing eventbox's properties: Eventbox's set_visible_window / set_above_child also didn't work.
    • Able to add text using Cairo methods but not other GTK widgets

Week ending July 26th

  • Tried Gtk.Fixed for the above issue, didn't work.
  • Found a container:Gtk.Overlay to overlay widgets over on top of each other.
  • Created a new social bubble icon, to incorporate 140 chars of text and a small icon of the service.
  • Added icon for service, place for text in content over the social bubble icon.
  • Fixed positioning of overlay content.

Week ending August 2nd

  • Created a mock service based on the WebServices' directory structure with additional methods/classes as required by miniprofiles.
  • Documented on Wiki: Simple instructions to try out the mini profiles.
  • Working on hiding of the large clouds on clicking outside them, was looking at how palettes are hidden.

Week ending August 9th

  • Asked Manuel's help with the artwork. Tried to incorporate his suggestions:
    • make sure the text fits a rectangular area inside the cloud
    • center align text
    • make the tip of the arrow point to the head of the buddy
    • reduce border of the big cloud
    • for the social icon, use white fill, black borders
  • Set up a VM to test mock-service extension
  • Fixed issues faced in accessing social_ids in group view, apparently group view has different objects for buddies.
  • Reached out to Daniel regarding network issues with multiple instances of osbuild, I need to update osbuild and get back to him regarding this.

TODO for next week

  • Hiding social cloud
  • XO icon gets hidden as cloud displaces it below.


Adding social ids

What are social ids?

Social IDs identify a user on external platforms uniquely.

To create mini profiles in group view, we can add a social_ids dictionary to BaseBuddy model in addition to other properties like nick and color. social_ids is a mapping of `service key` : `uid`. E.g. {'project_sharing_website': '19348r93jfioaf', 'another_service': 'adfjafp1asdf'}

These social_ids will be obtained when a user adds his account to webservices module.

Mini Profiles

  • Small cloud icon around buddy with same colors (if social_ids is not None)
  • Expanded view (mini profile)
    • The small cloud icon expands into a thought cloud.
    • Displays one item from each webservice at a time, rotating.
  • Each service should support a GET info by public user ID.
  • Service plugin will implement service call and widget content.

Icons

Initial version: Simple cloud 2nd version: Speech bubble cloud 3nd version: Speech bubble cloud for 140 chars

Mockups

Neighborhood view with cloud icon for profiles. Neighborhood view with cloud icon for profiles with expanded profiles (Black and Grey). Neighborhood view with cloud icon for profiles with expanded profiles (Colored).

Screenshots

Small cloud icon in friends view. Large cloud icon in friends view. Large cloud icon with image and text in friends view. After Manuel's suggestions

TODO

  • see how comments work and think which new methods we should need to get our "interactions" information

Code

socialsugar2 branch on my sugar fork on github.