I have an LMS webapp for which I created an integration with Google Classroom. The integration can be enalbed by teachers on a per-course basis from an "integration settings" page of the course which, when the integration is enabled, looks something like this:

enter image description here

The integration enables features such as:

  • when an exam is published on the course on my LMS, a corresponding coursework item is created on the paired Classroom course
  • when an announcement or lesson is posted on my LMS, it is also echoed to Classroom
  • when a student enrolls in a course on my LMS and it is paired with a Classroom course, then they are also enrolled in Classroom, and vice versa

I'm looking for a way to:

  • clearly communicate the teacher that these features are enabled
  • possibly give them some finer-grained control over when to use them

Having a page like the one shown above, even if it includes a list of features that the integrations enables, isn't enough: multiple teachers may publish material on the same course and not all of them may be aware the integration is enabled.

Here are some solutions I'm thinking about, but I am not sure which one is the best, if any--we'll take publishing an exam as an example feature, but the principles should apply to the other integration features too:

As a reference, this is the part of the exam editor that shows the publish button

enter image description here

Option 1) When the exam is published, together with the success snackbar which is normally shown, I may add a message saying "Your exam has also been published on Classroom: [LINK]". This gives the user no control over whether to actually echo the exam to Classroom, but it may not be an issue if the policy is "You use the Google Classroom integration if you want every piece of content to be sync'd." Still, in the first page I showed, I may add some course-wide settings, which is less fine-grained but may still be useful

Option 2) Before publishing the exam, I may ask the user for confirmation: "Do you also want to publish this on Classroom?". This may get annoying for expert users who know exactly how the integration work and want to always use it

Option 3) Beside the "Publish" button, I may have a switch/checkbox saying "Also publish on Classroom". Here the pattern is essentially that, when the integration is enabled for a course, in several places in the UI there will be additional controls to adjust integration-related settings. Here I would make an effort to distinguish those from the "normal" controls, e.g. by showing a Classroom icon besides them.

These are the options I have considered for now. Which one would be the best? Are there other options I may explore?

  • Is there a list of courses on you LMS, are you trying to show paired courses on a list or within the course itself when it's opened from a list (if there is a list).
    – Garik
    Mar 13, 2023 at 12:38
  • There is a list of courses in my LMS, but I'm only interested in the integration when the user is inside of a course; like I showed above, I'm interested in specific areas of the application such as when publishing an exam or lesson, and those are all course-specific functionalities
    – Samuele B.
    Mar 13, 2023 at 14:41
  • 1
    Is there a scenario when a course from your system gets mirrored on more than one Google classroom or vice versa?
    – Garik
    Mar 14, 2023 at 12:56
  • There's no plans for that. The relationship is one-to-one.
    – Samuele B.
    Mar 14, 2023 at 15:39

3 Answers 3


"Option 3" followed by "Option 1".

Use a check box after (or before) the "PUBLISH" button and notify the user after it has been added.


  • Thank you. I tried integrating it into my design, but I am not sure it fits too well, so I'm looking for a way to make it look nicer. This is what it looks like: imgur.com/a/OdkEYl2 (see bottom of the screen). I know this is more of a UI related question and less UX, but if you have any suggestions as to how to make it fit in better, that'd be very appreciated
    – Samuele B.
    Mar 16, 2023 at 10:53
  • Make it stand out when checked, so it's visible at the first glance. I filled the background to highlight it.
    – Garik
    Mar 16, 2023 at 11:39
  • After seeing the page, I would recommend a small layout change, your vertical space it at premium, so it's a better idea to use columns when possible, this way more info can be fitted on the screen. See - imgur.com/a/XrDIY5P ...
    – Garik
    Mar 16, 2023 at 11:48
  • Thank you. I agree using columns may make a better use of the space available; I'll take that into consideration. Regarding the issue of the Classroom switch, I agree highlighting its background can make it more visible. Do you think its positioning looks bad though? Maybe I'm just biased because I've gotten used to the UI without it for months, but I am a little worried it looks like it was just put there and has little to do with the rest of the UI. Maybe there's a way to make it "fit in" better?
    – Samuele B.
    Mar 16, 2023 at 13:39

Here is a revised version with background colour changes to indicate something has been changed. Check box is next to the button and in the same container to show the yare connected.

enter image description here

A few variants of arranging the elements.

enter image description here


Split button could be a concise alternative for simple Publish options like this. The main advantage is it allows you to provide multiple options without cluttering the UI, currently, the bottom section looks a bit busy.

The next question to decide on the primary action, this depends on whether the majority of users would want to publish to Google Classroom every time or on the LMS alone. (similar concern on whether default should be checked or unchecked for the checkbox concept)

(Maybe unlikely) It's also worth considering the use case when the Google Classroom integration is disabled or when there are multiple integrations. Split buttons can be more scalable this way too.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.