Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    #16
    hi MichalG - we did partially implement the mobile support in 15.0 at the time, but other tasks pushed it down the priority list since then.

    We'll revisit it this week and let you know when it's available.

    Comment


      #17
      Hi Isomorphic,

      I just retested - v14.1p_2026-03-09 still has the Voice Assist problem and shows this in the log (using Edge 145):
      Code:
      WARN:VoiceAssist:VoiceAssist is not available - this browser does not provide a SpeechRecognition model.
      Best regards
      Blama

      Comment


        #18
        It's been a while, but following up here.

        Blama - you should find things working well now in 14.1+ - specifically, Safari and Chromium (incl. Edge, Opera) will work once they have mic-permission for the site, some chromium-based browsers like Brave will fail with an error that the proprietary (Google) speech-to-text service is blocked, and Firefox will fail because it doesn't provide a SpeechRecognition API at all. All of this is made clear on-screen, and failures have logs. Most of this info is known up front, and there are some new APIs on Browser to query and test the mic. See this and related APIs

        MichalG - VoiceAssist is now enabled on mobile. In our Showcase, from tomorrow, you'll see a new VoiceAssist icon in the example-viewer's toolbar. You can tap this to start recording a command for a focused component. For value-dictation, on mobile, you'll now see a VoiceAssist icon appear in formItems as you focus in them - tapping this icon starts value-dictation, tapping it again (or remaining silent) stops recording. Only applies to items with free-form text-entry: TextItem, TextAreaItem, ComboBoxItem and AIAssistItem, and their valid subclasses. See docs for FormItem.showVoiceAssistIcon and related APIs.
        Last edited by Isomorphic; 23 Mar 2026, 19:59.

        Comment


          #19
          Hi Isomorphic,

          I can see this is working fine using v14.1p_2026-03-24, also everything is working as expected with FormItem.showVoiceAssistIcon.
          I don't see the icon in the "Search examples" Box in the top left, though, which is the "example-viewer's toolbar" you are referring to, I assume.

          The only thing left is the assumed support for commands (AI feature) when AI is not enabled. I get that you need to show a popup in the showcase and did not test this standalone (e.g. BuiltInDS) without loading ISC_AI.js.

          Best regards
          Blama

          Comment


            #20
            Hi,
            Thanks for information about VoiceAssist on mobile.
            I have created working test in SGWT:
            Click image for larger version

Name:	VoiceAssistMobile.png
Views:	8
Size:	3.1 KB
ID:	277342
            Code:
            public class MainEntryPoint implements EntryPoint {
            
                public void onModuleLoad() {
            
                    layout();
                }
            
                private void layout() {
            
                    DataSource testDS = new DataSource();
            
                    DataSourceField idField = new DataSourceField();
                    idField.setType(FieldType.SEQUENCE);
                    idField.setName("id");
                    idField.setPrimaryKey(true);
                    idField.setHidden(true);
                    DataSourceTextField codeField = new DataSourceTextField();
                    codeField.setName("code");
            
                    testDS.setFields(idField, codeField);
            
                    DynamicForm df = new DynamicForm();
                    df.setDataSource(testDS);
                    df.setShowVoiceAssistIcon(true);
            
                    VLayout layout = new VLayout();
            
                    IButton voiceEnableButton = new IButton();
                    voiceEnableButton.setTitle("Listen");
                    voiceEnableButton.setIcon("sprite:svg:[HELPERS]media/svg/system.svg#VoiceAssist");
                    voiceEnableButton.addClickHandler(new ClickHandler() {
                        @Override
                        public void onClick(ClickEvent event) {
                            tripleTap();
                            Scheduler.get().scheduleFixedDelay(new Scheduler.RepeatingCommand() {
                                @Override
                                public boolean execute() {
                                    layout.addMember(df);
                                    return false;
                                }
                            }, 3000);
                        }
                    });
            
                    layout.addMember(voiceEnableButton);
            //        layout.addMember(df); //does not re-initialize formItem voice icon
            
                    layout.draw();
                }
            
                private class DF extends DynamicForm {
            
                    @Override
                    public Boolean supportsValueDictation() {
                        return true;
                    }
                }
            
                public static native void tripleTap()/*-{
                    $wnd.VoiceAssist.tripleTap();
                }-*/;
            
            }
            but have some doubts:
            * Could not find the java method to toggle VoiceAssist availability, so I made native call to VoiceAssist.tripleTap() (probably needs callback).
            * VoiceAssist icon of formItem is enabled at widget initialization, so I could not find the way to enable it on already drawn form.
            MichalG

            Comment


              #21
              Thanks for the feedback guys - we're making some tweaks to add APIs for starting VoiceAssist on mobile and will port the feature to SGWT.

              Blama, note that voice-commands are not an AI-only feature - you can write an override of doVoiceCommand() that takes a recorded command and parses it to provide voice-capabilities of your own for your app. For example, you might allow for user-commands like "menu {title}", like "menu save", where logic scans all menus for an item with that title, or commands like "show orders" or "report sales", that show some specific UI or allow users quick access to parts of your app. If AI is available, the mechanism may invoke it to provide more powerful general functionality, but it can be used without AI to provide similar, targeted facilities.

              Comment


                #22
                Hi Isomorphic,

                interesting and good to know. I do think though that it should be possible to disable listening for voice commands, as the majority of your customers will have no-AI + no own Command implementation.
                Or does this happen automagically when I hit triple-Ctrl and ISC_AI.js is not loaded and I did not override doVoiceCommand()?
                It seems this might already work when supportsVoiceCommands() returns false, but I can't see how this can be set.

                Best regards
                Blama

                Comment

                Working...
                X