2019年11月25日 星期一

LINE Developer Day 2019 現場筆記 (二) - 關於LIFF的改變與未來

我在現場看到LINE日籍講師使用 VS Code作為主要的開發工具,還頗讓人驚豔的

緣起

前陣子,LINE推進了LIFF這個框架來到 v2的版本,v1到v2是一個很大的改變,一般來說,我們改變主版號(from 1 to 2)意味著新釋出的版本將跟前一版有著不相容性,也就是一個重大的breaking changes,也確實,v2版本增加了很多亮眼的新功能,像是QR Code掃描、外部瀏覽器支援…等。

還不只如此,LINE 11/11發布了一個我認為很重大的消息:

Users can no longer add LIFF apps to Messaging API channels

看到這個消息的第一眼,我只有一堆問號…,WHY? 為何LIFF 2未來只能從LINE Login新增LIFF,為何將要取消過去LIFF綁在Bot(Messanging API)身上的方式???

我相信不只我有這個疑惑,很多熟悉LIFF的開發人員也是。我心裡始終帶著這些問號,來參加了今年的LINE Developer Day,當然,我希望能找到答案。

LIFF的改變

在Day 2關於LIFF的場次中,講師不免俗地把LIFF的歷史交代了一下:

其實從v1到v2也不過就是一年的時間,但重點當然不是歷史啊,重點是改變。到底有那些改變呢? 那得看當前的LIFF有些什麼:

上面這三張看似平淡無奇的投影片,其實是接下來講者埋的梗,我得說,後面看到差異的時候,是頗讓人興奮的。上面第一張投影片的Easy Development是理所當然,LIFF可以透過純HTML方式開發,且運行上是無需伺服器端的,但我們也知道,當前的LIFF只能運行在LINE的WebView環境,即便是開發方式和一般的HTML頁面相同,你還是會碰到像是開發階段難以debug之類的困擾。

是的,v1的LIFF是很難偵錯的,因為你必須在手機環境上(LINE的內部WebView)才能執行。我忍不住直接破梗好了,講者在最後ending的時候,上面第一張slide變成了:

with LIFF v2,你可以在手機的外部瀏覽器上運行,這也表示,你有機會可以在一般的瀏覽器上進行開發和除錯。對,你沒聽錯,過去非得在手機裡測試偵錯的時代即將過去了,當你用LIFF v2架構開發搭配SDK,基本上你的開發根本就像是一個純Web Application(只是這個App可以取得用戶的LINE身分,可以在手機上透過LINE與用戶互動)…

這甚麼道理呢? 請看…

因為LIFF 2本質上做了很大的一個改變,過去的liff,網址是  line://app/{liffId} 這樣的形式,但改版後的v2,可以寫成 https://liff.line.me/{liffId}/  這樣的 web (https) scheme,這意味著你將有機會可以在一般的瀏覽器中運行和除錯,講者示範了用VS Code開發和單步執行偵錯的展示:

用VS Code來Run和Debug耶,我差點要站起來鼓掌了!!!

這件事情超級重要的啊,這有機會解決過去LIFF很難開發和除錯的問題,但這個技術的背後是什麼道理? 為何能夠讓原本不能在一般瀏覽器上運行的LIFF,可以同時在LINE內建WebView與一般的瀏覽器上都可以運作呢?

這是講師在上面那三張平淡且樸實無華的Slides中埋下的第二個梗:

v2的LIFF deeplink,可以自動handles不同的用戶環境。什麼意思? 這就是我個人認為(官方沒有明確這麼說)v2會開始與LINE Login綁定的一個很重大原因了。

請回頭想想第一版的LIFF,第一版的LIFF功能不多,充其量只是在手機中抓取當前用戶的身分(User ID),但因為必須卡在LINE的手機WebView裡面,所以liff在很多環境是無法使用的(例如PC Desktop/iPad…etc.),但從上面的v2改變中你可以發現,v2之後的LIFF,本質上真的變成了一個純Web Application,既然可以採用 https://liff.line.me/{liffId}/   這樣的deeplink,這意味著透過v2開發的LIFF將可以有機會跨出LINE手機上的WebView。

但,跨出去之後怎抓取用戶身分,與用戶互動呢? 這一刻我懂了,它骨子裡其實就是倚賴LINE Login嘛,當與LINE Login整合之後,LIFF將有更高的可能性,更大的自由度。在手機裡它就像是一小程序,而跨出了手機,就是一個可以透過LINE Login抓取到用戶身分的Web Application,這樣的發展方向,非常讓人期待!

什麼是 Mini App?

說到了發展方向,就不能不提到Mini App, 在day 2的keynote中,我們有機會驚鴻一瞥:

它是什麼? 不知道你有沒有注意到,在你的LINE個人主頁下,有一個『服務』圖示,該圖示底下其實有著各式各樣的額外功能,LINE Music、LINE TAXI、LINE購物…等。

如果,有一天我們開發的LIFF可以透過這樣的方式呈現,和LINE更多的整合在一起,甚至可以從市集當中找到,豈不是頗讓人期待?是了,這就是即將出現的LINE Mini App。而對於開發人員來說,我們在意的是,Mini App到底如何開發?

根據我們在Booth現場直擊詢問LIFF開發團隊的的第一手資料顯示,Mini App基本上就是LIFF的變形,雖然目前僅開放給LINE的合作夥伴,但未來將有很大的發展可能性,我們既然人在現場,當然也不客氣地為LIFF開發人員發聲,建議LIFF也能提供類似App Store這樣市集,讓大家可以自由的上架自己的LIFF(或未來的Mini App),開發團隊也熱情的表示,將會傳達我們的聲音與需求:

NEW APIs

當然,如果LIFF改版沒有推出一些新的API,肯定無法滿足各界的期待的…

這些在路上的API相當多,不過由於部分涉及用戶權限的授予,某些API還需要一點時間才能陸續開放(我猜可能也是要搭配line developer後台的一些選項配置):

但這些APIs的出現將會很令人期待。

對了,人都已經到了會場,很多人關切LIFF的V2版本中,有一個掃描QR Code的API似乎在android手機上有些問題(android無法掃描非 https:// 開頭的QR Code內容,請參考這邊,你會發現iOS可以掃描電子發票,但此功能在android上卻無法實現),這部分我們當然也不客氣地問了,現場LIFF PM承諾,將會在年底前的改版解決,我們當場拍照存證留念(哈~):

總的來說,LIFF v2對開發人員釋出了不少利多,Deeplink、新的API是我最感興趣部分,當然,還有TypeScript的支援、以及在外部瀏覽器上的supports,這些都讓LIFF開始朝向一個更有想像空間的方向發展:

而LIFF v2.1的LINE Mini App,是否會帶來市場上更多的騷動呢? 這也將是一個頗讓人引頸期盼的feature:

以為這樣就結束了嗎?

講者在最後的最後,丟出了這張slide:

果不其然,SDK發展的差不多之後,UI/UX將會是下一個階段的重點,如同bootstrap一般,估計LINE也會推出自己的LIFF UI框架,讓LIFF UI有著更一致且美觀的呈現效果。

而緊接著在UI/UX之後呢? 大概這一張slide可以讓粉絲們對LIFF的遠景更充滿期待了…

結語

要推出一套好的軟體產品不是最難(其實我覺得已經很難 >_< ),但軟體服務或產品想獲得長遠的成功,關鍵在於,周遭的生態系是否健全

是的,你已經天天在使用LINE了,但這還不夠,當有更多的廠商,圍繞起LINE開發出更多的生活應用與服務時,才會建構出堅不可摧的城牆。

而這關鍵,就是LIFF...由此你不難得知,LINE對LIFF和Mini App將會有著如何的期待,對於開發人員來說,藉由一個成熟的平台,在足夠多且普及的用戶環境中,更能夠放手一搏,有機會將自己的應用創造更大的價值。

這一切,使LIFF的未來更讓人期待…


LINE Developer Day 2019 現場筆記 (一) - 看見LINE、開發者、未來
LINE Developer Day 2019 現場筆記 (三) – LINE Bot 與 DevOps

2019年11月24日 星期日

LINE Developer Day 2019 現場筆記 (一) - 看見LINE、開發者、未來

過去幾年,我身邊很多軟體開發人員,要嘛往大陸發展,要嘛待歐美棲身,但LINE選擇的路線,卻給了我一個不同的啟發…

今年的LINE Developer Day依舊位於東京舉辦,不過較之過往,擴大為兩天的議程,在keynote當中,講者有提到今年改為兩天的原因。總的來說,過去想說的事情多,能用的時間少,所以今年改為兩天乃是天經地義、理所當然(但…費用不就增加了一倍? )。

話雖然這麼說,但我其實一直對LINE的工程師文化很好奇,一個保有傳統謹慎保守基因的日系公司,怎麼去塑造一個對開發人員如此友善的開放文化? 你如果到日本東京新宿LINE辦公室的開放空間,會看到底下這樣的場景:

充滿自在氛圍的空間裡,有著喝咖啡寫程式的Developer、有著接洽外來訪客的員工、甚至放空休息的夥伴…在同一個空間裡,自在且互不打擾的完成自己當下的任務。

這種自由開放的氛圍很像這兩天的大會,當你仔細觀看,不難發現議程表上的內容,絕大部分都是LINE員工們真實開發經驗的分享,其中少數才是LINE相關產品和服務的介紹,這跟過去我們看到由企業主辦的年度大拜拜聚會完全不同,更有點像是open source社群聚會的感覺。

透過上百個議程,講者竭盡所能的,把自身的開發經驗,分享給與會的其他開發人員:

這些議程當中,大部分是LINE如何透過open source開發技術,實現自身所需的商務需求、以及自己在採用open source技術所碰到的挑戰與解決方案,那這些議程是怎麼決定的呢?

我問了來自台灣LINE團隊的講者,這些議程主題怎麼決定的? 台灣LINE團隊的講者跟我說,大部分都是由LINE員工投稿,獲選後由LINE贊助講者參加大會,一聽之下,發現身為LAE的我們,平白享有免費三天的東京飯店+來回機票,看起來待遇似乎比LINE自己的員工還好呢~

其中有個頗有趣的地方,由於LINE大量的使用了open source技術,對於過去很少接觸 OSS 的微軟 .net 開發人員來說,參加LINE的聚會會讓你突然恍如置身到另一個世界中的感覺,議程當中許多過去在 .net 世界中沒有的東西,霎那間頗有讓人目不暇給之感。

今年的場地改在台場日航飯店舉辦,這個地點是著名的觀光勝地,搭地鐵前往的路上,電車上路過的海景頗讓人心曠神怡。當天天氣很好,廣場上藍色的天空讓人一覽無遺。

到了夜晚,當地頗具盛名的購物中心和景點,也是觀光客難以錯過的行程。

回到會場,比起去年,今天的場地大概整整大了一倍有,兩天的議程,現場共分為A-F同時段六個Track,還有Short Track和Booth攤位:

你會看到,光是Booth就有超過十幾個攤位,包含我們後來抓著LIFF PM問問題問到飽的(例如 LIFF v2的QR Code Scan功能在Andorid上的問題,未來的Mini App是否會取代LIFF與兩者之間的定位的問題..etc. 這些容後說明)攤位。

下圖最下方合照中,右前方那位就是LIFF PM,頗親切的女生,我本來想PO一張他被台灣LAE們問到雙手抓著腦袋的照片(你知道TW LAE的強悍了),但…後來決定還是保留在相機裡好了。

報到

今年的報到採用人臉辨識,不用說,這當然是火力展示。去年LINE就大動作宣告要以AI作為接下來發展的主軸之一,沒想到今年就直接上場了。

那…效果如何呢? 長長的人龍在每個人報到時間30秒左右(包含領取物品),不一會兒很快的就消耗完畢:

技術交流

今年整個會場有為數眾多的座位區,每一個長桌上都配有好幾座電源線插座塔,插座數量多到你手機想要沒電也很難,我帶去的行動電源基本派不上用場。(下圖右上桌上的白色塔式電源插座就是了)

除了主session之外,今年安排了很多的Short Track(上圖左下),其中也不乏精彩的分享,上圖中隨處可見的白色小桌,主要是讓參與的會眾與講員都可以輕鬆的彼此交談,這個設計我很喜歡,很多人可能沒有發現,這個設計非常符合我過去提到過的環境誘導要素。人是很容易被環境影響的,你可能以為,就算沒有這些小桌,看似也沒甚麼差別,但仔細觀察,你會發現小桌一擺,立即可以有效的增加與會者之間Talk的機率(與頻率)。

此外,基本每一個Session教室的外面,都有這樣的一個小桌,便於讓講師分享完,可以在教室外就立即與會眾進一步討論、或回答問題(如此不僅不會耽誤到下一場次講師的設備準備,也可以讓意猶未盡的與會者問到滿意為止。

同樣的,因為開發人員的天性,在議程中不太可能舉手問問題,且這樣會打斷整個議程進行,而場外小桌這樣的設計,很有效的可以鼓勵會後的提問與分享,我很期待這樣的設計未來能夠更多的在台灣的各類型社群大會中看到。

餐盒與零食

去年分享了太多LINE Developer Day的用餐心得,為了避免失焦,今年我就不多提便當點心這回事了,基本我們看看數種餐盒中的一兩張照片就好…

其實我不真的很明白,為何日本的便當都會做的那麼精緻,連青菜都要獨立裝在迷你菜籃子裡,但我想,這應該也是一種文化的呈現吧。當你跟LINE有較多的接觸後,會發現它常常很特別的融合了西方與日式文化,卻又讓兩者之間沒什麼衝突。不只如此,下午茶時間的點心都是日本甜點名產,馬卡龍非常好吃,讓人回味再三。(其他的就不多說了…)

全英文投影片

上百場的議程,其中標示為(#guest)的部分是外請講師(非LINE員工),其中也有來自微軟的講員(我有作為聽眾參加了其中兩場,後面再跟大家說說心得),你會發現很有趣的是,即便講者用全日文演說,但絕大部分的投影片都是英文的(特別是外請講員,也就是LINE員工作為講者的場子,我看到幾乎是全英文投影片,下圖),我相信這對慣用日語的本地人來說應該是一大挑戰。

且現場幾乎每一間教室都有即時翻譯(下圖右下),我不知道大會到底有多少非日籍學員參加,但這樣的設計對與會者來說真的很貼心(因為有一半的英文場子,日本當地開發人員其實也需要即時翻譯)。我相信這是刻意的,這樣的訓練能讓LINE的員工可以更自由的與外籍人溝通、與外界的技術無縫接軌,在我們這一行,我覺得這是必須的,但在台灣,我們始終沒認真去面對這個問題

台灣這幾年其實社群也算蠻蓬勃發展的,如果能夠更多的與國際接軌,甚至開始將每一場中文議程同步處理成英文內容(不管是slide內容或是現場講師的即時翻譯),或甚至直接以英文進行演說分享,相信對台灣的技術能見度將會是一大提升。

有時候想想,身處在這一行當中,資訊的來源大多是從英語系的國家來的,不僅是為了方便接收新知,而且若是要讓我們手上的東西讓世界看到,恐怕得自己先踏出去才是關鍵的一步,台灣很多開發人員的能力很強,但礙於語文能力無法與國外直接接軌,損失了相當多機會。面對自己的短處、挑戰自己有形無形的限制,其實是能夠突破和成長的一大關鍵。

這一點,LINE讓自己的工程師們做到了。

比起日韓,台灣更有條件,也更必須在全球化與國際化上加倍努力,我們沒有日韓的內需市場,又不想倚賴大陸的市場,那我們更有必要能夠與全球無縫接軌,如果LINE在日本能做到,台灣就更該如此。

LAE(LINE API Expert) Round Table

不要懷疑,下圖中和Chat Bot社群夥伴們一起入鏡的,就是朴懿彬(Park Euivin)。如果不提,你應該很難想像,在幾位台灣Chat Bot開發者社群壯漢旁,這位身材嬌小的女性,就是LINE的CTO:

每一年的LAE(LINE API Expert)聚會,和CTO的Round Table是一大重點,今年當然也是。一行人來自泰國、印尼、日本、台灣…不同國家的LAE們,在會議室中輕鬆的與LINE CTO暢談了約莫一個小時的時間,其中有笑聲也有平時無法輕易得到答案的問題,都在這段時間內有了明確的解答…

After Party

每年辛苦的研討會結束之後,當然必須要有一段吃喝快樂的時間,今年也是。一如既往,在議程之後的After Party中,有酒、有肉、有朋友,在歡笑與buffet中度過難忘的一天。

LINE 的工程師文化、國際觀、與我們的未來

寫到這裡,我在想,我讓你看到了什麼? 是LINE對LAE(LINE API Experts)的尊榮禮遇? 或是年度技術饗宴的豐盛豪華? 還是LINE的多元開放與文化?

今年是我第二年參加這個盛會,從去年我就有一個疑問,到底LINE花大錢辦這樣的聚會目的是什麼? 當然,幾乎全球各大軟體(或軟體服務)公司都有著類似的盛會,微軟、Goodle每年都一如往昔的舉辦著。但LINE的母公司Naver在富士比全球企業的排行中排名距離第17的Alphabet(Google)以及排名第16的微軟,有著好大的一段距離,甚至連台灣的TSMC和鴻海,都遙遙領先在Naver的前面。

然而從LINE推出LAE Program, 從去年LINE發展AI的宣告和行動,一直到今年大會直接用刷臉入場的火力展示,讓人很難不認真看待LINE的企圖心。而一直到目前為止,你得說,LINE看起來確實做的很不錯

在台灣,市值比LINE還要高的公司比比皆是,曾經大聲說想要發展軟體甚至AI的廠商更是在所多有,但你卻從沒有在亞太(包含中國)看到一家廠商真的像LINE一樣說到做到,走出了自己的路線,並且昭告天下。

從最近這兩年開始,LINE很明顯的早已不把自己定位成開發手機通訊App的公司了,甚至也不是一家軟體公司,而是藉由軟體技術與平台提供各種服務(生活、金融、…)的公司,而軟體、AI技術則是他手上的資源和武器,我相信LINE清楚的知道,真正能夠成就這一切的關鍵,是資訊開發人員和AI專業人才…LINE採用各種open source的技術,自行研發資料庫 “Flash”、私有雲 “Verda”,發展自己的AI實作、區塊鏈、一直到網路銀行,LINE自己建構了非常完整的底層架構…我曾經不只一次在想:『LINE你認真?』

LINE用行動回答了我這個疑惑,它是玩真的。

然而回頭看,你又不難發現和遠在矽谷的美商不同,LINE在商務上十分接地氣地打入了太平洋島鏈這一塊地區的許多國家(我也慢慢明白為何LINE不往中國和歐美發展),這些國家有著和中美兩大市場不同的文化背景,不同的生活與技術需求。這些國家們正準備在另外兩個強勢的經濟市場與文化入侵中站穩腳步,也正準備走出自己的世界。而LINE就在這一刻,提供了各種契合當地所需的服務。如果我們這麼看,不難發現,LINE在亞太地區軟體服務的公司中,已然為自己打開了一條不同的路。

反觀台灣,不管是電子製造、代工、電子商務或是軟體服務,我們常常在中美兩個典範中忽左忽右,搖搖擺擺,有時依賴美國有時依靠大陸,但卻始終沒能走出自己的方向。台灣很多公司想做AI、想做雲端、但真的走對路線、拿出成果的…目前看起來似乎屈指可數(呃…你可能不仔細還數不太出來)。

最近,剛好讀到呂世浩老師的敵我之間,讀到古代春秋戰國時期,君王們都深知,想得天下者,必須先得天下人才。但對於以製造業思維起家的台灣,恐怕很難真正了解這究竟是什麼意思。我猜,光是一個open source的文化,就足以讓台灣所有業主退避三舍了,更遑論其他。然而有趣的是,LINE卻在這個時間點展現出了一種特別的企業文化,示範了如何在互聯網興起的時代,兼顧傳統價值與最新的技術,吸引並凝聚人才,而且能集中這些資源,真正產生出價值。

今年有幸再度參加LINE的活動,我聽了很多session,上了很多課,但我想,對我而言,真正最有收穫的一課,是這個企業、這家公司所展現出來的企圖心、對自己定位的自信、以及在當前全球混亂的政治經濟局勢中,所走出的路線背後清澈的思維。

面對現今的國際局勢,很多公司,都在想自己的下一步該怎麼走。其實開發人員也是,過去幾年,我身邊很多軟體開發人員,要嘛往大陸發展,要嘛待歐美棲身,但LINE選擇的路線,卻給了我一個不同的啟發。我曾在研討會上說,很少人喜歡改變,特別是改變,但在這個時代,改變已經無法阻擋,改變將帶來挑戰(Challenge),但也唯有改變(Change),才能為我們帶來新的機會(Chance)。

或許,當我們看到了其他國家、其他企業正拚著命的努力時所帶來的啟發,台灣的開發人員,也將有機會在這個混亂的時代中,走出一條自己與眾不同的道路。

LINE Developer Day 2019 現場筆記 (二) - 關於LIFF的改變與未來
LINE Developer Day 2019 現場筆記 (三) – LINE Bot 與 DevOps
Related Posts Plugin for WordPress, Blogger...

熱門文章