GSOC 2013/Student Application sarathsomana/Design hub(461)
DESIGN HUB is a collaboration tool for designers. Designers need to collaborate with each other and with developers.This tool will be a great boon to the designer community since it establishes designer<=>designer collaboration , designer <=> developer collaboration and designer <=> community collaboration.
Need for Design Hub
For Developers, we have github,subversion etc., where they can share their work. However for designers, developers and community members there is no one site stop available to do the same.Through Design Hub , we try to solve three challenges , Designer-Designer Collaboration , Designer-Developer Collaboration, Designer-Community Collaboration simultaneously.
A git-backed facility to store mockups is needed for designers and which can be easily adopted by designers through the git commands. Several designers working on same project should be able to know what changes the others are doing to the repo/mockup.
For community members to just take a look at the project and give feedback on the mockups,a canonical place should be available to give feedbacks and to have a tour through the project.
Relevant Experience gained
My primary goal would be to solve the three challenges i mentioned above efficiently .
Designer-Developer Collaboration :
Using the existing Sparkleshare project which uses inodes to commit, a file can be committed whenever it is modified. Using this functionality along with ruby on rails framework, we can allow others designers to fork the current project and add it to their sparkleshare folder.
The first task would be to implement the functionality of [Add to SparkleShare] button.
Designer - Community Collaboration :
Also , we need a aggregate feedback to be provided .To facilitate this feature I plan on using twitter,identi.ca and various other api’s to retrieve the mentions and feedbacks of the mockup / design.
Designer - Designer Collaboration :
Designers should be able to explain the mockup, create interactive mockups on the fly over the web. The task would be to implement a web-ui using ruby-on-rails front-end and coffeescript ( Magic Mockup ) and integrate them in the current application.
Further, There are few more exciting features that can be added to the project. They are Omni Authorisation with twitter, github and google. Tagging and Versioning support for the mockups.
Tagging can be achieved easily in rails using ‘act_as_taggable_on’ gem and Versioning through SparkleShare and timestamps.
Enabling Full Screen mode while editing svg’s online.
Import Pre-existing SparkleShare Repos
Solve HTML svg object embed issues :
-Printable PDF Mockup Booklets -Better Screen by Screen Thumbnails -Various git features such as Activity Log,History and Diffs
Timeline Of Progress
May 3 - 27 : Familiarise with third party gems and apis to be used in the project. Know more about designer community at Fedora. Contact fedora contributors for suggestions on implementations.
May 27 - Jun 17 : Build a basic prototype application which has the basic functionality and models. Discuss with mentors and come up with best implementations of the features to be implemented.
Jun 18 - 25 : Implement Omni Authorisation and SparkleShare invite button feature. Deploy the application on the cloud and invite few contributors to start using it.
July 1 - 7 : Implement Forking and Pull support for projects.
July 7 - 20 : Integrate Magic Mockup with the project and work on refactoring the code to use it for rails.
July 21 - 30 : Implement Tagging and Versioning Features. Clean the UI and write carousels ,screen - by - screen thumbnail scripts.
July 30 - Aug 2 : MID TERM EVALUATION Complete Documentation for the features added so far.
Aug 2 - 15 : Depending on Mid Term Review , Make necessary changes to the timeline. Implement Pingback and aggregate feedback using twitter api and various other potential api’s.
Aug 15 - 30 : Design a web-ui to select elements and layers from a mockup and the posts’ content to embed in a printable pdf mockup booklet.
Sept 1 - 16 : Write Consolidated tests to all the modules. Clean up code and write Complete Documentation.
Sept 17 - 23 : Rectify any bugs issued according to the feedback from other contributors.