1
00:35:58,900 --> 00:36:05,400
Ну зараз буквально останні роки оця-от природна 
мова стала вже якоюсь реальністю:

2
00:36:05,500 --> 00:36:10,300
ви пробували і Siri, пробували і google assistant 
пробували і

3
00:36:10,400 --> 00:36:16,600
, i для китайського ринку природна мова вже 
є доступна

4
00:36:16,700 --> 00:36:22,000
Відповідно, нарешті  воно є чимось реальним 
і можливим.

5
00:36:22,100 --> 00:36:30,100
Наступний спосіб класифікації - за способом 
організації програмного забезпечення.

6
00:36:30,200 --> 00:36:39,400
Ті, хто з вас пообирали зараз стиль лабораторних 
робіт у вигляді мікропроекта,

7
00:36:39,500 --> 00:36:42,800
те ,шо ви мені вже трошечки показували на 
лабораторних

8
00:36:43,800 --> 00:36:48,100
якраз у вас ті елементи є поки що жорсткого 
типу

9
00:36:48,200 --> 00:36:52,500
Ті скріни, які я побачив у ваших розробках,

10
00:36:52,600 --> 00:36:58,000
у вас там не було можливості якимось чином 
міняти зовнішній вигляд скрінів

11
00:36:58,100 --> 00:37:05,900
І оті всі набори скрінів,які ви вже спробували 
зробити для ваших проектів,для ваших програмок

12
00:37:06,000 --> 00:37:13,500
у вас там все повністю зафіксовано: от ви 
намалювали, що у вас зверху буде така панелька 
і все,

13
00:37:13,600 --> 00:37:17,500
і не придумали, яким чином користувач може 
собі це поміняти.

14
00:37:17,600 --> 00:37:23,600
Чи може він переставити, чи може він собі 
зробити цю панельку вищою,чи може він її 
взагалі відключити,

15
00:37:23,700 --> 00:37:30,600
чи не подобається йому шрифт,не подобається 
йому колір,от у вас все є зараз зафіксовано.

16
00:37:30,700 --> 00:37:37,800
Тобто ви наперед заблокували можливість будь-яких 
змін.

17
00:37:37,900 --> 00:37:47,000
Як правило,більшість користувачі будуть задоволені,їм 
цього вистачає,поки вони користуться вперше.

18
00:37:47,100 --> 00:37:55,200
Чим довше користується людина, тим більше 
вона починає асоціювати вашу програму з її 
особистістю.

19
00:37:55,300 --> 00:38:04,800
Як тільки почнеться цей процес через пару 
місяців - ця асоціація зразу почне конфліктувати 
з вашим фіксованим набором.

20
00:38:04,900 --> 00:38:15,600
Людина почне злитися: "Чому я користуюсь, 
я такий досвідчений користувач,я ваш постійний 
користувач чому ви мене заставляєте йти по 
жорсткому напору?!".

21
00:38:15,700 --> 00:38:22,600
І вона завжди захоче , щоб ви дали можливість 
зробити гнучкий тип.

22
00:38:22,700 --> 00:38:30,200
Якщо ви цього не зробите, є велика ймовірність, 
що користувача ви з часом втратите,

23
00:38:30,300 --> 00:38:35,600
а чим більше ви будете їх втрачати,тим відповідно 
ніхто не буде користуватися вашою програмою.

24
00:38:35,700 --> 00:38:42,100
Не будуть користуватися - не будуть купувати,не 
будуть купувати - не буде грошей, не буде 
грошей - не буде розвитку програми.

25
00:38:42,200 --> 00:38:52,700
Спочатку можна зробити фіксовані скріни,через 
півроку-рік мусите дати можливість гнучкого 
типу.

26
00:38:52,800 --> 00:39:00,900
Або, щоб була якась певна адаптації до статистики 
використання постійними користувачами.

27
00:39:01,000 --> 00:39:10,600
Якщо ви бачите, що вони щось використовують, 
щось - ні,ви маєте переробляти або сама програма 
має адаптуватися під ці зміни.

28
00:39:10,700 --> 00:39:16,000
І відповідно маєте дати можливість різних 
схем.

29
00:39:16,100 --> 00:39:22,200
От дуже добре, коли зараз є можливість писати 
одну і ту саму програму під різні платформи,

30
00:39:22,300 --> 00:39:30,700
ви,наприклад, написали під Андроїд одну програмочку,там 
по-одному виглядає,написали під планшети 
- воно ще виглядає по інакшому,

31
00:39:30,800 --> 00:39:38,800
написали під платформу Майкрософт чи під 
веб-платформу

32
00:39:38,900 --> 00:39:43,700
Нібито там і є фіксовані набори, але людина 
користується різними гаджетами і оцього

33
00:39:43,800 --> 00:39:53,900
дискомфорту в неї менше з'являється, відповідно 
гнучкість вже адаптується.

34
00:39:54,000 --> 00:40:06,900
Ну і ,звичайно, що треба, зараз новий тренд 
у всіх програмних засобах і інтерфейсах - 
це додавати лінгвістичний процесор.

35
00:40:07,000 --> 00:40:14,400
Тобто ви бачите, що в багатьох програмочках 
всюди ,де є поле вводу,там де ви клавіатурою

36
00:40:14,500 --> 00:40:24,300
блимає курсорчик і ви починаєте набирати, 
отут чимбільше починають додавати можливість: 
такий мікрофончик ставлять,

37
00:40:24,400 --> 00:40:31,000
яким ви можете тут щось говорити і воно саме 
буде за вас текстик набирати.

38
00:40:31,100 --> 00:40:38,200
І лінгвістичні процесори тепер підключати 
є дуже легко: тобто є поле вводу,

39
00:40:38,300 --> 00:40:47,000
підставляєте компонент,підключаєте взаємодію 
класів і ще додається voice-інтерфейс для 
текстової клавіатури.

40
00:40:47,100 --> 00:40:55,800
Ясно, що людина, яка не хоче витрачати час 
на набір або вона сидить за комп'ютером,то 
їй зручно за клавіатурою набирати,

41
00:40:55,900 --> 00:41:04,500
якщо вона за телефоном, на маленькому екрані 
набирати незручно,voice натиснули,продиктували,

42
00:41:04,600 --> 00:41:14,400
потім при потребі скориктували, схема є більш 
гнучка,адаптується під різних користувачів,під 
різні пристрої і легша.

43
00:41:14,500 --> 00:41:22,100
Так само, ви бачите, що зараз є можливість 
автоматично підключати до цієї лінгвістики 
і морфологічно-синтаксичний аналіз.

44
00:41:22,200 --> 00:41:29,100
Початки:клавіатури з швидким набором слів,з 
швидким набором тексту.

45
00:41:29,200 --> 00:41:37,600
Знов-таки,даєте можливість - людина більш 
задоволена - реалізація виходить кращою.

46
00:41:37,700 --> 00:41:46,500
Ті,хто будуть з вас,всюди де бачите, що у 
вас буде поле вводу,

47
00:41:46,600 --> 00:41:54,900
домалюєте кнопочку мікрофону,щоб людина мала 
можливість клікнути і вискочить диктування 
цієї штуки.

48
00:41:55,000 --> 00:42:03,200
Новий тренд: нарешті є можливість реалізовувати, 
потреб великих програмування це не вимагає,

49
00:42:03,300 --> 00:42:11,000
на сьогоднішній час, але гнучкість набагато 
в нас збільшиться.

50
00:42:11,100 --> 00:42:23,000
Всюди,де тепер є поле ,постарайтесь дати 
можливість вводити звуковим.

51
00:42:23,100 --> 00:42:33,100
Перерва.

52
00:42:33,200 --> 00:43:01,300
Тепер ми розберемо з вами ще один спосіб, 
це у нас діалоги і типи діалогів.

53
00:43:01,400 --> 00:43:16,100
Отже,є лінгвістичні засоби.Будь-який діалог 
це завжди якась є лінгвістика.

54
00:43:16,200 --> 00:43:25,500
Тобто якимось чином у вигляді чи слів,чи 
меню,чи команд ,чи мнімоничних іконочок

55
00:43:25,600 --> 00:43:34,400
у вигляді картиночок відображається якийсь 
стан нашого програмного продукту,наших програмних 
вікон

56
00:43:34,500 --> 00:43:42,500
і людина має це прочитати або по іконках 
або зрозуміти як реагувати на вашу програму.

57
00:43:42,600 --> 00:43:52,600
Отже,у нас все в будь-якому випадку зводиться 
до набору переліку типових лінгвістичних 
команд

58
00:43:52,700 --> 00:43:58,600
і яким чином людина реагує на цей лінгвістичний 
перелік: чи це словесний,чи менюшний ,чи 
якимись іконочками намальований.

59
00:43:58,700 --> 00:44:03,500
І отут якраз являються і підтипи.Такий,так 
званий,абстрактний тип,

60
00:44:03,600 --> 00:44:13,300
він дає можливість вам описати основні компоненти 
і реакції,і взаємодії.

61
00:44:13,400 --> 00:44:22,100
Оце якраз те, шо ви будете робити на лабі 
№2 і потім удосконалювати на лабораторній 
№4.

62
00:44:22,200 --> 00:44:32,000
Тобто це буде така абстракція.От дехто з 
вас у своїх мікропроектах, ви малювали скріни,

63
00:44:32,100 --> 00:44:42,200
що буде наступним скріном, не дуже детально 
ви розмалювали кнопочки, не дуже детально 
ви розмалювали поля вводу.

64
00:44:42,300 --> 00:44:52,600
Щось мусить бути і кудись переходити.Оце 
є перший абстрактний етап, де ви зробили 
розкидку по основних компонентах,

65
00:44:52,700 --> 00:45:03,100
просто розкидали ,які дії буде виконувати 
людина і які будуть реакції, наприклад, кнопочок 
і скрінів самої програми.

66
00:45:03,200 --> 00:45:11,900
Або навпаки: щось зробила ваша програма, 
вона має щось показати на екрані і має бути 
якась адекватна реакція людини.

67
00:45:12,000 --> 00:45:20,600
Наприклад,програма завершила стирати якийсь 
файл і вискакує віконечко ,каже:"Все, я завершив 
стирати,виключити комп'ютер".

68
00:45:20,700 --> 00:45:29,300
Все,людина зреагувала - виключила комп'ютер.Або,наприклад,ви 
набрали кнопочку "Форматувати весь вінчестер",

69
00:45:29,400 --> 00:45:38,400
реакція системи може і не стирає всі файли, 
тобто мусить бути дія і реакція.

70
00:45:38,500 --> 00:45:48,900
Тобто ви зараз абстракно у вигляді таких 
приблизних скрінів розмальовуєте.

71
00:45:49,000 --> 00:45:53,800
Якщо ж,наприклад, ви збираєтеся писати у 
вигляді такого текстового інтерфейсу,де будете 
керувати командами

72
00:45:53,900 --> 00:46:04,600
або створювати якийсь API,тобто команди виклику 
якихось дій,зрозуміло,що треба буде зробити 
якийсь інтерпретатор.

73
00:46:04,700 --> 00:46:13,800
Тобто воно має тоді якимось чином ділити 
на складники оці команди,ділити на параметри,

74
00:46:13,900 --> 00:46:21,000
якісь мають бути розділювачі між елементами 
або хеш-теги,ви будете в перелік передавати.

75
00:46:21,100 --> 00:46:28,800
От так само, як пишуться боти для телеграма: 
ви можете давати певні команди,

76
00:46:28,900 --> 00:46:38,600
чи дефісам їх спереду задавати чи хеш-тегами,відповідно 
інтерпретатор має реагувати на оті ключові 
символи для взаємодії.

77
00:46:38,700 --> 00:46:54,400
Ну і, ви маєте чітко,однозначно вказати,що 
ми показуємо,яка буде однозначна дія і яка 
буде однозначна реакція.

78
00:46:54,500 --> 00:47:05,400
Тобто от якраз перший етап створення нового 
інтерфейса - це зробити щось хоча б просте 
і пряме,

79
00:47:05,500 --> 00:47:12,800
якщо ви зробили вже щось пряме,початкове, 
далі вже більш гнучке,ми доробимо вдосконалимо 
в 4 лабораторній роботі.

80
00:47:12,900 --> 00:47:23,500
Отже з абстрактним типом ми розібралися.Перший 
етап ескізів ви накидаєте по предметній області 
і

81
00:47:23,600 --> 00:47:31,300
далі треба переходити до конкретного.Отут 
якраз повністю на цьому етапі визначаються

82
00:47:31,400 --> 00:47:39,700
всі чіткі повідомлення, все, що буде конкретно 
написано на кожному скріні,тобто:чому саме 
таке

83
00:47:39,800 --> 00:47:46,800
лінгвістичне слово ви вибрали для такої команди,чому 
саме такий розмір шрифта,чому саме таке положення,

84
00:47:46,900 --> 00:47:55,200
чому,наприклад, на екрані, ви поставили кнопочку 
"Окей" саме тут, чому її не можна було розмістити 
отут.

85
00:47:55,300 --> 00:48:00,100
Чому саме тут написали якийсь заголовок цього 
всього.

