Software
Swarm - Brainstorm
This is a list of ideas, suggestions and improvements for future versions of Swarm. Please submit more ideas and suggestions as you see fit to Peter Cervelli (pcervelli@usgs.gov).
Monitor windows
- Monitor windows can contain waves from any source (not only within the same server)
- Vertical mode: waves flow vertically rather than horizontally. Useful for modern generation widescreen displays
- Selectable flow direction: left->right/right->left (horizontal mode) up->down/down->up (vertical mode)
- Can create new empty windows
- Waves can be added to any open [numbered] monitor window
- [All views] Show at cursor precise time in yyyy-mm-dd hh:mm:ss.000
- [Wave view] Show at cursor wave amplitude in counts and/or real units
- [Spectrogram view] Show at cursor signal power and frequency
- Toggable fixed maximum amplitude/power to be shown (already implemented, to be expanded)
- [Spectrogram view] Selectable different spectrogram color scales
- Deletable calibration signals (useful especially for AVO stations)
- Resizable individually/change display proportions of each wave (example - Wave1: 10% screen height, Wave2: 20% height, Wave3: auto-resize)
- Selectable fixed wave display size. If exceeding the monitor window size, show a scroll bar
- [Audio mode] play as audio displayed waves.
- [Audio mode] arrange left/right audio channel proportions according to the relative distance of nearby stations
- [Audio mode] and play selection as audio
- [Interface] let users relocate a wave up/down (or left/right in vertical mode) in the monitor window
- [Interface] drag-n-droppable waves in and out of the monitor window. Drag-drop between different monitor windows possible.
- [Interface] interactive on-display band pass filter by dragging symbols
- Select range from displayed wave->copy wave to clipboard
- Mask unselected range in grayscale
- Optionally show various info for the selected range (start time, end time, length, average power/amplitude, etc)
- Optionally show pop-up spectra info for the selected range
- Optionally show both waveforms and spectrograms as in AVO Iceweb spectrograms.
- Two sources (or the same/ heli-spectrogram) on the same row or column (in vertical mode)
- Show complete time bar instead of only start and end time at the bottom of the screen
- Hidable time bar
- Show vertical line at cursor x location (horizontal line at y in vertical mode) on each wave and time bar. Lighter color for unselected waves
- Hold-button for showing temporarily in the whole monitor window a helicorder view for the selected wave
- Multiple wave selection for mass tweaking of displaying options where applicable
- Click station name/channel/network box to display metadata and pole/zeroes info (?)
- Show configurable (and optionally moving?) vertical time grid
- Quick configuration reset button/option
- Placemark/Placemark list for later analysis?
- Larger timeline than 60 minutes
Layouts
- Complete layouts ("snapshots"/"monitoring projects") and partial (example: monitor window configurations) ones.
- Multi-window mode (not single window, multiple document) to enhance multi-monitor support
- Switchable individual windows to/from MDI mode?
- [Kiosk mode] User interface for kiosk mode configuration
- [Kiosk mode] make manually (or automatically) resizable rows/columns
- [Kiosk mode] views can span multiple rows and/or columns (example: 1x2, 2x3, 2x1, etc)
- [Kiosk mode] quick switch between different monitor views (with a button?)
- [Kiosk mode] timer-based automatic view switching
- All floating windows: hidable title bar and toolbar
Map
General performance improvements
- Update data, but don't redraw when minimized. Both globally and for individual monitor windows
- Keep cache of station lists and station metadata
- When using fixed spectrogram scale, don't calculate everything, but keep bitmap snapshots of older data
- Preference class instead of Properties; + XML configuration files
New functionalities / Misc. improvements
- Incoming wave data from any source to local database (Winston integration?)
- [Utility] Time range from any server to file/database (replacing VASE from IRIS and waveman2disk from the Earthworm distribution)
- Waves to WAV
- Soundcard to Waves
- Waves and Helicorders to PDF
- RSAM and SSAM (example: http://www.geonet.org.nz/images/volcano/monitoring/dome_rsam_ssam.gif)
- Reduced displacement?
- Batch waveform download facility from list (like VASE?) or file
- Spectra to CSV
- Web Java applet version
- Better resolution on helicorders
- Tray icon in taskbar for added control
- Determine minimum amount of memory for opened waves
- Spectrogram-helicorders (sgram)
- Automatic type identification of seismic signals
- Open helicorders/monitor in radius (click point map, select radius, open monitors/helis)
General UI / Presentation / Definitions
- Start screen with USGS VHP links and Latest U.S. Volcano Alerts and Updates? Integration with USGS web site?
- Start with browsable IRIS DMC data sources (like on GEE?). Cache data to avoid straining IRIS servers and long waiting times (as happening on GEE)
- [Simplify] Real-Time Waves->DELETE; Monitor->General Purpose Real Time Wave Container (GPRTWC containing 1 wave = old "Real Time Wave" window)
- [Definition] Real Time Wave Container: container for aligned waves updating in realtime and sharing time scale info
- [Definition] Clipboard: container for fixed heterogeneous snapshot waves
- Custom key configuration screen?
List of related programs that could be good source for ideas and improvements
Miscellaneous resource links for further ideas, reference and programming