User Tools

Site Tools


gsoc2013_community_portal

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
gsoc2013_community_portal [2013/06/30 01:31]
xinxindlut
gsoc2013_community_portal [2018/03/10 01:29] (current)
jus old revision restored (2013/09/24 10:33)
Line 6: Line 6:
  
 The aim of this project is to increase the usability for new users by automatically selecting the correct MIDI mapping and to provide an intelligent workflow for when an unsupported MIDI device is connected. And when a mapping for a MIDI device is not present, the user should not be left out in the cold. She should have the option of connecting to mixxx.org to see if there are any official or user-contributed mappings available for download. The aim of this project is to increase the usability for new users by automatically selecting the correct MIDI mapping and to provide an intelligent workflow for when an unsupported MIDI device is connected. And when a mapping for a MIDI device is not present, the user should not be left out in the cold. She should have the option of connecting to mixxx.org to see if there are any official or user-contributed mappings available for download.
 +====== Design ======
 +===== Optimize preset loading and mapping =====
 +
 +  * Use Case
 +When a controller is plugged in and the user needs to do some configurations automatically or manually.Current version Mixxx provide a semiautomatic way, i.e. if there are mapping files in local library, Mixxx will load it during the initialization,​ if not, Mixxx will do nothing and users have to select a right preset mapping file from a drop-down list or even build mapping files by themselves.This is a little hard to some initial users, so a new small feature will be a user-friendly design if Mixxx can automitically search local library backend and list the match results for user. 
 +  * Core functions
 +
 +Once a local mapping file isn’t searched during the initialization,​ Mixxx will give a notice message box to user, such as “Sorry,​Mixxx cann’t select a perfect mapping for you from local library, you can go to Preferences->​Controller widget to get a right one by yourself through our ‘Mapping Preset Manager’”.
 +
 +If Mixxx load a preset for the devices at the beginning, the result will be showed on ‘dlgprefcontrollerdlg.ui’ just like the current version. A few changes to ‘dlgprefcontrollerdlg.ui’,​ see Fig.1.
 +        - add a device picture. This is very easy to implement, but will help some users a lot. Through this intuitive image, User will easily know whether a right map has be done comparing with their devices at their first sight of the ‘dlgprefcontrollerdlg.ui’. Of course, if no file can be loaded, there will display nothing.
 +        - change the drop-down list to a button with the name “Mapping Preset Manager”. When the button is pushed, another dialog like Fig.2 will be showed. ​
 +  * Fig.1
 +{{ :​controllers.png?​nolink&​300 |}}
 +
 +  * Fig.2
 +{{ :​manager.png?​nolink&​300 |}}
 +===== Support getting controller mapping resources from web =====
 +  * Use Case
 +Mixxx can not do an automical map or an perfect map from local library at the beginning, so users need to choose one by themselves.Mapping files needed by user may exist in local or website, we’d better provide an API for user to query both local and cloud depository.Most users are not very sure which one to choose, so we’d better make an intelligent recommendation for users, especially for novice users, to reduce the sense of fear of using mixxx at the beginning. At the same time, it is also  very convenience.A mapping file has been downloaded into local library, but maybe it has some bugs or is not that perfect. And there is a new update version on the mixxx forum or somewhere, so when users try to apply a local preset in the case of network connected, we’d better to advice users to update to a new version of preset.
 +  * Core functions
 +Here I think we can create a new feature called "​Mapping Files Manager",​ with the following functions:
 +    - A search bar, through which user can get some likely right mapping files coing form local and cloud.
 +    - A local tab and a cloud tab, which can list the searching results seperately
 +    - Intelligent recommendation system, which can do an intelligent sort for users searching results and show the results with the most possibility at the top.
 +    - friendly and cool devices UI display, called mapping cover, which can help users locate the mapping file item quickly. ​
 +    - displaying the source(mixxx or mixxx forum or other websites), grade level, certification or not, and the authors.
 +
 +
 +
 +
 +====== Work Breakdown ======
 +  * <​del>​Database</​del>​
 +    * <​del>​database scheme design</​del>  ​
 +      * <​del>​Client</​del>​
 +      * <​del>​Server</​del>​
 +    * <​del>​write models with Django for server database building</​del>​
 +    * <​del>​update /​res/​schema.xml for client database building</​del>​
 +    * <​del>​write interface of client database operation</​del>​
 +    * <​del>​export preset relevant data into database</​del>​
 +      * <​del>​write a script able to push preset relevant data into server database</​del>​
 +      * <​del>​push preset relevant data into mixxx local database when mixxx is initialized</​del>​
 +  * Automaticly load preset file
 +    * <​del>​Modify controller dialog user interface(dlgprefcontrollerdlg.ui)</​del>​
 +      * <​del>​controller covert preview</​del>​
 +      * <​del>​Popup ​ Mapping Preset Manager push button</​del>​
 +      * <​del>​Upload menu</​del>​
 +    * <​del>​Adjust the workflow for mixxx initialization</​del>​
 +    * <​del>​Enhance preset search algorithm</​del>​
 +  * <​del>​Upload</​del>​
 +    * <​del>​upload.ui</​del>​
 +    * <​del>​logic:​ upload to cloud server and save in local</​del>​
 +  * <​del>​Mapping Preset Manager</​del>​
 +    * <​del>​Mapping Preset Manager Dialog user interface(dlgmapingpresetmanagerdlg.ui)</​del>​
 +      * <​del>​search bar</​del> ​
 +      * <​del>​Tap switch between Local and Cloud</​del> ​
 +      * <​del>​Search results panel</​del>​
 +      * Notification board 
 +      * <​del>​apply button</​del>​
 +    * <​del>​fuzzy query both from local and cloud</​del>​
 +    * <​del>​display the query results in the way of paging</​del>​
 +    * <​del>​presets download</​del>​
 +    * users rate and comment on preset files
 +    * Intelligent recommendation algorithm for mapping preset files
 +  * <​del>​check for update local preset</​del>​
 +  * <​del>​Restful API Engine</​del>​
 +    * <​del>​build an api server with django and tastypie</​del>​
 +    * <​del>​design API</​del>​
 +      * <​del>​details</​del>​
 +      * <​del>​search</​del>​
 +      * <​del>​download</​del>​
 +      * <​del>​checkversion</​del>​
 +      * <​del>​upload</​del>​
 +      * <​del>​rate</​del>​
 +      ​
 +  * Deploy
 +  * Test
 +
 +====== Current Progress ======
 +deploy
 +====== Team ======
 +
 +  * RJ Ryan
 +====== Comments ======
gsoc2013_community_portal.1372570307.txt.gz · Last modified: 2013/06/30 01:31 by xinxindlut