Changes between Version 20 and Version 21 of SocialPlatform


Ignore:
Timestamp:
05/16/11 13:50:56 (3 years ago)
Author:
mitar
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • SocialPlatform

    v20 v21  
    11= Social Platform = 
    22 
    3 Orange Social Platform provides means of promoting to use orange in data mining and repetitive work in everyday lives. To conquer this mission, Orange Social Platform should have services for developing Orange Widget, Schema, Experiments and their Usage. Every services should be easy to use and have much explanation part for the beginners. 
     3Orange's visual programming environment can incorporate any of its over a 100 widgets into schemas that do clustering, classification, visualization-based analysis, PCA, and many others. 
    44 
    5 Social Platform for Orange will be the social society for Orange user. Users could not only learn from the platform but also express their opinions and preferences. Their should be export to other social services like blogs or twitters for the events, contents in the platform. 
     5Orange Social Platform will provide users of Orange with a way to share and collaborate on those schemas. It will provide a repository of typical schemas: 
     6 * the novice users will be able to choose from the already defined schemas and analyze their own data with them, 
     7 * the intermediate users will be able to use the library to improve/augment their own schemas, 
     8 * and experienced users will be able to store their inventions into a repository for others to use. 
    69 
    7 == Objectives == 
    8 * Widget programming on browser. 
    9 * Widget sharing(Code Browse, Usage, QnA, Used Schema and Experiments). 
    10 * Schema sharing made from Orange(Schema Browsing, Usage, QnA, Associated Widget, Experiments). 
    11 * Experiments(schema and used data set) sharing made from Orange.(Experiments Schema, Data Reports, QnA, Associated Widget, Schema). 
    12 * Means of communicate with existing social platform(Twitter, Facebook). 
    13 * Basic Tutorials for Orange(Embedded Video). 
     10This repository will feature tagging, liking, commenting, and everything that a social platform can provide. It will be possible to describe schemas in the repository both text and/or video. 
    1411 
    15 == Sitemap == 
    16 [[Image(http://orange.biolab.si/trac/raw-attachment/wiki/SocialPlatform/Orange%20Social%20Platform.png)]] 
     12It will also provide users a way to upload their datasets and scripts/code-snippets. The later in a similar way as [https://gist.github.com/ Gist], but probably based on Mercurial. 
    1713 
     14Users will be able to follow each other and their contributions (similar to [http://www.projectnoah.org/ Project Noah]), use OpenID to login, have their profiles and so on. 
    1815 
    19 == Sections == 
    20 To fulfill the objectives, we divide them into Sections. 
     16Orange Social Platform will be a virtual society for Orange users. Users will not only learn from the platform but also express their opinions and preferences. It will also be possible to export data and events to other social platforms/networks, like blogs, Facebook, Twitter ... 
    2117 
    22 === Widget Sharing === 
    23 Widget is consists of python code. To promote users programming experience, It has web-based IDE like [http://c9.io Cloude]. It is based on open-source project called [http://ace.ajax.org/ Ace].  
    24 * more discussion on [wiki:SocialPlatform/WidgetSection Widget Section]. 
     18In summary, the project will develop a new social platform for data mining solutions, possibly relying on existing solution (e.g. [http://www.myexperiment.org/ myExperiment]) or crafting something new (and simpler?). The repository will feature web access, but schemas from it will also be available in Orange (browsing, uploading and downloading). Seamless integration of repository and Orange is crucial to the success of this project. So Orange should be integrated with the well-defined and simple HTTP-based API/protocol implemented on a server/platform side. 
    2519 
     20== Typical Use Cases == 
    2621 
    27 === Schema Sharing === 
     22=== Orange === 
    2823 
    29 * more discussion [wiki:SocialPlatform/SchemaSection Schema Section]. 
     24An user is using Orange Canvas, wants to share the schema she has just made with others. With a press of a button she gets a small dialog where she enters the name of the schema, description, tags and this is it. Orange uploads it to the platform, automatically creating a screenshot of the schema and extracts other meta-data (like witch widgets are used, which datasets and so on). In the case that dataset is not one of bundled with the Orange, it asks the user for a permission to also upload the dataset itself. User can also add additional screenshots to the uploaded schemas (of current status of widget dialogs and so on), by pressing some button available in all widgets or something similar. 
    3025 
    31 === Experiments Sharing === 
     26=== Social Platform === 
    3227 
    33 * more discussion [wiki:SocialPlatform/ExperimentsSection Experiments Section]. 
     28An user can browse the platform, navigate around schemas by tags, widgets used there, datasets used, author or even users who liked the schemas. Also the user can search it by name or description. Once she finds a schema, she can download it and open it in Orange, comment about it, like it, share it on other social platforms/networks, also edit meta data (updating tags, link it to some other, similar/related schema). 
    3429 
    35 === Possible Sections === 
    36 * Orange Data Mining Game 
    37 * Orange Data Mining Competitions 
    38 * Orange Tutorials 
     30User can also follow the author and receive notifications when the author publishes a new schema, updates existing schemas and so on. So schemas or users she likes, for those she gets notifications (like new comments and so on). (This could also be disabled on per-schema basis.) 
    3931 
     32User can also browse based on widgets and find all schemas this widget is used in, tags related to the widget and so on. 
    4033 
     34If the user develops a Python script for data mining she can uploads it to the Mercurial repository hosted inside the platform. Other can follow its changes, also propose changes (through an web editor directly, by cloning the script into their account and do changes there and then inviting the original author to take them in). 
    4135 
    42 == Behind the Scenes == 
    43 * Django 1.3 
    44 * Google App Engine 
    45 *  
     36User can also browse/search for uploaded datasets. 
    4637 
    47 === Django Data Model === 
    48 [[Image(http://orange.biolab.si/trac/raw-attachment/wiki/SocialPlatform/orange%20data%20model.png)]] 
     38== Milestones == 
    4939 
     40=== 0.1 === 
    5041 
    51 == Demo Pages == 
    52 http://orangesocialtest.appspot.com/ 
     42 * User registration and login, user profiles, a way to send users private message, which would be then send to its e-mail address. 
     43 * Uploading schemas to the platform, parsing of their meta data, screenshots of schemas. 
     44 * Browsing uploaded schemas, searching for them. 
     45 * Downloading schemas. 
    5346 
    54 == Timeline == 
    55 * May 
    56     * Setup Section and components on social platform. 
    57     * Getting to know Django and GAE. 
    58     * Setup Django Data Models. 
    59     * Mock-up Design for Social Platform. 
    60     * Base Page Setup(Login, Forum, Messaging) 
     47=== 0.2 === 
    6148 
    62 * June 
    63     * Implementing Widget Sharing Section. 
    64     * Implementing Forum. 
     49 * Commenting on schemas. 
     50 * Tagging by users. 
     51 * Browsing by widgets. 
     52 * Browsing by users. 
    6553 
    66 * July 
    67     * Implementing Schema Sharing Section. 
    68     * Implementing Reports Sharing Section. 
     54=== 0.3 === 
    6955 
    70 * August 
    71     * Polishing the platform. 
     56 * Uploading datasets. Relating them to widgets and schemas. 
     57 * Commenting on widgets, datasets. Integration with tagging (tags should propagate around). 
     58 * Adding links to widgets description/documentation. 
    7259 
    73 == Priorities == 
    74 * May 
    75     * 
    76     * 
    77 == Work-Log == 
    78 * April 
    79     * [wiki:SocialPlatform/Worklog/110425-110430 April 25th - April 30th]. 
     60=== 0.4 === 
     61  
     62 * Uploading of additional screenshots (of widgets). 
     63 * Possibility to make a description of those screenshots (by also drawing dots to particular part of the screenshot and describing it and its purpose). 
    8064 
     65=== 0.5 === 
    8166 
     67 * Liking of all different things around the platform. Schemas, users, datasets, widgets ... 
     68 * Notifications/events when something liked changes. 
    8269 
    83 == Ambiguity,Difficulties,Points == 
    84 * Forgive my ignorance, I coincidentally made fault pages. please delete those two pages. thanks. 
    85 http://orange.biolab.si/trac/wiki/OrangeSocial 
    86 http://orange.biolab.si/trac/wiki/WidgetSection  
     70=== 0.6 === 
    8771 
    88 * is there any better name for Experiments? it has procedures, data, results for the experiments. possible candidates for name are "MiningProcedures & Data", "MiningSet" 
     72 * Exporting/sharing data to other social platforms/networks. 
     73 
     74=== 0.7 === 
     75 
     76 * Possibility to embed video for schemas next to the text comments and screenshots. 
     77 
     78=== 0.8 === 
     79 
     80 * Give users their own script repositories. They can create new one, commit/push to them, fork them. They can follow each other scripts (changes). 
     81 * It should also be possible to tag scripts, like them, share them on other social platforms/networks. 
     82 * Comment scripts should also be possible, also inline (in code). Based on the version of the script currently viewing. 
     83 * Browsing of old versions of the script, diffing between version should also be possible. 
     84 
     85=== 0.9 === 
     86 
     87 * Give users way to fork each other script repositories and push the changes they made to the parent repository. 
     88 * Users should have a simple web editor to change their scripts. For users to change their own. And to change forked scripts. 
     89 
     90=== 1.0 === 
     91 
     92 * Final version after everything really works. 
     93 
     94''All code should be documented, all development steps and decisions should be documented in tickets or wiki. For code there should be tests.''' 
     95 
     96== Terminology == 
     97 
     98 schema:: Combination of widgets and connections between them. Created in Orange Canvas. It is a visual program for data mining. 
     99 script:: A Python script using Orange Python modules directly, without the graphical user interface. It is possible to do much more power data mining things this way, as widgets only provide some common features. In scripting, you can do much more.  
     100 
     101== Ideas for the Future == 
     102 
     103Orange could also use a widget recommendation system from those schemas in the repository. It would learn based on existing schemas and when users would be creating new schemas it would propose probable widgets they want.