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 )