35:58.9
36:05.4
Ну зараз буквально останні роки оця-от природна мова стала вже якоюсь реальністю:
36:05.5
36:10.3
ви пробували і Siri, пробували і google assistant пробували і
36:10.4
36:16.6
, i для китайського ринку природна мова вже є доступна
36:16.7
36:22.0
Відповідно, нарешті воно є чимось реальним і можливим.
36:22.1
36:30.1
Наступний спосіб класифікації - за способом організації програмного забезпечення.
36:30.2
36:39.4
Ті, хто з вас пообирали зараз стиль лабораторних робіт у вигляді мікропроекта,
36:39.5
36:42.8
те ,шо ви мені вже трошечки показували на лабораторних
36:43.8
36:48.1
якраз у вас ті елементи є поки що жорсткого типу
36:48.2
36:52.5
Ті скріни, які я побачив у ваших розробках,
36:52.6
36:58.0
у вас там не було можливості якимось чином міняти зовнішній вигляд скрінів
36:58.1
37:05.9
І оті всі набори скрінів,які ви вже спробували зробити для ваших проектів,для ваших програмок
37:06.0
37:13.5
у вас там все повністю зафіксовано: от ви намалювали, що у вас зверху буде така панелька і все,
37:13.6
37:17.5
і не придумали, яким чином користувач може собі це поміняти.
37:17.6
37:23.6
Чи може він переставити, чи може він собі зробити цю панельку вищою,чи може він її взагалі відключити,
37:23.7
37:30.6
чи не подобається йому шрифт,не подобається йому колір,от у вас все є зараз зафіксовано.
37:30.7
37:37.8
Тобто ви наперед заблокували можливість будь-яких змін.
37:37.9
37:47.0
Як правило,більшість користувачі будуть задоволені,їм цього вистачає,поки вони користуться вперше.
37:47.1
37:55.2
Чим довше користується людина, тим більше вона починає асоціювати вашу програму з її особистістю.
37:55.3
38:04.8
Як тільки почнеться цей процес через пару місяців - ця асоціація зразу почне конфліктувати з вашим фіксованим набором.
38:04.9
38:15.6
Людина почне злитися: "Чому я користуюсь, я такий досвідчений користувач,я ваш постійний користувач чому ви мене заставляєте йти по жорсткому напору?!".
38:15.7
38:22.6
І вона завжди захоче , щоб ви дали можливість зробити гнучкий тип.
38:22.7
38:30.2
Якщо ви цього не зробите, є велика ймовірність, що користувача ви з часом втратите,
38:30.3
38:35.6
а чим більше ви будете їх втрачати,тим відповідно ніхто не буде користуватися вашою програмою.
38:35.7
38:42.1
Не будуть користуватися - не будуть купувати,не будуть купувати - не буде грошей, не буде грошей - не буде розвитку програми.
38:42.2
38:52.7
Спочатку можна зробити фіксовані скріни,через півроку-рік мусите дати можливість гнучкого типу.
38:52.8
39:00.9
Або, щоб була якась певна адаптації до статистики використання постійними користувачами.
39:01.0
39:10.6
Якщо ви бачите, що вони щось використовують, щось - ні,ви маєте переробляти або сама програма має адаптуватися під ці зміни.
39:10.7
39:16.0
І відповідно маєте дати можливість різних схем.
39:16.1
39:22.2
От дуже добре, коли зараз є можливість писати одну і ту саму програму під різні платформи,
39:22.3
39:30.7
ви,наприклад, написали під Андроїд одну програмочку,там по-одному виглядає,написали під планшети - воно ще виглядає по інакшому,
39:30.8
39:38.8
написали під платформу Майкрософт чи під веб-платформу
39:38.9
39:43.7
Нібито там і є фіксовані набори, але людина користується різними гаджетами і оцього
39:43.8
39:53.9
дискомфорту в неї менше з'являється, відповідно гнучкість вже адаптується.
39:54.0
40:06.9
Ну і ,звичайно, що треба, зараз новий тренд у всіх програмних засобах і інтерфейсах - це додавати лінгвістичний процесор.
40:07.0
40:14.4
Тобто ви бачите, що в багатьох програмочках всюди ,де є поле вводу,там де ви клавіатурою
40:14.5
40:24.3
блимає курсорчик і ви починаєте набирати, отут чимбільше починають додавати можливість: такий мікрофончик ставлять,
40:24.4
40:31.0
яким ви можете тут щось говорити і воно саме буде за вас текстик набирати.
40:31.1
40:38.2
І лінгвістичні процесори тепер підключати є дуже легко: тобто є поле вводу,
40:38.3
40:47.0
підставляєте компонент,підключаєте взаємодію класів і ще додається voice-інтерфейс для текстової клавіатури.
40:47.1
40:55.8
Ясно, що людина, яка не хоче витрачати час на набір або вона сидить за комп'ютером,то їй зручно за клавіатурою набирати,
40:55.9
41:04.5
якщо вона за телефоном, на маленькому екрані набирати незручно,voice натиснули,продиктували,
41:04.6
41:14.4
потім при потребі скориктували, схема є більш гнучка,адаптується під різних користувачів,під різні пристрої і легша.
41:14.5
41:22.1
Так само, ви бачите, що зараз є можливість автоматично підключати до цієї лінгвістики і морфологічно-синтаксичний аналіз.
41:22.2
41:29.1
Початки:клавіатури з швидким набором слів,з швидким набором тексту.
41:29.2
41:37.6
Знов-таки,даєте можливість - людина більш задоволена - реалізація виходить кращою.
41:37.7
41:46.5
Ті,хто будуть з вас,всюди де бачите, що у вас буде поле вводу,
41:46.6
41:54.9
домалюєте кнопочку мікрофону,щоб людина мала можливість клікнути і вискочить диктування цієї штуки.
41:55.0
42:03.2
Новий тренд: нарешті є можливість реалізовувати, потреб великих програмування це не вимагає,
42:03.3
42:11.0
на сьогоднішній час, але гнучкість набагато в нас збільшиться.
42:11.1
42:23.0
Всюди,де тепер є поле ,постарайтесь дати можливість вводити звуковим.
42:33.2
43:01.3
Тепер ми розберемо з вами ще один спосіб, це у нас діалоги і типи діалогів.
43:01.4
43:16.1
Отже,є лінгвістичні засоби.Будь-який діалог це завжди якась є лінгвістика.
43:16.2
43:25.5
Тобто якимось чином у вигляді чи слів,чи меню,чи команд ,чи мнімоничних іконочок
43:25.6
43:34.4
у вигляді картиночок відображається якийсь стан нашого програмного продукту,наших програмних вікон
43:34.5
43:42.5
і людина має це прочитати або по іконках або зрозуміти як реагувати на вашу програму.
43:42.6
43:52.6
Отже,у нас все в будь-якому випадку зводиться до набору переліку типових лінгвістичних команд
43:52.7
43:58.6
і яким чином людина реагує на цей лінгвістичний перелік: чи це словесний,чи менюшний ,чи якимись іконочками намальований.
43:58.7
44:03.5
І отут якраз являються і підтипи.Такий,так званий,абстрактний тип,
44:03.6
44:13.3
він дає можливість вам описати основні компоненти і реакції,і взаємодії.
44:13.4
44:22.1
Оце якраз те, шо ви будете робити на лабі №2 і потім удосконалювати на лабораторній №4.
44:22.2
44:32.0
Тобто це буде така абстракція.От дехто з вас у своїх мікропроектах, ви малювали скріни,
44:32.1
44:42.2
що буде наступним скріном, не дуже детально ви розмалювали кнопочки, не дуже детально ви розмалювали поля вводу.
44:42.3
44:52.6
Щось мусить бути і кудись переходити.Оце є перший абстрактний етап, де ви зробили розкидку по основних компонентах,
44:52.7
45:03.1
просто розкидали ,які дії буде виконувати людина і які будуть реакції, наприклад, кнопочок і скрінів самої програми.
45:03.2
45:11.9
Або навпаки: щось зробила ваша програма, вона має щось показати на екрані і має бути якась адекватна реакція людини.
45:12.0
45:20.6
Наприклад,програма завершила стирати якийсь файл і вискакує віконечко ,каже:"Все, я завершив стирати,виключити комп'ютер".
45:20.7
45:29.3
Все,людина зреагувала - виключила комп'ютер.Або,наприклад,ви набрали кнопочку "Форматувати весь вінчестер",
45:29.4
45:38.4
реакція системи може і не стирає всі файли, тобто мусить бути дія і реакція.
45:38.5
45:48.9
Тобто ви зараз абстракно у вигляді таких приблизних скрінів розмальовуєте.
45:49.0
45:53.8
Якщо ж,наприклад, ви збираєтеся писати у вигляді такого текстового інтерфейсу,де будете керувати командами
45:53.9
46:04.6
або створювати якийсь API,тобто команди виклику якихось дій,зрозуміло,що треба буде зробити якийсь інтерпретатор.
46:04.7
46:13.8
Тобто воно має тоді якимось чином ділити на складники оці команди,ділити на параметри,
46:13.9
46:21.0
якісь мають бути розділювачі між елементами або хеш-теги,ви будете в перелік передавати.
46:21.1
46:28.8
От так само, як пишуться боти для телеграма: ви можете давати певні команди,
46:28.9
46:38.6
чи дефісам їх спереду задавати чи хеш-тегами,відповідно інтерпретатор має реагувати на оті ключові символи для взаємодії.
46:38.7
46:54.4
Ну і, ви маєте чітко,однозначно вказати,що ми показуємо,яка буде однозначна дія і яка буде однозначна реакція.
46:54.5
47:05.4
Тобто от якраз перший етап створення нового інтерфейса - це зробити щось хоча б просте і пряме,
47:05.5
47:12.8
якщо ви зробили вже щось пряме,початкове, далі вже більш гнучке,ми доробимо вдосконалимо в 4 лабораторній роботі.
47:12.9
47:23.5
Отже з абстрактним типом ми розібралися.Перший етап ескізів ви накидаєте по предметній області і
47:23.6
47:31.3
далі треба переходити до конкретного.Отут якраз повністю на цьому етапі визначаються
47:31.4
47:39.7
всі чіткі повідомлення, все, що буде конкретно написано на кожному скріні,тобто:чому саме таке
47:39.8
47:46.8
лінгвістичне слово ви вибрали для такої команди,чому саме такий розмір шрифта,чому саме таке положення,
47:46.9
47:55.2
чому,наприклад, на екрані, ви поставили кнопочку "Окей" саме тут, чому її не можна було розмістити отут.
47:55.3
48:00.1
Чому саме тут написали якийсь заголовок цього всього.