Редактор структурированных данных общего назначения

в 10:32, , рубрики: cms, визуализация данных, графы, деревья, Семантическая Сеть

Оригинал на английском dmitra.com/graphiy/general-purpose-tree-editor/

Начиналось все с простой потребности в наведении порядка в файлах. Почему уже 2014 год, а до сих пор нет простого и удобного редактора деревьев хотя бы?
Текстовых редакторов — несметное множество и все равно появляются новые. Редакторов таблиц — поменьше, но жаловаться приходится только когда количество данных исчисляется тысячами.
А ведь самих-то способов представления информации не так много:
Строка, Список, Таблица, График, Диаграмма, Карта, 3d
Разумеется, есть огромное множество разновидностей этих видов, но количество достаточно популярных не превышает десятка.
По своей сути эти способы можно подразделить по количеству одновременно отображаемых характеристик.
Одномерные: список, временная шкала, хронометраж и т.п.
Двумерные: таблица, карта, график, гистрограмма и т.п.
Трехмерные: в основном нестандартные сложные научные 3d-визуализации
Многомерные: деревья, графы, сети

Визуализаций данных уже создано в избытке и продолжают изобретать новые. Для одних только деревьев известно под 3 сотни вариантов: treevis.net
А вот редакторы существуют для весьма малого количества самых популярных.
И в отношении многомерных данных существует огромный пробел.

А ведь первая популярная визуализация появилась еще даже до создания полноценного графического интерфейса во времена командной строки en.wikipedia.org/wiki/Xtree

image

Jeffery C. Johnson, разработчик Xtree, еще в 1985 создал первую рабочую визуализацию. Файловый менеджер представлял иерархическую структуру дерева каталогов.
До сегодняшнего дня я пользуюсь чуть ли не идентичным интерфейсом NERDTree плагин для текстового редактора программиста — VIM.
И если не брать в рассчет таких повернутых гиков как я (что уже следует из названия плагина 'NERD'), то вспоминается стандартный файловый менеджер Windows.
Функционал здесь правда, тот же: Создать, Переименовать, Переместить, Удалить
А вот менеджер закладок Chrome

image

Снова то же самое, только более 2000 узлов уже начинает тормозить
Для сайтов и веб-приложений уже вроде бы всяких виджетов насоздавали прилично: в любой серьезной UI библиотеке он есть:
Webix webix.com/demo/tree/basic/
Kendo-UI demos.telerik.com/kendo-ui/treeview/index
И уже есть что-то посложнее типа TreeGrid www.jqwidgets.com/jquery-widgets-demo/demos/jqxtreegrid/index.htm
Здесь даже с возможностью встраивать действия в таблицу для каждого узла ExtJS docs.sencha.com/extjs/4.2.2/extjs-build/examples/build/KitchenSink/ext-theme-neptune/#tree-grid

Но ведь даже базовый функционал работы с данными включает в себя сортировку и фильтрацию.
А в идеале хотелось бы иметь возможность делать все из этого списка

Create
Edit
View
Delete
Link associate items with one another
Convert change items type of visualization
Sort reorder set
Filter decrease subset
Zoom increase/decrease item’s size
Group Sort by Tag
History Link with previous version
Sync Link with other device
Copy Create + Link
Merge Link two similar
Send Copy & Link with person
Rate Link with quantifier
Share Link with Person
Tag Link with keyword

Курсивом выделены простейшие операции.

Почему же до сих пор не создано инструмента для редактирования многомерных структурированных данных? Ведь, практически любые данные могут быть представлены в виде совокупности узлов и связей между ними.

Вот список базовых типов данных, которыми я обычно пользуюсь:

Object Origin by nature
Text Sequence of signs
Image Table of bits
Video Sequence of images
Audio Sequence of sounds
Date Link
Location Link
Icon Image
File Image, Text
Table Layout
Tree Layout
Graph Layout
Web page Layout
Bookmark Link, Text
Tag Text
Comment Text
Playlist Layout
Annotation Text
Reminder Date
Miniature Image
Map Image
Address Text
Email Anything
Post Anything
Tweet Anything
Photo Image
Drawing Image
Goods Link
Message Text
Note Text
Event Text, Date
Task Text, Date
Recommendation Text, Link
Contact Text, Photo
Graphs Image
Diagram Image
Chart Image
Commit Text, Person
Document Layout
Book Layout

И все из них тесно взаимосвязаны друг с другом. Но существующие сервисы и программы позволяют в лучшем случае увязать только несколько из них, предлагая при это лишь несколько функций из предыдущего списка. А классический стартап вообще часто выглядит как: «Мы предлагаем революционное решения для функции 'Х' над данными 'Y' »: будь то синхронизация файлов, шаринг картинок или менеджер контактов.
Но некоторые виды данных просто по своей природе являются совокупностью связей, как то: облако тегов, карта наземного транспорта, веб-сайта или график работ.
Возможно, структурирование информации — это непростая задача и людям проще записать все в один текстовый документ, иногда выделяя текст абзацем, цветом или просто жирным шрифтом. Но ведь до MS Word и это было роскошью.

Нужен инструмент, который позволит нам так же интуитивно и легко управляться со связями, как мы это делаем со своими мыслями, ассоциациями в голове.

MindManagers. На сегодняшний день это уже целый класс приложений, реализующих возможность отображать связи между узлами.

imagedmitra.com/wp-content/uploads/2014/07/MindManager.jpg

Но почти все они дают только базовый функционал для создания визуализации. Создал — посмотрел — забыл. Красивая картинка дающая возможность взглянуть на свои мысли, дела, данные со стороны (big picture), но не более.
Лишь некоторые, типа Mindmeister дают что-то еще. Здесь есть совместное редактирование.
Разумеется есть профессиональные инструменты заточенные под определенные виды данных: en.wikipedia.org/wiki/List_of_phylogenetic_tree_visualization_software
для которых они делают почти все, что нужно в этой предметной области.

Но как на счет универсального редактора структурированных данных? Как для текста, для таблиц. Даже для картинок, презентаций, векторной графики уже есть устоявшиеся стандарты и форматы. Хороший шаг сделала компания выпустившая базу данных для графов — Neo4j. Даже есть неплохая попытка стандартизации: gist.neo4j.org

Но остается еще 2 проблемы. Программы для создания карт разума довольно статичны и за узлами на дереве нет самой информации. И вторая — это то, что деревья — это лишь частный случай графа. Наш мозг состоит из сети нейронов связанных друг с другом. При этом каждая связь направленная и имеет свой вес. Воспоминания в нашей памяти хранятся в виде образов, состоящих из ассоциаций. И даже сам процесс мышления — есть проход по ним.

В то время как Evernote удачно позиционирует себя как инструмент для расширения памяти, он позволяет лишь записать и сохранить информацию.
Как на счет приложения, которое чуть ли не в буквальном смысле позволит расширить память ассоциируя наши мысли с записями, контактами, файлами и т.п.?

Автор: Dmitra

Источник

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


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