Archive for category Information Technology

FBI vs Android Locks

Hello everybody! My name is Andrew Matsusaka, one of the Winter 2012 UCOSP Team members. Instead of posting about project updates found here I’d like to talk about security today, starting off with the power of Android locking mechanism.

Android devices have a locking mechanism that can be very difficult to break. After a certain number of failed attempts, the user’s Google e-mail address and password is required to access the information. Since so much personal data is stored on these devices, it’s nice to know that even the FBI can’t break in.

According to this article from Wired, the FBI was unable to access a suspects personal data during an investigation. You would think the FBI with all of their expertise in security would be able to access the data through various means. After consulting with several forensic experts, it appears the Android locking system cannot be bypassed through software. The next step would be reaching the data via hardware, however that carries risk of damaging the phone and losing the data itself.

The only way to gain access to that data was by issuing a warrant for data retrieval from Google. Apparently it is fairly common for personal data to be provided to law enforcement for some investigations. Google released a statement saying: “Like all law-abiding companies, we comply with valid legal process. Whenever we receive a request we make sure it meets both the letter and spirit of the law before complying. If we believe a request is overly broad, we will seek to narrow it.”

When mentioning this topic to the rest of the team, Yemi mentioned a program called TrueCrypt that is designed to allow hiding encrypted data while at the same time having legal plausible deniability. For those of you interested in maintaining their data with utmost secrecy may want to give this program a try.

The subject of online security is becoming a bigger concern as technology becomes a larger part of our lives. Just to give you a jump start, an article by LifeHacker called How to Stay Secure Online covers basic steps many of us should be taking when using the Internet.

On another note, just to put some faces to our developers for this Winter 2012 UCOSP team, I found a picture taken of us during the Vancouver code sprint.

UCOSP Winter 2012 Team

From left to right: Brittney Franzoi, Rob McDiarmid, Andrew Matsusaka, Yemi Ilupeju, Elias Adum, Eric Enns

No Comments

POSIT: UCOSP Team Blog Post

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.

, ,

1 Comment

Android App POSIT – September Code Sprint in Toronto

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 ( 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.

, , , ,

No Comments

Internationalization and Localization of POSIT Haiti

A peak into localization by Chris N. who worked on the POSIT-Haiti code base:

Being able to display the app in multiple languages was essential for the project, due to the developers being native English speakers and the end users speaking French and Haitian Creole. I localized the mobile side of the app. There are hundreds of strings that appear in the display of the app, each of which needed to be internationalized and then localized. After the strings were translated and organized into xml files, they were then tested. A number of bugs appeared as a result of being able to change the language. Multiple strings needed to be abstracted out of the code. In addition, menu and dialog boxes needed to be reinitialized so that the newly changed language would display properly.

There was a great deal of difficulty keeping the character encoding consistent between Linux and Apple machines, which use different codes for special characters (such as the é character). This coding issue made it difficult to create non-conflicting translation patches that can work on both Linux and Macintosh computers. In addition, the patches often had to be tested for conflicts before being applied to the most recent repositories, due to the localization process’s nature of touching all the files in the app. It also became necessary to abstract the options end users select in data entry forms from the strings those forms store in the database, since otherwise the data queries would not be able to identify data submitted in one language and retrieved in another.

The localization process was difficult, but enjoyable. Users are able to toggle the display language between English, French, and Haitian Creole without exiting the app. Furthermore, the app is set up so that additional languages can be implemented quickly and easily.

, , , , , , ,

No Comments

Fourth of July Weekend in Jacmel

Grog moi, ti cigarette moi...

Grog moi, ti cigarette moi...

Tomorrow, Monday, the 4th of July,  we’ll be splitting into three teams and traveling to remote parts of the Southeast Department.  But over the weekend we kicked back and headed to the beach.

The beach was nice and sandy. The water was warm. And we all had a swim.  Emmet brought his guitars and song sheets and he and Tina sang some duets and got the rest of the beach singing along — including some of the locals.

At first the local musicians just watched and listened.  But Emmet played a familiar local song and that was their cue to join in.  They started playing along.

Read the rest of this entry »

, , ,

No Comments

At the Voodoo Ceremony

The first couple of nights at the hotel I was wondering what all the loud drumming and strange chanting was.  I asked Meliu, our driver, about it.  He said it was a Voodoo ceremony with around 1000 participants, including himself.  I think he probably overestimated the attendance, but it sounded like a 1000 during the night.

The ceremony was being held in a vacant lot right next the the house neighboring the hotel compound.  Emmet not only knew the owner of the house, but one of the Acdi/Voca staff members, Anna, lives in the house.   Emmet was able to get us an invitation from the host — in his three years in Haiti Emmet had never been to a ceremony.   We were warmly welcomed by the host and he rounded up chairs for us right up front.  The ceremony was dedicated to the host’s father who was recently killed in a car accident.  The goal of the ceremony was to cast away the spirits who had caused the family’s tragedy.

Front row at the Voodoo ceremony.

Front row at the Voodoo ceremony.

Read the rest of this entry »

, , ,

No Comments

Auxiliary Nurse Training

Training day!  We all met up at a cute/sweltering hot meeting center a few miles away from the hotel.  Over the course of the day we showed~40 auxiliary nurses how to use the app. They speak little to no English, but luckily we had some worldly coworkers along to help us:  Sheena speaks Haitian Creole and Alex speaks French, both of which are common languages in Haiti.   Eldivert, the tech guy from Acdivoca and mastermind of TBS, their current data storage system, helped to lead the training session.

A thoughtful Morelli looking over the shoulders of the auxiliary nurses

A thoughtful Morelli looking over the shoulders of the auxiliary nurses

Though many people in Haiti know how to use basic cell phones, most of the nurses had no experience using a touchscreen or a smart phone.  We went through basic smart phone 101 (turning it on and off, using the touchscreen, menu/home/back buttons) and then moved into how to use the app (all the while standing as close to the AC unit as possible). After picking up the basic features of a smart phone, most of the nurses seem to catch on very quickly.
Read the rest of this entry »

, , ,

No Comments