Skip to content
andrewachen edited this page Mar 6, 2012 · 5 revisions

Name: K-9 Mail

Description:

K-9 Mail is an open-source e-mail client with search, IMAP push email, multi-folder sync, flagging, filing, signatures, bcc-self, PGP, mail on SD & more! It is based on the Email application shipped with the initial release of Android.

K-9 supports IMAP, POP3, and Exchange 2003/2007 (with WebDAV).

With over 2,300,000 downloads and 840,000 active users, K-9 mail has a large, enthusiastic installed base. It can be obtained from the Android Market here: https://market.android.com/details?id=com.fsck.k9

Homepage: https://github.com/k9mail

Why applying to GSoC:

We are applying to GSoC 2012 in order to broaden our developer base, to share our knowledge of mobile development with students, and hopefully get some features implemented.

Previous GSoC experience:

Last year our organization participated for the first time. We had 4 mentors working with 4 students. We learned that mentoring students can be a lot of work, so we've decided to assign 2 mentors per student this year.

URL for ideas page: https://github.com/k9mail/k-9/wiki/GSoC-Project-Ideas

User mailing list: http://groups.google.com/group/k-9-mail Developer mailing list: https://groups.google.com/group/k-9-dev

IRC channel: irc.freenode.net #k-9

Application Template for Students:

Required info: Name: IRC nickname: Email Address: Time Zone: Location: Project of Interest:

Optional info: Phone Number: Skype: Gtalk:

Background

  • What are you studying? What classes have you learned a lot from?
  • Do you have any relevant programming experience or sample code? (It's not the end of the world if you don't.)
  • Are you familiar with how open source projects work together? If you've written code for any, tell us; if not, tell us how you've otherwise been involved (ex. helping newbies on mailing lists, organizing installfests, etc.)
  • Whether or not you're an experienced programmer, tell us about a major non-programming project you've worked on
  • What platform (operating system, distro, IDE, etc.) do you use to code? What do you like about it?
  • What programming languages are you comfortable writing in? Note which are your two favourites. If you only have one favourite, that's ok too.
  • Tell us a bit about your work experience; you can include a resume if you'd like, or just summarize the interesting parts .

Project

  • Which of our projects are you interested in, or what awesome idea do you have that we didn't think of? We're open to either.
  • What do you hope to bring to the project?
  • What do you hope to achieve? Write up:
    1. a draft schedule for the summer
    2. a description of the scope of what you want to take on (deliverables)
    3. some ideas on where you expect problems or can see things being time-consuming

Pre-proposal Assignment

Students are expected to have installed Eclipse or IntelliJ IDEA with the Android libraries, forked K-9 on GitHub, and submitted a "hello world" patch to a branch.

Commitment

These are the things we need you to agree to in order for your project to succeed:

  • be willing to devote a minimum of 30 hours per week to this project
  • send weekly progress updates (we will provide a template)
  • tell us when you're struggling or stuck
  • no really, tell us - we'll help
  • check your code in often

In return, we promise to:

  • answer your questions promptly and provide a supportive environment
  • make sure our infrastructure works for you
  • have a weekly interactive chat (voice, text, screen share -- whichever you prefer) to talk about your progress and help make sure you're not stuck

Do you agree to this commitment?

How did you select mentors? Be specific.

We've selected mentors who are long-time contributors to the project and are familiar with working alongside junior developers. All of our mentors participated in GSoC last year; three as mentors and one as a student.

What is your plan for dealing with disappearing students?

In our experience, students disappear for two reasons:

  • life gets in the way
  • insecurity gets in the way

The former can be screened for at the application stage, and can also sometimes be prevented by getting the student in the habit of making small incremental changes and checking those in regularly. "Don't break the chain" etc. We are prefering project that can be split into small parts and plan to merge those early.

Dealing with insecurity comes down to creating an environment where the student doesn't feel bad asking "stupid" or novice questions. We're doing our best to encourage students to ask us any question.

What is your plan for dealing with disappearing mentors?

We plan on having multiple mentors for each student, 2 at a minimum. In the unlikely case where both of a student's mentors disappear, we will split another student's mentoring team. We are only planning on taking on 2 or 3 students in order to maintain a very high mentor-to-student ratio.

What steps will you take to encourage students to interact with your project's community before, during and after the program?

There will be pre-application homework for our students, which will likely mean they end up in the IRC channel or on the mailing list. We hope that they will find the community so welcoming that they don't even think twice about sticking around after GSoC.

If you are a small or new organization applying to GSoC, please list a larger, established GSoC organization or a Googler that can vouch for you here.

Anything else you'd like to tell us?

We are really looking forward to participating in GSoC this year!

Clone this wiki locally