Summer Coding 2010 proposal - Unified Mobile Sync

From FedoraProject

Jump to: navigation, search

Contents

About Me

  1. My name is Zhangwenjie
  2. My email address is yyp226@gmail.com
  3. My wiki username is yyp226
  4. My IRC nickname is yyp226
  5. My wiki page is https://fedoraproject.org/w/index.php?title=User:yyp226
  6. My primary language is Chinese, English
  7. Location,Chongqing, China. working time, 8:00 to 23:00 GMT+8
  8. I want jump into FSC Activities with this idea: create a unified sync tool for mobile devices with fedora linux.

About my project

  1. My project name is Unified Mobile Sync.
  2. My project come from an idea on the Summer Coding 2010 ideas page (URL: https://fedoraproject.org/wiki/Summer_Coding_2010_ideas_-_Unified_Mobile_Sync_-_shortinfo).
  3. Synchronization tool for mobile devices. The creation of tool for data synchronization between mobile devices and desktop, such as contacts, calendar, schedule, tasks, messages. Today mobility is a major trend, so enabling synchronization between mobile and desktop is important for Linux desktop adoption

Functions: content support:

   contacts, calendar, tasks, messages, documentations(files like image, photos, music, video...) and others

link mode support:

   data cable(USB net), Bluetooth

backup and restore:

   the same phone supports all content backup and restore,
   content exchange support between different type phone. (~_~easy share content with my girl friend, I like android, she use Nokia)

Software aspect: UI :

    unified UI style include all operations no matter device's diffs.

development language:

    Java UI,
    JNI C/C++ plugins for bottom job: private sync protocol or integration with other open source solution.

Software Framework

  1. timeline for project
    • week 1~2: Find out how to upload/download to/from popular mobile devices (Android, iPhone, Symbian, PalmOS, Win Mobile, BB, etc) contacts, messages, calendars, todos, media content, etc. It includes studying what data is accessible, in what format we are to process it, what protocols-libraries-APIs should be used. As a result we should get clear understanding what and how can be synced for different devices. This task will require gathering and reading tons of technical documentation and writing code to check if documentation is really true. I can not predict what programming languages, libraries, standards and protocols you will encounter.
    • week 3~4: Find out how to upload/download to/from popular desktop apps (Evolution, Thunderbird, KDE PIM, Outlook, etc) contacts, messages, calendars, todos, media content, etc. Once again, it includes studing what is accessible, in what format, via which channels. As a result we should get clear understanding what and how can be synced with different apps. This task will require, similarly with the previous one, reading documentation and writing tests. Once again, I can not predict what programming languages, libraries, standards and protocols you will encounter.
    • week 5~6: Find out how to integrate mobile sync into current system infrastructure for Linux desktop (dbus, udev, PackageKit, etc) and, probably, Windows desktop (???). This task will require very good knowledge of system design.
    • week 7~ 8: Prepare concept of GUI application and implement the first version (with placeholders instead of real sync plugins). This task will require knowledge of cross-platform programming with Python or C/C++ and GTK/Qt/etc. Knowledge of GUI design and usability will be a big advantage.
    • week 9 ~ :Prepare the architecture based on the results of tasks #1-4. The architecture should meet the requirements [1]. Determine tasks for complete UMS implementation.
  1. Self-Convincing:
    • I'm a student in the graduate program of a Electronics and Communication Engineering, interested in open source,much thanks Fedora summer coding and your, giving me an opportunity to paricipate in open source world.
    • my undergraduate degree thesis is the java mobile game software development and degree is computer science and technology.I am deep in embedded software, and interested in your idea: create a uniform utility to synchronize data between popular mobile devices and desktop computer.
    • I think this is a good idea of encouraging, I will stay motivated to achieve it.

You and the community

  1. If your project is successfully completed, what will its impact be on the Fedora community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Fedora community, at least one of whom should be a Fedora Summer Coding mentor. Provide email contact information for non-Summer Coding mentors.
    • IF it's successfully completed, Fedora/Linux community have a uniform mobile sync/backup tools, and support sync/share mobile usage data between different mobile devices, different application, or sync mobile and cloud app.
    • Mentor's answer: Today mobility is a major trend, so enabling synchronization between mobile and desktop is important for Linux desktop adoption.
  2. What will you do if you get stuck on your project and your mentor isn't around?
    • Chinese proverb:the master teaches the trade, but the apprentice's skill is self-made.
  1. In addition to the required blogging minimum of twice per week, how do you propose to keep the community informed of your progress and any problems or questions you might have over the course of the project?
    • I will leave more time,cultivate regularity, discuss and progress in the community.

Miscellaneous

  1. We want to make sure that you are prepared before the project starts
    • Can you set up an appropriate development environment? Yes.
    • Have you met your proposed mentor and members of the associated community? Yes.
  2. What is your t-shirt size? L size
  3. Describe a great learning experience you had as a child.
    • learned to ride a bicycle by myself.
  4. Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?
    • I like playing phone, music and movies.

Comments

Use the Talk:Summer Coding 2010 student proposal application to actually make comment, which then appear here on the main proposal page. You can use this link to make a new comment].

plus talk