M-Views Partial Feature/Bug Checklist

Last Revision: April 7, 2003

 

Bugs:

a FIX: Saving the database does not work

a FIX: Parsing encoded messages strips carriage returns/line feeds

a FIX: Registering an account with a bad email address is allowed (exception occurs)

a FIX: Sometimes possible to select messages out of range (client exits with exception)

a FIX: Extra characters show up at the end of the MediaURL

a FIX: AP scanning program needs to be user-selected

a FIX: IRDA is flaky

a FIX: Width of virtual keyboard bitmap needs to be extended

a FIX: Change invalid “<”, “>” tokens to “#LT”, “#GT”

a FIX: Location detection engine only validates closest hotspot center for containment

c  FIX: HTTP POST data length needs to be limited for security

 

Miscellaneous:

a Request Encoding:

MVC1.0&DAVIDCROW&password&JOHNWOO&5&%Context=JOHNWOO…%

a Special Characters (should NOT be used in messages):

%  (USED TO DENOTE FIELDS)     ~  (SUBSTITUTED FOR LINEFEEDS DURING POST REQUEST)

a User-To-User interaction capable (with proper custom operators)

a Client requests message template from server for blank message

a Empty recipient field makes message a user-wide global post

a Empty context field makes message a context-wide global post

a Messages can have multiple recipients

a Messages can have multiple contexts

a Story names are case sensitive

a Pressing New button while viewing an Inbox message starts a reply

a Flag values can be displayed in the text of messages (“$story/flag”)

a User can form multiple teams to share story state changes between teammates

c  Server automatically saves the database

c  Server automatically cleans out old messages

c  Enhanced server statistical analysis

c  Story script upload/download

a Web XML viewer on server monitor

a Client audio alerts for network status

a Client network configuration

a Client screen saver mode

a Client highlights new messages

a Map/Users display on server monitor (with hotspot editor interface)

a Passive location detection w/ map calibration (using RSSI)

c  Proximity detection

c  Automatic media playback

c  Gesture recognition (using accelerometer plug)

c  IR tagging (using consumer IR)

 

Location detection engine:

a Estimated trajectory sensitivity

a Automatic elimination of extraneous MAC/RSSI readings

 

Flags:

a Pass entire userstate to checkFlags(…) and custom evals/opers

a Add “#LTE”, “#GTE” built-in evaluators

a Add “*”, “/” built-in operators

a Add lastseen attribute (“last”) to story seen elements in userstate

a Add timestamp attribute (“time”) to seen eventlinks

a Add Day/Time and Relative Time evaluators (where “_” is the NULL flag)

            Day/Time: <_ expr=”?DT” value=”D01/12-02/03, T03:14-21:05”/>

            Day/Time: <_ expr=”?DT” value=”DSunday-Saturday, T03:14-21:05”/>

            Relative Time: <_ expr=”?RT value=”ID34, 20, 60”/>

            Relative Time: <_ expr=”?RT value=”ID34, 0, 60”/>

            Relative Time: <_ expr=”?RT value=”ID34, 20, -1”/>

a Add Seen and Last-Seen operators

            Seen: <_ expr=”?S” value=”ID5”/>

            Last-Seen: <_ expr=”?LS” value=”ID5”/>

a Add “$C”, “$=” LIST evaluators (contains & equals)

a Add “$+”, “$-” LIST operators

a Add <OR> block functionality

a Add <AND> block functionality

a Add NOT functionality for EVERYTHING (by prefixing “!”)

 

User State:

a List of all previously seen events (for forum and all subscribed stories)

a List of all flags and values (for all subscribed stories)

a List of heuristics and values (for all subscribed stories)

a List of Inbox messages

a List of Outbox messages

a List of Preferences

a Current IP Address

a Restrictions on User names, Story names, and Context names:

MUST START WITH A LETTER, AND ONLY CONTAIN CHARACTERS A-Z OR 0-9

 

Values sent from client to server:

a Client version code (for verification)

a Username (device name)

a Password

a Context

a Map Mode

a Communication Type:

INBOX, OUTBOX, GET MESSAGE, GET BLANK MESSAGE, GET SETTINGS, POST MESSAGE, POST SETTINGS, DELETE MESSAGE, MAP CALIBRATE

 

Story State:

a Use server time for message dating

a Program evaluator/operator for time and day matching (w/ tolerance)

c  Program custom evaluator/operator for user-to-user interaction (w/ time sync validation)

c  Choose preferences for story (heuristic use, permissions of normal users, user-to-user, etc.)

c  Allow for global story flags

 

Supported flag operations:

a Expr: ==   !=    #LT   #GT   #LTE   #GTE   ?DT   ?RT   ?S   ?LS   $C   $=

(any of these can be prefixed with !)

a Oper: +   -   =   *   /   $+   $-

a Custom evaluator support:

boolean doEvaluate( String flagval, [ String anotherval, ] Element userflags, Element userstate )

a Custom operator support:

String doOperate( String flagval, [ String anotherval, ] Element userflags, Element userstate )