Typenoscript официально не поддерживает функции-конструкторы потому что... да прост впадлу им, на самом деле все (типизация this, и конструкторов) у них для этого есть, просто это все приходится кастовать руками
playground.ts
interface ChangeSet {
added: File[];
removed: File[];
}
const ChangeSet = function (this: ChangeSet) {
this.added = new Array<File>();
this.removed = new Array<File>();
} as unknown as new () => ChangeSet;
const changeSet = new ChangeSet()playground.ts
😁3
Что объединяет Twitter, Notion, Telegram, Uber, React и Minecraft?
Все они стали очень популярными в своей сфере, и в каждом из них вижу одну общую черту - они тщательно маскируют свою сложность, пряча ее от юзера до момента когда он будет более лоялен и более уверен. Мастерство UX дизайнеров этих приложений заключается в том чтобы не показывать фичи до момента пока они не станут нужны, сосредоточив пользователя на какой-то очень простой базовой задаче.
Пользователь пришел, легко адаптировался, выполнил свою первую простую задачу без туториалов подсвечивающих какую кнопку для чего нажимать, а потом по тихоньку открывает для себя "хмм, а мне бы ещё вот это, интересно а тут так можно" и только в этот момент для него "появляется" эта фича.
Да, вторая половина успеха в том что бы фича находилось легко в тот момент когда она станет нужна, для чего надо очень хорошо понимать ситуации в которых это происходит.
Мне кажется наиболее ярким примером в этом списке является Minecraft - самая продаваемая и долгоживущая игра в мире.
В нем нет квестов, нет четкой сюжетной линий, нет никаких npc которые бы рассказали кто наш главный герой и что он должен делать. Нет даже тутора (не считая надпись "ударь дерево" в самом начале игры). Игрок просто занимается тем чем хочет, и он открывает те аспекты игры которые интересны именно ему, и играет в такую игру в которую ЕМУ нравится. А рядом люди играют в том же мире но совсем в другую игру. В этом весь секрет
Все они стали очень популярными в своей сфере, и в каждом из них вижу одну общую черту - они тщательно маскируют свою сложность, пряча ее от юзера до момента когда он будет более лоялен и более уверен. Мастерство UX дизайнеров этих приложений заключается в том чтобы не показывать фичи до момента пока они не станут нужны, сосредоточив пользователя на какой-то очень простой базовой задаче.
Пользователь пришел, легко адаптировался, выполнил свою первую простую задачу без туториалов подсвечивающих какую кнопку для чего нажимать, а потом по тихоньку открывает для себя "хмм, а мне бы ещё вот это, интересно а тут так можно" и только в этот момент для него "появляется" эта фича.
Да, вторая половина успеха в том что бы фича находилось легко в тот момент когда она станет нужна, для чего надо очень хорошо понимать ситуации в которых это происходит.
Мне кажется наиболее ярким примером в этом списке является Minecraft - самая продаваемая и долгоживущая игра в мире.
В нем нет квестов, нет четкой сюжетной линий, нет никаких npc которые бы рассказали кто наш главный герой и что он должен делать. Нет даже тутора (не считая надпись "ударь дерево" в самом начале игры). Игрок просто занимается тем чем хочет, и он открывает те аспекты игры которые интересны именно ему, и играет в такую игру в которую ЕМУ нравится. А рядом люди играют в том же мире но совсем в другую игру. В этом весь секрет
🔥12👍8❤1
Меня спрашивают почему остальные не расписал. Вам будет интересно почитать разбор каждого придется из списка?
Anonymous Poll
86%
Да, хотим
14%
Нет, не нужно
Work & Beer Balance
Что объединяет Twitter, Notion, Telegram, Uber, React и Minecraft? Все они стали очень популярными в своей сфере, и в каждом из них вижу одну общую черту - они тщательно маскируют свою сложность, пряча ее от юзера до момента когда он будет более лоялен и…
Рассмотрим остальные - Twitter (x.com) в своем UX сделал тот же трюк. Все соц сети что я видел до него (майспейс, ЖЖ, Фейсбук, ныне покойная google+) предлагали сходу сразу много фичей в виде менюшек и кнопочек на главной, и всеми силами протаскивали пользователя через флоу наполнения профиля (потому что им так надо было). Друзья, стена, новостная лента, приложения внутри приложения, группа, статусы вываливаются на голову нового пользователя. Регистрация в Твиттере произошла у меня как то между прочим, на ходу. Это ощущалось как то что я зашёл на курилку - люди о чем то говорят и тебе предлагают вставить свои пять копеек. Простая задача "Послушать чужое мнение и высказать свое" решена почти идеально, все остальное, вроде личных сообщений и профиля, управление подписками, запрятано по-глубже, и находится в случае надобности.
Ремарка для тех у кого настроение подушнить:не все ux решения там хороши, но принцип - спрятать все лишнее и решить идеально главное - на месте.
Ремарка для тех у кого настроение подушнить:
👍6
Work & Beer Balance
Рассмотрим остальные - Twitter (x.com) в своем UX сделал тот же трюк. Все соц сети что я видел до него (майспейс, ЖЖ, Фейсбук, ныне покойная google+) предлагали сходу сразу много фичей в виде менюшек и кнопочек на главной, и всеми силами протаскивали пользователя…
Ремарка на тему:
А бывает наоборот? Чаще чем хотелось бы. Многое научное ПО, и часто open source ПО с GUI - не может себе позволить или не считает нужным исследовать UX, и просто фигачат все фичи как безумные в бесчисленное количество панелек.
А потом индусы снимают видео длинной в несколько часов чтобы объяснить как сделать hello world проект.
Во первых - так проще разработчику. Во вторых - это кажется логичным - "спрячешь фичу - ее не найдут, значит надо выпячивать каждую следующую прямо пользователю в глаз. Ведь в противном случае он может подумать что такой фичи нет."
Вот только чем больше фич тем более пользователь "слепой". Он перегружен информацией и не может найти то что ищет. У вас бывала ситуация когда вы открываете полный холодильник и не можете найти бутылку молока, хотя вот же она прямо перед вами?
Но как быть, нельзя же выкинуть из приложения все фичи и оставить только одну!
Приведу пример - представьте себе что пользователь ищет дорогу к решению своей проблемы. Например, ему нужно прийти в город Б. Каждая фича видимая с главной - это еще одна дорога на перекрестке сразу в начале его путешествия.
В магазин, в туалет, к лавочке в тени, к колонке с водой. Это фичи. Вместо того чтобы идти в город Б - пользователю надо стоять искать нужную дорогу и думать о остальных вариантах (может зайти в магазин купить в дорогу воды?), он отвлекается и фрустриуется. Это плохой UX, (хороший если вы Японец)
Будет лучше если UX дизайнер походит с пользователями по дороге и отметит место где пользователи обычно хотят попить, а где отлить, и на протяжении пути сделают соответствующие ответвления - это уже будет простой выбор (да/нет), и если вы угадаете момент правильно - обрадует вашего пользователя и оставит положительные эмоции.
А бывает наоборот? Чаще чем хотелось бы. Многое научное ПО, и часто open source ПО с GUI - не может себе позволить или не считает нужным исследовать UX, и просто фигачат все фичи как безумные в бесчисленное количество панелек.
А потом индусы снимают видео длинной в несколько часов чтобы объяснить как сделать hello world проект.
Во первых - так проще разработчику. Во вторых - это кажется логичным - "спрячешь фичу - ее не найдут, значит надо выпячивать каждую следующую прямо пользователю в глаз. Ведь в противном случае он может подумать что такой фичи нет."
Вот только чем больше фич тем более пользователь "слепой". Он перегружен информацией и не может найти то что ищет. У вас бывала ситуация когда вы открываете полный холодильник и не можете найти бутылку молока, хотя вот же она прямо перед вами?
Но как быть, нельзя же выкинуть из приложения все фичи и оставить только одну!
Приведу пример - представьте себе что пользователь ищет дорогу к решению своей проблемы. Например, ему нужно прийти в город Б. Каждая фича видимая с главной - это еще одна дорога на перекрестке сразу в начале его путешествия.
В магазин, в туалет, к лавочке в тени, к колонке с водой. Это фичи. Вместо того чтобы идти в город Б - пользователю надо стоять искать нужную дорогу и думать о остальных вариантах (может зайти в магазин купить в дорогу воды?), он отвлекается и фрустриуется. Это плохой UX,
Будет лучше если UX дизайнер походит с пользователями по дороге и отметит место где пользователи обычно хотят попить, а где отлить, и на протяжении пути сделают соответствующие ответвления - это уже будет простой выбор (да/нет), и если вы угадаете момент правильно - обрадует вашего пользователя и оставит положительные эмоции.
💯6👍2
Work & Beer Balance
Ремарка на тему: А бывает наоборот? Чаще чем хотелось бы. Многое научное ПО, и часто open source ПО с GUI - не может себе позволить или не считает нужным исследовать UX, и просто фигачат все фичи как безумные в бесчисленное количество панелек. А потом индусы…
Uber когда то выглядел вот так. Посмотрите какой простой и чистый интерфейс, им может пользоваться бабушка, уставший после работы человек, и я полагаю даже алкогольное опьянение не станет большим препятствием что б нажать кнопку "домой".
Но, к сожалению, все это было бездарно просрано
Но, к сожалению, все это было бездарно просрано
❤12🤬1
Решил я тут попробовать Cursor IDE (кто не в курсе - это такой vscode, но с полностью закрытым кодом, и нашпигованый аишкой по самые помидорки)
Но на Linux (Gnome) у меня задвоились заголовки окна (как на картинке).
Написал баш скрипт который скачает иде, и пофиксит ее, вдруг пригодится
Но на Linux (Gnome) у меня задвоились заголовки окна (как на картинке).
Написал баш скрипт который скачает иде, и пофиксит ее, вдруг пригодится
🔥2
после третьего вылета за 20 минут мой эксперимент с Cursor IDE закончился =)
😁21
Сколько сейчас браузеров установлено на твоей железяке?
Anonymous Poll
6%
Один
29%
Два
32%
Три
19%
Четыре
14%
Я собрал их все (5 и более)
VS Code мигрируют на ESM, причем не из-за технических проблем, а для того чтобы увеличить адопшен ESM в js экосистеме. Похвально!
Чтобы помочь в этом деле остальным, они так же выложили скрипт автоматической миграции
Чтобы помочь в этом деле остальным, они так же выложили скрипт автоматической миграции
GitHub
ESM rollout plan · Issue #226260 · microsoft/vscode
Refs: #160416 Synopsis We are now able to build a ESM variant of VS Code with a build flag that will run a migration noscript (node migrate.mjs). This noscript converts src into a ESM compatible format...
🔥7❤1👍1
Если вы используете fetch или обертку над ним, то рано или поздно вы можете обнаружить что нарисовать прогресс бар загрузки файла на сервер не так то просто - про нет нужных апи.
Так же, если вы захотите специальную ошибку/поведение в ситуации когда запрос отвалился по таймауту (а не - "упси, что-то пошло не так") - ваc так же ждет разочарование
К сожалению, в обоих случаях придется использовать древнюю, и скажем прямо - довольно неудобную XHR апи для ваших запросов.
А можно "мужа белого, а попу как у Ким"? Почему бы и нет!
Накидал тут библиотечку которая как фетч но с фишками XHR
Так же, если вы захотите специальную ошибку/поведение в ситуации когда запрос отвалился по таймауту (а не - "упси, что-то пошло не так") - ваc так же ждет разочарование
К сожалению, в обоих случаях придется использовать древнюю, и скажем прямо - довольно неудобную XHR апи для ваших запросов.
А можно "мужа белого, а попу как у Ким"? Почему бы и нет!
Накидал тут библиотечку которая как фетч но с фишками XHR
GitHub
GitHub - Akiyamka/extended-fetch: A window.fetch but with additional features
A window.fetch but with additional features . Contribute to Akiyamka/extended-fetch development by creating an account on GitHub.
👍8😁1🏆1
Бесит что на клавиатуре есть специальные кнопки для переключения и остановки трэков, но чтобы лайкнуть и добавить в плейлист мне надо искать таб саундклауда в браузере... Производители клавиатуры, обновите ваши методички по UX, нужна кнопка LIKE!!!
👍6💯2❤1
Опенсорс АИ очки с ассистентом
https://www.omi.me/pages/openglass
Тоже опенсорс, но с экраном
https://brilliant.xyz/products/frame
https://www.omi.me/pages/openglass
Тоже опенсорс, но с экраном
https://brilliant.xyz/products/frame
Omi AI
OpenGlass
Design by GemPages
👍1
Только что обнаружил прикольный способ использования обсидиана. У меня есть директория со всеми моими проектами. Большинство из них связано с кодом, но иногда это могут быть только текстовые описания идеи, или какие-то модельки и другие артефакты которые я тоже храню в гите.
Исторически все заметки по проектам я вел в текстовых файлах этих проектов, а позже я начал все записывать с обсидиане (который тоже бэкапится гитом у меня), так что его директория это как бы отдельный проект. Таким образом у меня получилось что часть заметок старых у меня в проектах, часть в обсидиане, а часть и там и там.
А сегодня я обнаружил что обсидиан не показывает файлы в своих директориях если они ему не известны (т.е. не md и не изображения). И тут меня осенило - моя директория с проектами это и есть рутовая директория обсидиана!
Так и у меня все заметки будут сразу разложены по директориям проектов, и при этоv оставаться как часть этих проектов! Ну разве не прелесть? Единственное что - если проект публичный и хочется там оставлять приватные заметки - надо шаманить gitignore чтобы он не комитил в файлы проекта
Исторически все заметки по проектам я вел в текстовых файлах этих проектов, а позже я начал все записывать с обсидиане (который тоже бэкапится гитом у меня), так что его директория это как бы отдельный проект. Таким образом у меня получилось что часть заметок старых у меня в проектах, часть в обсидиане, а часть и там и там.
А сегодня я обнаружил что обсидиан не показывает файлы в своих директориях если они ему не известны (т.е. не md и не изображения). И тут меня осенило - моя директория с проектами это и есть рутовая директория обсидиана!
Так и у меня все заметки будут сразу разложены по директориям проектов, и при этоv оставаться как часть этих проектов! Ну разве не прелесть? Единственное что - если проект публичный и хочется там оставлять приватные заметки - надо шаманить gitignore чтобы он не комитил в файлы проекта
_*.md файлы👍2🤔2
Work & Beer Balance
Только что обнаружил прикольный способ использования обсидиана. У меня есть директория со всеми моими проектами. Большинство из них связано с кодом, но иногда это могут быть только текстовые описания идеи, или какие-то модельки и другие артефакты которые я…
Вобщем проблема - обсидиан не умеет игнорить файлы. Даже добавление их в эксклюд по маске все равно ничего не меняет, как выяснилось эти файлы просто скрываются из поиска и графов, только и всего....
Самое смешное что в обсидиане примерно 100500 ишью на эту тему с 2023 года, но команде обсидиана что называется за...о:
> There are several parsers in obsidian. Some ignore some do not. These files are still parsed for linked mentions. This is an intentional decision.
Грустно, печально, ухожу на опенсорс алтернативу
Самое смешное что в обсидиане примерно 100500 ишью на эту тему с 2023 года, но команде обсидиана что называется за...о:
> There are several parsers in obsidian. Some ignore some do not. These files are still parsed for linked mentions. This is an intentional decision.
Грустно, печально, ухожу на опенсорс алтернативу
Obsidian Forum
Ignore/exclude completely files or a folder from all obsidian indexers and parsers
I’m learning about this overlay filesystem. I’m reading that the lower layer is read-only. Doesn’t this prevent you from using Obsidian to update notes?