LINE Bot Maker
教育向けビジュアルプログラミングツール
Visual programming tools for education
社会課題:IT人材の不足
Social Issue: The shortage of IT Engineer
2030年時点で、
IT人材が需要に対して30%(45万人)
不足するシナリオ
→ IT人材を増やす必要性に迫られている
As of 2030, the IT human resources shortfall of 30% (450,000) of demand
Shortage scenario
→ The need to increase the number of IT personnel is pressing.
社会課題:IT人材の不足
Social Issue: The shortage of IT Engineer
As of 2030, the IT human resources shortfall of 30% (450,000) of demand
Shortage scenario
→ The need to increase the number of IT personnel is pressing.
社会課題:IT人材の不足
Social Issue: The shortage of IT Engineer
子供たちにプログラミングで誰かの役に立つ楽しさ
を知ってもらい、成功体験を積んでもらう
Let children experience the fun and success of helping others through programming.
我々のアプローチ / Our Approach
独自の価値提案 / Unique value proposition
Even primary school students
Can create a useful LINE Bot
The Visual Programming Tool
ソリューション / Solution
小学生でも
実用的なLINE Bot を作成できる
ビジュアルプログラミングツール
なぜLINE Botか
Why LINE Bot?
LINE: 日常的に利用されるアプリ
LINE : An application for daily use
① 身近な人に使ってもらいやすい / Easy for people close to you to use.
② 実用的なプロダクトを作りやすい / Easy to create practical products
既存のビジュアルプログラミングツール
ゲームベースのもの
学校の教科で利用されるもの
問題点:誰かの役に立つプロダクト・課題を解決するプロダクトは作りづらい
問題点:センサーなどのハードウェアが必要.あくまで理解を助ける教材としての側面が強い
Scratch, MoonBlockなど
算数)Turtle graphics
理科) センサなどを利用するもの
誰かの役に立つプロダクト・課題を解決するプロダクトは作りづらい
→ ここにモチベーションを見出す子供たちにできていない
The Existing Visual Programming Tools
Based on game
Used in school projects
Problem: It is hard to create a product that is useful to someone or solves a problem.
Problem: Hardware, such as sensors, are needed to aid in understanding.
Scratch, MoonBlock, etc.
Arithmetic: Turtle graphics
Science: Using sensors, etc.
It is hard to create a product that is useful to someone or solves a problem
→ Not done by children who find motivation here
ビジュアルプログラミング
Early adopterのペルソナ / Early Adopter Personas
名前 | 高橋京子 |
年齢 | 38歳 |
出身 | 埼玉 |
仕事 | 小学校教師 |
心配事 | プログラミング教育の必修化でどういった教材を用意すればよいか分からない. |
ITの知識 | ITについてぶっちゃけよく分かっていないが、重要だとは思っている. |
ユーザーストーリー
User Story
制作する
Make it!
成功体験
Successful Experience
使ってもらう
(親・自分・友達)
Use by Parents, self, friends
より実践的なプログラミングへの
モチベーション
Motivation for more practical programming
ビジュアルプログラミングに
興味を持ってもらう
Have interesting with visual programming.
ロードマップ / Road Map
Prototype (2022)
2030
プロダクトを作る → 使ってもらう → 成功体験を得る
のサイクルを実現する。
Realize the cycle: creating a product → getting people to use it → gaining success experience.
よりモチベーションを高める・サイクルの強化 / More motivational/cycle reinforcement
課題:継続利用や次のモチベーションにつながりづらい
ソリューション:
ユーザー同士でプログラムを公開、いいね・コメント機能など、相互交流の促進
Issue: Difficult to motivate continued use and next steps
Solution:
Open the program to other users and promote mutual interaction, such as like and comment functions.
ロードマップ / Road Map
2040
課題:自分の作ったもので誰かの役に立つ喜びを知らない子が多い
ソリューション:
教育機関の導入
2050
IT教育のスタンダードに
自発的に小学生がプログラミングをやり,IT人材の不足を解決する状況を作り出す
より実践的なプログラミングへの
モチベーション
ビジュアルプログラミングに
興味を持ってもらう
課題:実際のプログラミングへ繋がりづらい
ソリューション:
テキストプログラミング言語への橋渡し
サービスを利用して
成功体験を得る
Prototype (2022)
Parents: Concern about programming education. But they are glad that children can receive programming education
Child: Realize the cycle of creating a product → Let friends to use it → Gain success experience.
2030
課題:実際のプログラミングへ繋がりづらい
ソリューション:モードを切り替えることによって,テキストプログラミングもできるようになる
Issue: Difficulty in connecting to actual programming
Solution: By switching modes, text programming can also be done.
ロードマップ / Road Map
2040
課題:プログラミングを通じてなんとなく身近な課題解決を個人でしているだけに過ぎない
ソリューション:
チームで課題特定,解決策の立案,プログラミングによるそれらの実行ができるオープンソースとコミュニティ
2050
プログラミングを手段として,チームで課題解決ができる人材を作り出し,IT人材の不足を解決する状況を作り出せている
Using programming as a tool to create human resources capable of solving problems in teams, we are able to create a situation to solve the shortage of IT human resources.
より実践的なプログラミングへの
モチベーション
Motivation for more practical programming.
ビジュアルプログラミングに
興味を持ってもらう
Get children interested in visual programming.
サービスを利用して
成功体験を得る
Gain success experience.
課題:プログラミングができる人材は増えているが,課題の特定や適切な解決策の選定,チーム作りに難を抱える.
ソリューション:チームで課題特定,解決策の立案,プログラミングによるそれらの実行ができるオープンソースとコミュニティ
Issue: Although the number of people who can program is increasing, it is difficult to identify issues, select appropriate solutions, and build teams.
Solution: Open source and communities that enable teams to identify issues, formulate solutions, and execute them through programming.
ロードマップ / Road Map
ロードマップ / Road Map
2040
Issue:Many children don't know the joy of helping someone else with something they've created.
Solution:
Introduction to educational institutions and programming classes
2050
Setting the Standard for IT Education
Create a situation where elementary school students voluntarily learn programming and solve the shortage of IT personnel.
Motivation for more practical programming
Get children interested in visual programming.
Issue:Difficult to connect to actual programming
Solution:
Bridge to text programming languages
Use the service and gain success stories.
マネタイズ / Monetize
2030
相互交流を可能に
コメント・いいね
Enabling Interaction
Comments & Likes
2040
無関心な層の取り込み
教育機関への導入
Capturing the non-audience
Introduce to educational institutions
2050
実践プログラミングへの橋渡し
Bridge to Practical Programming
サービス導入・ワークショップ提供 / Service introduction and workshop provision
企業広告 etc / Corporate advertising, etc.
認知の拡大 / Expanding Recognition
2040
教育機関・プログラミング教室などへの導入
Import to educational institutions, programming classes, etc.
2050
ワークショップ化
授業のパッケージ化
Be workshop
Be package for lessons
2022
プロトタイプ
成功体験の創出
Prototype
Creating Successful Experiences
ToC
ToB
Early adopterのペルソナ
Early Adopter Personas
名前 | 佐藤悠真 |
年齢 | 11歳(小学5年生) |
出身 | 東京 |
性格 | 好奇心旺盛 |
好きな教科 | 算数・図工 |
興味・関心 | 勉強はできないが,プログラミングできたらかっこいいなと思ってる. |
ITとの関わり | 普段からスマホを使っている�家族、友達とLINEでコミュニケーションを取っている.パソコンも使ったことがある |
Early adopterのペルソナ
Early Adopter Personas
Name | Yuma Sato |
Age | 11 years old(Primary school student) |
Hometown | Tokyo |
Personality | Curiosity |
Favorite subject | Arithmetic & Arts and crafts |
Interests | He was not good at learning, but hope to try to do some programming. |
Relationship with IT | Use smartphone everyday. Communicate with family and friends on LINE. Have used a computer |
名前 | 佐藤京子 |
年齢 | 38歳 |
出身 | 群馬 |
趣味 | 韓ドラ |
職業 | パート(OKスーパー) |
悩み | 子供の塾代に頭を悩ませる. 子供が勉強をしてくれない. |
ITに対する考え方 | プログラミング教育が必修になり,重要そうだとは思っているが,プログラミングとは無縁の人生なのでよくわかっていない.ITは将来性ありそうだと思っている. |
Early adopterのペルソナ
Early Adopter Personas
Name | Kyoko Sato |
Age | 38 years old |
Hometown | Gunma |
Hobby | Korean Drama |
Job | Part time job(OK super market) |
Consern | Worry about a cram school fee of her son. Her son’s don’t like studying. |
A perspective of Programing | She doesn’t know much about Programing, but she think it’s important because it is made compulsory in school. |
Early adopterのペルソナ
Early Adopter Personas
リーンキャンバス
リーンキャンバス
顧客セグメント:子供、親
課題:
リーンキャンバス
独自の価値提案:
圧倒的な優位性:
リーンキャンバス
Lean Canvas
既存のビジュアルプログラミングツール
ゲームベースのものが多い
サービスのフロー
The Flow of Application
System Architecture
HTTP
Messaging API
LIFF (LINE Front-end Framework)
Front-end
Back-end
Flowchart Execution Module
HTTP
import
Front-end
Reactでエディタ画面 / ダッシュボードを作成
認証にはLINE Loginを利用
Create editor screen / dashboard by React
Using LINE Login for authentication
ビジュアルエディタをほぼライブラリを入れずに実装。
Visual editor is implemented with almost no libraries.
Front-end 技術的工夫点
Front-end 技術的工夫点
BOT
利用開始
作成者
利用者
Messaging API
Flowchart Execution Module
HTTP
import
技術的工夫点
Front-end
プログラム(フローチャート)の実行プログラムを、フロント・サーバーで共通化
Execution program for programs (flowcharts) is shared between front-end and server-side.
Back-end
Back-end
フロントと連携のAPI / Create API to connect with front-end.
ユーザーID情報、生成されたLINE bot情報、そしてLINE botの変更情報は、フロントエンドからバックエンドにリクエストで送信される。
User login information, LINE bot information and information about the changes made to the LINE bot will be sent to backend by API.
attributes: user_id(LINE USER_ID), name, picture, createdAt
attributes: bot_id, developerId flowChart, name, createdAt, updateAt
attributes: bot_id, user_id(uniqle)
POST /login idToken/picture
2. The list of line_bots which
is created by the user.
GET /bot
3. The details of bot.
GET /bot/:bot_id
4. Create a new bot.
POST /bot
5. Renew the detail of bot.
PUT /bot/:bot_id
6. Delete the bot.
DELETE /bot/:bot_id
7. Activate a user.
POST /user/:user_id
API Scheme
DB Scheme
バックエンド / Back-end
フロントと連携のAPI / Create API to connect with front-end.
ユーザーID情報、生成されたLINE bot情報、そしてLINE botの変更情報は、フロントエンドからバックエンドにリクエストで送信される。
User login information, LINE bot information and information about the changes made to the LINE bot will be sent to backend by API.
バックエンド / Back-end
フロントと連携のAPI / Create API to connect with front-end.
POST /login idToken/picture
2. The list of line_bots which is created by the user.
GET /bot
3. The details of bot.
GET /bot/:bot_id
4. Create a new bot.
POST /bot
5. Renew the detail of bot.
PUT /bot/:bot_id
6. Delete the bot.
DELETE /bot/:bot_id
7. Activate a user.
POST /user/:user_id
バックエンド / Back-end
LINEプラットフォームとの連携 / Connect to the LINE platform.
ユーザーがメッセージを送ったり、公式アカウントをフォローしたりすると、LINEプラットフォームはサーバーにPOSTリクエストを送信する。
When user send some message or follow your official account, The line platform will send a POST request to your server.
https://kulinebotmaker.herokuapp.com/callback
POST
バックエンド / Back-end
LINEプラットフォームとの連携 / Connect to the LINE platform.
LINEプラットフォームから送られてくるリクエストを受信できるようにするためには、サーバーをngrokへデプロイする必要がある。
In order to receive the requests sent by the LINE platform, we need to deploy the server to the ngrok platform.
バックエンド / Back-end
データベースの構築(PostgreSQL) / Construct the database.
LINE bot情報、ユーザー情報はサーバーのデータベース(バックエンド)に保存される。
LINE bot information and user information will be stored in the server database (back-end)
attributes: user_id(LINE USER_ID), name, picture, createdAt
attributes: bot_id, developerId flowChart, name, createdAt, updateAt
attributes: bot_id, user_id(uniqle)
役割分担
Role | Name |
ログイン,ダッシュボード、送信機能 | 伊藤 |
エディタUI | 大橋・中井 |
フローチャートの実行モジュール | 池奥 |
データベース | Wang |
フロントと連携のAPI | 久冨 |
Lineに連携のAPI | 久冨,Wang |
Roles
Role | Name |
Login, Dashboard, Send message function | Ito |
Editor UI | Ohashi, Nakai |
Flowchart execution module | Ikeoku |
Database | Wang |
API (Connect to front-end) | Hisatomi |
API (Connect to Line) | Hisatomi,Wang |