Git Product home page Git Product logo

mirrormessaging's Introduction

MirrorMessaging

Mirror Messaging is a user-friendly HTML/CSS interface for Bitmessage.

Goals

The goals of Mirror Messaging are:

  • To make secure messaging as easy to use as webmail.
  • To abstract away as many complex concepts as possible - while still remaining secure.
  • To provide all the benefits of Bitmessage (encryption, peer-to-peer, etc.) behind a familiar webmail style interface.

Implementation

It is a Java application which consists of:

  • A locally bound custom web server
  • HTML/CSS templates
  • A layer to communicate with Bitmessage via its API

mirrormessaging's People

Contributors

divineomega avatar

Watchers

 avatar  avatar  avatar

mirrormessaging's Issues

Add ability to use custom themes

Can use a themes folder in the Mirror Messaging user folder and a theme variable in the configuration file to indicate the currently active theme.

Add address book functionality

Mirror Messaging currently has no ability to interact with the outgoing addresses stored in BitMessage.

We need to add pages for standard CRUD of addresses that correctly integrates with the BitMessage API. Perhaps call the section 'Contacts' to be more user friendly.

Forum board style chan support

Given that chans are now officially supported in PyBitmessage, we could implement some form of forum board style view for chan messages specifically.

This would also mean that chan messages should not be shown in the Inbox view.

Bundle BitMessage client with Mirror Messaging

The Tor Browser Bundle bundles together Firefox and Tor together to make a very easy to use and solution for most users.

We should bundle BitMessage with Mirror Messaging so that the following are true.

  1. The bundled BitMessage should run on a different ports than defaults (both the main protocol port and the local API port).
  2. The bundled BitMessage should be configured in 'portable mode', so that the BitMessage files are stored in the Mirror Messaging directory and not in the main user directory.
  3. The bundled BitMessage should be started automatically by Mirror Messaging. This should only occur if the bundled BitMessage is not already running, which can be checked by a simply BitMessage API call to one of the test functions.
  4. The bundled BitMessage should be configured to run in the hidden daemon mode and thus not present the BitMessage GUI to the user.

Ability to mark messages as unread

You should be able to mark a message a unread. This should be possible:

  • On a per message basis
  • In bulk via on the Inbox page via a series of checkboxes

Conversational view

Work out of the feasibility of and hopefully implement some form of conversational view.

Ideas:

  • Store a conversation_hash against each message id, which is the same for the conversation pair
    ** For inbox messages sha1(from+to)
    ** For sent messages sha1(to+from)

Fluid layout should be used

We should use a fluid layout for the HTML/CSS interface, using percentage widths for the sidebar and main content area. This would larger resolutions to take full advantage of the extra space.

Make web server multi threaded

We should make each connection to the web server be handled in a separate thread.

This will prevent some browsers (e.g. Chrome) from having issues when attempting to load page content and CSS simultaneously.

Message listing pagination

The inbox and sent message listing pages should contain pagination. They should not pull back or show all messages on one page.

This will require new BitMessage API methods that allow you to limit the number of results returned.

BM address should be replaced by address book entries

In message listings (inbox and sent) and message pages, currently the full BitMessage addresses are always shown.

If the BM address has an associated label in the address book, the label should be shown instead of the full address in all the locations mentioned above.

Add identity creation

Currently you have to create an identity using BitMessage directly before it can be used in Mirror Messaging.

We should provides pages to allow you to create and manage identities from within the web interface.

Perhaps enforce creation of deterministic BM addresses only, using a number of words from a word list (similar to the Electrum bitcoin client).

Add the ability to subscribe to a chan

Now chans are supported in PyBitmessage, we should provide the ability to add them directly via Mirror Messaging.

This may require creating code for upsteam PyBitmessage to add chan creation support to the API.

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.