Q1) Какие типы проблем все еще будут возникать?
Ошибки, недостатки дизайна, запросы функций и проблемы с юзабилити, те же проблемы, что и у любого другого приложения.
Q2) Сколько времени и знаний потребуется для решения этих проблем?
Больше, чем вы хотите потратить.
Q3) Какие действия я мог бы предпринять в первую очередь, чтобы минимизировать объем необходимой поддержки пользователей?
Тесты, тесты и другие тесты. Наем штатных тестеров - лучшая вещь. В противном случае убедитесь, что вы создали базу данных поддержки для себя, чтобы вы могли легко просматривать прошлые проблемы и передавать эти знания другим сотрудникам службы поддержки.
Используйте хорошую систему отслеживания ошибок / тикетов, желательно такую, которая позволяет вам демонстрировать или интегрировать с какой-то базой знаний, доступной для пользователя. Если вам повезет, это поможет сократить небольшое количество запросов на поддержку.
Если вы хотите быть по-настоящему активным, встроите в приложение систему отслеживания поведения (конечно, сохраняя анонимность пользователя), чтобы вы могли видеть, на какие функции пользователи тратят больше всего времени, и понимать области, в которых ваша ментальная модель приложение не соответствует их.
Да, и попытайтесь сделать программу изящной. Загадочный диалог исключений никому не помогает; иметь экран, который объясняет на общем уровне, что пошло не так и что они могут сделать, чтобы решить эту проблему («повторите попытку через 30 секунд», «перезапустите приложение»). Некоторые неожиданные условия ошибки на самом деле могут быть обработаны таким образом, например, время ожидания соединения. Сделайте так, чтобы на том же экране была возможность автоматически отправить отчет об исключении или скопировать отладочную информацию в буфер обмена, чтобы они могли отправить его по электронной почте. Ваша работа будет намного проще, если у вас есть трассировка стека.
В одном из моих приложений я изменил глобальный обработчик исключений, чтобы отображать специальное сообщение для определенных видов сетевых таймаутов, и оно резко сокращает количество отправленных "ошибок" по тайм-ауту. Пока вы отслеживаете отчеты об исключениях, со временем вы узнаете, какие типы необработанных исключений / неожиданных условий появляются часто, и сможете ... ну, обрабатывать их.