This is a wishlist for the development of new iLab features:
Bandwidth improvements:
- More efficient, compressed format for transmitting data from the lab server to the client.
- Avoid repetition of transmission of data. Keep a local cache of lab setups and other data. When data would normally be requested, compare a hash of the data between service brokers, and if it is identical, to not resend, but use the cached version.
UI improvements:
- Allow math in the Java client
- Replace default image for unconfigured SMU with something that says "Click to configure port"
- Provide an additional mode - open - which is just a shortcut for I=0
- Provide default names for all voltages and currents. This can be as simple as v1/i1 for SMU1, v2/i2 for SMU2, etc, or these can be specified in the lab setup, so they can be more informative (vb/ib for base, vc/ic for collector, etc)
- In the SMU dialog, replace "download" with "probe"
- Simplify the menu:
- Setup - New setup (reset)/Load setup.../Save setup/Save setup as.../Delete setup//Grid setup (with same options)//Exit
- Experiment - Run Experiment/-/View Data/Download Data
- Devices - list of devices
- Help - Help/About the Weblab client
Development process improvements:
- IMPORTANT: Set up an announcements mailing lists for e.g. new releases of software, new iLabs, etc. This was suggested in China, but would be broadly useful. See bullet point below for other mailing lists.
- Move to more popular software platforms
- C++/Java or other commonly known programming languages
- Add support for lower-cost platforms (e.g. Apache+JSP+PostgreSQL or MySQL)
- Open up development process
- Publically readable CVS tree
- Public mailing list archives (with de-spammed e-mail addresses)
- Make it fast, easy and light-weight to develop new lab servers
Piotr Mitros has a prototype client with all of these improvements hacked in, although rather crudely. In particular, the way that the client can do math in my version is not vectorized (the equation is parsed once per datapoint, rather than once), so it is rather slow. The code for open being an alias for I=0 is not implemented.