Skip to content

Instantly share code, notes, and snippets.

@raghunayyar
Last active December 16, 2015 06:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save raghunayyar/3af4d4b89c7be11fc705 to your computer and use it in GitHub Desktop.
Save raghunayyar/3af4d4b89c7be11fc705 to your computer and use it in GitHub Desktop.
Final Proposal for Google Summer of Code 2013 for ownCloud, openSUSE.

Name : Raghu Nayyar

Email : raghu.nayyar.007@gmail.com

Blog : http://www.iraghu.com

Twitter : http://www.twitter.com/beingminimal

GitHub Profile : http://www.github.com/raghunayyar

IRC : iRaghu on #ownCloud, #ownCloud-design, #ownCloud-dev and #openSUSE-project on freenode

Project Idea

ownCloud Frontend Development specific to Files, Application Management and User Management Modules.

Introduction

Design and user experience unfortunately is still a bit neglected in open source projects. In ownCloud we aim to change that, and get people involved in the design process. Currently, ownCloud lacks complete uniformity of Design in the Frontend of the Files, App Management and User Management modules and has lot of scope of improvement. The project aims at a uniform layout for the 3 modules and various frontend improvements making the frontend extremely intuitive to the Users.

####Potential Mentor I have been in constant touch with Jan-Christoph Borchardt via mail (hey@jancborchardt.net) as well as on IRC (jancborchardt on #freenode), who is responsible for decisions related Interface, Interaction, and User Experience Design at ownCloud.

Project Goals and Implementation

A few images will be awesome. :)

The project idea involves designing and developing the User Experience of ownCloud's core on the

  • Files Application
  • Users Management
  • Application Management

Since the idea involves working on the three aspects simultaneously, I have divided the workflow into Basic and Advanced as as to complete these aspects in the allotted time span.

Files App

A sidebar, left list and right content distinction like in other apps. The right content will mostly be the files list like it is now. The left list should show entries for:

  • All Files
  • Shared with you
  • Shared by you
  • Deleted Files
  • External Storage (which currently is displayed in the Files list itself)

For the right content:

  • The file name should be the only one opening the file, the rest of the space should be for marking, making it easier to select multiple files
  • Fileactions to be moved to more relevant position.
  • Thumbnails for the files
  • Images of users, if present, to be displayed along with the Share icon in fileactions, basically to display with whom the files have been shared.

For further reference : owncloud/core#1936

Users Management

The user managment should share a similar UI to the Contacts app, we will collaborate to keep it consistent. The area is divided into a left sidebar and a right content area.

Left Sidebar

  • Display all the groups
  • The addition of the group is done from the left sidebar itself as in Contacts app, with a button on the top.

Right Content

  • Shows a list of users sorted in an alphabetical fashion with the admins sorted on top and the other group fellows below.
  • Adding a user will move from the top navigation bar (which is not needed anymore) to the right content, being the first entry of every list with a button to »Add user«

For further reference : owncloud/core#1927

Application Management

Left Sidebar Currently showing apps, but should instead show basic categories we already have, to filter the apps:

  • Recommended
  • Installed
  • All
  • Sorting the applications according to categories like Education, Utilities etc. For this, the applications should have an entry for the category they belong to.
  • Sort the apps by rating (which is already displayed and can be queried from apps.owncloud.com)

Right Content Currently showing app details, but should instead list the apps:

  • Display the list of apps with their logo and 2-3 lines of description about them
  • Installed apps are always sorted up top, and recommended apps are the next priority for sorting and alphabetically after that.

For further reference : owncloud/core#1924

Timeline

Reduce Timeline Length / Detailing :)

Before Coding Period

Upto May 27th

Implementing the OC6_Fileactions branch after Code Reviews from Fellow developers. It involves :

  • Rename moved directly next to the file name, only being an icon

  • History moved next to the modified date, only being an icon but making that whole cell clickable to reveal the versions dropdown.

  • Download moved next to the file size, just like history only being an icon but making the whole cell clickable to download the file

  • Making the above improvements flexible for touch sensitive devices as well. #####Future Improvement : Profile pictures of people who that file has been shared can be shown along with the Share icon.

May 27th - June 3rd (Week 1) - Community Bonding Period

  • Beginning work on the User Management Enhancement.
  • The User Management layout is divided into a left content and right content and the code is changed accordingly.
  • Add Group to be implemented on the left content.

June 4th - June 10th (Week 2)

  • The User Management 'Alphabetical Group Sorting' is implemented where the admins are always shown on the top followed by everyone else.
  • Work also begun on the Right Content of the User Management where all the Users are displayed. It List contains the User Name, the group he belongs to and a delete function on the right.

June 11th - June 17th (Week 3)

  • Alphabetical Group wise Sorting of the Users Implemented having Admins at the top followed by everyone else.
  • Add User to be implemented on the Right Content.
  • Styles are written / fine-tuned for both the Left and the Right Content.

Coding Period Begins

June 18th - June 24th (Week 4)

  • Changes made Public in the form of a Pull Request and further changes are made as per suggestions by reviewers / mentors.
  • Beginning of work on the Application Management and further changes are made simultaneously to User Management PR, if required.

June 25th - July 1st (Week 5)

  • The Application Management layout is divided into 2 parts, the left and the right content and the code is altered to suit it.
  • The Left Content is added with the Applications sorted according to Installed and Recommended.

July 2nd - July 8th (Week 6)

  • For the right content, the intalled applications are displayed containing a logo / screenshot, Application Title and description and the enable button on the right.
  • Application Categories are defined for various applications (currently for core applications only)

July 9th - July 15th (Week 7)

  • Sorting on applications according to these categories is implemented.
  • Styles written / fine-tuned for both the left content and the right content in the Application List.
  • Changes made Public in the form of a Pull Request and further changes are made as per suggestions by reviewers / mentors.

July 16th - July 22nd (Week 8)

  • Beginning of work on the Files Application and further changes are made simultaneously to Application Management PR, as per the reviews.
  • The Files App layout is divided into 2 parts, the left sidebar and the right content and the code is altered accordingly.

July 23rd - July 29th (Week 9)

  • Beginning to work on the Left Sidebar by displaying the entire list of files.
  • Files Sort according to Sharing Implemented.

July 30th - August 2nd ( Mid Term Evaluation)

  • Submitting Midterm evaluation report to Google.
  • A separate layout for Files Shared with a user / Shared by a user.

August 3rd - August 15th

  • Work begun on getting External Storage (Dropbox and FTP for starters) included in the Left navigation bar.
  • Work Begun on the Right Content of the Files App, and syncing the previous Fileactions PR with the New look.
  • Restyling of the Files App Core.

August 16th - August 30th

  • The thumbnails backend (if implemented till then) to be synced with the Right Content of the Files App.
  • User Display Images (if implemented in backend) synced with frontend for Sharing.

September 1st - September 27th ('Pencils Down' Stage)

  • Debugging the code written till now and issuing more Pull Requests to solve the faced issues or any further Enhancements in the User Interface those are experienced after seeing the final product.

September 27th Onwards

  • Submission of Code Samples to Google

About Me

I am a 21 year old Undergraduate in MSc. Biological Sciences and B.E. Mechanical Engineering at Birla Institute Of Technology and Sciences Pilani University, Goa, India. I developed an interest in web development in my first year, working on HTML and CSS and there was no looking back thereafter. I did several projects in frontend development for my college which helped me strengthen my skills in JavaScript(jQuery, ExtJS 3.4 etc.) and PHP(CodeIgnitor, WordPress etc.). Since, I have used PHP Frameworks like CodeIgnitor earlier, I have a decent idea about the functioning of MVCs in web applications as well.

Apart from programming and my college studies, I spend my time playing Table Tennis and Chess. I have represented my school in Chess at a National Level, when I was 13. I also have played State Qualifiers in table tennis at the age of 16. In college, I was a part of the organizing team of our college festivals, which helped me build leadership qualities.

Why Me?

As it can be checked from my GitHub profile, I have been a regular contributor to ownCloud since the past 10 months and most of my contributions have been related to it's frontend. I feel this project will help me contribute substantially to the core frontend and test my knowledge of Interface Development at a much greater level. I have already begun working on my project on the OC6_Filesaction branch in the core.

Availabilty

I will be entirely committed to Google Summer of Code as I have have my summer break from 16th of May till 30th of July. Since, in August, I will starting with another semester, I will not be having any other other commitments in college (college projects etc.) that will be an hinderance to my contributions to GSoC. Also, as I have been a contributor to ownCloud since a long time now, I will love to continue with the same passion after GSoC as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment