Feature request list

From Bitmessage Wiki
Revision as of 18:11, 22 April 2013 by Milo (talk | contribs) (→‎Network: add feature request for UPnP)
Jump to navigation Jump to search

GUI/User Interaction

  • Show addresses without the hyphen (easy, under discussion) abandoned
  • Accept addresses without the hyphen (easy) Done, accepts address without "BM-"
  • On Address book tab, add right-click option to add person to subscription list (easy)
  • Sounds (easy. This is turning out to be more difficult; there doesn't seem to be a simple cross-platform method of playing sounds)
  • Ability to trash sent messages(easy) Done
  • Clear the 'Send' tab after sending message or when acknowledgement received. (easy) Done
  • Trim input when adding an subscription or address book address (very easy) Done
  • Clicking the Windows notification balloon (New Message) will bring the Bitmessage window to focus. (----)
  • Do not open new messages automatically, and indicate if a message has been read. (----) Done
  • Confirm delete? (Doing the above might fix this issue as well, I was deleting a message and a new message came in so I deleted the new message). (----) Basically done- see above.
  • Ability to select multiple recipients on the Address Book tab before clicking "Send message to this address" Done
  • User can adjust font and font size for easy reading.
  • A search feature for the inbox and sent items
  • Ability to create subfolders and move inbox items into them. Also a rules dialog for automatically classifying new mail into subfolders. Rules would be too much to program unless someone else wants to tackle it. Folders we could do someday but it will not be high on my list of priorities.
  • Don't remove focus from current message when a new message arrives and denote unread messages (should be relatively easy, will require database changes) (--Isn't this done in 0.2.8?)
  • Allow a label to be set when creating addresses. A number is appended when creating multiple addresses (easy) You can already do this.
  • Ability to disable and re-enable a subscription address. (easy) Done
  • Ability to delete addresses from "Your Identities" (Keeping the current enable/disable options). (easy)
  • Cancel messages in the sent folder before they are sent. (Sending them to trash does not work.)
    • ATHEROS EDIT: Adding a check that runs every time a POW iteration is done would slow it down. How about if you trash a message and then restart Bitmessage? I'll make the necessary changes so that it doesn't restart the POW for trashed messages.
    • Works for me, as long as a notification is displayed notifying the user that they need to restart the client
  • GUI interface for adding attachments to outgoing message and opening incoming attachments.
  • Groups in address book, sending a message to the group will message all of the users of that group. (keep the 'name or label' and 'address' but allow the address section to contain multiple addresses separated by semicolon?)
  • Built in text editor to send rich text natively. Someone else may work on this but I would prefer to keep it simple. It isn't as simple as just sending HTML as the client doesn't display HTML from strangers.
  • Ability to star or otherwise highlight a message (to find easier later). Open to other methods of accomplishing this.
  • Network info in the status bar. Current upload/download speeds as well as total uploaded/downloaded since startup.
  • Cancel sending a new message (clear all of the fields)


  • Add support for SOCKS5 proxies (difficult) Done
  • Ability to add a node to 'defaultKnownNodes' (easy)
  • Ability to disable the built-in defaultKnownNodes, useful for LAN use or people running their own BitMessage network (no need to interact outside of the designated network). (easy)
    • ATHEROS EDIT: I'm having trouble figuring out a good UI for this. Can there simply be an option which you can add to keys.dat, for example: 'ignoredefaultnodes = true' which would cause Bitmessage to not only ignore the defaultKnownNodes but also addr messages? Then you can use the as-yet-to-be-added UI feature that lets you add your own IP?
    • I suppose that would work. I would think that the average user would be more likely to specify their own node than ignore the default known nodes. Ignoring default known nodes would be used in a LAN setup or someone not wanting to connect to the defaults for security reasons. However, since you have to run bitmessage to generate the keys file that has to be modified, changing this value should delete the knownnodes file. Otherwise a LAN setup would still have outside addresses that it would connect to for no reason. Can there be a check box next to the as-yet-to-be-added UI ip entry field? along with a "forget all known nodes" button? The checkbox could simply flip the value in keys.dat.
  • Allow LAN operation (or option to allow LAN operation (disabling non-private WAN ip ranges?)).
    • ATHEROS EDIT: How about being able to add an IP in the user interface?
    • I think that should be an option as well (see above define your own known nodes feature request) but would not allow a p2p style network unless you input every ip in use (since private ip addresses are blocked).
  • Notification or Warning when sending a broadcast that broadcasts are sent in plaintext and anyone can receive it "Broadcast to anyone who is subscribed to your address" is vague and could give a sense of false security.
  • Use UPnP to open incoming ports on gateway router.


  • RPC API (difficult) Done
  • API ackdata lookup (easy, although I would like to make some internal Bitmessage changes first- for example, 'sentmessage' isn't a very useful status, but 'ackreceived' is better)
  • Refresh GUI inbox (for example after deleting messages)
  • Retrieve the private key for an address
  • Add/Remove and Retrieve addresses from address book.
  • Add/Remove addresses to/from Blacklist/Whitelist.
  • Add/Remove address to/from Subscriptions
  • Add/Remove address to/from identities.


  • Encrypt keys.dat file and messages.dat file with a password. (difficult) EDIT: I spent some time searching for a way to encrypt the messages.dat file and only found proprietary solutions.
  • Portable mode (easy) Done
  • Offline mode (easy)
  • Option to export keys.dat and messages.dat files to an encrypted backup (medium, possibly difficult)
  • Separate messages.dat file into message.dat and addressbook.dat (easy. I might not do this.)
  • Headless operation.
  • Multi Threading up to the number of cores installed when creating addresses or sending Messages (Medium)
  • Special Address Behavior, Allow setting for maximum message size to be broadcasted by pseudo-mailing-list. Currently they can be bogged down with very big messages.


  • Add MD5 checksum to the download area. (easy)
  • Add GnuPG sig file to download area. (easy)