Skip to content

Experience of a new user/intro #133

Description

@bilderbuchi

Hi!

I just found exopy and tried it out, and I want to tell you about my experience, so if you want you can take this into account when working on the documentation/implementation.
Let me also say that I realise this is alpha-level software (At least according to setup.py), so half the things I encountered are probably not implemted yet, so no hard feelings! I just hope that the experience of a "fresh" set of eyes can be useful for your dev effort.

  • The installation process was very smooth, I created a new conda environment, two commands, done. Very very nice!
  • Docs are available, and it's not only autogenerated API reference, looks promising! Although, an experiment automation GUI package, and not a single screenshot feels very strange!
  • I am presented with a reasonable GUI - not totally empty, not cluttered, looking good.
  • Let's start. Ah, there is a "first steps" in the docs, nice. Hm, the "creating a measurement" section only describes this in general terms, no concrete examples. Let's see if I can create something from scratch...
  • Hm, so "tasks" seem to be mainly single Python commands (break, continue, sleep, loop)...very weird, let's try to make a loop incrementing a value (Hint: A simple, but concrete tutorial would be super useful at this step to introduce your nomenclature and expected structure/data model of a measurement).
  • Am I supposed to program Python scripts, only with point-and-click? I must be missing something...
  • Apparently there is no way to run a user-specified python script as a task. Don't know how I am supposed to program more complex logic here??
  • I have tried several ways to increment a counter in a loop, and enqueue to check.
    • Even found out this "definition" task, which apparently creates "global" vars, but i don't know how to access those in another task?
    • I added a definitiontask in a loop task (is that the correct way) and tried to assign item0 + 1 to item0 - doesn't find it.
    • Let's try with Rohrer_index to get the index of the loop? no.
    • {Rohrer_index} as suggested somewhere in the docs? no.
    • btw the autocomplete that is mentioned did not work, or I did not know how to trigger it.
    • OK, I don't get it, let's move to the instruments.
  • Guessing there is a list of predefined instruments I can choose from... Go to tools- instruments - open browser...hm, every single dialog/window I am finding is empty. I cannot even add any own instruments, as there is no type to select. Very weird, maybe some database/subpackge was not loaded, but I did not see any errors.
  • At this point, I just start browsing around. I do not know what to do with the "database editor" tab - nothing is actually editable, and it just contains some strings which apparently indicate what variables are available in what scopes... Right-clicking to add access exceptions like the tooltip suggests doesn't do anything.

Finally, this looks like it could be very useful if polished. 👍 The GUI looks clean and I guess modular. If you can plug existing instrument libaries (instrumentkit, lantz, pymeasure,...) in there, it could be quite useful and reduce your development effort. A plotting window to select and plot variables during a measurement would be important I think.
The whole workflow surrounding "tasks" (you really had my hopes up because I was looking for such a thing) is *super confusing and I could not make sense of how to use this/what to use this for. Instruments totally lacking (Even no dummy/fake/test instrument) was very weird, I just thought there must be something wrong in packaging.

I hope this was useful to you, and you're not thinking I am complaining!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    docsDocumentation issue

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions