The eLog library was initially developed as a research prototype and later published for lifelogging researchers in 2010 to help them easily analyze heterogenous data and complex visualization. It has been kept growing with the progress of mobile computing environments and recently its UI part is released with GPL v3 license for wider usage. The eLog UI library is optimized for mobile environment and can get easily integrated with existing Web services.

Who We Are

The original work was proposed by Pil Ho and later extended the work with collaboration with 28 researchers around the world who contributed their lifelogs, collaborated for lifelog analysis and share research results to build up an open lifelogging platform for the public. Pil Ho has been keeping the development updating the library following up the progress in mobile computing.


  • Nov. 2014: Change the web page skin using bootstrap.
  • Nov. 2014: Published elog UI library as GPL v3.
  • Oct. 2014: Version up eLog library and documentation.


eLog data transfer & synchronization between distributed sensors using P2P

Lifelogging is full of sensor monitoring using distributed sensor. Due to its important privacy aspect, saving such data on the cloud does not make a sense, if selectivly opened like posting a photo to FaceBook, otherwise we need a very robust and efficient method to sync data between sensors. Torrent was initially designed to share files between distributed computers using the Internet. Bittorrent Sync [1] is designed so using very similar technology to sync data (i.e. files) between different computing systems (Desktop, mobile and more including NAS servers). It looks as of now the best option for eLog project to sync files. This lab will further study the possiblity to use this technology to perform distributed queries transforming sync as the service [3] adding a virtualized wrapper over sync protocol.

Sync provides a web gui and has a hash to identify nodes on the network. It uses a central repository to coordinate connecting nodes. Pulse [2] is very similar to Sync but is opensource, BtSync is not [4].



After a few testing Pulse Android App (unofficial version) looks pretty unstable not user friendly (ex. crash in QR recognition, no stable connection). Pulse desktop binary version looks stable but failed in compiling from the source. 


Bittorrent Sync is the choise of now (Nov 2014). I could easily synchronize three network-connected devices as one and archive them into the NAS server.

A specially named file and its content could be used as the push to build up a virtualzed protocol over Sync. One issue would be a slow refreshing time. Adjusting the refresh rate is easy in Pulse. For Sync, get into Advanced Preferences and change "config_refresh_interval". When developing an App, then check out Sync's developer API allows setting "folder_rescan_interval" [5].


  1. BitTorrent Sync: http://www.getsync.com
  2. Pulse (previsouly Synchting): http://www.webupd8.org/2014/06/syncthing-open-source-bittorrent-sync.html
  3. Global discovery server for the syncthing project: https://github.com/syncthing/discosrv
  4. How is Pulse different to BitTorrent Sync?: https://pulse-forum.ind.ie/t/how-is-pulse-different-to-bittorrent-sync/1083
  5. BitTorrent Sync - Developer API:  http://www.getsync.com/api
  6. Sync for distributed data synchronization and Owncloud for web interface: http://blog.bittorrent.com/2013/05/23/how-i-created-my-own-personal-cloud-using-bittorrent-sync-owncloud-and-raspberry-pi/