The sync 1.1 client is taking shape quite well and should be functional after I overcome a trivial bug associated with cross-domain requests (I know I am missing something obvious here). Apart from the Sync client, I have started implementing the ContactsWrapper which reads contacts and will ultimately be used to send data to the Sync server and merge duplicate contacts.
I will continue working on ContactsWrapper throughout the week and hope to get a working prototype ready by the end of the coding period.
Commencing the week 2 with great enthusiasm, I started working on implementing PiCl class I created last week. Implementing the picl-keyserver calls on the Firefox OS client was the first step towards building the main picl class. The picl-keyserver API was well documented and had some clients like desktop client already developed which made my job easier.
My first job was to implement systemXHR on the for the keyserver as the requests were cross-domain. Since, I had never worked with systemXHR earlier, hence, I pinged people on IRC, googled a bit and as always David Walsh saved me in the end. Initially, while working out the request logic, the code looked fine but the server was did not seem to get the requests. Jed (My mentor) quickly pointed out that I had missed a ‘this’ in the object literal I created. That was the ‘WTF’ moment for me. I wasted almost a day trying to figure out the problem and it turned out that a 4 four letter word was screwing things up! (Definitely an embarrassing moment). The requests worked now as expected except a weird bug. Since, the key-server protocol is going to change within a few weeks, hence, I’ve decided to put this bug on hold for now.
Also, I’ve set up a new branch for all the ‘dev’ work on picl-contacts which will be merged back to picl-contacts once I’m done with prototyping.
So, Week 1 is over! This was more of a warmup week for me. Lightweight work and great amount of community interaction was the main focus.
The week started with a discussion with my mentor and creation of a basic road-map. My first task was to register a Bug on Bugzilla which will act as the main tracker for the project. Subsequent bugs will be added as a dependency as the project progresses. We also set up an etherpad to make notes of the meetings and important points throughout the project. Jed introduced me to the identity team who welcomed me with great pleasure.
First job on my list was to work on the back end and make sure that it works seamlessly with the contacts data format. Much to my pleasure, the back end was programmed to work with any data format in the world, so, no work there! Looking at the back-end implemnetation, I decided to change the data format a bit. The new data format can be found here.
Next, I took to the Firefox OS client. To start with, I created a mock-up of the UI for the sync service. It is currently under review by Jed and the identity UX team. Apart from the UI, I have started implementing the abstract ‘PiCl’ class in Gaia and look to complete it in the coming week.
P.S. The contacts-work is under the ‘picl-contacts’ branch in the gaia repository on github: https://github.com/MrDHat/gaia/tree/picl-contacts
So, that’s all for now. Look for GSoC 2013 category for more updates.
A couple of months ago I started contributing to Gaia (UI layer of Boot2Gecko (a.k.a. Firefox OS)), the new Mobile operating system by Mozilla. After submitting a couple of patches it was an obvious choice for me to apply for the Google Summer of Code under Mozilla for Firefox OS. I thought of developing a sync service for Firefox OS similar to what exists for Android. After a bit of research, I proposed this idea to the Gaia team and got a positive response. One of the Gaia guy pointed me to a project called Profile in the Cloud (PiCl) by Mozilla which was very much in line with what I was proposing.
Profile in the Cloud (PiCl) is a synchronization service which lets user share their data over different devices. It is expected to replace Firefox Sync soon.
Jed Parsons[:jedp] had earlier developed the firefox OS prototype for PiCl. I contacted him through IRC and put forth my idea. His response was overwhelming. He briefed me about the the service implementation details and current state. With his help and inputs from other guys on #identity I was able to develop a proposal underlying the basic architecture of the app I look to develop. Jed was impressed and decided to put forth my name to the organization admins for the project I proposed.
I finally got the official mail from Google on May 27th. I and Jed are very excited for this summer and look forward to produce a great product for Mozilla!
This is the main bug where the progress will be tracked.
If you want to know more about Profile in the Cloud then head onto the Mozilla Wiki or talk to the awesome folks on #identity channel on the Mozilla IRC network.
Few months back, I and some of my friends were eager to start up an Open Source project which could help bridge the gap between the university studies and what is actually required in the industry.
Sadly, in almost all of the universities in India, the ancient Turbo C compiler still forms an integral part of the curriculum. Looking at the scenario our friend and mentor Rishab Arora suggested a project which would help overcome this difficulty faced by fresh Graduates in India. He suggested that we should build a system that helps convert the Turbo C complaint code to something which is acceptable in the industry, the ANSI standard. After some research we found out that no such product existed and Syn-C was born.
We developed a throwaway-prototype to test the feasibility and as expected the results were positive. Here is a presentation that describes the general work-flow and rough architecture of the product.
The project is under active development on Github with initial contributions from two of my friends, Rachit Gupta and Siddharth Kathuria. We three will be constantly working on the project and hope to develop a Minimal Viable Product in 2-3 months.
MozCamp Delhi finally took place on 19th January 2013 at Amity University, Noida. There had been a few hiccups when it was organized earlier but went as planned this time. This time, I got an opportunity to deliver a talk on Web Development fundamentals with a close friend of mine, Devesh Batra.
The Demos can be found at mrdhat.github.com/MozCamp-Demos . They consist a lot of bugs and most of the features work only on firefox with certain resolutions. If you think you can fix some bugs, then fork the repository and send in a pull request