Code Monkey home page Code Monkey logo

fbvis's Introduction

FBVis

A Facebook Messenger chat archive visualizer. The screen is populated by nodes created based on chat and interaction history. Each node is a person; you’re at the center, and bubbles will fly from nodes to nodes based on the actual chat messages.

Version 0.5.1 screenshot:

Requirements

This program can either run from the Processing IDE or executed as a standalone application. The former would require Processing 3 or above. The latter requires Java Runtime Environment.

How to Use

Data Preparation

  1. Go to Facebook account settings and Download Your information.
  2. Here you can select the data you want to download. For this visualizer program, we only need Messages.
  3. Ensure that Date Range is All of my data and format is JSON and click "Create File”. Facebook will take a few hours to days to generate a .zip file. You will be notified when it’s ready.
  4. Download and unzip the Facebook Messenger files into some directory.

Setup and Configure FBVis

  1. Download FBVis executable from releases page or clone the repository.

  2. Open the configuration file under data/config.ini using a text editor.

  3. Change the first line data_root_path to the path to the root of the Facebook Messenger files that we downloaded in previous section.

  4. Change master_name to your name on Facebook exactly (important). If you’re unsure of what your name is, open profile_information/profile_information.json from the folder you downloaded from Facebook, and look at the first entries:

    {
      "profile": {
        "name": {
          "full_name": "Muchen He",
          "first_name": "Muchen",
          "last_name": "He"
        },
    /* . . . truncated . . . */
  5. Save the config file and done.

Controls

Now either execute the FBVis executable or run it from the Processing IDE window. Here are the controls:

  • h show/hide UI
  • + increase visualization rate
  • - decrease visualization rate
  • l skip time
  • Esc quit program

fbvis's People

Contributors

fsxac avatar

Stargazers

 avatar Yiyi Yan avatar Eugene Y. Q. Shen avatar

Watchers

James Cloos avatar

fbvis's Issues

Implement unsubscription from group chats

In messages.json, there is a type of messages called "Unsubscribe" in which the "sender" is removed or from the group chat.

This implies a change in which how group chats are handled in the program.

Resolution in config needs to be fixed

the size() function in settings needs to be resolved to some config settings. Since settings() is not part of the Processing environment and has no access to the library's functions, some other ways must be implemented of reading the file.

Alternatively, we can make the app always fullscreen (but not ideal)

Cluster for group chats

Instead of having a single array of personNodes, whenever a group chat occurs, new participants of a group chat should be placed in its own cluster -- until that person talks to the masterPerson, in which it gets moved to the main cluster

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.