Jump to: navigation, search


Title: Create a vCard display custom SWT widget for Eclipse

Student: Peng Cui

Student Email: ajiu.009@gmail.com


vCard is the electronic business card. It is a powerful new means of Personal Data Interchange (PDI) that is automating the traditional business card.It has been widely used in Personal Information Manager (PIM), electronic email application such as Microsoft Outlook and IBM Lotus notes, Web Browser or telephone. If Eclipse supplies a Custom SWT widget to display vCard, isn't it cool ? My project will do it.

Detailed Information:

vCard automates the exchange of personal information typically found on a traditional business card. At present time,vCard is widely used in applications such as Internet mail, voice mail, Web browsers, telephony applications, call centers, video conferencing, PIMs (Personal Information Managers), PDAs (Personal Data Assistants), pagers, fax, office equipment and smart cards. vCard information goes way beyond simple text, and includes elements like pictures, company logos, live Web addresses, and so on. It has following features:

  • vCards carry vital directory information such as name, addresses (business, home, mailing, parcel), telephone numbers (home, business, fax, pager, cellular, ISDN, voice, data, video), email addresses and Internet URLs (Universal Resource Locators).
  • All vCards can also have graphics and multimedia including photographs, company logos, audio clips such as for name pronunciation
  • Geographic and time zone information in vCards let others know when to contact you.
  • Of course, vCards support multiple languages
  • The vCard spec is transport and operating system independent so you can have vCard-ready software on any computer
  • vCards are Internet friendly, standards based, and have wide industry support.

If we use Eclipse SWT/JFace to develop a application which has contacts info management function, I think vCard supporting is necessary. But as we know, Eclipse does not supplies any SWT/JFace components or widget to parse vCard data or display vCard information. This project aims to implement a vCard display custom SWT widget which is in keeping with vCard version 2.1 Specification for Eclipse. The whole project will implement the following functions:

  1. Construct a Java class to represent vCard, we call it JavavCard, this class has following mainly methods:
    1 ).Communidate with othe file format such as CSV, it means it can import/export data info from/to CSV.
    2 ).Get any property detail by proper name, we can get Java String property value such as Name or Email address etc, get Java Image property value such as Photo, get Java Sound property value such as vCard name pronunciation.
  2. Create a vCard information parser,we call it vCardParser, it has the following functions:
    1 ).Parse vCard Identification Properties
    2 ).Parse vCard Delivery Addressing Properties
    3 ).Parse vCard Telecommunications Addressing Properties
    4 ).Parse vCard Organizational Properties
    5 ).Parse vCard Explanatory Properties
    6 ).Parse vCard Security Properties
    7 ).Parse vCard Miscellaneous Properties
  3. Create a custom widget to display JavavCard information, this widget has following features:
    1 ).It is a SWT based custom widget, just like widgets in Eclipse Nebula project;
    2 ).Use different icons to indicate different properties in vCard, it has a default solution, but developer can change its default icons;
    3 ).It will show all the properties in vCard, and has default layout solution,but developer can change its default layout solution,and decide which properties to display, which not.
    4 ).It has changeable styles and overall look and feel, it has a default solution, but developer can change it to what he likes.

As we know,Eclipse Nebula is a place where different Eclipse-Projects and Independent developers collaborate on building Custom SWT widgets and reuseable UI-Components useable in UI-Applications built using SWT and JFace. I will contribute this project to Nebula as a custom widget for Eclipse developers.


I have serveral years Eclipse plunge-in develop experience and know vCard well, so i have confidence to finish this project well. But before i hold it as a GSoC project, i ordered Eclipse open source mail list, discuss this project in the mail list. Feedback from mail list told me that various custom SWT/JFace widgets will help Eclipse developers largely, this component has practical value,it is a great work. And then, i will start the developing job,dicuss technology difficulites in Eclipse mail list and vCard developer mail list.


  1. Source code, achieved jars
  2. Junit test case
  3. Sample code, some demos
  4. Design Document, UML document and JavaDoc API document


  • March 29 - April 9: Submit my proposal, do some alter works if necessary
  • April 26 - May 23: Students get to know mentors, read documentation, get up to speed to begin working on their projects.
  • May 24 - May 31: Class JavavCard design and implement,finish data communication function with CSV
  • June 1 - June 7: Implement various getter methods of class JavavCard,including get string records, image records and voice records
  • June 8 - June 15: Implement vCard Identification Properties and Delivery Addressing Properties parse job
  • June 16 - June 22: Implement Telecommunications Addressing Properties and Organizational Properties parse job
  • June 23 - June 30: Implement Explanatory Properties and Security Properties parse job
  • July 1 - July 7: Implement the other Miscellaneous Properties parse job
  • July 8 - July 23: JavavCard information display custom widget design and coding job, finish a default display model
  • July 24 - July 31: Implement layout and properties customize functions for the widget
  • August 1 - August 8: Implement style, look and feel customize function for the widget
  • August 9 - August 15:Take a week to scrub code, write tests, improve documentation, etc.
  • August 16 - August 30:Submitting final evaluations and required code samples to Google


I have rich Eclipse plunge-in develop experience, but i do not have rich Eclipse SWT/JFace custom widget develop experience, i hope my mentor give me some instructions or tell me what should i pay attention to.
Contact Information

I am a master student from Beijing,China. My name is Peng Cui, i am studying in School of Information Engineering, University of Science and Technology Beijing, and my major is Computer Science and Technology. My email is: ajiu.009@gmail.com.

In my daily research jobs, i usually use some open source project, for example, i use Eclipse as my Jave development environment and use Apache Tomcat as my Web Application Server. Being a open source commiter is so cool in my mind, because open source promote sofeware development in 21 Century, it is a good thing and i love it.

I am familiar with Java language and use it to do some develop job since 2003. Eclipse is my Java development IDE, and i have finished some Eclipse plunge-in projects during my daily research period.vCard plays a important part in this project, i have payed much time to read vCard specification and discuss it in vCard develop mail list, also i have got some back knowledge about how to parse vCard information with Java.