社内勉強会☆FTPの使い方講座

★Bangali Life -10-★

 

アッサラームアライクム! インターンの森です。

 

社長夫妻もバングラ入りし、セームページ本格始動です♪

いつもリモートワークなので、一緒の空間で仕事するのが新鮮。ただクライアントがみんな日本だったり、ファイルの受け渡しや日本語テキストのやり取りでSkypeは相変わらずよく使います。

 

先日バングラで初の社内勉強会をしました★

【Purba先生によるFTP講座】

 

Read more: 社内勉強会☆FTPの使い方講座

Twilioクラウドコミュニケーション

※【Twilio Cloud Communication】の日本語訳記事です。

→ in ENGLISH

---------------------

管理やビジネス目的で多くの組織が多機能ソフトを使用しウェブ上でデータの送受信をしています。

ウェブサービスは組織間のコミュニケーションツールのひとつとなっています。

TwelioAPIはウェブを利用して電話をかけたり、テキストメールを送信したりできるソフトです。

 

■はじめに

Twilioとは…サンンフランシスコを拠点とし、シンプルなAPIを使用しテキストメッセージや音声、VoIPサービスを組み合わせたアプリを約50万ものディベロッパーに提供している。

 

■機能

TwilioはAWS(Amazon Web Services)をホストサーバーに使用。AWSのAPIを通してHTTPと公衆電話交換回線網(PSTN)を接続している。下図の通りAWSの予期せぬ停止にも容易に対処し、オンライン状態を継続させてくれる。2011年、TwilioはAWSの停止をうまく対処したことで賞を受賞している。

Twilioは基礎的なウェブ開発技術のみを使い、そういったサポートソフトウェアを開発することでオープンソースコミュニティを提供している。2010年6月にビジネス利用者向けにローンチしたオープンVBXでは、発着信が可能な電話番号を設定することができる。その翌月には、どんなAPIやソフトウェアサービスでもそのサービス自体が正しく機能するしないに関わらず使用できる、オープンソースステイタスダッシュボードを紹介している。

TwilioAPIは、PHPやJAVA、Pythin、NET、perlなどどのプログラミング言語にも対応しているため、どんなバックグラウンドのプログラマーでも容易に操作可能であることも魅力の一つと言える。

 

Fig: overview of Twilio technology

 

Twilioでボイスコールをしたり、SMSを送信したり、VoIPクライアントを作ったりするには、まずはアカウントにサインアップする必要がある。サインアップした後、Twilioのバックエンドサーバーにリクエストの正当性を証明するaccount SIDとauth tokenにアクセスすることができる。

("account SID”と"auth token”はぞれぞれIDとPASSだそうです→http://goo.gl/OiwCdy)またこのアカウント情報は個人のダッシュボードにて随時確認できる。

 

Fig: Authentication Layer

 

■Twilioの特徴

Twilioは市場のニーズに合わせて独自のシステムをうまく操作し、異なるサービスを提供しようとしている。

音声通話

1)電話の発信/着信

2)予約リマインダー

3)電話番号の購入

4)通話キュー

5)通話スクリーニング

6)通話トラッキング

7)社内電話番号ディレクトリ

8)IVR(基礎知識、内線、通話スクリーニングと録音、データベース統合、ログとレポート)

9)モデレーター付きカンファレンス

10)電話メニュー

11)電話投票

12)着信拒否

13)サンプルカンファレンス

14)サブアカウントを使う

15)音声ブロードキャスト

16)ボイスメール

17)ボイスメール トランスクリプション

18)天気情報

 

Twilio クライアント

1)音声録音

2)ブラウザー ソフトフォン

3)ブラウザーからブラウザーへの通話

4)クリック トゥー コール

5)カンファレンス通話

6)カンファレンス通話のモニター

7)テキスト音声変換

 

SMS メッセージ

1)通話をしてSMSを送信する

2)SMS通知

3)二要素認証

 

■電話機能

通話機能をクリックするだけで、Twilioの認証機能を介してウェブアプリから簡単に通話が可能である。例えばあるユーザーがTwilioからの電話に出られなかった場合、ライブラリを利用することでサードパーティーとユーザー間通話を初期化する。ユーザーは発信/着信成功、通信中、失敗のいずれかの状態となる。

イメージは下図の通りである。

Fig: Call technique

 

■SMS機能

Twilioは認証レイヤーを通すことでSMSメッセージ配信を提供している。ウェブアプリケーション経由で指定した携帯電話に送信するとき、Twilioではライブラリクラスを使用する。ユーザーは発信/着信成功、通信中、失敗のいずれかの状態となる。

イメージは下図の通りである。

Fig: SMS technique

 

以下はこのTwilioを利用した美容院予約機能開発の経験談である:

私はこの「アットキレイ」事業において、このAPIを使い下記3機能を開発した。

1)電話予約機能

2)SMS送信予約機能

3)IVRシステム構築

 

1)電話:

予約カレンダーがあり、年-月-日、時-分-秒を選べる。その後設定ボタンを押すと美容院へその情報が発信され、お客様名とともに予約リクエスト内容が自動的に日本人女性の声で再生される。

    //twiml settings

    String twiml = "<Response><Say voice='woman' language='ja-jp'>" + callText + "</Say>"+"</Response>";            

    // response of call

    String Url = "http://twimlets.com/echo?Twiml=" + URLEncoder.encode(twiml, "utf-8"); 

    //build map of post parameters

    HashMap params = new HashMap();

    params.put("From", barberConstants.twilioNo_call);

    params.put("To", contactNo);

    params.put("Url", Url);

    // an instance of Twilio response

    TwilioRestResponse response;

    response = client.request("/"+barberConstants.APIVERSION+"/Accounts/"+client.getAccountSid()+"/Calls", "POST", params);

 

<Say> -> で設定済みテキストを自動音声再生する。

<Response> -> で通話をパスする。

Twilioのレストレスポンスクラスは、twilio認証番号、受信者番号、通話テキスト、サードパーティへの通信パスを含むパラメータを扱う。

 

2)SMS:

設定ボタン押すとSMSが美容院へ送信される。SMSにはお客様名とともに予約情報(年-月-日、時-分-秒)が記載されている。

 

    // Place the call From, To and Body values into a hash map. 

    HashMap<String, String> smsParams = new HashMap<String, String>();

    smsParams.put("From", barberConstants.twilioNo_sms); 

    // barber's twilio information        

    smsParams.put("To", contactNo);   

    // barber contact information

    smsParams.put("Body", bodyText);

    // Create an instance of the SmsFactory class.

    SmsFactory smsFactory = account.getSmsFactory();

    // Send the message.

    Sms sms = smsFactory.create(smsParams);

 

SMSクラスではtwilio認証番号、受信者番号、SMSテキスト、サードパーティへのSMSパスを含むパラメータを扱う。その前にSMSファクトリーはアカウント情報認証を行う。

 

3)IVR:相互音声システムによって、①予約リクエスト承認、②予約リクエスト拒否、その他待機リクエストを可能にした。

美容院は予約日時の自動音声を聞いた後、電話のいずれかのボタンを押す。Twilioはその番号にひもづいた動作を行う。その際にrequest.getParameter(“Digits”)パラメータを使用する。

 

 //call text set to response and say verb allows automated jp voice to speak

       <Response><Say voice='woman' language='ja-jp' speed='0.5'> callText </Say>

       //gather verb takes pressed digit and sends to system 

       <Gather action='action class url' method='GET' numDigits='1'>

       <Say voice='woman' language='ja-jp' speed='0.5'>press 1 to accept</Say>

       //pause for taking time gap between saying info

       <Pause length='2'/>

       <Say voice='woman' language='ja-jp' speed='0.5'>press 2 to reject</Say>

       <Pause length='2'/>

       <Say voice='woman' language='ja-jp' speed='0.5'>press others for pending</Say>

       <Pause length='2'/>

       </Gather>

       <Say voice='woman' language='ja-jp' speed='0.5'>You have not made any requests</Say>

       <Pause length='2'/>

       <Say voice='woman' language='ja-jp' speed='0.5'>Thank you.</Say>

       </Response>

 

Fig: Booking Calender

 

総じて、Twilioはユーザーに対してとてもユーザーフレンドリーなAPIを、ディベロッパーに対してはとても扱いやすいコードを提供している。この役立つ機能はユーザーにとってとても有益である。

 

---------------------

初めてブログの翻訳に挑戦してみました。

技術的な知識も十分でないため万が一何か間違えていたらご指摘ください。

 

2014年9月29日 19時から東京にてSEOセミナー開催。キーワード選定もやります!

今回SEOで実績を出している講師の方をお招きして下記のセミナーを行います。

「2014年9月29日 SEOで高い実績を出し続けている講師が紹介する結果の出るSEO tips」

前回のセミナーに引き続き、第2弾を参加者の方に好評でしたので行います。

セミナー内容

「SEO」は、安定的な集客には非常に役に立ちますが、はっきり言って簡単ではありません。

正しい知識も、時間も必要ですし、出口が見えない中それを継続していく熱い情熱がないと結果が付いてきません。

自分が正しい道を歩んでいるか不安になってモチベーションが上がらないこともあるかと思います。

取り組まれてる方は、ご存知のようにSEOと言っても内部対策、外部対策など幅が広すぎてどこから手をつけたらいいかわからない。

ちょっと気をつけて始めたけど短期間ではなかなか結果が出ないといったことで悩まれてる方も多いかと思います。

 

そういった方に向けて、今回のセミナーでは、玉石混交のSEOの世界で高い実績を出している講師が、その日から使えるSEO tips(内部対策、外部対策)をお伝えして、あなたのサイトをその日から少しでも上位に表示できるようお手伝いします。

Read more: 2014年9月29日 19時から東京にてSEOセミナー開催。キーワード選定もやります!

ブログコンサルタントが教える、ブログで挫折しないための3つの極意

今回は、JETROから弊社を支援頂いてるコンサルタントの方からの紹介でECMJの石田社長から、ブログを続ける極意についてお話を聞かせて頂きましたので以下にまとめました。

一番大事なことは、「続けること」石田社長は、1年365日ブログを更新していて、クライアントでブログ更新に注力してわずか1年で実店舗の売上を2倍にした家具屋さんも有るとのことです。

 

しかし、一口に続けるといっても、ウェブの世界は成果が見えづらくモチベーションを保つのが難しい。その中で、抑えるべきポイントが3つあります。

Read more: ブログコンサルタントが教える、ブログで挫折しないための3つの極意

joomlaにgoogle 著者情報 author ship を設定してみた。

先日、このブログにgoogleの著者情報 (author ship)が出るように設定しました。

以下登録方法手順。

 

・ブログに、google author ship と繋ぐプラグインを追加。

・各自寄稿者のgoogle +に寄稿先登録。

・構造化テストツールでマークアップが正常に動いているか確認。?rel=authorがリンクURLの末尾に付いているか確認。

・google + の左サイドバー設定、プロフィール、+1セクションで公開設定を確認 

Read more: joomlaにgoogle 著者情報 author ship を設定してみた。