last modified: 2000/01/18
(WF) items only refer to the Web-Face
New Items/Suggestions (Uncategorized)
- Clean up old UI a bit and make it accessible from new UI for those who prefer it.
- Release source for old UI if there's interest (need to decide on license)
- Move menu bar on new UI to right-hand side so content pane fits in 640x480 window.
- Have system automatically notify judge when claim reaches due date; automatically notify
administrator when proposed claim expires.
- Queries involving claims should be case-insensitive but case-preserving (e.g., server
recognizes 'SSTO', 'ssto', 'Ssto' etc., but returns proper version 'SSTO' in result data).
- Prominently note that players may create new claims (right now this is buried on account
page).
- Put in optional support to allow UIDs and passwords to be stored in a cookie. This
would be more convenient for those who don't mind cookies, and would also avoid security problem
of having uid and pasword in account URL. Current strategy would remain for those who want it.
- Add way of "deactivating" account; at minimum, clearing booked orders and disabling email
notification when held claims are judged. Not sure how (or if) holdings should be divested.
- Add profile support allowing active players to turn off email notification of trades etc.
Mailing lists:
- hypermail archive searches (for judge interpretations, news articles, investor analyses)
FXTP
- Publish code for web/telnet/email faces, help (secure from read by default, then make explicit link to web readable directory).
Telnet/email faces
- Split help file into per-command chunks. One big html file, and parse by tags and dehtml it for email/telnet users.
- Have DB server put CR+NL on end of each line, and have connection server and telnet server not muck with these. (Have to make sure this won't break webfaces).
- Format output of more commands in telnet face
Code clean up
- Case-insensitive check to see if a claim exists before creating a new one
- Store everything as cents (int) instead of dollars (float)
- In claim maintenance, use html checker for claim descriptions [could use it on our pages too :-( ]
- Be consistent about always referring to YES coupons (or enable YES/NO display, as at ARC, to view No orders as Yes sell orders, controlled by Profile) Remove concept of No orders from db-server? Store a flag to indicate the original order parity (B or S)
Profile
- Allow user-defined nicknames for user-defined profiles
- If choose an undefined user profile, could get sent to the Profile page
- Subscribe to email reports:
Ticker
- Display in user's time zone (since this is not a secured report, login functionality is a prerequisite for this)
AllAccounts Report
- Score (top10 or all, excluding inactives, with checkboxes)
- Reverse domain
- (WF) Frame option
Account command/page
- New system defined profiles for new claims (since xxx), most actively traded claims, and most heavily capitalized claims. Use 'volume 14' + cutoff): an optional argument to cutoff reports (e.g., top 10, top 20)
- Accept orders based on dollar amounts, or at market price
- Option to show number of coupons offered
- Support expiry dates for orders
ListClaims
- (WF) volume (w/ cut-off) pushbutton
- Trading symbol regexps: ensure that the characters of a trading symbol are prefixed by '' in cases where it is part of a regular expression.
Documentation
- Put the readings in chronological order (so people can do a What's New).
- Warn that bogosity link is to a whole article (give its length)
- Keywords >Where is "Fin" documented? How do I do "all"? For all, use "account 110,.*" (doesn't work?)
- Cron jobs
- 10 sec
- recalculate a score/networth
- Daily (M-F)
- activate claims that have passed the waiting period
- email updates
- Weekly (Saturday)
- allowance
- purge old registration database entries
- email updates
- Monthly/quarterly
Scores
- Score server: 1) use it for all inter-player reports (reg'n date, networth, score). Use pack/unpack. For list by date, sort by uid (<=>)? 2) Sort by score will probably be the most common sort, so that field should come first (or some other field that is string sortable?). Score would have to be zero padded to enable a "cmp" sort on the whole value to put them in the right order (instead of <=> on just the score). But would that be faster (since the cmp string is so much longer)?
- Score gdbm to be refreshed to recover memory (dbm2txt + txt2dbm). Could do at end of each cycle.
- Score server to store scores for each keyword?
- Score/amt invested/winners over losers: since score = 1+(END-SUM(AMTx))/SUM(AMTx *DURx), can use AMTx for amount and COUNT(MAX(ENDx,0) for winners, etc.
- Claim creation costs .00, but this should subtract from grants_in. Looking at the scoring table, claim creation seems to have counted against the creator's score.
Speed
- Use @junk in more splits?
- Drop all debug printing in ifsd
- Binary search & quicksort in Book.pm
- Use pack/unpack instead of join/split for fixed length pieces of gdbm's?
- Standard text for forms (e.g. Account form header) initial frames, not perl output
- Separate ticker server. Have conn server route commands
Features
- Lynx-friendly pages. Can't just wrap telnet face output in tags, as there are no submit buttons.
- In judgment announcement, show who made what (for possible reversal?)
- Ticker feed to a port (trades + changes in orders)
- News postings
- From the claim creation page, link to a page that lists people (& groups) willing to judge, possibly with a list of their interests (individuals could maintain their bios on the profile page). The claim author then negotiates with them before submitting a proposal.
- "Called off bets" (a form of conjunct) would have three uses: where one component on the conjunct should not be traded (e.g., a death), where the component is not interesting enough to support a market, or where investors want to separate the risk of the components. Would have to support cash neutral swapping of coupons on the trading part of the conjunct (e.g., 5 will get you 3).
Data cleanup
- Many claims have TBD for due date but have dates in the descriptions (start with an email to owners)
Custom Faces
- FastForm: rather than load the whole transaction form, generate it at the client. Client fetches prices and booked orders. Browser plug-in (databases for users, claims, plotting)
- Other languages
Agents
- Conjuncts, called off bets
- Market Maker Agent: a trading agent that subsidizes trading on a claim
- Trinary Agent: explicit representation of coupons with Trinary decisions (OJ guilty/not guilty/mistrial).
- MomentumAgent: trading agent based on technical analysis.
Cross-claim Reports
- Claim Digest (new/retired/proposed)
- Delta Report: (big price deltas by day or week) rank by % change in YES/NO whichever is LARGER, OR, whichever is HELD.
- Capsule Report: "The most actively traded claims were ... The big gainer was ... , while the big loser was ... " (etc.)
Enhanced GIF/ASCII plotting:
- Better labeling of time axis, & ticks for months/years
- In addition to price, offer capitalization and transaction volumes, Hi-Lo-Close (probably use Aurex chart tool)
New Rules
- JUDGING FEES: in addition to the set aside by the claim originator, a fee is paid by players still holding coupons (whether winning or losing coupons) at the time the claim is judged. The claim owner set the terms of the fee (flat fee, percent & min/max fee) when the claim is created. The fee is equally split between all coupon redemptions, regardless of market value (this will result in a fee being assigned to holders of zero valued coupons, possibly resulting in a negative cash balance). The fees goes to the judge. This rule encourages capital to leave a claim when the market has reached a consensus. Ideally there will be no capital left in it on the due date, so that judging will be unnecessary.
- AUTOMATIC RETIREMENT OF CLAIMS: if the total capitalization of a claim goes to zero, and stays there for two weeks, it gets retired. Specifically, the cron job run at the beginning of the week will review capitalization and trading volume to identify claims that have been consistently uncapitalized for at least 14 days. As stated with respect to the previous rule, ideally claims will be automatically retired without judgment. This rule allows the system to recognize when that has happened.
Completed/Obsolete items
- Prevent judge from trading
- Move GIF plots from ~sean/www/IF/plot to ideosphere/fx/plot
- Make ALL email checks case insensitive (e.g., register too)
- Combine what we use of lib.pl into Common.pl, then retire lib.pl (use raw cgi-lib.pl)
- Sanity check changed email addresses too
- complete trade history report
- Move Greg's docs to fx. Incorporate FXTP Order Syntax and main page docs. [add these to FXTP Order syntax: In/Decrement was necessary to solve the problem that an order could have been processed between the time you view it and resubmit the orders (i.e., on the ARC server, when you submit the order form, it replaced whatever you had on file with what was submitted).You must enter an exact match to an existing order to Delete it. New order will return an error if there is a preexisting order at that price (should use In/Dec instead).]
- Describe the judging and claim creation/maintenance commands
- link to docs from main page
- Check for frame preference (and use it on ListClaims, AllAccount, Account, Ticker)
- Judging
- fx-claims announcement to show who made what (for possible reversal)
- Update state diagram to reflect the two stage claim closing.
- clear book at due date [system password and crontab entry]
- pay winners
- All raw server output has a '.' terminator
- Allow judge to attach a comment
- Tag scaled claims (display in account command, account page)
|