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

Вкратце

Второй экран в моем офисе наполнен заголовками, твитами, моим календарем, моими задачами и погодой благодаря InBrief. Это приложение для личной панели, которое я создал с помощью Electron. Все это полностью настраивается, что делает его одним из немногих созданных мной проектов с открытым исходным кодом, который практически напоминает полностью реализованный продукт. Пользователи могут загрузить скомпилированный двоичный файл с GitHub, чтобы опробовать приложение на Mac и Linux. (Windows потенциально может поддерживаться, но мне бы не помешала помощь в настройке!)

Вот некоторые из его особенностей:

  • RSS. Хотя я давно объявил RSS мертвым, когда Google вывел из эксплуатации Google Reader, теперь я вижу, насколько неправильно мне дали количество читателей на рынке и количество сайтов, все еще активно поддерживающих RSS. В InBrief есть виджет, который очищает набор категоризированных RSS-каналов, объединяет истории по категориям и представляет набор объединенных заголовков.
  • Twitter. Twitter по-прежнему остается моей самой проверяемой платформой социальных сетей, прежде всего из-за количества технарей, за которыми я следую. У InBrief есть виджет, который отображает твиты из разных списков в моей учетной записи. (Я разделяю людей, за которыми я следую, по отдельным лицам, компаниям, юмору и общедоступным источникам/отрасли.)
  • Электронная почта и задачи. InBrief читает мои непрочитанные и помеченные электронные письма из Exchange и Gmail, а также задачи на сегодня и на этой неделе от Todoist и Asana.
  • Календарь — InBrief предоставляет обзор моей повестки дня на основе моего календаря Exchange.
  • Погода. Конечно, это обязательный элемент любой приборной панели, я думаю, что это действительно полезное место для краткого прогноза погоды.

Что вдохновило InBrief

Я использовал несколько разных инструментов одновременно, чтобы делать то, что InBrief теперь делает за меня. Те, кто:

  • TweetDeck. Я давний пользователь TweetDeck, и он мне всегда нравился, но мне нужно было что-то, что могло бы делиться экранным пространством.
  • Feedly. У него множество замечательных функций, но он был медленным, и я не чувствовал, что получаю выгоду от премиум-плана.
  • Электронная почта/Календарь/Список дел — они не были вытеснены InBrief, но я хотел что-то, что могло бы объединить статус этих инструментов в одном месте.

Стек InBrief

Что бы вы ни говорили о массе Electron, он позволяет чрезвычайно быстро разрабатывать кроссплатформенные приложения. В среде Electron InBrief работает на React с использованием CSS-фреймворка с нуля и использует простое хранилище данных JSON для сохранения настроек.

Что дальше для InBrief

Я сотрудничал с кем-то над улучшением UI и UX этого проекта, и поэтому я планирую продолжать делать это до конца года и пока у меня будет время.

Кроме того, я хотел бы изучить:

  • OPML: поддержка указания файла OPML для импорта категорий и фидов.
  • Темы. Создайте дополнительные темы и стили для инструмента, чтобы добавить дополнительное разнообразие.

Если кто-то хочет увидеть поддержку других сервисов и виджетов, отправьте запрос на добавление функций на GitHub!

Ролодекс

Стремясь лучше управлять своими профессиональными отношениями, я создал Rolodex, веб-приложение, которое синхронизирует мои контакты Exchange, Google и LinkedIn в один общий список. В этом приложении я могу помечать контакты, с которыми у меня особые отношения, видеть, как часто я общаюсь со своей сетью, устанавливать напоминания о том, как часто я хотел бы общаться с конкретными людьми, и записывать заметки после взаимодействий, чтобы Я могу вспомнить все. Нетворкинг — не самый лучший мой талант, но Rolodex дал мне структуру, в которой я могу лучше управлять отношениями и строить новые.

Что вдохновило Rolodex

В конце прошлого года Wall Street Journal опубликовал обзор системы, используемой Дэвидом Рокфеллером для отслеживания всех его ассоциаций. Учитывая период, когда он создал эту систему, все это было сделано на карточках для записей в специально созданной системе Rolodex. Вдохновленный его системой, я решил более активно подходить к отслеживанию своих профессиональных отношений. Я построил свою собственную систему, потому что, хотя на рынке было много интересных персональных CRM-приложений, все они были ориентированы на транзакции. Для своих нужд я хотел что-то, что было бы больше связано с управлением широкой сетью контактов, но не обязательно с какой-либо целью.

Стек Rolodex

Rolodex — это веб-приложение, поддерживаемое Node.JS, хранящее все в SQLite3 и использующее React+Bootstrap4 во внешнем интерфейсе. Все это полностью Dockerized, что упрощает развертывание и повторное использование.

Что дальше для Rolodex

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

Особенности, которые я рассматриваю прямо сейчас:

  • Экспорт отчета: получение заметок для определенных контактов в формате CSV.
  • Синхронизация. После извлечения и объединения контактов из разных источников отправьте эти объединенные данные обратно в одну или все службы.
  • Улучшение скорости. Синхронизация данных происходит слишком медленно, поэтому я хотел бы найти способы ее оптимизации.

FeedPage

Наконец, в соответствии с моей информационной зависимостью, я хотел установить простую RSS-ленту в качестве моей домашней страницы. После создания InBrief я отказался от Feedly и почувствовал, что он слишком медленный, чтобы вернуться к нему. Поэтому я собрал FeedPage за полдня, чтобы удовлетворить эту потребность.

Каждые несколько минут FeedPage извлекает файл OPML из моих Gists (OPML — это стандартный формат XML для хранения категоризированного списка RSS-каналов), извлекает последние копии каждого канала и упорядочивает элементы канала в категоризированные списки на основе OPML. категории файла. Страница, отображающая канал, представляет собой обычный HTML и использует Bootstrap из CDN, поэтому загружается очень быстро. В любое время, когда я хочу управлять своей лентой, я просто редактирую файл OPML на GitHub.

Стек FeedPage

Feedpage — это веб-приложение Node.JS, которое использует простой шаблон EJS для отображения канала. Весь файл index.js — единственный актуальный JS-код в проекте — занимает 141 строку.

Что дальше для FeedPage

Немного. Это простой инструмент, выполняющий простую работу. Если кто-нибудь увидит способ ускорить синтаксический анализ OPML или очистку фида, пожалуйста, кричите!

Первоначально опубликовано на сайте johnjonesfour.com 12 июня 2018 г.