2022/06/26

Kickstart Modern Android Development with Jetpack and Kotlin -- Catalin Ghita

 

第一次看完 Oreilly.com 上面的技術書。之前雖然也曾翻閱了很多本,但是因為它 APP 的介面很網頁,網頁又很不電子書,所以一直無法認真的完完整整地看完一本書(其實只是我定力不夠)。

這次,多虧了新買的華為 Matepad Paper,雖然它只有兩種刷新模式,一般和智能模式。智能模式沒有其他家的 A2 mode 快,但是它幾乎不會留下什麼殘影。也因此,讓我可以很順地利用它看完今天要講的這一本 Jetpack Compose 書籍。這本書是在今年五月才發行的,所以內容可以保證大部分在現在的 Compose library 上是可以 work 的。

跟官方的教學不大一樣的是,除了教導重要的元件怎麼使用外,它在一開始也有講述了 Compose 在觀念上的不同,以及許多在實作上需要注意的地方,比方說 favoring composition over inheritance, unidirectoinal flow of data。再來是它全書都是用同一個"餐廳"的例子在講解:從最一開始最單純的餐廳資訊呈現,到餐廳列表,再到從伺服端取得最新列表,或是在本地端建立資料庫當成  SST (Single Source of Truth),到最後的採用 Clean Architecture 架構。作者一步步地把需要調整的地方隨著新概念的導入,重構成更好的實作方式。

雖然全書因為範例的關係,沒有介紹到很多 Compose 的 UI 元件,但是對於 Compose 開發的相關主題,全都涵蓋到了。快速閱讀過一遍後,之後如果有忘記的地方,隨時可以再回過頭來查閱一下。

對於官網的教學如果看了覺得不夠系統化的話,可以考慮再看一下這本書,應該可以讓你在開發 Compose 時,有更全面的觀念。

2022/06/13

NO Filter, Instagram 崛起的內幕與代價

簡單來說,就是在講一間創辦人在被收購時,相信對方可以讓自己自主的經營,又能享受到母公司的種種資源。結果嫁入豪門後,發現自己常被苛刻地對待。明明就是用著比較少人達成母公司早期的成就,但在要資源時卻常常受到限制。在後面幾年,更是因為功高震主,許多原先在 Facebook 可以導回 Instragram 的連結都被拔除了。明明是同一間公司,卻老是被像是後母的 Facebook 另眼看待。最終,兩位創始人都在受不了的情況下,離職而去。

中間還有很多篇幅講到在經營策略上,Instagram 和 Facebook 的差異。下面有些節錄:

到了2017年前後,大眾開始明白到他們所熱愛的社群媒體產品,其實不全然是開發給他們使用,也是要用來操縱他們的行為。

正是這些Instagram所迴避的事物──超連結、新聞、瘋傳內容、邊緣故事──讓臉書與用戶之間的關係變得廉價

正是在經營理念上的差異,讓兩個產品的總管間,愈來愈有距離。

跟 Google Map 革命一書比起來,似乎被併進 Google 會更幸福一些。Facebook 併購的那幾間新創,到後來每個創始人都走掉了,而讓自己的產品逐漸進到祖克伯的掌控中。

2022/06/03

Google地圖革命:從Google地圖、地球、街景到「精靈寶可夢GO」的科技傳奇內幕 -- Bill Kilday

 

描述 Keyhole 到處找客戶,找投資,避免公司快要倒閉的命運。甚至還到了全員減新換股權的地步。後來隨著 CNN 報導伊拉克戰爭,在畫面中採用了他們的軟體來介紹最新的戰況,一下子讓他們的知名度和使用者大增。公司財務逐漸走入正向的軌道。

再來是 Google 有意收購他們,雖然中間出了點訴訟要處理,不過有驚無險地在 2004 年 10 月正式加入到當年 8 月才剛上市的 Google 。收購前後的描述很刺激,讓只是局外者的我,也跟著熱血沸騰起來。 Keyhole 剛加入時,還在摸索當中,寫了蠻多當時 Google onboard 的場景。也提及了另一間被 Google 收購的 Where2Tech 四人團隊。他們的技術,利用 ajax/activeX 能在瀏覽器上預判快速地下載地圖資訊,並展示。
書籍 Google 地圖革命

加入 Google 後,有 Where2Tech 的人馬(四個人而已),原先已經進行的地圖團隊;三方還在磨合,也有點競爭的感覺,或是整個服務該由誰來主導的拉鋸。

2005 年 2 月在 Google Maps 推出後,果然受到很大的歡迎;同年 6 月再推出 Google Earth。

這本書跟其他的創業大公司比較不同的是:他是由被併購的員工(Keyhold 行銷主管)所撰寫的,書中談到很多併購後的原本團隊成員的狀況,已經加入大公司後,如何與其他原本就在大公司裡工作的同事相處共同的甘苦;也談到了自己角色上的調整,由原先一人兼任行銷和產品經理,到比較專注在行銷上,並且還需要幫忙負責其他的專案行銷。

最後一章是最讓我驚訝的地方:在 Google 工作一段時間後,原先 Keyhole 的約翰,不甘於只是做為 Google Map 和 Google Earth 的 owner,雖然這已經是許多人一輩子難以達到的目標了。Google 的 Larry 相信約翰的能力,所以與其讓他再去外面創業,Google 給了他彈性,成立了 Niantic Labs。想加入這家名為Niantic Labs新公司的Google員工可以放棄他們的Google股票,來換取Niantic Labs的股權。新公司將有3年的助跑期,3年期限結束時…

許多早期的 Keyhole 員工也都一起加入了 Niantic Labs,重新一起感受創業的樂趣。Niantic 也就是後來推出大放異彩的 Ingress 以及 Pokemon Go 的公司。Pokemon Go 的關係,我一直以為這是一間日本公司。沒想到它的母公司是 Google,而且創辦人就是來自於 Google Maps 和 Google Earth 的早期創辦人。

註記:
Google在那一年收購了兩家地圖公司:一家是從雪梨的公寓裡走出來的4人團隊,他們在當時還未註冊成立公司;另一家是位於加州名為Keyhole的公司,公司一共有29人,而我在其中擔任市場行銷總監。

仁勛親自來到會議室小坐一會,對於我們的團隊做成這筆交易表示祝賀。他出生於台灣,畢業於俄勒岡州立大學和史丹佛大學,他在30歲生日那天創立了輝達。

最終,黃仁勛推翻了他業務發展團隊的決定,同意支付Keyhole 50萬美元,來開發一個「輝達專用的優化圖形處理器的消費者版本」

它將為數百萬人所使用,而它基本上是由約翰.羅爾夫這名天才工程師完全獨立開發的
一種稱為Keyhole標記語言(Keyhole Markup Language,KML)的新軟體標準,將使某個使用者能與其他Keyhole使用者共享他在地圖上標記的點、線和折線。使用者A可以在他的Ea
羅爾夫到現在依然被認為是全球最好的3D圖形超級程式工程師。

約翰把聘用整個Keyhole團隊作為與Google進行任何談判的先決條件。在科技收購的世界裡,這是聞所未聞的。普遍的情況是:大量的員工被棄用,新公司只給股權,不給工

雷特、拉爾斯和他們的團隊建置了能在瀏覽器中運算的美麗地圖視圖;約翰、近井和Keyhole團隊帶來了拼接起來的航拍和衛星圖像視圖,現在也能在瀏覽器中運算;丹.埃格諾和伊麗莎白.哈蒙開發了最好的點數據,

你們為什麼不購買整個資料庫呢?」賴利問

2000年開始,Google每年都會舉辦一次旅行。這一次,Google包下整個滑雪度假區,供全員度假兩天。(這次是公司最後一次全員一同旅行,為了更易於管理,往後的旅行改成分批進行。

作為一家公司,我們並不喜歡炫耀我們做過的事。對於這種事,自誇可不是我們的風格

我不是說賺錢不是他們的首要任務,我是說,賺錢不在他們的10大任務之列。我可以向你保證,在我參加過的會議中,他們幾乎沒問過錢的事。他們既沒問過投資報酬率,也沒問過投資回收期。傳統公司會問所有這些問題

賺錢不是他們做這兩個產品的原因,不是他們在2002年開著車沿101號公路走、同時把攝影機架在車窗上拍攝街景的原因,不是他們買下Keyhole的原因,也不是他們買下Where2Tech、SketchUp

一路走來,賴利和謝爾蓋始終堅持著一套違背典型商業原則的原則。在使用者的快樂和金錢之間,他們總是會選擇使用者的快樂。

曾有人問我為什麼徹底離開Google,去加入約翰的新創公司,我告訴他:「你看,如果麥可.喬丹要求你加入他的球隊,那你就加入好了,即使你不知道他們要玩什麼體育項目

2022/05/29

老姐要用 Kotlin 寫專案 -- 從 Server 到 Android APP 的開發生存日記, Kate

與一般死板的技術教科書不同,這本書是用姐弟倆的對話來展開每個章節中的主題。有劇情就比較容易讀。雖然大部分的內容都點到為止,但因為本身就已經對 Android APP 夠熟悉,所以都很能快地看過去;但在 server 端可以感受到也是講得比較快,所以細節無法帶到太多。對於初學者的話,應該比較容易卡關,或是自己要再多花點時間去閱讀相關的延伸主題。

書中的 server 端比較特別的是採用了 Ktor,以 Kotlin 開發的伺服器端解決方案,讓已經會 Kotlin 的工程師不用再學新的語言,就可以快速上手。在發布服務時,書中選用的是 Heroku,不過,比較不同的是,它並不是直接推上 Github 的 repo 讓 Heroku 幫忙發布,而是將程式 build 成 Docker image,再利用 Heroku 的 CLI 程式來發布。以這型式發布的話,每次有改版,應該是本地端要再自行 upload Docker image 到 Heroku。這應該就有賴於自己有沒有建立自己的 CI/CD pipeline 吧?

下次有空應該也要來試一下這種發布的方式看看。

2022/05/21

精準提問 -- 洪震宇


這本書是由一位資深記者所撰寫的。身為記者,在採訪的時候,必須要很有技巧地提問,引導受訪人把真正的重點提出來,或是透過一些方式和原則,讓受訪者能講出吸引人的內容。

整本書分為四大部分:觀念篇、基礎篇、技巧篇、實戰篇。每一章節後面都會有練習題讓讀者試著用剛學到的技巧來進行。由於這本書看得斷斷續續的,所以看完後腦中沒有很連貫的概念。

觀念篇花了不少的篇幅在解釋提問的重要性,也提到了書中不斷出現的優質對話 AAAR 四循環。

好提問是一組溝通的循環(參考圖2-2):先透過提問(Ask),讓對方思考與回答;接著是積極聆聽(Active listen),了解內容與重點;再來透過覺察(Awareness)去感受當下情境、對方表情與肢體語言,設身處地的理解;最後才運用回應(Response)進行適切的回應

書中很強調聆聽的重要性。發問者專注地聽受訪者的回答,並根據他的回答再去做延伸的詢問,或是將其拉回自己真正想要了解的部分。發問者不應該是透過問題來想發表自己的意見,而是應該將重心真的放在受訪者身上。

在問問題時,不是看到什麼就問什麼,而是:

將現象轉變成問題,需要先描述清楚現象發生的狀況,從中找到各種值得重視的問題,再歸納這些問題,整理出最重要的問題,繼續探索問題背後的問題、需要解決的難題

書中也點出了很常見的問題:

大部分溝通失敗的原因,都在於用習以為常的直覺反應去回應對方。不是沒有站在對方立場思考,就是誤把對方苦惱的「現象」當問題,沒有辨識與細加探索,只是原封不動當成問題,接著提出錯的解決方案或答案,造成問題愈來愈多,疲於奔命、解決不完

第六章的主題是:什麼是好問題。

學好提問的第一步,就是先知道你的溝通對象、目的,要完成什麼目標,接著,透過管線,一步步把對話導向想去的地方

觀點由不同的取景畫面組成,包括遠景的整體「視野」,透過不斷轉換移動的中景,呈現不同角度的「視角」,最後是近景聚焦特寫的「視點」

遠景的視野就是宏觀鳥瞰的脈絡思考,了解人事時地物的來龍去脈。先由這是誰(who)的問題(what)探索,接著把這些問題放到空間視野(where)來看,

上面針對觀點,視野,視角和視點的解釋很不錯。利用這種微觀和概觀的方式,從不同層面來思考問問題想要達成的目的。

第七章則是描述如何問出好問題。書中提到的作法是:

我整理出三原則,讓大家懂得如何問出好問題。第一是三S要素、第二是拆解大問題變成小問題,第三是問題要由淺而深。

三S包括:1.簡單(Simple):問題要簡單,不要讓人聽不懂,也不要賣弄個人專業。2.簡短(Short):問題要簡短,三十秒內要把問題講完。3.具體(Specific):問題要具體明確,包括人事時地物都簡要說清楚,產生具體的經驗連結。

提問最怕假提問、真賣弄。

這邊的"真賣弄"就是搞錯了問問題的目的。

關於想要問的問題,可以用下面的方式來整理:

1. 先發散、再收斂

2. 整理問題的順序
運用便利貼將這些問題排序,從最好回答、最具體、最容易聯想的問題優先

3. 構思整體的問題
將問題都排好調整之後,再思考整個問題加總起來,是不是我最想問的問題?

***

技巧篇介紹了四個提問技巧:承轉力、正向提問力、重點力與追問力。

承轉力:

承轉力該怎麼進行?我提供三個做法,讓大家可以參考。第一是先向上歸類找連結,創造「Like感」;其次是運用鏡像反映(mirroring)法有效接話,持續帶動話題;第三是運用4W1H方法,在對話中收集與

正向提問力:

為什麼」有兩種目的。一種是正向的好奇,想要探索外在人事物,另一種是回溯式的了解原因,多半比較偏向負向的咎責

先問如何或怎麼:How取代Why

為什麼這場談判那麼不順?」「為什麼我的論點沒有改變對方?」我們可改成以未來為目的,而非咎責過去表現不如意,可以改成「「下一次,我要『如何』讓這場談判順利且成功?」「我的論點要如何呈現,才能改變對方

改問「什麼」:用What取代Why

如何」的提問是想方法、具體的作為,「什麼」的提問,則是開啟另一種想像,刺激更多想法與可能性

重點力:

如果提問力沒有將全部心思放在對方身上,提問就容易失焦。會變成為問而問,或是變成移轉型回應的話題小偷,只是把焦點、重心放在自己身上,而非以對方為主。

根據重點力的目的,我整理出同理式聆聽、理性式聆聽與總結式聆聽三種方法

同理式:這裏要運用的重點力,就是透過一句話做出肯定的回應。包括定時複誦他剛剛說的話,或是鼓勵讚美的想法與作為,甚至引用他之前、曾經講過的話

理性式聆聽的重點力是帶著確認的提問,想了解她剛剛說的話,要呈現什麼觀點、主張或想法見解

第三個是總結式聆聽。在提問過程中,當主題與問題都告一個段落之後,嘗試提出對剛剛談話內容的結論

我們要為每個段落的對話賦予意義。嘗試把聽到的、理解到的內容,用自己的話做出簡短結論

司徒達賢解釋,高階主管在公司長期發號司令,已經不擅長聆聽,更不習慣理解部屬

善於傾聽就是不斷問自己,對方傳達的訊息是否有根據,他們告訴你這些事的動機又是什麼

有一個持續練習的好方法。我在提問力工作坊最常用的技巧,就是當某位同學講了三分鐘故事、或是三分鐘簡報,我會馬上要求別組同學練習在三十秒之內轉述一遍

追問力

追問力不足,在於我們被動思考的習慣。

我們需要培養自己有意識地觀察、閱讀、聆聽與思考的能力

要非常認真傾聽對方說的話,我歸納,聽出五個關鍵點,就能進行更深入的追問,其中包括:趣點、轉點、斷點、痛點與雲點

雲點。對方說的話彷彿飄在雲端上、比較抽象、不易理解的內容,需要運用追問力把內容拉回地面,讓我們可理解

敏感問題的第三個重點,就是不急著要對方回應,也不急著問下個問題,必須有停頓留白的時間,讓對方思考或是調整心情

實戰篇開始講述各種真實的情況,比方說創業者和高階主管等,怎麼做更好的提問。

我們必須跳脫同溫層的限制,知道不同圈子的狀況,適時交流不同的想法與情報,或是介紹不同圈子的人進行溝通互動,才能獲得珍貴的情報,刺激新的想法。

我的問題都是先從「什麼」(what)開始問起

領導者不是問題解決者,而是問題給予者,讓下屬面對問題,思考解決方法,並採取行動。」《QBQ》指出

企業主管的有效溝通,關鍵不在說,而是聽

領導者應該提問沒有標準答案的問題,接著認真聆聽回應。」《教練》這本書就是他指導過的企業家,回憶他過往運用教練方式的心法。

產生內在驅力動機的養分有三個元素,包括自主、專精與目的。員工有自主控制感、不是被外界逼迫限制,就會更主動投入,持續精進工作能力,從工作中體悟到意義與價值感,就能建立自己的長遠目的

會談前先思考主題屬於哪一個象限的問題意識(編按:參考第三章圖3-4),是人際溝通、還是外在現象與議題的討論,再運用不同象限的方法來引導同仁思考與表達。

除了不同角色在提問時的一些重點外,書裡還提到了身為會議的主持人如何有效地掌握會議的進行。

團隊溝通跟一對一溝通不同,在於主管扮演的主持人角色,需要讓不同的人都能集中注意力

主持人第一層運用的重點力,在於快速摘要、整理他人說話的重點

主持人第二層要運用的重點力,在於整合觀點

主管透過會議討論,不只是了解進度,更能培養同仁的問題意識與思考能力。主管可以透過團隊溝通四象限

首先,我運用第一象限初步的淺層歸納,嘗試引導他們把目標陳述的更具體,才能達到有效溝通

第二階段就是第四象限、重新定義問題的正向提問與深入追問,引導大家深入思考

這時進入第三階段、第二象限的淺層回應。我再重新歸納大家的提問與想法,回應大家轉換思考的共識

最後進入第四階段、第三象限的找尋亮點。我請大家轉換焦點,從思考問題轉成思考對策

一個好主管,也是一位好提問教練,更是一位優秀的會議主持人,能夠引發同仁的投入參與、活化思考表達能力,創造團隊的共識與工作意義,寫下自己對成功的新意義。

感覺要當個好主管,需要具備的能力還真不少。

第十六章又提到主持人的提問引導力:

一位好的主持人就跟提問者的角色一樣,是綠葉而非鮮花,目的是讓講者、與談者激盪精彩對話,產生好故事、好觀點,讓聽者有好的收穫

教學提問的目的是培養思考能力,主持訪談的目的則是製造好故事、豐富有趣的對話,以及啟發思考的觀點,因此提問引導方式仍有差異。

這需要自我訓練與克制。因為我們很容易想表達意見、想凸顯自己的專業,以至於不斷說話,或是發問,卻忘了聆聽他人。只有專注聆聽,才能聽出關鍵轉折點、找到故事隱藏的線頭,再運用巧妙的提問,輕輕一推,讓故事更流暢地說出來。

整本書看下來,提了很多技巧和觀念上的建立。溝通畢竟是個很即時的互動,不行每講一句每聽一句就慢慢地思考下一步要怎麼做,所以要經過不斷地練書才有辦法將書中的很多方式內化,很自然地運用出來。

技巧部分可以慢慢地練習,但觀念部分倒是可以多提醒自己,不要忘了重點是什麼,將重心移到受訪者或回答問題的人。

2022/05/15

在靠北與崩潰之後繼續戰鬥 小劉醫師給爸媽的解憂書 -- 劉宗瑀

劉醫師的第二本書。不同於前一本主要在講從大醫院前往鄉下醫院的點點滴滴,這本在講身為爸媽遇到的各種挑戰和隨之而來的心得與想法。


乩童警探 一二集

接連看了兩集。第一集還算新鮮,到了第二集就看得比較慢了。一來,劇情雖然常會提到乩童,但真的跟乩童又沒有什麼關係。第二集後半大概就猜出是怎麼一回事了,但還是很享受在作者解釋的過程。只是前面舖陳有點久,而且人物有點多,再加上我是斷斷續續的看,看到後來都快忘了誰是誰,或是誰曾經出過什麼...