DisTalk. Если ты не умеешь читать, это не значит то, что ты не можешь общаться

    Всем привет! Сегодня я расскажу о приложении DisTalk Pro. Я должен извиниться за паузу в моих постах, опять спасал мир подбивал итоги четверти, выиграл серебряную медаль кубка России по бочча в тройках, выступил на форуме Обнаженные сердца. Но обещание есть обещание, и на этой неделе я выложил новую версию программы DisTalk в Google Play и на GitHub.

    Для тех кто не понимает, о чем я говорю, советую почитать эту статью.


    DisTalk Pro

    Глава 0. Что собственно делаем?


    Есть такой довольно популярный и дешевый девайс GoTalk. Принцип его работы прост. В матрицу вставляются карточки. На карточки с помощью кнопки Record педагог записывает аудиофрагменты. И потом при нажатии на карточку GoTalk играет эту фразу. Эти устройства широко известны в инвасообществе и используются очень давно (я помню свой третьий класс и кнопку «В туалет»)



    GoTalk

    Я после своего хорошего опыта с DisQwerty и DisType решил сделать приложение DisTalk с тем же функционалом (только вместо записи речи, использовать tts). И…

    Глава 1. Не делайте так!


    Задача очень простая. Сделать приложение, которое создает папку DisTalk в корне устройства. Пользователь кладет туда картинки, гружу это в GridView, при нажатии на картинку произношу название файла. Еще чтоб было повеселей сделал переключение по папкам. Чтобы учитель ребенка мог сделать разные наборы… Я сделал такое приложение, загрузил в play market. И сейчас я расскажу о том, как не надо писать приложения. (Но как надо я не знаю и не претендую на звание гуру)

    Ошибки и советы юного и на костылях


    Читайте документацию и тестируйте на разных версиях android.

    Как мы все знаем, с обновлением Android до версии Lolipop мало просто написать в манифесте, то что хочешь писать в storage. Надо еще вызвать запрос на доступ в fs.



    Кстати, в доках об этом ничего нет. Stackoverflow наше всё!

    По этой причине я не мог понять почему у половины людей всё работает, а у половины багрепорты случаются. В DisType Pro я использую проверку и всё работает:

        private void verifyStoragePermissions(Activity activity) {
            // Check if we have write permission
            int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
    
            if (permission != PackageManager.PERMISSION_GRANTED) {
                // We don't have permission so prompt the user
                ActivityCompat.requestPermissions(activity, new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, 0);
            }
        }
    

    Уважайте пользователя.

    Следующая моя ошибка в том, что я очень плохо построил интерфейс. При первом запуске пользователь видел просто белый экран. Никакого намека на то, что нужно подключить планшет к компу, загрузить картинки и вообще. Я наивно надеялся на то, что люди почитают инструкцию в описании приложения на гугл плей. Но нет.

    В новой версии я сделал:

    • Стартовый набор картинок, которые загружаются сразу после первого запуска (ну раздул я apk до 1 мб, надеюсь никто не умер) копируются в папку DisTalk и юзер видит не просто белых экран, а уже готовое к работе приложение
    • Функции добавления, удаления, редактирования картинок из галереи и создания папок прямо из приложения. Теперь не обязательно иметь компьютер
    • Добавил подпись к каждому элементу gridview. Теперь пользователь может использовать не только подписанные pecs пиктограммы, а простые фотки
    • Добавил Yandex AppMetrica (нет, это не реклама) для отслеживания ошибок в приложении (ну еще слежу кто что сказал (: ). Юзеры не охотно шлют багрепорты, а это полезно!

    Не забывайте ключ.

    Хорошо, Вань, написал новое приложение — молодец, но почему было не обновить старое?
    Потому что я потерял keystore и забыл пароль от него. Так делать не надо. Сохраняйте этот файл в надежное место. Новый jks я отправил себе на почту. Храню его!

    Снимайте видеогайды про продукты


    Ролик о том как пользоваться новым DisTalk'ом

    Глава 2. Что дальше?


    Нужна помощь:

    • Придумать как усложнить выход из приложения. Специалисты жалуются, что люди с аутизмом привыкли играть на планшете, и постоянно выходят из программы
    • Придумать как склонять слова в потоке речи. Чтобы не получалось «я хотеть яблоко», а «я хочу яблоко»
    • Сделать банк карточек
    • Добавить функцию записи аудио на кнопки. Специалисты говорят, что иногда нужно записать кнопку с интонацией.
    • iOS, windows
    • Donate because open source

    Мой сайт.
    LINKa
    28,00
    Компания
    Поделиться публикацией

    Комментарии 12

      +2
      Сделать банк карточек

      Как вариант сделать онлайн реестр карточек, куда каждый может выгружать свои наборы. Т.е. можно поделиться своим набором, можно скачать чужой набор и отредактировать его. Тогда сообщество постепенно сформирует основные наборы по нужным тематикам.
        0
        Именно это я хочу сделать. Кстати, вчера в метрике было событие said с текстом «Хочу сикать». Ох как мне было интересно какую картинку они туда поставили.
          +4
          Думаю, такая подойдёт

        0
        Придумать как усложнить выход из приложения. Специалисты жалуются, что люди с аутизмом привыкли играть на планшете, и постоянно выходят из программы


        Как вариант сделать приложение на фулскрин
          0
          Уже сделал, но бывают умные товарищи.
            +3
            Когда у меня на Андроиде тоже стояла такая задача… для детской программы.

            — выяснилось, что центральная физическая кнопка, из трех, _всегда_ выходит из приложения на рабочий стол.

            и это никак не отлавливается программно. Андроид объясняет эту баго/фичу «заботой о пользователях»,
            смысл в том, чтобы ни одно приложение, типа блокировщика экрана и деньго-вымогателя, не смогло бы действительно запретить выход из программы.
              0
              Может физически выломать физическую кнопку?
                0
                А она не у всех планшетов есть. и тут педагог должен легко выходить, а ребенок нет. Думаю про лаунчер
          +3
          Придумать как усложнить выход из приложения.

          Сделать лаунчер из него никуда не денешься
          +1
          Придумать как склонять слова в потоке речи. Чтобы не получалось «я хотеть яблоко», а «я хочу яблоко»


          Можно сделать так: после того как была нажата кнопка с рисунком то высвечиваются на весь экран ← → стрелка влево означает прошедшее время «я хотел яблоко», точка означает настоящее время «я хочу яблоко», стрелка вправо это будущие время «я буду просить яблоко»
            0
            Хорошая идея. Спасибо. Я скорей писалпро сам алгоритм склонения.

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое