Kuma & 米雪兒編譯
按要求轉載自FreeBuf.COM
2016年9月3日,對世界上的大多數人而言可能只是尋常無奇的一天,但對我而言,將永生難忘,因為在那一天我和我的愛人結婚了。
在規劃婚禮時,要考慮許多不同的方面。食物、裝飾、桌子裝置(是的,這是獨立於裝飾的一個重要環節)、鮮花、住宿、交通、娛樂和位置選擇等。雖然在規劃婚禮時有許多未知數,但是我可以肯定一件事。在婚禮中,將會有很多的邀請名單、嵌套名單、以及其他更多相關名單等等。當我面對著越來越多的項目時,我開始懷疑是否有更好的方法來進行處理?如果一切都只是依賴手動,實在是太低效了,必須利用一些技術來進行改進。
你可能會感到驚訝,但是邀請人們參加婚禮是昂貴的(超過380磅),因為你需要發送「按時出席」卡片以及隨後的關於婚禮細節的邀請。這個過程也是很慢的,因為你必須通過郵寄的方式來進行發送。追蹤人們是否已經收到了邀請,以及他們是否想要參加提供免費食物和飲料的派對。最後,邀請卡也並不環保,因為它們都是被一次性使用,且容易丟失或放錯。
回到名單問題。嘉賓名單分為幾個部分:
1、你想要邀請的人的名單;
2、已經回覆你的R.S.V.P邀請函的人的名單;
3、已經回覆你會來的人的名單;
4、已經回覆你會來且選擇參加提供免費食物和飲料派對的人的名單;
註:R.S.V.P. 是法語短語「répondez,s』il vous pla?t」的縮寫,英文意思大概等於Will youplease reply 漢語翻譯成請儘快回答或請馬上回答。「R.S.V.P.」的作用就是在於禮貌地提醒人們一個他們應該早就知道的道理:如果您收到請柬,就應該回復。名單是好的,它們具有預定義的要求和響應,這使其成為自動化的重要選擇。
不管處於何種年齡層,我確信婚禮名單上每個人都有手機,這意味著該是Twilio(一個做成開放插件的電話跟蹤服務)發揮作用的時候了。如果你想要查看代碼信息,你可以看看GitHub上的repo。
SMS完美的滿足了我的需求。我可以配置發出群發簡訊,並快速有效地處理回應。在繪製一個MVP並且考慮資料庫的時候,我想要一些易於分享的東西,不想浪費時間來構建視圖。偶然發現的gspread python庫,使我能夠讀寫谷歌電子表格。雖然不是最快的選擇,但它確實足夠靈活,並提供了一個易於訪問和可讀的輸出。
對於初始的R.S.V.P,我創建了一個包含以下信息的電子表格:
Name(名字);
Telephone_number(電話號碼);
Confirmation_status(確認狀態);
Contact detail status(聯繫的具體狀態)
Message_count (發送給客人的郵件數量,稍後會派上用場)
主要數據輸入完成後,我使用gspread來遍歷列表,並向每一個具有與之相關聯的手機號碼的客人發送簡訊:Sheets.py
因為簡訊可以看起來很簡單,所以我添加了一些unicode來增加趣味。下面是幸運的受邀者接收到的簡訊模版:
接下來,我使用Flask作為我的web伺服器,並將我的Twilio消息請求URL指向/messages url並創建簡單的if語句來解析回復 (yes,,no):hello_guest.py
第一條消息是在2月19日上午8:37的時候發出的,3分鐘後(即上午8:40)收到了第一條確認簡訊。上午9:38,我已經收到了23條確認回復,已經達到32%的接受率!初始群發簡訊兩天後,我們收到了58%的客人的確認信息!儘管取得了明顯的成功,但我的未婚妻並不完全青睞我作為婚禮邀請服務(SAAWIS?)的簡訊,所以,我決定在我的應用程式中添加一些其他功能。
這個功能就是統計!我可以計算現場出席名單並按要求退回,給予新娘關於客戶名單是如何塑造的即時反饋。代碼很簡單,因為我已經在電子表格中設置了一些基本的計數器,因此剩下的只是抓取這些單元格的內容,並將其添加到簡訊中的事情:hello_guest.py
以下是最終的簡訊,不是很漂亮,但很有用:
現在Lauren可以即時跟蹤出席率的情況,這大大緩解了她的壓力。從那時起,所有的事情都通過系統來運作,SMS被儘可能多的融入到婚禮的方方面面。有些是顯而易見的,例如當婚禮網站上線時,發送通知簡訊,分享禮物列表以及其他我至今仍然感到驕傲的事情。
在建立R.S.V.P名單之後,經常被推遲的部分是讓客人確認他們的食物選擇。你可能會驚訝,讓人們選擇免費的食物是能有多困難。第一步是發送另一條簡訊,告訴那些確認參加婚禮的客人訪問網站,並通過一個谷歌表單選擇他們喜歡的食物。相當標準的流程,然而,表單被設置為填充與參與者相同的工作簿。這意味著,我現在已經有接受邀請客人的電子表格,以及那些填寫了食物選擇表格的客人名單。通常我會等待客人慢慢選擇他們的飯菜,但因為我的婚禮是由Twilio驅動的,也就意味著我可以用最少的努力來跟蹤嘉賓狀態。
數據需要匹配訪客名稱上的兩個電子表格,並且在有匹配的時候更新客人的食物選擇狀態。這需要一些額外的工作,但一旦重排代碼,我就可以按需批量運行腳本,並通過簡訊獲取我的客人的最新狀態:food.py
現在有一個確認的客人名單和越來越多的食物選擇名單,通過主要應用程式將這些統計數據公開是有意義的。所有需要做的就是抓取相關單元格的內容,並用簡訊回復:Hello_guest.py
讓婚禮餐飲者了解我們的進展,並提供有關誰沒有選擇的可操作數據是非常方便的。追蹤客人是另一個自動化選擇。簡單地遍歷參加者名單,找到沒有選擇用餐選項的頑皮客人,並向其發送信息!Chase.py
大婚的日子來得比我們想像的還要快。現在唯一需要做的事就是發送最後一條簡訊,提醒客人基本的細節,並提醒他們帶把傘以防碰上一般的英國夏季的雨季:
婚禮永遠不是一件簡單的事情,它會讓你感到很多事情都不在你掌控之中。自動化讓我的生活變得更加輕鬆,它可以提供與我們的客人進行溝通的直接渠道,而且我通過各種不同的方式來跟蹤、推動以及回應客人。它幫助我們在婚禮的時間消耗方面變得積極主動,讓我們可以空出來時間去關注大日子的其他重要領域。
構建複雜問題的可擴展解決方案從來都不是件容易的事,即使在最終形式下,我的應用程式有時也會很脆弱。我已經計劃建立一個更為完整的解決方案,具有進度的數據可視化、語音集成,以及更少的依賴CLI腳本等。總的來說,我很滿意整個自動化的過程,沒有通訊系統是完美的。你需要實施最適合你的受眾的渠道,無論是簡訊、語音、聊天、視頻還是信號量等。
來源:http://www.freebuf.com/geek/132296.html
大數據福爾摩斯:偵破魔都共享單車被違章藏進了哪些小區