So the term has come to a close and I thought I’d give a short retrospective of my time working on POSIT. First of all, I’d like to thank all the people involved in UCOSP for making it what it is and letting us be involved in it. I know I’ve found it to be a very educational and rewarding experience, and I think the other students on my team feel the same way.
We started off the term with an experimental version of POSIT that had been rebuilt with a pluggable architecture that would hopefully make it a lot easier to customize the app according to clients’ needs. However, since the new architecture was fairly new, the actual functionality was pretty rough. For this reason, our UCOSP team spent much of the early part of the term helping Ralph and Rachel out with testing and patching bugs while they continued to build features back into the new architecture. As POSIT got incrementally nicer each week, we would then gleefully load the new version onto our phones and do horrible things to it until it broke.
Later in the term, as POSIT was getting more stable, we each chose individual projects to expand POSIT’s functionality. All of us eventually decided on function plugins for the app, which I believe have already been discussed by other members of my team. Here’s an overview of what my teammates have accomplished:
Twitter Plugin – Stanley had a neat idea early in the term to combine POSIT with Twitter. His plugin uses the Twitter4j library to give users the ability to post finds to their Twitter accounts. The wiki page for Stanley’s plugin is available here: http://code.google.com/p/posit-mobile/wiki/TwitterFunctionPlugin
Camera Plugin – POSIT’s camera functionality is one of the things I found most striking about the app when I was first introduced to it. Gordon’s plugin puts the ability to take pictures and associate them with your find back into the app using the new architecture. Find out more about it on the plugin’s wiki page: http://code.google.com/p/posit-mobile/wiki/Camera_plugin_with_syncing
Tracker Plugin – Another nifty feature that was begging to be added back in is POSIT’s tracker functionality. It provides the ability to track the path of someone’s expedition when using the app. This was Kalin’s project, and you can read about it here: http://code.google.com/p/posit-mobile/wiki/Tracker_Activity_Walkthrough
Location Aware To Do Reminder Plugin – Without disparaging anyone else, I think Eric’s plugin is probably the coolest. His To Do plugin allows you to set reminders for yourself that are linked to a find’s location. It monitors your own location and will alert you when you are in close proximity to the reminder location. You can read all about it on the wiki page: http://code.google.com/p/posit-mobile/wiki/To_Do_Reminder_Walkthrough
SMS Plugin – This was my plugin, so forgive me if I spend a disproportionate amount of time talking about it. I wanted to do something similar to what was done with the version of POSIT used in Haiti. The deployment of wireless Internet in Haiti isn’t exactly ubiquitous, so for them it was important that they be able to share data without relying on the Internet. For this reason, they built a whole synchronization system that used SMS messaging. My plugin’s functionality is a bit simpler than that. I implemented SMS functionality merely as a way of sending and receiving a single find over SMS. The tricky part about this was that, while the Acdi Voca app knew exactly what its Find object looked like, I had to contend with the fact that the user might be using a Find Plugin about which I don’t know the details. I’m pretty happy with the result, and my hope is that the code I have written will also be of help to anyone who wants to extend POSIT’s SMS functionality even further. The wiki page I created for the plugin is here: http://code.google.com/p/posit-mobile/wiki/SMSFunctionPlugin
And that just about wraps up everything I have to say! Thanks everyone again for letting me be involved with this. I think it’s great what you guys are doing and I wish you the best of luck in future terms.
A look into my experience with POSIT by Kalin Ash-Elliott, a Computing Science student from the University of Alberta.
I worked on POSIT as part of the UCOSP program for the Fall 2011 Semester. Mobile software development is a fascinating area and I knew I wanted to work with it. Working with POSIT was a great opportunity to further my interest in developing Android software. The tremendous flexibility in choice of projects that the UCOSP program offered, allowed me to gain valuable experience in the areas I am interested in and passionate about.
I worked with POSIT’s Tracker Activity: a function plug-in that tracks the phone’s location by collecting its altitude, latitude and longitude, displays the current expedition on a Google map in Tracker Activity’s UI, saves the points on the phone’s database and synchronizes the points with POSIT’s server. My project for the semester was to reincorporate Tracker Activity into POSIT’s new plug-in architecture.
The ability to share expeditions demonstrates Tracker Activity’s important applicable functionality. Improving efficiency via storing and coordinating expeditions amongst individuals in a team for such things as search and rescue missions is an example of how Tracker Activity may be used.
Read the rest of this entry »
Hello! My name is Gordon Leung and I’m in my final semesters of my Computing Science Degree from Simon Fraser University. I think POSIT is an application that can be used for fun as well as a practical tool for recording data. It not only allows users to share their favorite destinations, but can also be used to keep track of data when you’re out in the field.
Now it’s time for another progress report from the POSIT team! During the past few weeks, we have all been working hard to integrate our individual project proposals into the POSIT application. We’ve successfully integrated one of the student’s project proposals so far. This new functionality notifies the user when they have reached a point of interest! The user sets the reminder by specifying a particular date and location. When the user is near the location on the desired date, POSIT will notify the user of the reminder.
Another new functionality that is coming soon is the ability to tweet your finds. If tweeting your find isn’t satisfying enough, we’re also adding in the ability to send finds using SMS. We’re also adding back the basic functionality to take pictures of your finds. The tracker activity, which allows you to trace your route of how you came about your finds is also being reimplemented after being redesigned.
POSIT is becoming more and more awesome. But, during our progress we also faced many challenges. One of my biggest challenges is having to work with an emulator. Unfortunately I think I’ve reached the limitations of the emulator as our application has gotten more and more advanced. Programming on an actual phone probably would have made a huge difference in every aspect.
Hi, I am Stanley Fung. I am a 4th year Computing Science student from Simon Fraser University. I am currently working on POSIT as part of the UCOSP team for the Fall Semester. I choose to work on POSIT because I think it has a lot of potential to benefit others on an engaging technology and platform. I appreciate the idea that the user interface and workflows have a huge impact on real users who come from a range of backgrounds. This is one thing I try to keep in mind while working on POSIT.
For the first half, of the project I have been mainly testing the application and creating patches for bugs. Through these helpful exercises, I have gotten familiar with many aspects of the application. This was especially useful since I am completely new to the Android environment. Many times, simple tasks became important introductions to core Android concepts. I feel that slowly absorbing in the project is less overwhelming then suddenly diving in. With every task, I gain more knowledge about how Android applications work, and how POSIT works. It is also a good way to contribute to the project and gaining intimate knowledge on how application is currently working. I feel that through the testing, I gained some insight on what functionality the current application can benefit from and I carry this knowledge onto the next phase.
During the last two weeks, I have working on creating my own feature for the project. My primary goal is to create a useful and functioning extension to the project. My current idea is to enable expose Finds to more casual stakeholders who might not be actively checking through the POSIT applications. The foundation I have built in the first two months is helping me towards this goal.
Entrepreneurs from around the world gathered in Geneva, October 24-27 2011, to take nascent ideas and build them into products or services they could pitch to potential investors and partners at ITU Telecom World 2011.
The International Telecommunication Union (ITU) (Union internationale des télécommunications, in French) is the specialized agency of the United Nations which is responsible for information and communication technologies. ITU coordinates the shared global use of the radio spectrum, promotes international cooperation in assigning satellite orbits, works to improve telecommunication infrastructure in the developing world and establishes worldwide standards. The ITU organizes the Telecom World Conference, considered one of the leading global ICT events, bringing together world leaders, representatives of governments and the telecommunications and ICT industry to exchange ideas, knowledge and technology that would have long lasting impact around the world.
We had the privilege of being one of the top 15 Digital Innovators (those working with Non-profit partner organizations) along with 30 young innovators, to be selected from a pool of over 160 ideas to participate in an intensive two day training workshop on preparing investor pitches, were we learned how to prepare good pitch presentations and how to “conceptualize” and “sell” our ideas better. We were then given the opportunity to pitch and share our ideas at ITU World’11 conference, and in the process compete for a small cash reward that we could put towards making our concepts realities.
Our selected idea (Posting on ITU World website) was:
What if you could join computing education, the latest in mobile technology and open source development to benefit humanitarian missions? Leveraging the expansion of telecommunications networks and low cost smart phones we recently built a set of Android apps to assist in data collection and program monitoring for an international NGO in rural Haiti. The apps we build are open source, so they can be shared among NGOs, and utilize accessible development technology that can be transferred through education programs. Our approach fosters local talent through skills development, improves effectiveness of programs and accountability to donors. Our goal is to help NGOs develop a sustainable program for developing mobile information tools.
Participants were not given any directives or guidelines prior to arriving in Geneva. We had an opportunity to present our ideas on day one as we had conceptualized them and then after an intense 30 + hours of training and work, with industry mentors and trainers from NoTosh and NoTosh and Snook, we all ended up with concise 5 minute presentations of our concepts:
The participants drawn from all corners of the world, were strangers and competitors in the beginning, left with new bonds of friendship and comradery that may lead to future collaborations following their chance meeting in Geneva.
A firsthand account from the UCOSP Code sprint in Totonto on XX. by POSIT project team members :
UCOSP (Undergraduate Capstone Open Source Projects) gives students all across Canada the opportunity to work together and collaborate on joint open source projects. One of the great projects of UCOSP is POSIT, an android application from the Humanitarian FOSS project.
Since many of the students in UCOSP are from different regions of Canada, the wonderful steering committee of UCOSP organized a 3-day code sprint, held in Toronto, for students to meet face to face and familiarize themselves with the projects together. Members of the POSIT project, Gordon, Stanley, Ryan, Kalin, and Eric were all extremely excited to attend the code sprint; some even traveled from Vancouver and Edmonton to Toronto.
On the first day of code sprint, we devised a tentative plan for the next three days, based on our supervisor Professor Ralph Morelli’s agenda. Since working on POSIT was our first time working in an Android development environment, we decided to set up the Java Android environment and work through Google’s online tutorials to really understand the structure and workflow of an Android application. We have found that the Notepad Tutorial (http://developer.android.com/resources/tutorials/notepad/index.html) was particularly helpful because not only did it show us the standard Android framework, it also introduced the Java SQL database, which was essential in understanding the inner-working of the POSIT application.
One of the biggest challenges of working with team members all around Canada is effective team communication and efficient project coordination. We were thus grateful that, during the second day of the code sprint, our supervisor Ralph showed us many tools that we could utilize to easily collaborate and share with the team online. Such tools include online POSIT wiki and ticketing system where we can report and resolve issues encountered in using POSIT; and Mercurial for managing POSIT’s online code repository. With the help of Ralph, we also successfully deployed the demo POSIT application on our phone to test out its basic features.
Ralph also mentioned that he and POSIT’s past development team decided to overhaul POSIT’s overall framework to make it a more agile and configurable application. He introduced us the concept of “plug-in”, with one “plug-in” being its own separate application that has different user interface and supports one or more data types (texts, images, videos, etc). He also shared with us his vision on how users could simply configure the “plug-in” online and our code base would auto-magically generate a brand new version of POSIT with the specifications defined in “plug-in”.
We were all very excited with the idea of configurable application, but in order to get there, we needed to first understand the structure of the existing POSIT code base. On the last day of code sprint, Ralph pointed us to some fundamental POSIT framework and we each read through a part of the POSIT code base. Before we all left for our lovely home city, we had set up the date for our weekly Skype meeting so that we could update each other on our progress and coordinate project features.
Throughout the three days of code sprint, we all felt like we had accomplished a lot. We were so glad to meet each other face to face and were given the opportunity to work on such a great project. We really look forward to collaborating with each other and we cannot wait to see what our final POSIT application will be like.
In July a team of HFOSS faculty and students from Trinity College traveled to Haiti to deploy POSIT-Haiti, the Android application they developed for ACDI/VOCA, a humanitarian organization providing food and health services for expectant mothers and infant children in Haiti.
The app, which runs on Motorola XPRT smart phones, supports beneficiary registration and helps process monthly food distribution events for more than 10,000 beneficiaries in Haiti’s Southeastern Department.