telegamochka (
telegamochka) wrote2011-12-29 12:22 pm
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Носимый компьютер: результаты за очередной год работы
За прошедший год мне удалось достаточно серьезно продвинуться на пути к созданию к рабочей версии носимого компьютера (НК). НК не как игрушки, сделанной гиком для себя любимого, а как девайса "широкого потребления" - устройства, которое, как мне кажется, может придти на смену смартфонам, плеерам и прочей современной индивидуальной электронике.
Год назад мне удалось подобрать подходящее железо для прототипа. Зимой прототип обкатали на лыжниках, летом - на велосипедистах. Тогда еще не было написано ПО для НК - все части функционала обкатывались на чужих смартфонных программах, совершенно не заточенных под "носимое" применение. Но "полевые испытания" показали, что девайс оказался вполне удобен и юзабелен.
Осенью я начала работать над ПО с "носимым" интерфейсом. В настоящее время это вполне функциональная альфа GPS-навигатора для пешеходов и велосипедистов. Как обычное смартфонное приложение оно прекрасно работает уже сейчас. Оказавшись в незнакомом районе, я запускаю не гугл- или яндекс-карты, а свою программу, чтобы сообразить, как попасть в нужную мне локацию :) Чего пока нет - это автоматической прокладки маршрута между двумя адресами. Работа над этим ведется, задача тривиальна - составить запрос к гуглу, распарсить ответ и завернуть все в подходящий интерфейс :)
До сих пор моему приложению не хватало небольшой, но важной фичи без которой ее нельзя было полноценно использовать в "носимом" режиме. Не хватало беспроводного пульта управления, чтобы можно было управлять программой, не доставая запакованный в мини-кейс смартфон. Чтобы можно было скроллить и масштабировать карту, переключаться с вывода карты на картинку с наголовной камеры или управление медиаплеером.
За последние 2 дня мне удалось реализовать такой беспроводной пульт на базе второго, купленного как запасной, телефона N900. Естественно, релизная верия пульта получится на несколько порядков дешевле нынешней и будет реализована на каком-нибудь PIC'е или ATmega. Но главное, что в ближайшее - надеюсь! - время мне удастся превратить прототип во вполне функциональную носимую навигационную систему :)
Год назад мне удалось подобрать подходящее железо для прототипа. Зимой прототип обкатали на лыжниках, летом - на велосипедистах. Тогда еще не было написано ПО для НК - все части функционала обкатывались на чужих смартфонных программах, совершенно не заточенных под "носимое" применение. Но "полевые испытания" показали, что девайс оказался вполне удобен и юзабелен.
Осенью я начала работать над ПО с "носимым" интерфейсом. В настоящее время это вполне функциональная альфа GPS-навигатора для пешеходов и велосипедистов. Как обычное смартфонное приложение оно прекрасно работает уже сейчас. Оказавшись в незнакомом районе, я запускаю не гугл- или яндекс-карты, а свою программу, чтобы сообразить, как попасть в нужную мне локацию :) Чего пока нет - это автоматической прокладки маршрута между двумя адресами. Работа над этим ведется, задача тривиальна - составить запрос к гуглу, распарсить ответ и завернуть все в подходящий интерфейс :)
До сих пор моему приложению не хватало небольшой, но важной фичи без которой ее нельзя было полноценно использовать в "носимом" режиме. Не хватало беспроводного пульта управления, чтобы можно было управлять программой, не доставая запакованный в мини-кейс смартфон. Чтобы можно было скроллить и масштабировать карту, переключаться с вывода карты на картинку с наголовной камеры или управление медиаплеером.
За последние 2 дня мне удалось реализовать такой беспроводной пульт на базе второго, купленного как запасной, телефона N900. Естественно, релизная верия пульта получится на несколько порядков дешевле нынешней и будет реализована на каком-нибудь PIC'е или ATmega. Но главное, что в ближайшее - надеюсь! - время мне удастся превратить прототип во вполне функциональную носимую навигационную систему :)
no subject
Я не понимаю, что такое "плагины".
В смысле, вообще не понимаю.
Вот делает народ плагины для всяких торрент клиентов и асек - я не понимаю, как можно сделать "common-plugin".
Теперь по теме. С моей точки зрения, тебе инфраструктура для взаимо(дополняемых|заменяемых компонент).
Значит начать нужно с того, что описать, какие компоненты бывают и как их встраивать.
Си/Плюсы для этих целей подходят слабо. Разве что уж разделяемые библиотеки делать
Можно взять шину сообщений d-bus/аналоги.
В любом случае, мне кажется, начать нужно в любом случае с оформления высокоуровневого дизайна системы.
Например, было бы неплохо описать из каких компонент состоит твоя система, какая часть чем занимается.
Также интересным вопросом является вопрос, зачем вообще эта компонентная система нужна.
Подерживать другие платформы?
Писать драйвера?
Сделать другой GUI?
Можно начать с ответов на эти вопросы, как пример.
no subject
Чтобы любой желающий смог дополнить свою носимую систему нужным ему функционалом, не переписывая приложения, а написав и подгрузив свой модуль.
Чтобы в рамках системы разработчику были доступны любые варианты распространения своих функциональных модулей - хоть опенсорс, хоть проприетарь, хоть за деньги, хоть бесплатно.
Чтобы систему можно было легко сконфигурировать под конкретную задачу (например, тренажер для лыжников), добавив недостающее и выкинув все лишнее.
Чтобы была возможность использовать уже готовые логическо-функциональные модули с новой версией интерфейса (одна из основных задач разработки НК - именно изобретение интерфейсов, так что они должны меняться как перчатки.).
> Подерживать другие платформы?
Желательно сделать так, чтобы система при необходимости могла быть перенесена с Maemo на другую платформу.
> Писать драйвера?
Конечно. Для создания действительно удобного носимого компьютера придется экспериментировать с различгной периферией, в т.ч. и самодельной.
> Сделать другой GUI?
Конечно :) Смартфонный интерфейс так же неудобен на НК, как классический десктопный на смартфоне :)
Собственно, здесь уже пошло обсуждение концепции архитектуры:
http://ru-wearable.livejournal.com/99923.html?thread=1072211#t1072211
http://ru-wearable.livejournal.com/99923.html?thread=1074003#t1074003
no subject
Но я не чувствую, что у меня хватит мозгов и опыта, чтобы ответить на выши вопросы, а уж тем более проектировать такую систему.
Буду с интересом следить за развитием событий.