As a student in AU’s Bachelor of Science in Computing and Information Systems (BScCIS), Neil Loknath knows a thing or two about studying computer science. Now, he’s sharing some of that knowledge with a fun open-source application he created: SyncMyPix.
SyncMyPix downloads your friends? pictures from your favourite social networking site and synchronizes them to corresponding contacts on your Android-based phone.
His work has won him a free Nexus One, Google’s new phone, ?thanks to a new program from Google that rewards developers with a new phone for developing popular apps,? Neil explains. Part of the program’s criteria is for developers to have ?an application with 3.5 stars or higher and more than 5,000 downloads.?
So far Facebook is the only option to use the app with, but Neil is busy expanding and refining his app. Recently, he shared the scoop on its development with The Voice.
For readers who may not know, can you give us a brief description of what Android is and how you got involved?
Android is an open-source software platform for mobile devices. It includes a Linux based operating system, middleware and key applications, such as an Internet browser, email client, etc. Since the platform is open-source, third parties can build software based on Android to operate their products. For example, HTC sells a number of phones that run their own customized versions of Android. Since Android is licensed under the Apache Software License, third parties are free to make proprietary enhancements to Android without being required to release their code to the open-source community.
This combined with the high level of quality of the Android platform has made it very popular with a number of handset makers. Android initially started as its own entity, Android, Inc. But, now, it is owned and maintained by Google. Some examples of the most popular Android phones are the HTC Dream, HTC Magic, HTC Hero, HTC Nexus One, and the Motorola Droid.
I got involved in Android around the time I finished up with the Google Summer of Code program last year. I had about a month before beginning courses in September, so I decided to buy an Android phone with the intention of using it to develop applications. Android was attractive to me because of the low cost of entry to application development. The SDK (software development kit) is free and the cost to distribute applications in the Android Market is a one-time fee of $25. In contrast, Apple charges $99/year to distribute applications in the Apple App Store, and your applications are subjected to a review before they are published. So, it is possible that, after a lot of hard work, an application could be rejected for distribution. So the low cost of entry to development and the ability to publish my applications directly were huge selling points for Android.
What are some of the main features of SyncMyPix, and how can readers find out more about it?
SyncMyPix is a simple and easy-to-use application that makes it easy to attach pictures to the contacts on your phone. So when a friend calls, or you call a friend, you can see their picture displayed on your phone. It is a tedious operation to manually set pictures for individual contacts, so SyncMyPix makes the process automatic.
It can automatically set pictures for your phone contacts by matching friends from your favourite social networking website (currently SyncMyPix only supports Facebook) with the contacts you have on your phone. There are several options, but the default method uses diminutives for potential matches. For example, Robert matches Bob, Michael matches Mike, etc. This is helpful because people normally don’t name the contacts on their phones the exact same way they appear on social networking websites. In addition, since matching is not always 100 per cent accurate, SyncMyPix allows manual corrections.
The application has a screen that allows you to view sync results, view pictures, crop pictures using face detection, match unmatched contacts, and make changes to existing matches. Going along with the theme of doing things easily and automatically, SyncMyPix can update pictures in the background at scheduled intervals.
SyncMyPix is available for download in the Android Market. In addition, I have set up a Google Code website providing additional information and bug tracking.
Do you have plans to expand the social networking sites it will sync with?
A great thing about open-source is that popular projects tend to attract people that want to contribute. Recently, I had an individual interested in adding a German social networking website. They seemed very motivated, so it is possible that more social networking websites are just around the corner. It’s exciting seeing people take an interest in improving something that I’ve built from scratch. I welcome new contributors and hope to see more in the future.
Is this the first application you’ve developed and/or made available?
I’ve developed other applications, but this is the first application that I’ve made publicly available. It started out as an experimental way to try Android development. The more I worked on it, the more fun I had developing it. So, I was motivated to turn it into something useful.
Why is open-source software (and supporting its developers) so important?
In my opinion, open-source software is important because it fosters education and innovation. Since code is available for the entire world to view, everyone can learn from it and everyone can contribute to it. This encourages a free flow of ideas among an audience with varying degrees of expertise, thus creating an excellent environment for creative problem solving.
In addition, information sharing eliminates redundancy because problems that have already been solved do not need to be solved again. Free open-source software also provides an opportunity for organizations to reduce costs while maintaining a high level of quality. Schools, for example, can give their students access to different types of software that would otherwise be very difficult to provide due to costs, licensing, etc. And, since open-source software is typically free, students can easily use the same software on their computers at home.
Are there any other open-source projects (either independent or through mentoring) you’ll be working on soon?
I contribute to a media player called Banshee from time to time. My most recent contribution was the addition of a search feature called ?typeahead find?. In addition, I continue to keep my Summer of Code work up-to-date. It’s an extension to Banshee that allows users to share their music libraries with their instant-messaging friends. I’ve just recently joined a new project called Banshee Community Extensions. Basically, It’s a one-stop spot for things that extend the functionality of Banshee. I’ve contributed to the project by adding my extension.
Of course, I also hope to bring new Android applications to the market in the future.