ПО Prefab позволит изменить внешний вид, функциональность и поведение любого интерфейса

Исследователи University of Washington разработали программное обеспечение, позволяющее изменять внешний вид и поведение любых программ. К примеру, их разработка Prefab может вывести кнопки управления плеером iTunes в окне офисного редактора Word, для того чтобы пользователю не приходилось постоянно переключаться между двумя этими приложениями. На этом, впрочем, функциональность Prefab далеко не исчерпывается.

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

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

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