[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Общего плана ->Предложения по развитию DL 1, 2, 3, 4, 5, 6, 7, 8
Автор Сообщение
Михаил Долинский

Темы: 1982
Сообщений: 47182

Мой профиль
Посмотрел Сашин обзор

Вот мои соображения:
1. Нужно обобщения какие-то попытаться сделать об интерфейсе
- что хорошего/плохого может быть/есть в интерфейсе обозреваемых продуктов

2. Виды заданий (посмотреть бы образцы)
- Drag and Drop
- Match The Following
- Hot Spot
- Multiple Hot Spot
- Simulation
- Tree View

3. Экраны TopCoder - ? можно ли поменять черный цвет на белый - очень плохо видно, по-моему.
Михаил Долинский

Темы: 1982
Сообщений: 47182

Мой профиль
Саша Козлов сделал первую версию прототипа GUI для нового DL-клиента.


Предлагаю начать со следующей функциональности:

Цель - клиент для обучаемого (участника личной/командной олимпиады).

1. Человек вводит свой ID и пароль и попадает на курс, в котором он работал в последний раз.
2. Первый раз запускается НАШ ХОРОШО ПРОДУМАННЫЙ десктоп по умолчанию.
Человек может расставить(переставить/удалить/добавить)окна-фреймы как ему удобно и запомнить ДЛЯ СЕБЯ настроенный десктоп.
При всех последующих входах будет восстанавливаться последний запомненный десктоп.
Мы должны подготовить ДЕСКТОПЫ по умолчанию для каждого режима работы (аноним, ученик, участник олимпиад ...)
Десктопы человека могут иметь имена, человек может восстанавливать нужный десктоп по имени.
3. В десктопе по умолчанию должны быть окна (фреймы):
- дерево задач
- текст задачи
- очередь/протокол тестирования
- настроенная таблица результатов (автоматически обновляющаяся)
- ?форум
- ?почта
4. В качестве первочередных функций клиента:
- получить дерево задач/условия задачи/отослать решение/посмотреть протокол(взять тест)/посмотреть таблицу результатов
5. Поддержать автоматическую выдачу заданий:
пока показываем одно задание - "подтягиваем" еще два - какое предъявлять следующим в случае правильного/неправильного решения текущей задачи.
6. Быть готовым кешировать задания на стороне клиента.
7. Поддержать множественную работу (например из компьютерных классов СШ27)
8. Если задание кешировано - брать его на клиенте(локальном сервере в СШ27), а не на сервере DL.

Немножко поиграл с Сашиным прототипом клиента. Идея нравится, но реализацию еще менять и менять.
Предлагаю дать возможность пользователю УКАЗАТЬ среду, которая должна вызываться для редактирования решений и тестов - (Turbo Pascal, Free Pascal, Delphi, ... WInter, HLCCAD).
Александр Козлов

Темы: 0
Сообщений: 10

Мой профиль
2. Первый раз запускается НАШ ХОРОШО ПРОДУМАННЫЙ десктоп по умолчанию.
Человек может расставить(переставить/удалить/добавить)окна-фреймы как ему удобно и запомнить ДЛЯ СЕБЯ настроенный десктоп.
При всех последующих входах будет восстанавливаться последний запомненный десктоп.
Мы должны подготовить ДЕСКТОПЫ по умолчанию для каждого режима работы (аноним, ученик, участник олимпиад ...)
Десктопы человека могут иметь имена, человек может восстанавливать нужный десктоп по имени.
 

Согласен, хорошая идея.
Структура окон Eclips-а так и посторена, так что есть определенный образец для воссоздания.


3. В десктопе по умолчанию должны быть окна (фреймы):
- дерево задач
- текст задачи
- очередь/протокол тестирования
- настроенная таблица результатов (автоматически обновляющаяся)
- ?форум
- ?почта
 

Да, это необходимый минимум.


7. Поддержать множественную работу (например из компьютерных классов СШ27)
 

Можно подробнее, могу неправильно понять.


Немножко поиграл с Сашиным прототипом клиента. Идея нравится, но реализацию еще менять и менять.
 

Это, конечно Тут еще ничего и нету, только грубые сырые наброски.


Предлагаю дать возможность пользователю УКАЗАТЬ среду, которая должна вызываться для редактирования решений и тестов - (Turbo Pascal, Free Pascal, Delphi, ... WInter, HLCCAD).
 

Тоже хорошая идея.

Вообщем задача поставлена, цель есть, нужно двигаться понемногу вперед.
Михаил Долинский

Темы: 1982
Сообщений: 47182

Мой профиль

7. Поддержать множественную работу (например из компьютерных классов СШ27)
 

Можно подробнее, могу неправильно понять. 
Имелось ввиду следующее:
На машинах комп.класса СШ27 стоят клиенты. Они общаются не напрямую с сайтом DL, а с твоим сервером, который общается с сервером DL и стоит, например, на сервере СШ27. Если человек ставит дома - то он тоже ставит у себя клиентскую и серверную часть (незаметно для себя). Твой сервер как раз и сможет кешировать у себя разную информацию (рисунки и тексты заданий, например), существенно сокращая нагрузку на канал связи СШ27-ГГУ.
Михаил Долинский

Темы: 1982
Сообщений: 47182

Мой профиль
Новая версия клиента:
Маленький шрифт
12-й шрифт
Александр Козлов

Темы: 0
Сообщений: 10

Мой профиль
Итак, список TODO на ближайшее время:

1) Общее
- запустить в СШ27 (инсталлятор Adbobe AIR ?)

2) Сервисы для взаимодействия с серверной БД и серверным кодом

После того, как хотя бы первый сервис будет реализован можно приступать к реализации следующих пунктов:
- ввести ID и пароль
- загрузить последний курс
- загрузить первую несданную задачу
- отсылка
- очередь/протокол тестирования
- табличка результатов / динамическое отображение

Время на создание первого сервиса потребуется гораздо больше, чем на создание последующих. По нескольким причинам:
1. нужно рассмотреть все возможности среды Flex/AIR для взаимодействия с сервером, и выбрать наиболее подходящий под наши нужды
2. создать описание сервиса у нас на сервере
3. создать сам сервис

Шаг 1 и 2 нужно будет сделать только один раз, поэтому создание первого сервиса займет больше времени, дальше в плане создания сервисов проще, работа с существующим кодом - это уже другой вопрос.

Мой список TODO:

2. Вынести все оформление во внешний CSS файл для легкой смены стилей и локализации всех стилевых правил в одном файле
4. Выяснить как ApplicationControlBar влияют на общий размер (ширина, высота) приложения
8. Добавить иконку "Завершение сеанса"

9. View для задач и условий
10. View для результатов
11. View для тестирования

12. XML структура данных
13. Структура локальной БД

14. Сервисы для взаимодействия с серверной БД и серверным кодом

15. View для настройки приложения (сделать максимально похожим по виду и функциональности на окно настроек Eclipse-а)
16. Заполнить область HomeView полезной информацией

1. Фильтрация по имени курса
3. Добавить breadcump
5. Добавить строку статуса с иконками: Соединен (Отсоединен), Обновить
6. Добавить временную полосу для соревнований (весь период, час, минута)
7. Придумать способ перехода в режим соревнований (Accordion ?)

Приоритет в разработке - создание приложения, которым можно было бы пользоваться как можно раньше.

На 1-м этапе - для программистких задач (соревнования по воскресеньям), на 2-м этапе - задачи по математике и английскому.
Михаил Долинский

Темы: 1982
Сообщений: 47182

Мой профиль
И еще пожелания:
1) Продуманный интерфейс
Все что нужно - присутствует на экране ОДНОВРЕМЕННО, работа совершается минимальным количеством кликов. Пользователям должно быть УДОБНЕЕ работать в новом клиенте, чем в традиционной системе, когда для каждой функциональности нужно открывать свою html-страничку.
2) Гибкий код реализации - то, что нам сегодня кажется хорошим интерфейсом, завтра может разонравиться. Надо быть готовым ко внесению изменений.
3) ПО ВОЗМОЖНОСТИ (без существенного увеличения времени разработки) - обеспечить максимально настраиваемый пользователем интерфейс - расположение информации, размеры фрагментов, цвет, "рюшечки" и т.д.
4) Минимальность
Давай уберем все, кроме того, что действительно необходимо, чтобы не отвлекаться во время разработки от главного. Элемент интерфейса добавляется, только если он действительно необходим. Например, СЕЙЧАС на первом экране не нужны описание проекта и новости - нужны только поля для ввода ID и пароля !!! Их и нужно оставить, все остальное - убрать и пока не тратить время на это остальное.
Александр (aka MagiC) Зорин

Темы: 2
Сообщений: 70

Мой профиль
Еще можно объявить конкурс на новый дизайн для DL нового поколения, дизайн в стиле WEB 2.0 принеприменно
Предложения принимать в виде psd файлов или другой графики. Ведь если уж менять интерфейс, деалть новые GUI нужен и дизайн стильный и функциональный, а конкурс и бонусные баллы отличный стимул думаю!
______________________
"Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн! Фхтагн! Фхтагн!"(с) Говард наш Лавкрафт
Михаил Долинский

Темы: 1982
Сообщений: 47182

Мой профиль
Объявляю конкурс
Саша - да кто в нем участвовать, то будет?
Это же надо УМЕТЬ!!

А ты будешь?
Что там бонусы - за хорошие идеи(а тем более реализации), я и деньги готов заплатить.

Только СТАТИЧЕСКИЕ картинки наверно не интересны.
Нужен МАКЕТ клиента (с реакцией на клики).
Александр (aka MagiC) Зорин

Темы: 2
Сообщений: 70

Мой профиль


Михаил Долинский:

Объявляю конкурс
Саша - да кто в нем участвовать, то будет?
Это же надо УМЕТЬ!!
А ты будешь?
Что там бонусы - за хорошие идеи(а тем более реализации), я и деньги готов заплатить.
Только СТАТИЧЕСКИЕ картинки наверно не интересны.
Нужен МАКЕТ клиента (с реакцией на клики).  

Макет не обещаю на это время нужно, что бы придумать, написать и сверстать. Но думаю как минимум картинку сделаю, вот разберусь с курсовыми.. своими и не только, сдам пару экзаменов и зачетиков и помогу чем смогу.
______________________
"Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн! Фхтагн! Фхтагн!"(с) Говард наш Лавкрафт
Михаил Долинский

Темы: 1982
Сообщений: 47182

Мой профиль
Ну для того, чтобы нарисовать картинку, необязательно сдавать все что положено. Клиент уже ПИШЕТСЯ - дорога ложка к обеду ... Тем не менее, "лучше поздно, чем никогда".
Михаил Долинский

Темы: 1982
Сообщений: 47182

Мой профиль
Кстати Саша Козлов и Саша Зорин:
/NForum/posts/topicshow/610.dl?postid=2907#2907
Александр (aka MagiC) Зорин

Темы: 2
Сообщений: 70

Мой профиль


Михаил Долинский:

Ну для того, чтобы нарисовать картинку, необязательно сдавать все что положено. Клиент уже ПИШЕТСЯ - дорога ложка к обеду ... Тем не менее, "лучше поздно, чем никогда". 
Ну на грамотно построенный клиент (блочная верстка и формат за счет преимущественно только CSS) дизайн можно "натянуть" шаблоном, причем любой, разработать и сверстать, другое дело если левой ногой написано будет в виде HTML таблички, но надеюсь что нет.


Михаил Долинский:

Кстати Саша Козлов и Саша Зорин:
/NForum/posts/topicshow/610.dl?postid=2907#2907 
Я читал этот топик, давайте я хотя бы с деревом задач разберусь для начала, у меня не так много времени как хотелось бы, на работе нагрузки хватает, а сейчас, как известно, еще и сессия грядет...
______________________
"Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн! Фхтагн! Фхтагн!"(с) Говард наш Лавкрафт
Александр Козлов

Темы: 0
Сообщений: 10

Мой профиль


MagiC:


Еще можно объявить конкурс на новый дизайн для DL нового поколения, дизайн в стиле WEB 2.0 принеприменно
Предложения принимать в виде psd файлов или другой графики. Ведь если уж менять интерфейс, деалть новые GUI нужен и дизайн стильный и функциональный, а конкурс и бонусные баллы отличный стимул думаю!
 


MagiC:


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


MagiC:


Ну на грамотно построенный клиент (блочная верстка и формат за счет преимущественно только CSS) дизайн можно "натянуть" шаблоном, причем любой, разработать и сверстать, другое дело если левой ногой написано будет в виде HTML таблички, но надеюсь что нет.
 

Уточню. Клиент делается на Flex/Adobe AIR, так что HTML-ный шаблон тут совершенно ни причем, как и web 2.0.
Если есть желание нарисовать внешний вид клиента, то это можно будет сделать, когда будут определены все основные элементы приложения, созданы соответствующие названия стилей, написано руководство какой стиль к какому элементу окна соответствует, вот тогда можно на чистом CSS описать внешний вид приложения, т.е. по сути создать отдельную тему/скин для приложения. А так об это пока еще рано говорить.


Михаил Долинский:


Кстати Саша Козлов и Саша Зорин:
/NForum/posts/topicshow/610.dl?postid=2907#2907
 

Вообщем, это как раз таки то, что мы хотим создать, по крайней мере это клиент точно будет уметь.
Александр Козлов

Темы: 0
Сообщений: 10

Мой профиль
Итак, отчет за неделю 06.05-13.05.
Визуального нового результата на этой неделе не было. Занимался изучением вопроса создания сервиса для взаимодействия с сервером.
Значит так, есть 3 способа работы с сервером:
1) Посредством HTTP сервисов, объект HTTPService со стороны Flex-а (клиента), Java сервлеты или JSP страницы со стороны сервера (Rest-style сервисы)
2) Веб сервисы, объект WebService со стороны Flex-а (клиента), SOAP веб сервисы со стороны сервера (чистые веб сервисы)
3) С использованием протокола AMF (Adobe Message Format), RemoteObject со стороны Flex-а (клиента), поддержка протокола AMF со стороны сервера.

Если подвести итог по данным 3-м способам соединения с сервером можно сказать, что:
1-й способ хорош тем, что Java сервлеты в реализации проще, чем веб сервисы из пункта 2. Веб сервисы хороши в случае, если уже есть готовые используемые сервисы со стороны сервера (т.е. фактически интеграция с существующей функциональностью).

3-й способо хорош тем, что он самый быстрый и следственно "дешевый" ("дешевый" в смысле передаваемого объема трафика, поэтому и самый быстрый). Передача данных происходит в бинарном формате, в отличие от первых двух способах, в которых передача осуществляется с помощью XML сообщений (объем текста существенно больше и скорость передачи меньше).

Я больше склоняюсь к использованию 3-го способа взаимодействия с сервером, с помощью AMF протокола.
Как всегда не все так просто
Данный способ взаимодействия возможен либо с Coldfusion сервером, либо с сервером, на котором установлена служба Adobe LiveCycle DataService ES (которая платная).
Но, есть решение. Adobe предлагает технологию BlazeDS, которая предоставляет API и необходимые библиотеки для интеграции протокола (и как результат возможность использовать протокол AMF) для любого J2EE Web/Application сервера.

Но, в этом есть и преимущество. Я вижу способ реализации данного взаимодействия следующим образом:
- мы устанавливаем отдельный web/application сервер (например, JBoss или Tomcat), который работает независимо от веб сервера DL (Resin). Т.е. если сервер Resin остановиться, то сервер, с которым общается клиент будет продолжать работать, и следовательно клиент также будет работать (это и есть преимущество).
На сервер клиента (JBoss или Tomcat) мы вылаживаем JAR библиотеку DL (т.е. серверную функциональность DL), с помощью которой осуществляется доступ к БД и к существующему коду (автовыдача заданий, дифференцируемое дерево, тестирование задач и т.д.).

Таков итог этой недели.

Сегодня в 18:30 начнется конференция в Минске посвященная Java/Adobe технологиям, в частности будет презентация про BlazeDS технологию, докладчик - сотрудник Adobe из Румынии, конференция на английском языке.
Темы сегодняшних докладов:
1) “Special Features of Statement and PreparedStatement Classes”
2) “Integrating BlazeDS and Spring Framework”
3) “Phoenix: New Way of Portal Development”
4) “Model-driven Development with LCDS and Flex”

Будет происходить интернет-трансляции конференции по адресу http://experts.na3.acrobat.com/bafpug/, кому интересно может присоединиться. Также будут встречи 14 и 15 мая (насчет интернет вещания этих встреч еще неизвестно). Подробности - на сайте http://belarusjug.org

Собственно планирую принять участие.
Это что-то вроде TODO на следующую неделю.
Также планирую:
1) реализовать описанный мною подход взаимодействия дома в тестовой среде
2) в случае успеха, реализовать простейшие сервисы DL - вход в систему, получить дерево курсов, получить дерево задач, получить условие задачи, отправить условие на тестирование (это программа максимум)

Завтра к 9:00 могу подойди в школу, если есть вопросы.
 
Индекс форума ->Общего плана ->Предложения по развитию DL 1, 2, 3, 4, 5, 6, 7, 8
Time:0,047