Бесконечность — это нехорошо
Если где-то у вас в продукте звучат слова бесконечный / безлимитный / навсегда / неограниченно: посмотрите, всё ли там в порядке.
Исключительно как тревожный звоночек. Когда что-то заявляется как «бесконечное» и ничем не лимитированное, есть очень большой шанс, что именно здесь накосячат (или уже накосячили) с оценками, бизнес-моделью, продуктом и техническими решениями.
Бесконечность — это умозрительный концепт. Человек, средний обычный, плохо ее понимает. Чаще всего «анлим» и «навсегда» воспринимаются как синонимы слов «ну там настолько много, что прямо дохера, и мы не знаем как считать».
Камон, большинство людей даже не могут сказать достоверно, что будет с их жизнью через 5 лет (всего 1900 дней). А вы тут про бесконечность какую-то.
Проблемы по итогу запросто вырисовывается минимум две.
Техническая проблема. Связанная со сходимостью системы, как математического концепта.
- Вы не можете хранить бесконечное количество данных.
- Вы не можете их обрабатывать на бесконечную глубину.
- Вы не можете поддержать бесконечное множество клиентов (окей, 8 млрд людей, но всё же).
- Вы не можете решать бесконечное множество задач, даже однотипных.
- Вы не можете поддержать неограниченные запросы (или просто очень большие).
Вы не можете бесконечно расти, в конце концов. И не можете заработать бесконечных денег. Бесконечного рынка тоже не бывает.
Таким образом, отсутствие заданных ограничений (даже очень больших) в какой-то части технического решения — по сути, означает «пока оно не загнётся нафиг». Что довольно вялое решение, не очень предсказуемое. С такими решениями — загнётся раньше запланированного.
Еще всю «бесконечность» можно запросто абузить (от слова abuse). И неприятные последствия такого необдуманного планирования вылезут, опять же, гораздо раньше.
Был занятный пример в 2010х, когда государство-РФ придумало очередную систему «куда надо слать всё-всё». А один из топовых игроков рынка на это наглядно ответил, что даже если они завернут 1% своего трафика туда, то это уже примерно в 100 раз больше запланированного гос.системой capacity.
* про сходимость систем надо бы отдельно написать.
Бизнесовая проблема. Бесконечный — значит, ничем не ограниченный.
Если кто-то в здравом уме собирается за конечные деньги предоставлять бесконечный и ничем не ограниченный клиентский сервис — то у меня, и у калькулятора для вас плохие новости: доходы ограничены, расходы нет. Эта арифметика не сойдется, причем «не сойдется» не в вашу пользу.
Вы не можете быть «всем для всех», и при этом нравиться каждому — даже если вы зелененький хрустящий, и на вас портрет президента.
Неограниченность выйдет вам боком где угодно. Просто возможно, вы об этом еще не подумали — значит, надо подумать.
Занятно упомянуть, что обычно законодательство разных стран явно ограничивает безлимитные и бесконечные контракты и соглашения. Даже в персональных правах (обычно сколько-то лет после даты смерти первичного владельца). Так что в клинических случаях есть внешние ограничения; не факт, что вам от этого легче. В обратную сторону, вы тоже не можете вогнать клиента в бесконечные долги, обычно для этого есть fair use.
- «вечные» тарифные планы. А вечные это сколько? Вряд ли ваши потомки до седьмого колена все еще будут вести ваш бизнес: значит, налицо или подвох, или враньё.
- бесконечные лимиты. Ну окей, а если я их исчерпаю — чисто технически и экономически что должно произойти, кто за это крайний?
- бесконечные подписки. Даже если речь про деньги (что неплохо), мы все знаем, как заканчивают свою жизнь тарифные планы, которые почему-то стали невыгодными одной из сторон. Кидаловом и переобувкой они заканчиваются.
- вечное хранение данных. Даже если технически запас «очень велик», попробуйте в даже интернетах, которые типа «всё помнят» и безлимитные, найти достоверные материалы 10-15 летней давности. Их нет, они просто продолбаны по любой из возможных причин.
- ничем не ограниченная поддержка. Саппорт вообще дорогой, а если заявлен как безлимитный — запросто можно довести до точки отказа. Где выяснится что а) дорого и геморно б) надо переобуваться в полете, а это некрасиво.
Чисто технически в этих и подобных случаях, реальность к вам придет (в виде ржавеющей нержавейки) сильно быстрее запланированного, и окажется, что: фантазии у вас может и безграничные, а вот возможности нет.
Просто оно всегда случается невовремя.
Если затрудняетесь сказать относительно времени, «бесконечно долго — это сколько?», то выберите какую-то запланированную дату в будущем. Для всего. И танцуйте от нее.
Возьмите, я не знаю, 12 июня 2070 года как максимальную дату в системе ever (это дата, когда в Cyberpunk2077 закончилась гражданская война).
Раньше было принято брать 19 января 2038 00:00, потому что это практически конец диапазона 4х-байтного timestamp, но это настанет всего через 10 лет, и как-то уже не смешно.
Относительно денег и затрат лучше тоже предусмотреть killswitch, где-то в юридических документах обычно. Что делать, когда безлимитность становится проблемой, и что дальше должно происходить. Будет чем прикрыться, в случае чего — особенно, если этот ваш (обоснованный) проёб кто-то начинает хотеть использовать вам во вред.
Хуже «бесконечного» — только «бесплатное».
Но там вообще отдельный фейерверк.