Changes between Version 20 and Version 21 of SocialPlatform

05/16/11 13:50:56 (3 years ago)


  • SocialPlatform

    v20 v21  
    11= Social Platform = 
    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. 
    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. 
    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. 
    15 == Sitemap == 
    16 [[Image(]] 
     12It will also provide users a way to upload their datasets and scripts/code-snippets. The later in a similar way as [ Gist], but probably based on Mercurial. 
     14Users will be able to follow each other and their contributions (similar to [ Project Noah]), use OpenID to login, have their profiles and so on. 
    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 ... 
    22 === Widget Sharing === 
    23 Widget is consists of python code. To promote users programming experience, It has web-based IDE like [ Cloude]. It is based on open-source project called [ 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. [ 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. 
     20== Typical Use Cases == 
    27 === Schema Sharing === 
     22=== Orange === 
    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. 
    31 === Experiments Sharing === 
     26=== Social Platform === 
    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). 
    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.) 
     32User can also browse based on widgets and find all schemas this widget is used in, tags related to the widget and so on. 
     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). 
    42 == Behind the Scenes == 
    43 * Django 1.3 
    44 * Google App Engine 
    45 *  
     36User can also browse/search for uploaded datasets. 
    47 === Django Data Model === 
    48 [[Image(]] 
     38== Milestones == 
     40=== 0.1 === 
    51 == Demo Pages == 
     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. 
    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 === 
    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. 
    66 * July 
    67     * Implementing Schema Sharing Section. 
    68     * Implementing Reports Sharing Section. 
     54=== 0.3 === 
    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. 
    73 == Priorities == 
    74 * May 
    75     * 
    76     * 
    77 == Work-Log == 
    78 * April 
    79     * [wiki:SocialPlatform/Worklog/110425-110430 April 25th - April 30th]. 
     60=== 0.4 === 
     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). 
     65=== 0.5 === 
     67 * Liking of all different things around the platform. Schemas, users, datasets, widgets ... 
     68 * Notifications/events when something liked changes. 
    83 == Ambiguity,Difficulties,Points == 
    84 * Forgive my ignorance, I coincidentally made fault pages. please delete those two pages. thanks. 
     70=== 0.6 === 
    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. 
     74=== 0.7 === 
     76 * Possibility to embed video for schemas next to the text comments and screenshots. 
     78=== 0.8 === 
     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. 
     85=== 0.9 === 
     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. 
     90=== 1.0 === 
     92 * Final version after everything really works. 
     94''All code should be documented, all development steps and decisions should be documented in tickets or wiki. For code there should be tests.''' 
     96== Terminology == 
     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.  
     101== Ideas for the Future == 
     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.