Friday, November 18, 2011

Project ProxMe Week4

The devil is in the details.

If we want to do auto sharing information by one-click, there're many things need to be done after that click.

It will take 12s for the BT device to scan nearby device, 4s to test the convertibility for ALL nearby devices, and 4s to pair the device for communication. This add up to 20s waiting before the data transmission start! Unfortunately, there's not much I can do at the lower layer to speed up the process. So, this needs some thought to improve user experience.

My solution is to scatter each of those steps in the entire program execution time, and utilize multi-thread. The hard part is thread synchronization, I need to carefully sharing data and device, after all, there's only one BT device on smart phone.

Status

  • Refine program structure
    • Follow MVC, More cohesive, less coupled
  • Implement communication services via Bluetooth
    • Multi-thread concurrency control on BT device
    • Discover -> Pair -> Connect
  • Play with SQLite DB
    • Add, delete, modify, search on Contact book

To-do

  • Create Service to search nearby devices
    • Periodically scan, find tradeoff between responsiveness and energy preservation
  • Refine use-case
    • Save event info when saving new Contact
    • Simplify user operation
  • Documentation
    • For stabilized version

Tuesday, November 8, 2011

Project ProxMe Week3

I added the following functions to our prototype:

  1. Discover connectable devices, particularly, the cell phones that running ProxMe App.
  2. Setup socket for one-to-one communication.

To do list:

  1. A Service that periodically checking nearby device and send out notifications
  2. One-to-many communication
  3. Auto pairing

A new idea: when saving a contact information, we should provide/auto-filled some information about the meeting. Such as, when, where and how we meet that person.

I found several names in my address book looks fairly strange, I cannot remember who they are and how I know them.

If I'm going to contact someone, it's useful to be able to start with "hello, we met last Dec at event something in somewhere, and got talking about blahblah…" before launching into what I want, and that's polite, I guess?

Shuang's part

Shuang is working on getting the user's profile and makes it available to others. We would prefer to have the cell phone owner's info from their address book. If that is not available, we will use the Bluetooth's default device name. He's also investigating on the notification mechanism.