Skip to Main Content
Feature Request FR-3648
Product Area Page Components
Status CLOSED

2 Voters

Include the ability to set a warning for user OS compatibility - graceful degradation

ron Public
· Feb 25 2024

Idea Summary
Include the ability to set a warning for user OS compatibility.

Use Case
Numerous APEX features require users to be up-to-date on their OS versions. I love that APEX is staying current, and completely buy into keeping current vs. dumbing down features. But, for consumer-facing applications I cannot influence user patch levels and am running into frequent problems with “failed” functionality that links back to outdated OS, particularly in iOS. 

For example, anyone who is running iOS 14.3 or earlier gets to a page with faceted search and a hide/show region and it simply fails to render. There is no notice to the user that there is an incompatibility, but rather a blank screen. They are left wondering and I'll never know unless they reach out.

Preferred Solution (Optional)
If an APEX version has a minimum OS version that it is compatible with, can we simply set it at the application level to render a “best if used on version xx or greater" or something like that? If I write that code into my app, it will presumably change with every APEX upgrade/patch and I'll never know to advance it, so having it as a built-in deliberate min OS version seems like a logical thing.

We reviewed this idea carefully and came to the conclusion that it does not constitute an appropriate APEX feature request.

Comments

Comments

  • jayson hanes Admin OP 5 months ago

    The challenge with this is that APEX doesn't run on the OS, it runs within a browser - and user-agent isn't very reliable as a way to detemine the information that you're suggesting..

    Browser detection using the user agent - HTTP | MDN (mozilla.org)

  • anselm brehme OP 5 months ago

    I don't know about iOS but for redirecting unsupported Browsers like Internet Explorer we did something like this in the “Function and Global Variable Declaration” of our Login Page:

       try {
           eval("var bar = (x) => x+1");
       } catch (e) { 
           location = '/unsupported-browser-page';
       }
    

    Basicly you should check if the required javascript feature is supported instead of checking which Browser the user has.

    Maybe APEX can provide such a check declarativly?

  • jayson hanes Admin OP 5 months ago

    @anselm brehme for APEX to support such would require us to manage another complicated code base that will be a moving target moving forward; In which case, I don't see this being a feasible thing for APEX to offer declaratively. This is a developer issue to resolve, that APEX makes possible today.

    You do hit the nail on the head with browser detection via try/catch for features - but again, this wouldn't likely be something APEX would have out of the box that is declarative.

  • ron OP 5 months ago

    @jayson hanes Using OS as the term was not the best word choice. Safari is tied to iOS version, so I just misspoke in saying OS. 

    For feature detection, I'd used modernizr for custom dev in the past. Would the addition of that library into APEX for the latest features be possible? If every developer does that, upgrades and new features get nuts. Maybe a toggle on something like Faceted Search or Hide/Show for “Detect Feature" and a message to display if feature is not supported as conditional? 

    iOS 14.3:

    iOS 14.7:

  • tcaruth OP 3 months ago

    Each APEX release should have minimum browser version requirements listed for the 3 main browsers worldwide. That eliminates the need for the APEX team to “manage another complicated code base” and provides developers some guidance on where users browser versions should be to have a smooth experience.

  • vincent morneau Admin OP 13 days ago

    We believe this is better suited for APEX release notes, documentation and installation guide. The product simply follows the minimum requirements.