GUI Notes

From Open Transactions
Jump to navigation Jump to search

the GUI will have several levels

1 THE SHELL. This is similar to the current test wallet. It will be a Python (maybe Java) shell that allows users to interface with OT functionality in a PROGRAMMATIC way. All GUI actions trigger off shell actions which can be viewed, reissued, and logged. Also scripts can be written in Python that can automate actions in the GUI. These scripts can be used to automate the installation and setup of various financial environments. Also there is BeanShell [[1]], as well as JPython (but I don't think that offers us much, I want the install cradle to be as small as possible).

2 EXPERT GUI. For people who understand underlying concepts like Nyms, Server Contracts, etc. Allows people to view Nyms, Server Contracts, Asset Contracts, and just about anything that shows up in the OT API. Most of these things are too confusing for the average person who simply wants to trade tokens, make simple payments, etc. thus we have the BASIC GUI. Many things will be set as defaults on installation that can be changed at the EXPERT level, for instance the default Nym and the default Account. Accounts have names which can be referenced in OTTP links by keyword. These ACCOUNT - to - NAME relationships can be set at this level. For most users, these settings will not change.

3 BASIC GUI. Supports easy to use features like Payment, Account Management, etc. many aspects of OT are predetermined at this level and these controls are designed for very simple users. It supports simple notions of Account Balance, Payment, Voucher and Check Acceptance. It models on the assumption that the user thinks he has one identity and one account on one server (even though the GUI supports many). Can issue checks and vouchers either by C&P or creates files in the file system which then can be posted to a Web App, or sent in email, etc. This is the GUI that is most visible, the EXPERT and SHELL levels are a few clicks away.

JAVA seems like an attractive platform, but Python is also attractive. Fact is that to distribute you need C++ compilation for the OT files so a Java GUI doesn't buy you instant platform independence.