[WSG21] Daily study group on creating custom user interfaces

On September 7th we will begin our next Daily Study Group series that will focus on “Creating Custom User Interfaces”. Attendees will learn to develop graphical user interfaces using the Wolfram Language through short live lessons hosted by Wolfram-certified instructors, and also work on practice problems and mini projects for a hands-on experience.

A certificate of program completion will be available.

Register here.

17 Likes

It’s gratifying to see so many people excited to learn about user interface technologies available in the Wolfram Language. Looking forward to the enthusiasm at this upcoming study group!

6 Likes

I am wondering is there a way to vary what type of color setter is presented to the user with the Manipulate function. For example, is it possible to use a LAB Color setter instead of the default color selector in the Manipulate function?

1 Like

Looking for something like this?

Manipulate[
 Graphics[{
   LABColor[lightness, a, b],
   Opacity[opac],
   Disk[]}],
 {lightness, 0, 1}, {{a, 0}, -1, 1},
 {{b, 0}, -1, 1}, {{opac, 1}, 0, 1}]
4 Likes

The approach suggested by Mr. Choi is correct.

The standalone version of the built-in LAB color palette can be seen using:

CellPrint[FrontEndResource["LABColorValueSelector"]]

This particular palette works by replacing the selection, and is thus hard to integrate with a Manipulate.

It is possible to emulate the built-in LAB color setter using top level code, but that would require some work.

4 Likes

On slide 10 of today’s presentation, Session 3 - Dynamic Fundamentals I, a correction was made to the following expression:

Control objects:

stop = 1;

Dynamic[
 If[stop == 0,
  Button[Style["Start", 20], Background -> LightGreen, ImageSize -> {80, 40}],
  Button[Style["Stop", 20], Background -> LightRed, ImageSize -> {80, 40}]]
 ]

To make it work as intended, stop==1 and stop==0 were inserted, but I haven’t been able to make the correction properly. Could you please help?

Dynamic[
If[stop == 0,
Button[Style[“Start”, 20], stop = 1, Background → LightGreen,
ImageSize → {80, 40}],
Button[Style[“Stop”, 20], stop = 0, Background → LightRed,
ImageSize → {80, 40}]]
]

Today’s quiz is a disaster. My answers to questions 2, 5, 9 and 10 are being ignored. I can change my answers to any of these and my score remains unchanged.

Also, according to the Day 1 notebook, Introduction, slide 8, item 2 under Entirely cloud-based interfaces, the answer to question 3 is being graded incorrectly.

Any idea when the quiz is due? I don’t see a due date listed in any of the materials. Thanks.

Hi Gerrie,

Yes, I agree, grading is messed up on questions 2, 5, 9, 10.

Thank you everyone for your enthusiastic participation in this week’s sessions. I hope that you have been enjoying and finding the sessions helpful.

In this week, we covered some fundamental concepts of dynamics and Manipulate.

In the next week, we will discuss more about certain pragmatic concepts related to the development of User Interfaces and look at several User Interface examples.

Our apologies for few things here and there not working properly in the notebooks. We are making the corrections and will make an updated set of notebooks available to you at the end of the series.

2 Likes

I have the same issue. In other study groups the due date came after the course was finished.So, it is probably not an issue in this regards.

I know Jayanta mentioned how to abort the evaluation once it gets in a loop. I tried command + “.” (Mac) but wasn’t having much luck. I’m working on Exercise 3 on Dynamics II and have had to restart MMTA twice now.

Thanks in advance

[Cmd]+[.] unfortunately can’t always abort a given computation instantly. The abortion request goes to the kernel instantly, but depending on the type of computation the kernel is busy with it may check the queue of requests frequently or infrequently. Besides, the abortion itself may take some time.

That said I did not encounter any such problems with Exercise 3. If we are using preemptive evaluation, we should get an $Aborted in 6 secs. With queued evaluation I get back the image in about 10 seconds (this time will depend on your internet connection).

You may want to check:

Options[EvaluationNotebook[], DynamicEvaluationTimeout]

If the value is not 6, I would recommend resetting it to 6 unless you are using it specifically for some purpose.

You can also try quitting the kernel: Evaluation → Quit Kernel

2 Likes

Is it safe to try the quiz now? Is it grading correctly?

I am sorry, could someone post the link to the quiz? I can not find it on the group. Thank you and sorry for the added noise!

I asked the question in today’s session:

The documentation for ActionMenu says that Appearance->“Popover” will
let you select the default value, but I can’t find out how to do that.

I was referring to the following setting choice for the Appearance option:

“PopupMenu” display like a popup menu with initial value name

Where can I specify name?

name is the first argument to ActionMenu. From the example under Options / Appearance

Table[ActionMenu[
  "Factorials", {"4!" :> Print[4!], "7!" :> Print[7!], "10!" :> Print[10!]}, 
  Appearance -> a], {a, {None, Automatic, "PopupMenu", "Button"}}]