keymanapp / keyboards

Open Source Keyman keyboards
147 stars 265 forks source link

Delete Cameroon Qwerty Unicode. #650

Closed MattGyverLee closed 5 years ago

MattGyverLee commented 5 years ago

The old Cameroon Qwerty Unicode is vestigial and broken and does not contain the fixes made over the last 10 years, but it still comes up first in many searches. https://help.keyman.com/keyboard/cameroonqwertyunicode50/1.1/cameroonqwertyunicode50.php Please either delete any reference to this old keyboard (preferred), or make the documentation and download pages redirect immediately to Cameroon QWERTY (SIL). I'm tired of support requests from people accidentally downloading the wrong keyboard. It does not need to exist.

darcywong00 commented 5 years ago

This request is similar to #340

The internal Keyman keyboard search https://keyman.com/keyboards?q=cameroon

has the order

  1. sil_cameroon_azerty
  2. sil_cameroon_qwerty
  3. cameroonqwertyunicode50

And https://keyman.com/keyboards/cameroonqwertyunicode50 does have the markings that the keyboard is deprecated and for users to use sil_cameroon_qwerty instead.

MattGyverLee commented 5 years ago

I do not think this is the same as #340 .

  1. The non-Unicode Keyboards are untouched, so we're not stopping anyone from editing old data.
  2. There are no characters that can be typed on the old one that are not available on the new one. However, there are several characters on the new one that were not available on the old one.
  3. The new layout was decided with representatives from a dozen language groups.
  4. The old one was desktop-only, and the new one is cross-platform.
  5. The new one is fully documented in French and English.

I see and understand the markings, but they are in English and will be ignored. Can you completely delete it for me? There is no reason that anyone should be using the old one. I fully understand keeping the non-unicode versions for historical reasons on https://keyman.com/keyboards?q=cameroon , but I want cameroonqwertyunicode50 to be impossible to download accidentally. If it is better from an SEO perspective to keep the old link, @DavidLRowe said it might be possible for the site to forcefully redirect to sil_cameroon_qwerty if you try to access the dead page.

@mcdurdin, this is a major usability issue. When presented with the three options below on google, many will choose the one marked Unicode (sometimes it even comes up first because it has seniority), and that's the wrong one. image

If it were possible, I wish that the users would get updated to the new one the next time Keyman phones home.

mcdurdin commented 5 years ago

I understand the issue. I agree that the scenario is different to that in #340. This is not the only keyboard for which we have this problem.

In the future, the intent is for the deprecation pathway to allow Keyman Desktop to automatically upgrade from the legacy version to the new version, both at install time and later during regular automatic updates.

But this is a little more complicated than it might seem. That third link in your Google search will give a 404 if we just delete the keyboard. We don't have infrastructure in place to do a redirect and I don't want to start adding that piecemeal because we end up over time with lots of special cases that we cannot maintain. That was a large part of how we ran into trouble with maintaining the old keyboards repository, so this is not just a spurious concern.

I can see three mitigations or solutions that we could consider here:

  1. Make the "deprecated banner" into a "download the new version banner", which shows with a green download button, and takes them to the correct version (they'd have to click Download again though on the new page). Then hide the downloads for the deprecated version, and make them accessible only by clicking a subtle link which does a javascript unhide of the content. I understand that we don't really need users to be able to access this version, but this is a generalised solution to deprecation that does work for all scenarios. Time to create solution: 1 hour.

  2. Add deletion infrastructure to the keyboards repository, such that we can add redirects for legacy, deleted keyboards, to their replacements. Ideally, there would be some sort of messaging on the final landing page that indicates why the user ended up at a keyboard that doesn't match what they clicked on. This requires changes to the keyboards repository, the website, and the api site, in order to work completely. Time to create solution: 1 week.

  3. Implement the automatic upgrade of deprecated keyboards in Keyman apps (all platforms). Time to create solution: 1 month.

I think it is probably pretty obvious which mitigation I am leaning towards at this time. I can foresee us implementing all three of these solutions at some point. @erros84 will option 1 provide enough of a solution for now? There are other possibilities but I think they will be similar in scope to options 2 or 3.

MattGyverLee commented 5 years ago

Thanks Marc, I am happy with Option 1, which should solve the immediate problem for now. I do see the SEO value of retaining well-ranked URLs (though I would expect that eventually with a 301 redirect the search engine will get the idea and reprioritize the new link), and appreciate that it will point (for now) more obviously to the relevant content and may eventually redirect to the same content. I will be happy to ride the wave whenever option two and three are implemented. Though I understand that deprecated keyboards are not your biggest priority. Option 1 is a better band-aid for now. :) ~M

mcdurdin commented 5 years ago

Great! I've made the changes in https://github.com/keymanapp/keyman.com/pull/14 and once merged they should be visible to all. Here's what it looks like:

image

MattGyverLee commented 5 years ago

Instant deprecation! Thanks. I can close this when it goes live.

mcdurdin commented 5 years ago

The change has now been merged :)

MattGyverLee commented 5 years ago

Thanks team!