GSoC 2012 Application Vipul A M : Sympy for Android

vipulnsward edited this page Apr 2, 2012 · 8 revisions
Clone this wiki locally

Name: Vipul A M

University: University of Pune. {College- Pune Institue of Computer Techonology}

Short Bio:

I'm currently pursuing my final year in Computer Science from Pune University. I previously completed my diploma in Computer Engineering from GPPune. I have been contributing to Open source from last three to four years and have been a tutor and freelancer in J2EE/Android since two years.


Mail :

Github Handle : @vipulnsward

IRC Nick : vipulnsward

Coding Skills

I am a polyglot programmer and have over 7 – 8 years of developement experience.I have coded in C, C++, Java, Ruby, Python, Web 2.0 etc. I am seasoned J2EE/ Android Developer. I have been working on a linux box, since the beginning, and have been evagelizing the same. I have used Python before for working on Web{Flask Framework} realated apps and Google App Engine Development. My Final Year Project was in creating a torrent extension for jgit{Java Implementation of Git} and creating changes to internal workings of its pack-file representations. This was for creating a sharing infrastructure, for sharing Blender realted movie production data, for Chamba Open Movie Project {} So yes, I do know git. Apart from git, I had to reasearch cvs, svn, mercurial, bazaar, monotone, etc. I have mostly worked on Java, on 20-25 odd projects.

Android Experience

I have been an Android Developer and Tutor for the Last 2 years. I teach Android Basics and Advanced for {} Xpertecnologies, Pune. I also develop App for the same. Last year I happen to have presented Demo at Droidcon{International Android Conference/}, Bangalore, on Cloud to Device Messaging, which demostrated push notifications from GAE.I specialize in “anything new” for Android and have created in core Bitmap Convolution Libraries, Iris recognition, Geo-Informatics potholes tracker{Research project at IIT, Bombay}, and other Research Applications. You can find more of my work over at Github.


I have been communicating with Sympy community and working accordingly based on the feedback for an Android Solution. I concentrated on the Android Solution using SL4A and provided a demo at

which I thinks is the conterpart for the Sympy Patch Requirement, as I will be concentrating on the Android Solution more.


I will be creating a solution for working on Sympy for Android. I would be creating a packaged solution built on top of Sympy for Android and SL4A. This idea was proposed by Roberto Colistete Jr. on the ideas list. I selected to work on the same considering my past experiences with working on Android.

I have provided above my experience of working on Android as a Developer. This breifly gives an idea of the level of solutions I could work on.

Having demonstrated use of Sympy and WebView for SL4A by the demo app, and considering my past development experience makes me best suited to create the solution.

I have been working and learing SL4A for the past month, and interacting with the Sympy Community. I finish my semesters in a Month, and will be able to devote the required time for working on Sympy during and after GSoC. Being an Android Developer and passing out soon, will help me concentrate even after the GSoC period ends.

Project Plan

Robert Colistete Jr, maintains library for running sympy on Android. This happens to work perfectly well on SL4A. My Project mainly will deal will using this, to create an SL4A packaged solution. For this I intend to make use of WebView from SL4A, to create a counterpart of sympy live on Android, making it run natively.


April 6- April 23 (Pre-coding Phase)

Demonstrate ease with SL4A by creating more demos, especially once surronding SymPy. Fix Up class of Functions to be provided with SymPy

April 23- May 21 (Community Bonding )

Fix up basic class of functions to be provider over Android.Research Output rendering using MathML or counterpart to support SymPy. Discuss and confirm the Class of Functions, to be provided for the Basic App. Finish a basic working set of functions of sympy using SL4A

May 21- July 8 (Coding Period )

Work around the Input{Keyboard/MathML} solutions further. Provide SymPy Live subset natively. Finish working on basic class of functions. Re-Iterate to accomodate more functions, based on feedback from Community

July 9 (Mid-Term evaluation)

July 9 -August 12 (Final Polishing)

Finish Packaging the Solution. Fill in the wishlist based on Community Feedback. Write Tests for the App using Robotium. Accomodate Extra Features and make the App Stable.

August 13 - August 20 (Pencils Down )

Finish with writing Tests and working on manuals for the App. Tidy the Code and Create Documentation for the App.

August 20 - (Post GSoC )

Continue integrating new set of functions. Simulate SymPy Live Conterpart and work on Plotting natively.