GSoC 2014 ideas list

I've had prospective Google Summer of Code students emailing me since, uh, September or so... so I guess it's time to talk ideas!
I've set up a wiki page, as usual:
http://wiki.list.org/display/DEV/Google+Summer+of+Code+2014
But let's start with here: what small projects would you like to see us sponsor this year? I think we'll need to be more selective about the final list, but let's start with some brainstorming!

Hi,
I've the goal to make hyperkitty modular and then allows to install plugins for various uses, just like in other main forum platforms.
This will allow to focus hyperkitty on archiving, and offer a simple entry point for extending it with out-of-archiving scope (the vote, category and tag features are candidates to be plugins, but many other useful plugins could appear, connecting archive to a variety of tools for an integrated community experience).
The branch is quite advanced (@nka11, plugin-api) but still experimental and the very strict minimum is done (no docs, no unit tests).
GSoC 2014 may be an opportunity to really kick it off :
- achieve plugin API specification and documentation
- release hyperkitty-extendable and its basic plugin set
Regards
Le 09/01/14 08:28, Terri Oda a écrit :

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi everyone,
some project suggestions for this year's GSoC:
- A continuous integration tool for the Mailman suite.
Mailman 3 is based on 4 different packages which are developed somewhat independently: The Mailman core, Postorius, Hyperkitty and mailman.client. It's not always guaranteed that these components still play nicely with each other after a new commit.
It would be very useful to have some mechanism that runs a series of tests to make sure everything's not fundamentally breaking. This could be everything from a command line based tool to a full-fledged integration into something like Jenkins.
- A responsive ui for Postorius
In 2014 a web ui should be equally usable on a desktop computer as on a phone. Nowadays the CSS mechanisms needed to use the same HTML for different devices are pretty well supported across browsers. I'd love to be able to use Postorius (and Hyperkitty!) on my phone without constant zooming.
- Various Python 3 ports
The goal for the Mailman core is to support Python 3 in the near future, so Postorius/Hyperkitty/mailman.client might be ported as well (probably supporting both 2.6+ *and* 3.3+ in order to not frustrate folks who use additional Django apps that haven't been ported yet). Not sure if this should be one single GSoC project or one for each package...
- Postorius: Improve the test suite
Currently Postorius' test suite consists mostly of unit-tests, using nose as the test runner. The test coverage could definitely be improved. It might also be nice to add some doctests as a developer resource. This project could also feature some interface/navigation testing, using Selenium, casperJS or similar.
In addition to these there are a number of project ideas that didn't get picked last year:
http://wiki.list.org/display/DEV/Google+Summer+of+Code+2013#GoogleSummerofCo...
My personal favourites:
- Migration Scripts from MM 2.1 to MM 3
- Design interface "themes" for specific types of list
- Enhance List Style Capabilities
- Full anonymization (obfuscating sender addresses)
- No-logging mode
- Log monitor
Any comments or (even better) more ideas?
I am planning to complete the ideas page by the end of the week (probably over the weekend), so I can submit our GSoC application on Monday or Tuesday... Of course we can theoretically add more after the deadline, but since the ideas page is the most important ingredient of the application, it would be *a lot* better if we had all projects on it before Friday 14.
Cheers Florian
On 01/09/2014 08:28 AM, Terri Oda wrote:
iQEcBAEBAgAGBQJS89A5AAoJEEceGbPdavl7kYAIAJFnVk3GwHVOJ1/xEQQogGd7 ted1MsA4QoDPPcqEDASN0SxpsYFIFLPHpPA9J58783pQN0bQ85iQphd3GyE5Ihg9 LLlJgkrmSyS2u5dX70RSSfN2r56wZ81aqVygWVPZA+xoNOnxossJqe1aK5rPrxnH xIyKtIfsn80Yi876SCB81sAN2kYS7A6NXJ7kF+krpMRW+c5rkkrnLSRPcH0PMIhs P423f+Q0IVTM+8+vK2MYdmCOCWc01ZrvNGbIBl4Q9t0kBtQ/3hHfjYlpaiSq1x6n InTbkgiX0Sd6lq5at3GyK/Ud5WC58OnTQEXm2qjkPHNGJPqF31hYKc97CChIveY= =1amL -----END PGP SIGNATURE-----

On Feb 06, 2014, at 07:11 PM, Florian Fuchs wrote:
Very much +1.
I like the development model where we have a gatekeeper against merges to the trunk better than post-merge buildbot-style validations. That way, we know that only merges that pass the test suite will land on trunk, so it should always be releaseable.
The downside to that is that the gatekeeper is usually one exact setup (e.g. a specific version of the OS, a specific choice for backend database, a specific Python version, etc.) buildbots/jenkins, etc. then augment that to make sure that we haven't regressed on supporting PostgreSQL, MySQL, PythonX.Y, etc.
Very much +1. Another thought would be to support an app that you could install on Android or iOS (or Ubuntu Touch? :) to more directly control a Postorius server.
Very much +1. More on this later.
+1
abompard has a merge proposal that I've been slowly working through here.
Styles, yes, this would be nice and very doable for GSoC.
Thanks for doing this Florian and to Terri for getting the ball rolling.
-Barry

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 02/06/2014 08:21 PM, Barry Warsaw wrote:
Also a great idea! I think using Apache Cordova for that would be an interesting option. It's a native app container around a HTML/JS engine, so one can build native apps with HTML/CSS/JS. Supports Android, iOS and, yes, Ubuntu, plus a few others. I heard a lot of good things about it from a friend who has used it recently.
We would need to get the public API working though...
Cheers Florian
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBAgAGBQJS9TwbAAoJEEceGbPdavl7hrUH/jOPOcLl5f0i/PtC+dmxA1E3 lHyYN8pEF5gSYZ4LQfTYIdjBy5yFxVT3kmhNSm8q9TcRB0yYXYsaDBam2GBcrJyU 5utrP5fqtKXDWRe7yZ2k4316tdG8x0ljTwRDeth1IFiEAIqEs1S9ph7xdReA/mry PVTo1VRjoSXGOryilxDR4RQ151xILooN+R0zw8KoAEcBhSU9oi7ZF8LBop7E1+1a 87/scF7qNTm+4H+0G2/2f5JO+/Cpi2iQvChN2Y6w0OHzhuF1270InN1yz308Qcmp 7TJpkvtQ4DGYV+7C0LbOT5IKKvlOtPvE7nmvPCeBeBdqCUAWEuROL6E2HYb3oSM= =+I6D -----END PGP SIGNATURE-----

- Florian Fuchs <flo.fuchs@gmail.com>:
Dunno, if this is there yet, but a command line client for admins that allows to create lists, configure them via list templates, backup configs etc. would be a nice thing to have.
Personally I would also like to see SNMP support to monitor mailman in larger installations.
p@rick
-- [*] sys4 AG
http://sys4.de, +49 (89) 30 90 46 64 Franziskanerstraße 15, 81669 München
Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263 Vorstand: Patrick Ben Koetter, Marc Schiffbauer Aufsichtsratsvorsitzender: Florian Kirstein

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 02/07/2014 10:22 PM, Patrick Ben Koetter wrote:
+1!
Maybe starting with a "local" version first (meaning: running on the same host as Mailman, with unrestricted REST API access -- I guess it might be enough work for one GSoC project to build a nice CL interface for the most important functionality). But with an option to add remote access with more advanced authentication/authorization at a later time.
Personally I would also like to see SNMP support to monitor mailman in larger installations.
I'm adding it to the ideas page. Would you like to provide a short description of what you have in mind, so I can add that too?
Cheers Florian
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBAgAGBQJS9+9jAAoJEEceGbPdavl7ACQIAKToWKOZpVu73XyGRgLKTD1b 892v/2xfli2HUUjU/Pb4JfGAZGen0GcPNtsjahy8THcRHy0RIJ+3RrrTrfCErZ9Y THkyu0uILaZLqOrr9TMvyUkmF0DQXZF0IdgzeYel/WZVL/EC5NHxFldHv4LnnNX8 25cMhxlOW8VJzrUoeP3qBhrwhXe4kMB9PUa8onxgWlvT47P1zNcCLeyb3LBPcphO 0P3iZOgT+nlVn1ZFFrqOT7d3+r2MFYRQz7ltMu3RSwwkXKC0Cq2nfIbtYYtPue2h az6JPfStGZChq/sQCa5Nqz4JwNc1XW+fo7Qx6YKEuHZxXP4HyGG/c5yI0MuLFwU= =83sc -----END PGP SIGNATURE-----

- Florian Fuchs <flo.fuchs@gmail.com>:
ACK
Unfortunately I am short on time. Here's a brief description:
The idea is to add SNMP capabilities to MM. The SNMP interface should follow the FCAPS model <http://en.wikipedia.org/wiki/FCAPS>. What exactly that means for an MLM and MM in specific is something I'd expect the project to layout and implement (in parts).
I would, for example, like to know how many mailing lists there are, how many people subscribed to each mailinglist, how many non-subscribed senders send to the mailinglist etc. pp.
I can come up with a list of items to examine and count if this becomes a project.
p@rick
-- [*] sys4 AG
http://sys4.de, +49 (89) 30 90 46 64 Franziskanerstraße 15, 81669 München
Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263 Vorstand: Patrick Ben Koetter, Marc Schiffbauer Aufsichtsratsvorsitzender: Florian Kirstein

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 02/06/2014 07:22 PM, Máirín Duffy wrote:
Do you know if Summer of Code students can do interaction design / UX stuff? Because I'd be willing to mentor for that.
Oh, that would be great!
I'm not a 100% sure about the exact criteria. I vaguely remember a discussion on the GSoC mentors list about CSS which eventually turned into an argument about Turing completeness and what constitutes "real" programming.
So I don't know if a pure design/CSS project would qualify. But I think any UX work on Postorius/Hyperkitty will involve at least a little bit of Django and/or JavaScript work. I'll scan the mentors list archives if I can find something - or ask that question again, just to be on the save side.
Florian
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBAgAGBQJS89zRAAoJEEceGbPdavl7vrAH/0rru3C6TtS5RP66h3onx6te v+9ODFthhH4X4igbElIaI5THa2p8W9d3ukabN9JtvUPhdSSCzWxCn4JsFNJhhqa7 nxQ36cTeR/QPXs49MBBMVTtQPXN7vAC11OgIgOLmkYRrI0hFOQnOOliXflYy7ho6 RSxzHPpsUw48ASYryODfWOSBE1F0yk+fc4p4fWoQZsvGnR56U3y7PV39FLJdWAvq vdXTqHzX/rzHJyd1njfLO36SFQ0p+rDQNHZXrQJ/Ul5r3le2m1yrxD65WIjn1HAb frFD4V8RI+CHAP+PSbpJ3E8hBi5/CUVUKqnoZD9ShZ948wpQEIxYRIzXKUImPcE= =auR2 -----END PGP SIGNATURE-----

Hi, Máirín! Good to see you here!
Máirín Duffy writes:
Do you know if Summer of Code students can do interaction design / UX stuff? Because I'd be willing to mentor for that.
I'm not sure what you mean by "design". Something like graphic design via CSS alone doesn't fly. It has to come with an implementation that is aimed to be of high enough quality to be integrated.
If the project misses implementation quality by end of summer, nobody's going to complain if we pass the student based on reasonable effort and significant progress. But what Google is paying for is the time and effort spent on designing and writing code to implement processes, not the UX design.
Eg, doing CSS work that makes a screen pretty and easy to hide uninteresting information and changes simple text fields to more structured widgets (eg for date input) is out. Writing JavaScript that sanity-checks user input is OK.
If what you mean is the kind of stuff that is involved in Postorius and Shanu Salunke's "Mailman Interface" (a GSoC project for Systers last year), yes, that passes muster.

On 02/06/2014 09:17 PM, Stephen J. Turnbull wrote:
Hi, Máirín! Good to see you here!
Thanks :) Long time lurker :)
By UX design I don't mean simply surface aesthetics, but designing the interactions and workflows for new features and cleaning up what's there, scoping out new features (e.g., right now Karen and I are working out whether or not users should be able to follow categories in Hyperkitty like they can follow tags, walking through what a user might want to do based on how mailing lists may be set up, and the mechanisms we could add to allow the feature.)
So I was actually envisioning an internship similar to what my current Hyperkitty OPW program intern is doing some UX design work (as described above) but also creating static HTML pages of the new pages, modifying existing screens to mobile friendly / responsive by upgrading it to the latest Bootstrap and making it more Bootstrap-compliant (it was a little messy before she fixed it up.)
So she is doing some CSS yeah, but also javascript and she's modifying stuff in django too for the Bootstrap upgrade. Testing how well it works across various mobile formats. In addition to creating UX mockups, etc.
While I've used Postorius and am familiar with it, I'm not familiar with Shanu's internship work. How do you think what I'm proposing above compares?
~m

Máirín Duffy writes:
The implementation of "workflows" such as "following categories like tags" and "mechanisms" sounds good to me. "New features" are generally what Google is interested in sponsoring.
So she is doing some CSS yeah, but also javascript and she's modifying stuff in django too for the Bootstrap upgrade.
AIUI, the javascript and Django work sounds like it would be enough to qualify for the "Code" in "Google Summer of Code".
Testing how well it works across various mobile formats.
Testing in the sense of running the program on different devices doesn't qualify, and ISTR discussion on the Google lists to the effect that even writing regression tests doesn't qualify by itself if they basically amount to scripts to mimic a human thumbing on an iPhone. :-) There's also a prejudice against declarative languages like HTML and CSS.[1]
Google recognizes the value of CSS and regression tests, of course. There has been discussion of extending GSoC (eg, Google Code-In for high school students allows tasks defined by those activities, and documentation as well), or having a separate intern program for them. But GSoC is designed and funded for the purpose of supporting coding.
So from the point of view of GSoC proposals, the students should be focusing on the Javascript and Python to be written to implement the features in Django.
Overall it sounds to me like the project your student would propose is very similar in content to what Shanu did, and the main thing is to emphasize the Django/Python and Javascript coding, and make sure it looks like a summer's worth of work in the proposal.
I would say at this point it's certainly worth writing up a preliminary design proposal to see if it's worth putting in the work to write up schedules and precise descriptions of deliverables.
Also, note that I can't speak *for* the Google administrators.
Footnotes: [1] I mention that because I find these distinctions somewhat specious, myself, but the language bias clearly exists among the Google administrators.

Hi,
I've the goal to make hyperkitty modular and then allows to install plugins for various uses, just like in other main forum platforms.
This will allow to focus hyperkitty on archiving, and offer a simple entry point for extending it with out-of-archiving scope (the vote, category and tag features are candidates to be plugins, but many other useful plugins could appear, connecting archive to a variety of tools for an integrated community experience).
The branch is quite advanced (@nka11, plugin-api) but still experimental and the very strict minimum is done (no docs, no unit tests).
GSoC 2014 may be an opportunity to really kick it off :
- achieve plugin API specification and documentation
- release hyperkitty-extendable and its basic plugin set
Regards
Le 09/01/14 08:28, Terri Oda a écrit :

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi everyone,
some project suggestions for this year's GSoC:
- A continuous integration tool for the Mailman suite.
Mailman 3 is based on 4 different packages which are developed somewhat independently: The Mailman core, Postorius, Hyperkitty and mailman.client. It's not always guaranteed that these components still play nicely with each other after a new commit.
It would be very useful to have some mechanism that runs a series of tests to make sure everything's not fundamentally breaking. This could be everything from a command line based tool to a full-fledged integration into something like Jenkins.
- A responsive ui for Postorius
In 2014 a web ui should be equally usable on a desktop computer as on a phone. Nowadays the CSS mechanisms needed to use the same HTML for different devices are pretty well supported across browsers. I'd love to be able to use Postorius (and Hyperkitty!) on my phone without constant zooming.
- Various Python 3 ports
The goal for the Mailman core is to support Python 3 in the near future, so Postorius/Hyperkitty/mailman.client might be ported as well (probably supporting both 2.6+ *and* 3.3+ in order to not frustrate folks who use additional Django apps that haven't been ported yet). Not sure if this should be one single GSoC project or one for each package...
- Postorius: Improve the test suite
Currently Postorius' test suite consists mostly of unit-tests, using nose as the test runner. The test coverage could definitely be improved. It might also be nice to add some doctests as a developer resource. This project could also feature some interface/navigation testing, using Selenium, casperJS or similar.
In addition to these there are a number of project ideas that didn't get picked last year:
http://wiki.list.org/display/DEV/Google+Summer+of+Code+2013#GoogleSummerofCo...
My personal favourites:
- Migration Scripts from MM 2.1 to MM 3
- Design interface "themes" for specific types of list
- Enhance List Style Capabilities
- Full anonymization (obfuscating sender addresses)
- No-logging mode
- Log monitor
Any comments or (even better) more ideas?
I am planning to complete the ideas page by the end of the week (probably over the weekend), so I can submit our GSoC application on Monday or Tuesday... Of course we can theoretically add more after the deadline, but since the ideas page is the most important ingredient of the application, it would be *a lot* better if we had all projects on it before Friday 14.
Cheers Florian
On 01/09/2014 08:28 AM, Terri Oda wrote:
iQEcBAEBAgAGBQJS89A5AAoJEEceGbPdavl7kYAIAJFnVk3GwHVOJ1/xEQQogGd7 ted1MsA4QoDPPcqEDASN0SxpsYFIFLPHpPA9J58783pQN0bQ85iQphd3GyE5Ihg9 LLlJgkrmSyS2u5dX70RSSfN2r56wZ81aqVygWVPZA+xoNOnxossJqe1aK5rPrxnH xIyKtIfsn80Yi876SCB81sAN2kYS7A6NXJ7kF+krpMRW+c5rkkrnLSRPcH0PMIhs P423f+Q0IVTM+8+vK2MYdmCOCWc01ZrvNGbIBl4Q9t0kBtQ/3hHfjYlpaiSq1x6n InTbkgiX0Sd6lq5at3GyK/Ud5WC58OnTQEXm2qjkPHNGJPqF31hYKc97CChIveY= =1amL -----END PGP SIGNATURE-----

On Feb 06, 2014, at 07:11 PM, Florian Fuchs wrote:
Very much +1.
I like the development model where we have a gatekeeper against merges to the trunk better than post-merge buildbot-style validations. That way, we know that only merges that pass the test suite will land on trunk, so it should always be releaseable.
The downside to that is that the gatekeeper is usually one exact setup (e.g. a specific version of the OS, a specific choice for backend database, a specific Python version, etc.) buildbots/jenkins, etc. then augment that to make sure that we haven't regressed on supporting PostgreSQL, MySQL, PythonX.Y, etc.
Very much +1. Another thought would be to support an app that you could install on Android or iOS (or Ubuntu Touch? :) to more directly control a Postorius server.
Very much +1. More on this later.
+1
abompard has a merge proposal that I've been slowly working through here.
Styles, yes, this would be nice and very doable for GSoC.
Thanks for doing this Florian and to Terri for getting the ball rolling.
-Barry

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 02/06/2014 08:21 PM, Barry Warsaw wrote:
Also a great idea! I think using Apache Cordova for that would be an interesting option. It's a native app container around a HTML/JS engine, so one can build native apps with HTML/CSS/JS. Supports Android, iOS and, yes, Ubuntu, plus a few others. I heard a lot of good things about it from a friend who has used it recently.
We would need to get the public API working though...
Cheers Florian
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBAgAGBQJS9TwbAAoJEEceGbPdavl7hrUH/jOPOcLl5f0i/PtC+dmxA1E3 lHyYN8pEF5gSYZ4LQfTYIdjBy5yFxVT3kmhNSm8q9TcRB0yYXYsaDBam2GBcrJyU 5utrP5fqtKXDWRe7yZ2k4316tdG8x0ljTwRDeth1IFiEAIqEs1S9ph7xdReA/mry PVTo1VRjoSXGOryilxDR4RQ151xILooN+R0zw8KoAEcBhSU9oi7ZF8LBop7E1+1a 87/scF7qNTm+4H+0G2/2f5JO+/Cpi2iQvChN2Y6w0OHzhuF1270InN1yz308Qcmp 7TJpkvtQ4DGYV+7C0LbOT5IKKvlOtPvE7nmvPCeBeBdqCUAWEuROL6E2HYb3oSM= =+I6D -----END PGP SIGNATURE-----

- Florian Fuchs <flo.fuchs@gmail.com>:
Dunno, if this is there yet, but a command line client for admins that allows to create lists, configure them via list templates, backup configs etc. would be a nice thing to have.
Personally I would also like to see SNMP support to monitor mailman in larger installations.
p@rick
-- [*] sys4 AG
http://sys4.de, +49 (89) 30 90 46 64 Franziskanerstraße 15, 81669 München
Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263 Vorstand: Patrick Ben Koetter, Marc Schiffbauer Aufsichtsratsvorsitzender: Florian Kirstein

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 02/07/2014 10:22 PM, Patrick Ben Koetter wrote:
+1!
Maybe starting with a "local" version first (meaning: running on the same host as Mailman, with unrestricted REST API access -- I guess it might be enough work for one GSoC project to build a nice CL interface for the most important functionality). But with an option to add remote access with more advanced authentication/authorization at a later time.
Personally I would also like to see SNMP support to monitor mailman in larger installations.
I'm adding it to the ideas page. Would you like to provide a short description of what you have in mind, so I can add that too?
Cheers Florian
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBAgAGBQJS9+9jAAoJEEceGbPdavl7ACQIAKToWKOZpVu73XyGRgLKTD1b 892v/2xfli2HUUjU/Pb4JfGAZGen0GcPNtsjahy8THcRHy0RIJ+3RrrTrfCErZ9Y THkyu0uILaZLqOrr9TMvyUkmF0DQXZF0IdgzeYel/WZVL/EC5NHxFldHv4LnnNX8 25cMhxlOW8VJzrUoeP3qBhrwhXe4kMB9PUa8onxgWlvT47P1zNcCLeyb3LBPcphO 0P3iZOgT+nlVn1ZFFrqOT7d3+r2MFYRQz7ltMu3RSwwkXKC0Cq2nfIbtYYtPue2h az6JPfStGZChq/sQCa5Nqz4JwNc1XW+fo7Qx6YKEuHZxXP4HyGG/c5yI0MuLFwU= =83sc -----END PGP SIGNATURE-----

- Florian Fuchs <flo.fuchs@gmail.com>:
ACK
Unfortunately I am short on time. Here's a brief description:
The idea is to add SNMP capabilities to MM. The SNMP interface should follow the FCAPS model <http://en.wikipedia.org/wiki/FCAPS>. What exactly that means for an MLM and MM in specific is something I'd expect the project to layout and implement (in parts).
I would, for example, like to know how many mailing lists there are, how many people subscribed to each mailinglist, how many non-subscribed senders send to the mailinglist etc. pp.
I can come up with a list of items to examine and count if this becomes a project.
p@rick
-- [*] sys4 AG
http://sys4.de, +49 (89) 30 90 46 64 Franziskanerstraße 15, 81669 München
Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263 Vorstand: Patrick Ben Koetter, Marc Schiffbauer Aufsichtsratsvorsitzender: Florian Kirstein

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 02/06/2014 07:22 PM, Máirín Duffy wrote:
Do you know if Summer of Code students can do interaction design / UX stuff? Because I'd be willing to mentor for that.
Oh, that would be great!
I'm not a 100% sure about the exact criteria. I vaguely remember a discussion on the GSoC mentors list about CSS which eventually turned into an argument about Turing completeness and what constitutes "real" programming.
So I don't know if a pure design/CSS project would qualify. But I think any UX work on Postorius/Hyperkitty will involve at least a little bit of Django and/or JavaScript work. I'll scan the mentors list archives if I can find something - or ask that question again, just to be on the save side.
Florian
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBAgAGBQJS89zRAAoJEEceGbPdavl7vrAH/0rru3C6TtS5RP66h3onx6te v+9ODFthhH4X4igbElIaI5THa2p8W9d3ukabN9JtvUPhdSSCzWxCn4JsFNJhhqa7 nxQ36cTeR/QPXs49MBBMVTtQPXN7vAC11OgIgOLmkYRrI0hFOQnOOliXflYy7ho6 RSxzHPpsUw48ASYryODfWOSBE1F0yk+fc4p4fWoQZsvGnR56U3y7PV39FLJdWAvq vdXTqHzX/rzHJyd1njfLO36SFQ0p+rDQNHZXrQJ/Ul5r3le2m1yrxD65WIjn1HAb frFD4V8RI+CHAP+PSbpJ3E8hBi5/CUVUKqnoZD9ShZ948wpQEIxYRIzXKUImPcE= =auR2 -----END PGP SIGNATURE-----

Hi, Máirín! Good to see you here!
Máirín Duffy writes:
Do you know if Summer of Code students can do interaction design / UX stuff? Because I'd be willing to mentor for that.
I'm not sure what you mean by "design". Something like graphic design via CSS alone doesn't fly. It has to come with an implementation that is aimed to be of high enough quality to be integrated.
If the project misses implementation quality by end of summer, nobody's going to complain if we pass the student based on reasonable effort and significant progress. But what Google is paying for is the time and effort spent on designing and writing code to implement processes, not the UX design.
Eg, doing CSS work that makes a screen pretty and easy to hide uninteresting information and changes simple text fields to more structured widgets (eg for date input) is out. Writing JavaScript that sanity-checks user input is OK.
If what you mean is the kind of stuff that is involved in Postorius and Shanu Salunke's "Mailman Interface" (a GSoC project for Systers last year), yes, that passes muster.

On 02/06/2014 09:17 PM, Stephen J. Turnbull wrote:
Hi, Máirín! Good to see you here!
Thanks :) Long time lurker :)
By UX design I don't mean simply surface aesthetics, but designing the interactions and workflows for new features and cleaning up what's there, scoping out new features (e.g., right now Karen and I are working out whether or not users should be able to follow categories in Hyperkitty like they can follow tags, walking through what a user might want to do based on how mailing lists may be set up, and the mechanisms we could add to allow the feature.)
So I was actually envisioning an internship similar to what my current Hyperkitty OPW program intern is doing some UX design work (as described above) but also creating static HTML pages of the new pages, modifying existing screens to mobile friendly / responsive by upgrading it to the latest Bootstrap and making it more Bootstrap-compliant (it was a little messy before she fixed it up.)
So she is doing some CSS yeah, but also javascript and she's modifying stuff in django too for the Bootstrap upgrade. Testing how well it works across various mobile formats. In addition to creating UX mockups, etc.
While I've used Postorius and am familiar with it, I'm not familiar with Shanu's internship work. How do you think what I'm proposing above compares?
~m

Máirín Duffy writes:
The implementation of "workflows" such as "following categories like tags" and "mechanisms" sounds good to me. "New features" are generally what Google is interested in sponsoring.
So she is doing some CSS yeah, but also javascript and she's modifying stuff in django too for the Bootstrap upgrade.
AIUI, the javascript and Django work sounds like it would be enough to qualify for the "Code" in "Google Summer of Code".
Testing how well it works across various mobile formats.
Testing in the sense of running the program on different devices doesn't qualify, and ISTR discussion on the Google lists to the effect that even writing regression tests doesn't qualify by itself if they basically amount to scripts to mimic a human thumbing on an iPhone. :-) There's also a prejudice against declarative languages like HTML and CSS.[1]
Google recognizes the value of CSS and regression tests, of course. There has been discussion of extending GSoC (eg, Google Code-In for high school students allows tasks defined by those activities, and documentation as well), or having a separate intern program for them. But GSoC is designed and funded for the purpose of supporting coding.
So from the point of view of GSoC proposals, the students should be focusing on the Javascript and Python to be written to implement the features in Django.
Overall it sounds to me like the project your student would propose is very similar in content to what Shanu did, and the main thing is to emphasize the Django/Python and Javascript coding, and make sure it looks like a summer's worth of work in the proposal.
I would say at this point it's certainly worth writing up a preliminary design proposal to see if it's worth putting in the work to write up schedules and precise descriptions of deliverables.
Also, note that I can't speak *for* the Google administrators.
Footnotes: [1] I mention that because I find these distinctions somewhat specious, myself, but the language bias clearly exists among the Google administrators.
participants (7)
-
Barry Warsaw
-
Florian Fuchs
-
Máirín Duffy
-
Nicolas Karageuzian
-
Patrick Ben Koetter
-
Stephen J. Turnbull
-
Terri Oda