Justharshal (talk | contribs) No edit summary |
Justharshal (talk | contribs) No edit summary |
||
Line 56: | Line 56: | ||
==== Why do you want to work with the Fedora Project? ==== | ==== Why do you want to work with the Fedora Project? ==== | ||
I started using Linux around 7 years ago with Ubuntu. Right now I'm using Fedora 23 which was | I started using Linux around 7 years ago with Ubuntu. Right now I'm using Fedora 23 which was recommended to me by multiple friends. Another reason I made the switch to Fedora is the much more receptive community. Which is why, I want to work with the Hubs team this summer. I intend to work on the new user on boarding process. | ||
==== Do you have any past involvement with the Fedora Project or another open-source project as a contributor? ==== | ==== Do you have any past involvement with the Fedora Project or another open-source project as a contributor? ==== | ||
Recently, I wrote a blog [https://communityblog.fedoraproject.org/using-fedora-email-alias-gmail/ post] on the community blog. | |||
==== Have you participated in GSoC in the past? If so, what year(s) and which organization(s)? ==== | ==== Have you participated in GSoC in the past? If so, what year(s) and which organization(s)? ==== | ||
No, I'm participating for the first time. | No, I'm participating for the first time. | ||
==== Do you plan to continue contributing to the Fedora Project after GSoC? If yes, what sub-project(s) are you interested with? ==== | ==== Do you plan to continue contributing to the Fedora Project after GSoC? If yes, what sub-project(s) are you interested with? ==== | ||
Absolutely! Although | Absolutely! Although I've been into technology for a long time, in the recent years I've put in a more focused effort. I started learning Python about 3 years ago and it is the language I'm most comfortable in. The hubs project is the perfect technical level for me to start contributing to. As my skills evolve i intend to move into much more technically challenging projects within the community. | ||
==== Why should we choose you over other applicants? ==== | ==== Why should we choose you over other applicants? ==== | ||
I believe there are many reasons for selecting me over other students. My early start with programming is one. I also intend to continue to grow my open source contributions rapidly over the next months. | I believe there are many reasons for selecting me over other students. My early start with programming is one. I also intend to continue to grow my open source contributions rapidly over the next months. Also, see 'Relevant Experience' section. | ||
==== Have you contributed to any other open source organizations or projects? If so, do you have artifacts you can show so we can see your skill set(s)? ==== | ==== Have you contributed to any other open source organizations or projects? If so, do you have artifacts you can show so we can see your skill set(s)? ==== | ||
No,I have not contributed to any other open source organizations yet. | No,I have not contributed to any other open source organizations yet. | ||
Line 74: | Line 74: | ||
===Overview=== | ===Overview=== | ||
The intention, as | The intention, as I've understood it, behind the hubs project is to make a centralized location for Fedora contributors to communicate. The other goal, and this is where I want to focus is to help new contributors discover the project they might be right for and decrease the friction for them to start contributing. | ||
=== | ===Relevant Experience=== | ||
I'm very comfortable in the basic requirements of HTML/CSS/JS. As mentioned already, Python is the language i'm most comfortable in. I also know most of the Bonus skills. I've been working with Bootstrap for a long time (For reference please see this landing page I made in 2014: [http://ditchconnect.com ditchconnect.com]). I'm confident that I can pick up any other minor skills in the two months that remain between now and the commencement of work. | I'm very comfortable in the basic requirements of HTML/CSS/JS. As mentioned already, Python is the language i'm most comfortable in. I also know most of the Bonus skills. I've been working with Bootstrap for a long time (For reference please see this landing page I made in 2014: [http://ditchconnect.com ditchconnect.com]). I'm confident that I can pick up any other minor skills in the two months that remain between now and the commencement of work. | ||
Another very relevant experience i have is not programming related at all. I recently joined the Fedora community and discovered i had to do things like setting up ssh keys, | Another very relevant experience i have is not programming related at all. I recently joined the Fedora community and discovered i had to do things like setting up ssh keys, IRC clients, mailing lists, and more. It wasn't very difficult but it sure was time consuming. In the videos, Mairin and others discuss about this imaginary new user who might have the skills but not necessarily the time or confidence to get started. I'm exactly the kind of person they are talking about. In some cases these new comers might not know which group they are right for. This is one of the issues that Hubs intends to solve and I think that apart from the programming experience, this experience which is fresh in my mind will make me the right choice for this project. | ||
===Some drawbacks of the current system=== | ===Some drawbacks of the current system=== | ||
Line 102: | Line 102: | ||
* This can be thought of as an advanced combination of [http://whatcanidoforfedora.org/ whatcanidoforfedora.org] and a task list. | * This can be thought of as an advanced combination of [http://whatcanidoforfedora.org/ whatcanidoforfedora.org] and a task list. | ||
* The above site does not have an active backend component, whereas the hubs | * The above site does not have an active backend component, whereas the hubs on-boarding experience will need one. It will need databases to store content too. | ||
* For more details, read on. | * For more details, read on. | ||
Line 124: | Line 124: | ||
*'''Core Developer''' – People who have interest in the core parts of the system. They might have strong knowledge of the C language. Where to guide them next? Which teams might interest them? | *'''Core Developer''' – People who have interest in the core parts of the system. They might have strong knowledge of the C language. Where to guide them next? Which teams might interest them? | ||
*'''Designer''' – Do they know to code? Yes/No? If yes, what? Do they know OSS tools like Inkscape or do they use Photoshop? If not, | *'''Designer''' – Do they know to code? Yes/No? If yes, what? Do they know OSS tools like Inkscape or do they use Photoshop? If not, inform them about the way Fedora's Principles and Values. | ||
*'''Documentor''' – People who want to help in the documentation of various projects or their translations. What languages do they know? How | *'''Documentor''' – People who want to help in the documentation of various projects or their translations. What languages do they know? How fluent are they in those languages? | ||
These are just a few, hundreds or possibly thousands of such questions can be asked altogether and their content will need to be created. | These are just a few, hundreds or possibly thousands of such questions can be asked altogether and their content will need to be created. | ||
Line 132: | Line 132: | ||
'''Step 2:''' | '''Step 2:''' | ||
* Analyze the front end with newly created | * Analyze the front end with newly created mock-ups | ||
* Prototype a referential interface in Bootstrap for | * Prototype a referential interface in Bootstrap for further discussions | ||
'''Step 3:''' | '''Step 3:''' | ||
Line 144: | Line 144: | ||
===Timeline=== | ===Timeline=== | ||
==== | ====Up to the start of Community Bonding Period (26th of March - 22nd of April)==== | ||
* Revisiting the basics of Python and Bootstrap | * Revisiting the basics of Python and Bootstrap | ||
* Getting familiar with the Hubs | * Getting familiar with the Hubs code base | ||
====Community bonding period (22nd of April - 22nd of May)==== | ====Community bonding period (22nd of April - 22nd of May)==== | ||
* Start discussing the project with peers and mentors on IRC and mailing lists | * Start discussing the project with peers and mentors on IRC and mailing lists | ||
* Present my ideas and | * Present my ideas and receive feedback | ||
* Ask mentors if any additional tools need to be learnt and get used to them | * Ask mentors if any additional tools need to be learnt and get used to them | ||
* A lot of Step 1 would be completed in this period itself | * A lot of Step 1 would be completed in this period itself | ||
Line 159: | Line 159: | ||
*'''Week 1-2''' | *'''Week 1-2''' | ||
**Finish doing | **Finish doing mock-ups for all the cases and get them approved | ||
*'''Week 3-4''' | *'''Week 3-4''' | ||
**Code the responsive UI for the | **Code the responsive UI for the mock-ups | ||
*'''Week 5''' | *'''Week 5''' | ||
**Finish coding the front end | **Finish coding the front end | ||
Line 174: | Line 174: | ||
*'''Week 1''' | *'''Week 1''' | ||
**Start working on the | **Start working on the back-end | ||
**Create the required databases | **Create the required databases | ||
*'''Week 2-3''' | *'''Week 2-3''' | ||
**Continue working on the | **Continue working on the back-end | ||
**Testing and bug fixing | **Testing and bug fixing | ||
*'''Week 4-5''' | *'''Week 4-5''' | ||
Line 188: | Line 188: | ||
* Interacted several times with [https://fedoraproject.org/wiki/User:Jflory7 Jflory7] on mailing list and IRC. I even wrote a blog [https://communityblog.fedoraproject.org/using-fedora-email-alias-gmail/ post] on the Community Blog with his guidance. | * Interacted several times with [https://fedoraproject.org/wiki/User:Jflory7 Jflory7] on mailing list and IRC. I even wrote a blog [https://communityblog.fedoraproject.org/using-fedora-email-alias-gmail/ post] on the Community Blog with his guidance. | ||
* Also interacted | * Also interacted with [https://fedoraproject.org/wiki/User:Decause Decause], [https://fedoraproject.org/wiki/User:Corey84 Corey] and [https://fedoraproject.org/wiki/User:Pingou Pingou] on IRC several times. | ||
[[Category:Summer coding 2016]] | [[Category:Summer coding 2016]] |
Revision as of 18:44, 25 March 2016
Info
Name: Harshal Bhatia
Email: justharshal@fedoraproject.org
IRC Nick : justharshal
Channels Found In : #fedora, #fedora-apps, #python, #fedora-commops
FAS username: justharshal
Twitter : twitter.com/justharshal
Github : github.com/justharshal
Location : Bangalore, India
Timezone: +5:30 GMT (IST)
About me
- First year Computer Science and Engineering undergraduate student
- Studying at Dr. Ambedkar Institute of Technology, Bangalore, India
- Been a tech geek since i was 12 years old
- Love learning new languages and frameworks and am very passionate about design
- Passionate about Open Source. Looking to increase participation
Skills and Abilities
Computer Science
- HTML5, CSS3, Javascript
- Bootstrap and Responsive UI
- Experienced in Python
- Knowledge of databases like MySQL
- Currently learning JavaScript (Node.js) and Ruby
- Comfortable using source control like Git (Command Line)
Designing
- Basic Photoshop skills
- Mockup tools like Balsmiq Mockups
Questions to answer
Why do you want to work with the Fedora Project?
I started using Linux around 7 years ago with Ubuntu. Right now I'm using Fedora 23 which was recommended to me by multiple friends. Another reason I made the switch to Fedora is the much more receptive community. Which is why, I want to work with the Hubs team this summer. I intend to work on the new user on boarding process.
Do you have any past involvement with the Fedora Project or another open-source project as a contributor?
Recently, I wrote a blog post on the community blog.
Have you participated in GSoC in the past? If so, what year(s) and which organization(s)?
No, I'm participating for the first time.
Do you plan to continue contributing to the Fedora Project after GSoC? If yes, what sub-project(s) are you interested with?
Absolutely! Although I've been into technology for a long time, in the recent years I've put in a more focused effort. I started learning Python about 3 years ago and it is the language I'm most comfortable in. The hubs project is the perfect technical level for me to start contributing to. As my skills evolve i intend to move into much more technically challenging projects within the community.
Why should we choose you over other applicants?
I believe there are many reasons for selecting me over other students. My early start with programming is one. I also intend to continue to grow my open source contributions rapidly over the next months. Also, see 'Relevant Experience' section.
Have you contributed to any other open source organizations or projects? If so, do you have artifacts you can show so we can see your skill set(s)?
No,I have not contributed to any other open source organizations yet.
No, i don't have any other open source experience.
Proposal Description
Overview
The intention, as I've understood it, behind the hubs project is to make a centralized location for Fedora contributors to communicate. The other goal, and this is where I want to focus is to help new contributors discover the project they might be right for and decrease the friction for them to start contributing.
Relevant Experience
I'm very comfortable in the basic requirements of HTML/CSS/JS. As mentioned already, Python is the language i'm most comfortable in. I also know most of the Bonus skills. I've been working with Bootstrap for a long time (For reference please see this landing page I made in 2014: ditchconnect.com). I'm confident that I can pick up any other minor skills in the two months that remain between now and the commencement of work.
Another very relevant experience i have is not programming related at all. I recently joined the Fedora community and discovered i had to do things like setting up ssh keys, IRC clients, mailing lists, and more. It wasn't very difficult but it sure was time consuming. In the videos, Mairin and others discuss about this imaginary new user who might have the skills but not necessarily the time or confidence to get started. I'm exactly the kind of person they are talking about. In some cases these new comers might not know which group they are right for. This is one of the issues that Hubs intends to solve and I think that apart from the programming experience, this experience which is fresh in my mind will make me the right choice for this project.
Some drawbacks of the current system
Only mentioning the points relevant to this segment. Reference: blog.linuxgrrl.com/2015/07/01/fedora-hubs-update/
- Lot of effort required just to see what's going on
- Setting up of IRC clients, SSH keys, mailing lists, etc.
- Even if a person were willing to do all the above, no centralized place is available to do this.
- Following links within wikis, from wikis to blogs and vice versa to find simple solutions.
- All the above create a very high barrier of entry for a newcomer.
How do you intend to implement your proposal
Plan
- I want to create an interactive process within hubs. On joining, the user will be asked some questions and recommended the next steps.
- This can be thought of as an advanced combination of whatcanidoforfedora.org and a task list.
- The above site does not have an active backend component, whereas the hubs on-boarding experience will need one. It will need databases to store content too.
- For more details, read on.
Stages of implementation
The main approach for the project can be stated as follows:
Step 1:
- Study the state of the current workflow, identify the drawbacks and discuss the possible improvements with relevant seniors and designers in the community.
- This step includes identifying the current workflow of a new contributor while joining.
- As this project has been planned for a long time, reading the large number of detailed blog posts can help in this matter.
We can divide the potential contributors in various categories. They'll have different needs and experiences, which we'll in mind while designing. Here are a few categories, there will be more:
- Web Developer – People with knowledge of or having interest in web technologies like HTML/CSS/JS. These users need to be guided to the Infrastructure or CommOps groups.
- Core Developer – People who have interest in the core parts of the system. They might have strong knowledge of the C language. Where to guide them next? Which teams might interest them?
- Designer – Do they know to code? Yes/No? If yes, what? Do they know OSS tools like Inkscape or do they use Photoshop? If not, inform them about the way Fedora's Principles and Values.
- Documentor – People who want to help in the documentation of various projects or their translations. What languages do they know? How fluent are they in those languages?
These are just a few, hundreds or possibly thousands of such questions can be asked altogether and their content will need to be created.
Step 2:
- Analyze the front end with newly created mock-ups
- Prototype a referential interface in Bootstrap for further discussions
Step 3:
- Work on the backend
- Create the required database tables
- Identify bugs and resolve
- Integrate the UI as templates into the application
Timeline
Up to the start of Community Bonding Period (26th of March - 22nd of April)
- Revisiting the basics of Python and Bootstrap
- Getting familiar with the Hubs code base
Community bonding period (22nd of April - 22nd of May)
- Start discussing the project with peers and mentors on IRC and mailing lists
- Present my ideas and receive feedback
- Ask mentors if any additional tools need to be learnt and get used to them
- A lot of Step 1 would be completed in this period itself
Work Period until mid-term evaluations (23rd of May – 21st of June)
- Week 1-2
- Finish doing mock-ups for all the cases and get them approved
- Week 3-4
- Code the responsive UI for the mock-ups
- Week 5
- Finish coding the front end
- Tidying up code and bug fixing
Period of submitting mid-term evaluations (21st of June - 28th of June)
- Completing and submitting mid-term evaluations
- Carry on coding
Work Period before final evaluations (28th of June – 16th of August)
- Week 1
- Start working on the back-end
- Create the required databases
- Week 2-3
- Continue working on the back-end
- Testing and bug fixing
- Week 4-5
- Final integration with Hubs
- Testing and bug fixing
- Week 6
- Buffer week to prevent the unwanted in case of emergencies.