| My first stretch design is for ultra-efficiency. To accomplish this, I sketched out a command-based utility, whose GUI is like most shell/bash applications. That is, the application accepts keyboard-typed commands ('jobs' or 'assign 6 jenks') and then outputs simple, ASCII-based feedback (like a table indicating new/active/recently closed repair jobs). Ideally, such an application is ultra-efficient for experienced users. This design may give us insight into creating text-based shortcuts for our application that allows advanced users of our application to work much faster.
The output is relatively uninteresting (either ASCII tables or text as feedback); so, I have only one sketch for this design. However, here's a sample set of input commands for the application (as a regular grammar) (The '$' character preceding a word in the grammar means that the word represents a variable.).
command ::= jobs || mechanics || details || prioritize || assign || update || close || contacts || search || filter jobs ::= jobs (new || active || closed) details ::= details ($job_id || $mechanic_id) prioritize ::= prioritize ($job_id) (high || med || low) assign ::= assign ($job_id) ($mechanic_id) update ::= update ($job_id) ($update_type) ($update_text) close ::= close ($job_id) contacts ::= contacts search ::= search (jobs || contacts) (($keyword)*) filter ::= filter (jobs || contacts) (($keyword)*)
|