Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the landing page #211

Closed
lwouis opened this issue Apr 3, 2020 · 6 comments
Closed

Improve the landing page #211

lwouis opened this issue Apr 3, 2020 · 6 comments
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@lwouis
Copy link
Owner

lwouis commented Apr 3, 2020

The readme hasn't been reviewed in a while. Its Configuration section for example is outdated and wrong.

This ticket could also include making a real landing page for the project, using Github Pages or others. This page could improve the experience by:

  • Being localized or at least showing AltTab language support in a personalized way, based on user browser language
  • Provide builds optimized for the macOS version. See Release builds without embedded swift libraries #158
  • Detect the OS version through the browser API, and show a warning UI if the user's OS is outside of AltTab's compatibility range
  • Show a video of the app in motion
  • Explain the preferences

Other general guidelines:

  • Show the app name and icon
  • Show the license
  • Show the download button in a prominent way. In the future (Release builds without embedded swift libraries #158) we will probably release multiple release per version, to have bundles optimized for Catalina+. There are different approaches here, either read the user-agent and see which macOS version people have, or a dropdown menu, or multiple links, or a combination
  • show a menu since our readme is quite long; it will help people reach the section they care about. Some Jekyll theme have menus for example
  • responsive design; works on all kind of screen sizes and orientations. Should be included in most templates these days

On the process itself:

  • The process to update the landing page should be documented and accessible so that any contributor can make a PR to update the landing page or the process itself
@lwouis lwouis added the documentation Improvements or additions to documentation label Apr 3, 2020
@ghost
Copy link

ghost commented Apr 5, 2020

@lwouis If I fork the repository, create a landing page using GitHub Pages, and then merge my fork back, does the site created get merged back in? The way to create the site (through the repo settings) makes me suspicious that might not be the case.

I can work on this, but will probably need some guidance from you. Can we discuss in chat of some sort?

@lwouis
Copy link
Owner Author

lwouis commented Apr 6, 2020

Hi @ezity! Could you please join our discord?

@lwouis
Copy link
Owner Author

lwouis commented Apr 6, 2020

Also, we might be distant timezones, so live communication might be difficult.

I checked out Github Pages today, and documentation is lacking and unclear on how the whole system works. That being said, it seems safe to be merged from a fork, since this process involves a folder in the repo, either at the root or in the docs/ folder.

@lwouis
Copy link
Owner Author

lwouis commented May 10, 2020

I released the new website today. I'm keeping this ticket open, as there are a lot of "nice to have" things we can do now that the bulk of the work is done. See the list in the OP for details.

@lwouis lwouis added the enhancement New feature or request label Jun 10, 2020
@lwouis lwouis changed the title Correct the readme / Make a landing page Improve the landing page Jul 17, 2020
@lwouis
Copy link
Owner Author

lwouis commented May 12, 2021

I've thought about adding code on the landing page to detect if the macOS version of the browser downloading the app is within the compatible range, or to check if it's an Apple Silicon mac:

<script>
function checkCompatibility(event) {
  const version = navigator.appVersion.match(/OS X (\d+)_(\d+)/)
  const majorVersion = Number(version[1])
  const minorVersion = Number(version[2])
  if (majorVersion > 10 || (majorVersion === 10 && minorVersion < 12 || minorVersion > 15)) {
    if (!confirm('AltTab is compatible with macOS 10.12 to 10.15. It may still work on a different version, but with some bugs. Are you sure you want to download?')) {
      event.preventDefault()
    }
  }
  if (majorVersion > 10 || (majorVersion === 10 && minorVersion >= 15)) {
    const context = document.createElement('canvas').getContext('webgl')
    const extension = context.getExtension('WEBGL_debug_renderer_info')
    const parameter = extension && context.getParameter(extension.UNMASKED_RENDERER_WEBGL) || ''
    const isAppleSilicon = parameter.match(/Apple/) && !parameter.match(/Apple GPU/)
    if (isAppleSilicon) {
      if (!confirm('AltTab is not natively supporting Apple Silicon. You can still run it under emulation and it should run fine. Are you sure you want to download?')) {
        event.preventDefault()
      }
    }
  }
}
</script>

However, after thinking it twice, the whole concept of compatibility turned out to be blurrier than I had first though. supported OS versions have many bugs (see open tickets). What what makes them supported compared to Big Sur where the app still runs but has a few unique bugs? Nothing really. Before 10.12, the app can't work. That one is simple. After 10.12 included, any number of bugs can exist. I think a better wording would be to say that the app has been shown to mostly work on 10.12-15, and now on 11.0. Anything beyond that is uncharted territory, to be updated after each release.

@lwouis
Copy link
Owner Author

lwouis commented May 25, 2022

I think it's good enough today. Closing this ticket.

Possible enhancements left:

  • video/gif to show the app in motion
  • localize the website, maybe with google translate like the release notes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant