thn.gs — для того, чтобы не помнить

в 7:45, , рубрики: drag and drop, gtd, html5, offline web applications, SaaS, startup, task management, web 2.0, WebSocket, Веб-разработка, интерфейсы, метки: , , , , , , , ,

Мы долго не могли понять почему каждый норовит сделать свой собственный сервис для управления списками дел и почему мы тоже стали жертвой этого стремления, но работа над нашим GTD-приложением, о котором пойдет речь ниже, помогла нам прийти к гипотезе.
Оглянитесь вокруг, много ли вы знаете туду-сервисов? — Тьма. А пользуетесь каким-нибудь? — Вероятно. Но все ли вас в нем устраивает? Скорей всего — нет.
Наверняка вы знаете уйму недостатков в сервисе, с которым работаете ежедневно, но продолжаете пользоваться им потому, что ничего лучше вы все равно еще не нашли. Если вы — разработчик, настает день когда вы понимаете, что настало время «точить пилу» и вы начинаете делать свой таск-менеджер. Постойте, но почему?

Мы убеждены, что потребность хранить и управлять списками дел является одной из основополагающей в жизни современного человека. Она такая же основополагающая, как например потребность писать сообщения другим людям, создавать документы или просматривать медиа. Эта потребность происходит от потребности помнить что либо. Люди любят знать, люди любят принимать решения на основе знаний, но люди не любят держать в голове мелкие несвязные детали. Люди не любят помнить. На сколько эта ниша широка, настолько же она и разнородна. Так же как люди постоянно не могут найти идеальный браузер или почтовый клиент, люди не могут найти идеальный туду-сервис. Отчасти потому что многие продукты несовершенны, отчасти потому, что многие продукты несоответствуют внутреннему восприятию данной проблемы пользователем, т.к. созданы для следования чужой методологии.

Веками для запоминания чего либо использовалась бумага. Она хорошо выполняет свою роль по двум причинам: во-первых, она, как известно, все стерпит, а во вторых, она ничего ненавязывает. Иными словами, бумага сочетает в себе функциональность и простоту. Глубоко проникнувшись этой идеей, мы сделали свой продукт.
Что мы понимаем под этим? Эйнштейн говорил «Сделай настолько просто, насколько это возможно, но не проще.» Мы, следую этому принципу реализовали все фундаментальные инструменты управления делами, но в тоже время мы сделали их максимально обобщенными и ненавязчивыми. Именно поэтому, если вам нужен некоторый инструмент, то вы сможете пользоваться им применительно к любой предметной области, а если он вам не нужен, то вы даже можете не заметить его существования. Т.е. мы не навязываем методологию, мы просто даем набор идеально заточенных инструментов.

Дальше меньше общих слов и больше технологических подробностей. Картинка клибельна.
Smthngs

Хранить списки задач — мало, нужно еще управлять ими. На наш взгляд, инструментов управления делами не много:

  • Иерархия. Объединение задач в проекты и подпроекты, в дерево неограниченной глубины.
  • Теггирование. Любой задаче или проекту можно присвоить множество тегов и затем используя их в фильтре и поиске.
  • Делегирование. Любую задачу или проект можно расшарить с друзьями или коллегами.
  • Фокусы. Задаче можно присвоить фокус, группируя по срочности и важности.

Под ненавязчивостью мы понимаем то, что пользователь не должен даже видеть элементы управления, которые ему не интересны в данный момент времени, чтобы не отвлекаться на них. Именно по этому мы так любим драг-н-дроп. К примеру, чтобы создать проект и поместить в него задачи, нет необходимости нажимать какие-либо кнопки, нужно лишь перетащить одну задачу на другую. Точно также можно присвоить метку, расшарить задачу на другого пользователя или поменять фокус.
Мы стараемся упростить любой процесс внутри системы. Чтобы делегировать задачу на пользователя, у котого еще нет аккаунта, достаточно ввести его имейл в поле над списком друзей и перетащить задачу, на появившейся элемент с его аватаркой в списке. Другу же потребуется только кликнуть на ссылку в письме, чтобы создать аккаунт, войти в систему и увидеть задачи. (Если у пользователя уже есть аккаунт, чтобы шарить на него задачи, требуется сначала получить на это у него разрешение.)

Спроектировать хороший интерфейс — это еще не все, нужно как-то заставить его работать в вебе. Веб-интерфейсы всегда находились в тени десктопных — всегда более простые, менее функциональные, менее динамичные. Мы сразу решили не мириться с этой несправедливостью, и сделать все правильно.
Одна из основных проблем веба — лейтенси. Какой бы быстрый не был интернет, пользователя всегда будет раздражать даже самая минимальная задержка в отлике интерфейса, которая обычно может быть вызвана двумя причинами: сетевой задержкой и пересозданием всего документа в момент перехода по ссылке. Чтобы решить эти проблемы мы реализовали всю логику интерфейса внутри браузера. Совсем и полностью всю. Приложение построено так, что практически любое действие пользователя не требует ожидания ответа от удаленной стороны, а следовательно любое такое действие выполняется без видимой задержки. Задача сервера при таком подходе сводиться только к предоставлению очень простого (и открытого) API для синхронизации данных.
Другая, не менее важная, проблема веба — зависимость от подключения. Каким бы быстрым не был интернет, он часто бывает нестабильным и доступен не везде, в особенности если это мобильное подключение. К счастью, современные веб-технологии позволяют создавать веб-приложения, которые могут работать оффлайн. Проблема состоит только в том, что чтобы создать такое приложение, вам нужно целиком и полностью реализовать логику интерфейса на клиенте, но… мы это уже сделали, как вы помните. Кстати говоря, мне известно лишь два веб-сервиса, кроме нашего, которые умеют работать оффлайн.
Чтобы данные, отображаемые в веб-интерфейсе, всегда были актуальными и живыми, мы используем веб-сокеты, но этим, со времен запуска френдфидика, уже никого не удивишь.

Мы также понимаем всю важность и мобильных приложений. Недавно мы сделали клиента для Android. Он использует тот же открытый API, что и веб-версия. Про приложение чуть позже в отдельном посте расскажет его автор — читатель eterverda. Над iPhone-версией мы также интенсивно работаем и надеемся, что оно скоро увидит свет. Если вы желаете записаться на бета-тестирование — напишите нам.

У нас есть twitter и facebook, вы можете воспользоваться ими по назначению.
Cам сервис вот — thn.gs.

Автор: shergin


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js