Tuesday, 15 March 2016

Google Summer of Code 2016

Tl;DR Google Summer of Code offers the students an excellent opportunity to contribute to open source and get exciting gifts and handsome stipends in return. The most important part of participating in it is drafting a good proposal. Some of the important tips are discussed in this post.

Google Summer of Code is a global program that offers student developers stipends to write code for various open source software projects. Through GSOC, accepted student applicants are paired with a mentor or mentors from the participating projects, thus gaining exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits. In turn, the participating projects are able to more easily identify and bring in new developers. Best of all, more source code is created and released for the use and benefit of all.

For the Mentoring Organizations.

Mentoring organizations willing to participate in Google Summer of Code program need to submit a proposal, answering the following important questions(besides others):
  1. Describing your organization, and why is the organization willing to participate.
  2. Whether or not, they have applied/participated in past?
  3. "Their project ideas list". This is the most important part of the proposal, and needs to be carefully completed in order to stand chances of acceptance.
  4. Selection criteria of the mentors.
  5. What steps will you take to encourage students to interact with the community and stick to open source.
The detailed list of questions can be found out here

For the Students.

Students submit their proposal via the Google Summer of Code site, on the period as would be mentioned in the timeline.
A student's proposal is the golden key to GSOC. Few key points should be kept in mind while drafting a proposal:
  1. Project idea which interests you the most and why?
  2. Your academic, industry and/or open source experience.
  3. Detailed project plan.
Detailed discussion on the proposal can be found at What should a student proposal look like?

However, few things should also be kept in mind:
  1. A student can work on only one proposal, and is eligible for only one stipend.
  2. No group project is allowed. A student should work individually and independently.
  3. However, a student may apply on one or more proposals, 5 at max.
To learn more about Google Summer of Code, visit the following links

Integrate Google Cloud Vision API to Drupal 8

TL;DR I'll be working on the project Integrate Google Cloud Vision API to Drupal 8 this summer as part of the Google Summer of Code programme. This API offers automated content analysis of the images, including landmark detection, logo detection, face detection, text detection in images among others.

The Google Summer of Code results are out!! And I have been one of those few students who have successfully been able to get their names on the list of selected students, who would be working for the next three months on the Open Source Projects.

Now, let me describe here the project and its applications.

Well, Google Cloud Vision API bring to picture the automated content analysis of the images. The API can not only detect objects ranging from animals to famous monuments, but also detects faces on emotions. In addition, the API can also help censor images, extract text from images, detect logos and landmarks, and even the attributes of the image itself, for instance the dominant color in the image.

What is so special about this project idea?
This is the first question which comes in every mind regarding any GSOC project.
So here is the answer. This feature has not been implemented in the Content Management Systems(CMS), and its integration in Drupal can give the users, a powerful tool which carries out automated content analysis of the images. Integration of this API would not only add to Drupal characteristics, but also would open up a new horizon for Drupal.
Won't it be great if a CMS can detect logo of famous brands? Or some explicit contents not fit to be displayed? Or the detection of natural as well as artificial structures in an image?

So, to summarize the aspects of Vision API, it offers the following features:

  1. Label Detection- It detects broad set of categories in an image, ranging from living animals to non-living places.
  2. Explicit Content Detection- Detects and notifies about adult or violent content within an image.
  3. Logo Detection- Detects the logos of popular brands.
  4. Landmark Detection- Detects natural as well as artificial structures within an image.
  5. Image Attributes- Detects general attributes of an image, such as dominant color and background shades.
  6. Optical Character Recognition(OCR)- Detects and extracts texts within an image. Vision API supports a broad range of languages along with the support for automatic language identification.
  7. Face Detection- Detects multiple faces within an image, along with associated key facial attributes like emotional state. However, it still does not embed the support of facial recognition.
  8. Integrated REST API- Access via REST API to request one or more annotation types per image.

For more details on Google Cloud Vision API, please have a look at Vision API