My impression of iry in summary:

>From what I've seen, iry generally the right attitude in communications
and code. Would like to see iry working on anon-connection-wizard during
GSoC.

I don't think my impression could be any better given the limited amount
of time I've seen iry and not having met in real life yet.

Below inline are a few points to increased the likelihood of the
proposal being accepted.

iry:
> Hello everyone!
> 
> The following is my first draft of the proposal for the
> anon-connection-wizard. Could anyone offer me some feedback about it
> please? Any recommendation, suggestion and criticism are very welcome
> and appreciated!
> 
>> # Introduction
> 
>> Every software project should solve a problem. Before offering the 
>> solution (your Google Summer of Code project), you should first 
>> define the problem. What’s the current state of things? What’s the 
>> issue you wish to solve and why? Then you should conclude with a 
>> sentence or two about your solution.
> Include links to discussions, features, or bugs that describe the
> problem further if necessary.
> 
> The anon-connection-wizard is a Python-clone of the Tor Launcher which
> aims at providing Tor users with a graphical instruction on
> configuring the Tor. This application is especially helpful for users
> who live in Tor-censored area. This is because those users can only
> connect to the Tor network with the help of other censorship
> circumvention tools which include but are not limited to Tor bridges,
> pluggable transports and other third party Internet censorship
> circumvention tools like Lantern and VPN.
> 
> The current implementation of the Tor Launcher heavily relies on the
> Tor Browser, making using Tor Launcher without having the Tor Browser
> impossible. Besides, the current instructions provided by the
> anon-connection-wizard and Tor launcher is not be clear enough for
> user to configure Tor correctly. Therefore I would like to implement
> and redesign the anon-connection-wizard. I hope that my work will help
> more people to connect to the Tor network efficiently and successfully.

A little bit of history would be useful. Could you point Tor Launcher is
shipped with the Tor Browser Bundle? And the Tor Browser Bundle has its
kind of users. system Tor (refers to Tor from packages.debian.org or
deb.torproject.org) users, where Tor runs as daemon, is used in
different ways for different purposes. These users cannot use Tor
Launcher, because it only works with Tor Browser. That's what
anon-connection-wizard is good for.

Btw there is not even need to keep the project name
anon-connection-wizard. We just need to be careful not to include "Tor"
anything without prior permission by torproject (hard) to avoid
trademark issues.

https://www.whonix.org/wiki/Dev/TPO_Trademark

That's so far the only reason we haven't called it much more nicely Tor
Connection Wizard or so.

>> # Project goals
> 
>> Be short and to the point, and perhaps format it as a list.
>> Propose a clear list of deliverables, explaining exactly what you
>> promise to do and what you do not plan to do.
> 
> “Future developments” can be mentioned, but your promise for the
> Google Summer of Code term is what counts.
> As mentioned above, the projects goals include two main parts:
> 1. The clone implementation of Tor Launcher;
> 2. The redesign of the anon-connection-wizard.
> 
>> # Implementation
> 
>> Be detailed. Describe what you plan to do as a solution for the 
>> problem you defined above. Include technical details, showing that 
>> you understand the technology. Illustrate key technical elements
>> of your proposed solution in reasonable detail.
> 
> The clone implementation of Tor Launcher:
> Currently, I have helped to implement the basic functions of
> anon-connection-wizard. However, there are still several bugs need
> fixing and a large number of exciting features need implementing,
> which include:
> 1. The current implementation of configuring torrc file is very
> rudimentary. The anon-connection-wizard should read the previous
> bridge/proxy configuration from the file and adjust the default UI
> accordingly. Just like what Tor Launcher has been doing. The "edit
> marker approach" is preferred way to implement this:
> https://forums.whonix.org/t/graphical-gui-whonix-setup-wizard-anon-conne
> ction-wizard-technical-discussion/650/226
> 
> 2. The password for proxy setting should be covered by character *
> 
> The redesign of the anon-connection-wizard:
> I have made a specific proposal for this topic, which can be found
> here:
> https://forums.whonix.org/t/a-proposal-for-redesigning-anon-connection-w
> izard-for-better-usability/3681
> The redesign should at least includes:
> 1. Rearranging the instruction page orders for better usability;
> 2. Rewriting the literal instruction so that it fits the actual
> situation of people in censored areas;
> 3. Adding more features to the custom Tor bridges configuration input
> box for more clear instruction. For example, syntax highlight,
> tool-tips, etc;
> 4. Doing user behavior experiment to find out what can be helpful for
> better usability;
> 5. Modifying the anon-connection-wizard based on the result of the
> experiment.
>> # Timeline
> 
>> Show that you understand the problem, have a solution, have also 
>> broken it down into manageable parts, and that you have a
>> realistic plan on how to accomplish your goal.
> 
> Here you set expectations, so don’t make promises you can’t keep. A
> modest, realistic and detailed timeline is better than promising the
> impossible.
> 
> Since the specific dates may be changed with the undecided working
> schedule. I arrange my timeline in a week unit.
> 
> Week 1:
> The password for proxy setting should be covered by character *.
> 
> Week 2:
> Implement the "edit marker approach".

Week 1 looks rather simple in comparison to week 2.

Not a big deal. From my perspective forecasting development work by
weeks or generally is hard. Most times the time required to figure out
how long you need to implement is ~ 80% of the time needed to actually
implement it.

> Week 3:
> Rewriting the literal instruction so that it fits the actual situation
> of people in censored areas.
> 
> Week 4:
> Generate ideas on redesigning the anon-continence-wizard users
> interface, basing on the recommendations from outside sources,
> problems discussed above and suggestions from other people. Present
> the planning redesign to public to receive feedback.
> 
> Week 5:
> Rearranging the instruction page orders for better usability;
> Rewriting the literal instruction so that it fits the actual situation
> of people in censored areas.
> 
> Week 6:
> Adding more features to the custom Tor bridges configuration input box
> for more clear instruction. For example, syntax highlight, tool-tips, et
> c;
> 
> Week 7:
> Prepare for the user behavior experiment, including recruitment and
> setting up environment.
> 
> 
> Week 8:
> Conduct the experiment.
> 
> Week 9:
> Process and analysis the experiment data.
> 
> Week 10:
> Write the research report.
> 
> Week 11:
> Modifying the anon-connection-wizard based on the result of the
> experiment.
> 
> Week 12:
> Modifying the anon-connection-wizard based on the result of the
> experiment.
> 

Generally okay. I hope in case you are ahead of schedule (week 1 and 2
sound rather easy in comparison to the others), you'd start with other
tasks that can be started already.

>> If you have other commitments during GSoC, such as a job,
>> vacation, exams, internship, seminars, or papers to write, disclose
>> them here.
> I am going to be enrolled for the Summer 2017 semester that begins May
> 22nd and ends June 23th at XXX University. I am going to take two
> classes from Monday to Friday for each week during the Summer
> semester. One will be from 3:20PM to 5:00PM (UTC) and another one will
> be from 7:00PM to 8:40PM (UTC).
> 
> GSoC should be treated like a full-time job, and we will expect
> approximately 40 hours of work per week. If you have conflicts,
> explain how you will work around them. If you are found to have
> conflicts which you did not disclose, you may be failed.
> 
> The sum of the time I will be in class for each weekday will be 3
> hours and 20 minute which is totally fine to me. My current overall
> GPA is 4.0/4.0 which may help to prove I can handle my school study
> well. According to Google Summer of Code timeline, the “[c]oding
> officially begins” at May 30th which means there will be approximate
> three weeks that I have both school study and Google Summer of Code.
> 
> To work around it, I have came up with three plans:
> 1. Since I have been familiar with the contributing workflow for
> Qubes/Whonix, I do not have to spend a lot of time to get used to it.
> Therefore I can use the “Community Bonding Period” which is from May
> 4th to May 30th to do the real coding for the project;
> 2. I can also keep committing to the project during each weekend from
> now on before May 4th . This is also a way to work around the time
> conflicts.
> 3. If I am expected to code only during the official timeline, I can
> spend 5 hours each day during the weekdays and spend 8 hours each day
> during the weekends.

I like it either way. Whatever GSoC prefers.

>> Open and clear communication is of utmost importance. Include your 
>> plans for communication in your proposal; daily if possible. You 
>> will need to initiate weekly formal communications such as a 
>> detailed email to the qubes-devel mailing list. Lack of 
>> communication will result in you being failed.
> 
> I agree that “[o]pen and clear communication is of utmost importance”.
> This is because of two main reasons from my point of view. First, a
> successful free and open source software development heavily relies on
> the collaboration between different people. A good communication skill
> will create a positive and supportive atmosphere which not only make
> everyone works for it more efficient but also attracts more people to
> join the development. Second, feedback from others, especially mentor,
> can be extremely beneficial to a student’s progress. Without the
> feedback, it may take a student years until one day after a
> frustrating debugging process to realize a mistake he/she made; while
> he/she may realize several mistakes he/she made almost immediately
> from his/her mentor’s feedback.
> 
> I have already been working on the project with my potential mentor
> Patrick Schleizer. A small part of our open communication can be found
> [here](https://forums.whonix.org/t/graphical-gui-whonix-setup-wizard-ano
> n-connection-wizard-technical-discussion/650/222),
> which may be helpful to prove we have been having an open and clear
> communication.
> 
> My plan is to take the [Whonix Forum](https://forums.whonix.org/) as
> the daily communication platform with my potential mentor Patrick. And
> just like what I have been doing, I will also post a detailed progress
> report for each working period which is no more than a week. I can
> definitely send the posts to the qubes-devek maiking list if it is
> considered as a good idea.
> 
>> # About me
> 
>> Provide your contact information
> Currently, people can contact me through the following ways:
> 1. Email: irykoon at gmail dot com GPG:
> https://pgp.mit.edu/pks/lookup?op=vindex&search=0xA14B4DBC6DCDD53C
> 2. Github: @irykoon
> 3. Whonix Forum: @iry
> 
> I will inform the public if there is any change to my contact informatio
> n.
> 
>> and write a few sentences about you and why you think you are the 
>> best for this job.
> As one who was living in oppressive area, I deeply understand the
> importance of Internet freedom to a society. At first, I merely
> considered Internet freedom as fighting against Internet censorship.
> However, after a large amount of observation, reading and reflection,
> I realized that the self-censorship conducted by every scared citizens
> was much more powerful and terrible than the censorship conducted by
> the outside world. It was at that moment I realized the online
> anonymity was a vital component to Internet freedom because it frees
> people from fear.
> 
> I value Qubes/Whonix. Without it, I couldn't have been freed from the
> fear and explored the world freely and finally became who I am today.
> 
> Therefore, contributing to Qubes/Whonix as a career is not only a
> dream that I have been fighting for, but also an essential approach to
> my self-actualization.
> 
>> Prior contributions to Qubes are helpful; list your commits.
> 
> The followings are my pull requests on GitHub to the Qubes/Whonix:
> 1. [Basic features
> implementation](https://github.com/Whonix/anon-connection-wizard/pull/1)
> 2. [Pluggable transport
> renew](https://github.com/Whonix/anon-connection-wizard/pull/2)
> 3. [A proposal for redesigning anon-connection-wizard for better
> usability](https://github.com/Whonix/anon-connection-wizard/pull/3)
> 4. [Port from Python2 to Python3.4 & from PyQt4 to
> PyQt5](https://github.com/Whonix/anon-connection-wizard/pull/4)
> 
> The following is my proposal for the redesign of anon-connection-wizard:
> 1.
> https://forums.whonix.org/t/a-proposal-for-redesigning-anon-connection-w
> izard-for-better-usability/3681

>> Name people (other developers, students, professors) who can act
>> as a reference for you. Mention your field of study if necessary.
> 
> (My potential mentor, Patrick may be a reference for me)

Yes.

>> Tell us if you are submitting proposals to other organizations,
>> and whether or not you would choose Qubes if given the choice.
> 
> I am not submitting proposals to other organizations. I will be
> extremely happy if I can get the offer from Qubes.
> 
>> Other things to think about: * Are you comfortable working 
>> independently under a supervisor or mentor who is several thousand 
>> miles away, and perhaps 12 time zones away? How will you work with 
>> your mentor to track your work? Have you worked in this style 
>> before?
> Yes! I have been interacting, working and learning in this style with
> my potential mentor and I am really comfortable with that.
>> * If your native language is not English, are you comfortable 
>> working closely with a supervisor whose native language is
>> English? What is your native language, as that may help us find a
>> mentor who has the same native language?
> Both my potential mentor Patrick and I can communicate in English. So
> there is no problem with that.

Right.

Generally, I have no idea what kind of proposal is good enough for GSoC.
Proposal writing is not my thing and currently lack the time for it as
well. As far as more practical things are concerned, communications with
and code by iry, I'd like to see iry getting the chance to work on GSoC.

Cheers,
Patrick

-- 
You received this message because you are subscribed to the Google Groups 
"qubes-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-devel/3883c42e-5685-396f-da52-317a08f7a8f5%40riseup.net.
For more options, visit https://groups.google.com/d/optout.

Reply via email to