2014年8月12日 星期二

iMacros進階篇

我在之前的「讓您的瀏覽器也能自動工作」文章中曾經介紹了iMacros,這是一種瀏覽器的外掛程式,提供適用於瀏覽器的巨集程式的功能,讓您可以透過錄製或者自行編寫巨集的方式讓瀏覽器也能夠自動工作,官方網站上iMacros建議可應用於以下的情景:
表單填寫和密碼管理
您可以將常用的輸帳號密碼步驟錄製下來,往後便可不需要重複進行此步驟便可自動登入;另外一個非常好用的方式是,當您的朋友需要登入,但您又不想將密碼讓他知道,在錄製時,您可以設定將密碼部份加密,再將錄製的檔案給他執行就可以了,如此一來,您就可以讓他可以登入但無法獲知密碼內容。
自動下載和上傳
您可以透過iMacros自動進行重複性的檔案上傳或下載的動作。
資料獲取,網頁抓取/開採和企業資料重組
這部份是iMacros最強大也是最廣為應用的功能之一,您可以自行修改iMacros成為強大的網路蜘蛛或機器人,替您抓取Internet上的資料轉化為有用的資訊。
網頁測試
網頁相關工作者可以使用iMacros對網頁進行各項自動化的測試。內建的中斷點查看命令可以精確的捕捉網頁反應時間,iMacros也可以支援許多AJAX元素,只要錄製好步驟程序,便可以各個不同的瀏覽器版本上執行並查看其效果。
遠端執行
和版的iMacros提供雲端的功能,讓您可在任何有網路及瀏覽器支援的地方就可以執行之前所錄製的巨集程式。
雖然iMacros這套軟體的基本版是免費的,但是它只能單純的錄製及修改程式而已,需升級到進階版才有提供更多像是與其它程式溝通整合的功能;在一般的需求下,或許我們只需要錄製便可達到使用目的,但在「資料獲取,網頁抓取/開採和企業資料重組」這個一般企業經常會使用到的功能上,若不考慮購買商業版,就只能透過本文所介紹的動態產生方式才能達成,故本文的重點在於介紹如何利用免費版本就可以擁有或開發出媲美進階版本的程式與應用。

靜態與動態

    我們錄製出來的iMacros巨集,它的巨集內容是固定不變的,因此只能重複性的進行相同的步驟,無法根據外在環境變化而改變下一個行為步驟,我們可以稱它是靜態的巨集。
如上圖,靜態巨集必須根據不同的狀況製作不同的巨集。
如果您的要求的行為很單純,比如每天固定抓取某個網站的前幾筆資料、按時去點擊某個固定區域或Button、或者自動張貼文章傳送檔案,這些動作我們用靜態的巨集就可以應付了,但如果有一天,您的需求是要依據前一天的最熱門的新聞主題,並依其關鍵字下載相關的新聞內容儲存到資料庫中,或者說,您有一個資料表,裏面有各項隨時會變動的資料,您希望能夠抓取資料表的內容並自動填寫在網頁表格中傳送出去,那麼,您會發現這種靜態的巨集無法滿足需求,我們需要能夠因應不同的狀況動態的產生相對應巨集內容的程式才行。
    由於我們需要依據不同的狀況來執行對應的巨集程式,因此,如果我們事先製作一個可動態產生巨集的程式,讓它依據不同的需求產生相對應的巨集,就可以滿足這類的需求狀況:

如何產生動態巨集?

    這部份就是本篇文章的精華所在,由於我們不是購買iMacros的商業版,因此無法直接與外部程式串連來改變iMacros執行過程中的內容,但還是有其它的方法讓我們透過其它程式來動態的產生巨集,我們的作法如下方的流程圖,利用web server依據不同的需求產生相對應的巨集,再交由iMacros來執行,此server端程式可以用任何網頁語言來編寫,在這裏我們用PHP來作示範。

確認系統架構

    我們先模擬一個比較單純的需求狀況,假設你打算要架設一個網站,專門提供網友們二手物品的自動搜尋及價格分析功能,讓使用者能夠在網頁上註冊他們感興趣的物品,並設定一個希望購買價格,然後系統就會每日按時搜尋包含eBay、Amazon、露天、Yahoo、DCView、Mobile01、KeyBuy等二手拍賣網站,找出他們感興趣的商品,記錄及計算平均價格變化,除了每日系統會寄發相關的價格趨勢統計圖表之外,當有某個拍賣商品達到了網友預定的價格區間(低於希望購買的價格),系統立刻會自動寄發email給網友,告訴他在某個拍賣網站上的某件商品達到他預定的價格,可以考慮是否購買。
    下圖是我們的系統架構圖,看來似乎有些複雜,但其實它的步驟可歸納如下:
使用者輸入資料(1~2) → 系統讀取使用者的資料後,產生iMacros巨集並執行(3~7) → 從儲存的網頁中萃取重要的資訊(8~9) → (10~12)如果是線上查詢,則顯示結果列表,若為查詢登錄,則定時地比較分析,每日發送價格訊息,若有符合商品則額外email通知。
在本文後半部我將僅針對3~7的步驟說明其作法。

準備平台

    由於本文使用PHP作為iMacros巨集產生的工具,因此我們需要架設Apache + PHP的環境,如果您使用Windows,可以在google上搜尋LAMP + Windows,找一套適合的來安裝。
    當您裝好了之後,可以確認看看PHP這個指令可以單獨work,如果您經常使用PHP來開發程式,能夠直接透過command執行PHP程式是非常方便的事,而且也可以把PHP寫成獨立的程式讓server去執行;若PHP無法執行的話,先檢查您的環境變數,看看PHP指令所在的路徑有沒有定義在PARH環境變數中,可以試試輸入php –version看看這個php 指令是否work。





品名及價格輸入介面

    我們先製作一個網頁頁面讓使用者能夠輸入品名及價格,表單的HTML碼如下,檔名為askprice.html,您可以看得出來這是一個很基本的表單,讓使用者可以輸入資訊再傳送給askprice2.php。






    它長得就像這個樣子,請記得將網頁放在Apache的文件目錄中,再使用瀏覽器輸入網址http://localhost/askprice.html 就可以開啟它。

錄製巨集樣本

    我們先用錄製的方式得到一個巨集,再利用此巨集作為動態產生的樣本;請注意,因為我們要到不同的網站去查詢並獲取資料,由於不同的網站會有不同的頁面及查詢方式,因此需要針對每個網站分別錄製一個樣本,我在這裏先錄製兩個網站樣本作為示範,錄製的方法如果您忘記了請參考上一篇「讓您的瀏覽器也能自動工作」一文。
    我分別在eBay及露天兩個網站查詢Nikon D800E這項商品,並將查詢結果用另存新檔方式儲存下來,請記得錄製時要錄到另儲新檔為止。


VERSION BUILD=8820413 RECORDER=FX
TAB T=1
URL GOTO=http://www.ebay.com/
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:gh-f ATTR=ID:gh-ac CONTENT=Nikon<SP>D800E
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:gh-f ATTR=ID:gh-btn
SAVEAS TYPE=CPL FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}

VERSION BUILD=8820413 RECORDER=FX
TAB T=1
URL GOTO=http://ruten.com.tw/
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:srch ATTR=ID:keyword CONTENT=Nikon<SP>D800E
TAG POS=1 TYPE=INPUT:BUTTON FORM=ID:srch ATTR=*
SAVEAS TYPE=CPL FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}

更改iMacros的預設巨集目錄

    這是重點所在了,首先,請您先將iMacros的巨集位置設定在Apache的網頁路徑之下,(一般Windows會預設在C:\Apache2\htdocs),在本例中,我設定在C:\Apache2\htdocs\imacros,這樣作的目的是,讓動態產生的巨集檔可以被iMacros讀取得到。
    我們將巨集預設路徑更改到Web server目錄下之後,iMacros就可以讀取到並執行Web server在預設路徑下所動態產生的巨集,避免呼叫iMacros執行巨集時經常發生的找不到巨集的錯誤。

讓PHP產生巨集檔

    接下來,我們要將剛剛所錄製的巨集作為範本讓PHP來產生;我們有兩個巨集檔,它們會分別到eBay及露天去搜尋Nikon D800E這個商品:
            eBay





            露天









    我們把這兩個巨集內容整合成一個,包在一個變數$macro之中,並將該PHP儲存為askprice2.php,放置於askprice.html相同的路徑下:
   










    您會注意到最後一行:file_put_contents("imacros/dcviewtest.iim",$macro);,它會把$macro變數內容,儲存為iMacros的巨集檔放置於imacros路徑下,而這個路徑,也是我們之前已在iMacros中所設定的預設路徑,所以php產生的巨集檔變可被iMacros所執行了。
    還有一點需要注意的是,我們在每一行後面會加上斷行字元\n,這是為了模擬實際的巨集檔案內容。
    最後,我們要將Nikon<SP>D800E這個商品搜尋字串改為承接自上一頁的商品名稱的內容,並且將空白字元替換為<SP>,整個PHP檔案內容更改後如下,黃色的字體代表有更動的地方:














測試看看

     這樣就完成了,您可以試看看在瀏覽器上執行http://localhost/askprice.html,輸入產品名稱後按下submit按鈕,是否有在macros目錄下產生巨集檔askprice.iim,若運作正常的話它應該會自動產生,而且您也可以在瀏覽器的iMacros panel中看到此檔,此時請click它,確認這個巨集檔可以正常的運作。   

讓巨集程式自動被伺服器執行

     確定動態產生的巨集可以正常執行後,表示我們巨集產生的語法是正確的,接下來,我們要讓伺服器去執行該巨集檔,執行時機有兩個考量點:
  1. 即時執行:如果該User是作線上查詢的動作,那麼,我們應當在產生巨集檔後立即執行,並在執行結果產生後擷取並匯整需要的資訊,經過格式化後在網頁上呈現給User觀看。
  2. 事後執行:如果該User選擇預約查詢,那麼我們可讓伺服器定時檢查目錄下是否有 iim巨集檔,若有的話則用指令模式去執行它,此定時執行的程式依不同的主機環境有不同的寫法,您可以用Shell,例如bash、csh等,或者用perl,每隔一段時間去執行該目錄下的iim檔,並將執行結果經過擷取並匯整後,使用email寄發給使用者。
透過指令執行iMacros巨集
  您還記得我曾在上一篇知識文件介紹的,如何用指令方式執行iMacros巨集而不用手動開啟瀏覽器嗎?只要在指令中輸入瀏覽器的執行路徑並帶入巨集名稱就可以了,如下圖,


2014年8月8日 星期五

Telecommuting -遠距工作

遠距工作在這幾年網路技術發展與雲端應用的推波助瀾下已成為一種正式的工作形態,很多的統計數據都指出遠距上班所佔的整體比例正在上升中,雖然在去年曾發生一連串知名企業取消讓員工在家工作的作法,一開始是Yahoo、之後緊接著Bestbuy再來則是HP等知名的大公司,他們取消在家工作的主要理由是認為該措施並無法為公司帶來生產力,甚至對於公司的團隊合作與創意激盪產生傷害,但一些專家指出,其實這些公司之所以取消遠距工作,主要原因在於他們無法做好協同合作與管理,這兩項因素是遠距工作能否成功的最大關鍵。
   這本由Jason Fried所寫的「Remote: Office Not Required 遠距工作,Go!」剛好也在去年Yahoo取消遠距工作之際推出,該書以推廣telecommuting為主要目的,詳細的說明了所謂 「telecommuting」的的好處,對於一般人在遠距工作上常有的誤解與成見一一提出解釋,而本書在中間章節所探討的協同合作與管理兩個部份我認為 是本書的精華所在,因為遠距工作中最難解決與最令人困擾的就是協同合作與管理這兩項議題。
 https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvEQ01fl9wnlmRZ64GxFV2kUNly6oi4b6Czv0ClAIGreG5-eE8N_3GHCWgxmxTAMq3_404_10qW4q31bctCulOLbTBXqZNUvBgDRZD7Zzp5y2smXWbTihRcoAracfqjYlF54-XkNVjNqRL/s1600/%E3%80%8A%E9%81%A0%E8%B7%9D%E5%B7%A5%E4%BD%9C,+go%21%E3%80%8B%E7%B2%BE%E9%87%87%E6%9B%B8%E6%91%98+-+20140602.jpg

  這本由Jason Fried所寫的「Remote: Office Not Required 遠距工作,Go!」剛好也在去年Yahoo取消遠距工作之際推出,該書以推廣telecommuting為主要目的,詳細的說明了所謂「telecommuting」的的好處,對於一般人在遠距工作上常有的誤解與成見一一提出解釋,而本書在中間章節所探討的協同合作與管理兩個部份我認為是本書的精華所在,因為遠距工作中最難解決與最令人困擾的就是協同合作與管理這兩項議題。
    可能有些人會覺得這本書有產品宣傳的嫌疑,因為兩位作者是21Signals公司的合夥人,文章中多次的提到並介紹21Signals的主力產品Basecamp,該項產品的主要功能就是遠端專案管理系統;但或許我們可以不這麼看,因為37signals本身就是遠端工作的實踐者,他們的員工遍佈各地,其主要產品Basecamp也基於他們自己遠端工作的需求而產生,本書所提到的方法與觀念,除了是他們自己的實戰經驗之外,也正好作為我們這些打算導入遠端工作的公司最好的參考與觀念借鏡。

關於37signals

    關於37signals這家公司知道的人可能不多,但是若提到「Ruby on Rails」這個使用Ruby語言開發的開源Web應用框架很多人可就聽過了,Ruby on Rails的開發者就是本書作者之一的David Heinemeier Hansson,他是來自丹麥的程式設計師,早在他還在大學的時期,他就架設了一個專用發佈線上遊戲新聞及討論群組的網站”Daily Rush”,這個網站後來引起了Jason Fried(本書的另一位作者)的注意,便找他過來負責編寫一些專案管理方面的web應用程式,主要是以PHP語言開發;這些程式後來成了Jason Fried稍後成立37signals公司的主要產品,David也因此成了37signals的合夥人之一。
    37signals已在今年四月時改名為Basecamp(可參考此公告http://37signals.com/),主要原因是該公司未來將只專注在Basecamp這個產品,這是一套同時支援PC(Windws、Mac)以及移動設備(包含iOS, Android)的專案管理軟體,強調這套軟體不需要任何IT人員的協助,且使用時沒有任何地域或時間的限制,無論是管理者還是員工只要使用Basecamp就能方便且有效的進行各項工作的討論並管理專案的進度。
    這裏有一段37signals介紹影片,可以看看他們怎麼進行遠端工作的:http://vimeo.com/76063825
  1. 遠距工作的好處

    本書第一章首先介紹遠距工作對於企業及個人能夠帶來什麼正面的影響,其所列舉的好處如下:
    1. 避免上班時經常受干擾導致工作成效不彰
    2. 減少浪費於通勤的時間
    3. 科技發達讓遠距工作更加方便
    4. 避免固定的朝九晚五上下班時間
    5. 分散人潮避免集中於都會區
    6. 減少不必要的奢華辦公設施
    7. 可讓世界各地的優秀人才替你工作
    8. 員工本意不在賺錢而在於更好的工作環境
    9. 節省不必要的支出,如辦公空間、列印、文具用品、通勤費用等
其中,我們比較能夠瞭解且顯而易見的好處可能是第二、三、七這三項,其餘的項目可能會有些爭議(如第一、五、八項)或者帶來的效果實際上可能不如預期(如第四、六、九項)。

透過遠距上班延攬各國家最優秀的人才

尤其是第七項,這個優點讓一些新創公司在初期就能透過網路,結合不同地區、國家的人,共同合作的進行某項專案或事業,例如位於矽谷的音樂科技公司Positive Grid(在台灣的名稱為佳格數位科技),他們就採取遠距工作的模式,而且徵才方式不是面對面而是視訊面試,目前該公司成員分佈在美國、中國、烏克蘭、台灣、日本等地,其中台灣是他們徵才的重點陣營,這是他們的招募網頁:http://www.positivegrid.com/jobs_tw/。
這家公司成立於2010年,他們的產品非常有趣,如果您有看過樂團演出或是現場樂手的表演(如鼓、吉他、Bass、Keyboard等),你應該會注意到在他們身旁都會有一個大大的音箱,這些音箱每個都重達10公斤左右,而且還不只一個,每個不同的樂手都需要其專屬的音箱以擴大其聲音並改善強調其音質;當這些樂手們在準備、搬運、安裝、測試器材的時候,一定會想到,如果可以不需要這些沈重的負擔該有多好?因此,Positive Grid這家公司看準了這點,提出了數位音箱的產品,透過數位軟體來模擬並解決「音質」問題,只要透過這個APP接上喇叭,就可以模擬各種不同樂器的音箱效果,示範影片:https://www.youtube.com/watch?v=PtaUNJTRzAo
http://www.positivegrid.com/wp-content/uploads/2014/02/Keith-Merrow.jpg
Positive Grid的員工沒有不但沒有上下班的時間限制,而且也免去了通勤的時間,員工們只需要在指定的時間內完成指定的工作項目並且在固定的時間上線一起開團隊會議即可,如果團隊之間有需要討論事情,便會以 Skype、Google Doc 以及 Screenhero等軟體遠距討論;該公司創辦人Albert在之前的訪談中曾經說明,雖然他們的工作時間相當有彈性,但更凸顯出員工獨立性格的重要性,畢竟,Positvie Grid 不像一般公司有嚴格的管理制度,所以他們的員工需要自我安排工作進度且對工作擁有很大的熱情與主動投入才行。
  1. 這些都不是拒絕遠距工作的理由

    本書第二章列舉了一般人反對遠距工作的理由,並逐條來辯駁解釋,我們來看看:
    1. 面對面共處一室才能激盪出火花!

  • 37signals:其實只要固定按排幾次週期性的面對面會議或聚會,加上運用語音連線與畫面分享便能獲得群體腦力激盪的成效。
    1. 無法掌握員工有沒有在工作。

  • 37signals:其實員工真要偷懶打混或上網閒聊,坐在辦公室也辦得到,而且有個很奇妙的心理,當你看低别人,他們同樣就會降低自己的標準;追根究柢,為什麼你要聘請你不信任的員工?為什麼員工要為不信任自己的老闆工作?因此,要「信任」自己的員工(工作夥伴),不然就與其拆夥。
    1. 家裏誘惑太多了,員工一定無法專心工作。

  • 37signals:偶爾的偷點懶,並不如大家想像中那麼罪大惡極,反而是舒發身心、培養工作情緒的一種方式,而且,如果員工經常受到誘惑,那麼,反向思考,是不是工作目標不夠明確?任務過於枯燥?或專案本身毫無意義沒有價值?其實,只要工作能帶來樂趣並讓人有成就感,多數人都會想要工作的。
    1. 員工在辦公室中才能保障資訊安全!

  • 37signals:網路和資訊安全是重要的議題,但其實對於遠距工作來說,也是有解決的方式,例如:
硬碟加密功能:讓筆電丟失後資料不致於外洩。
自動上鎖功能:設定待機時自動上鎖避免外人偷窺電腦。
網站加密功能:例如SSL和HTTPS的機制,讓資料在網路傳訊時都會加密。
手機和平板電腦的密碼鎖及遠端資料清除功能:可避免手持設備丟失後造成資料外洩的疑慮。
不同的長密碼:每個獨立的網站登入或畫面應該有不同的長密碼,並且利用密碼管理軟體(如1Password)來保存。
ps. 不過一般企業還會在意的是針對內部員工的資訊安全,這點37signals並沒有提到如何防止,但如同第二點,既然我們予以員工遠距工作的權利,那麼也應予以十足的信任,否則,在一個雙方充滿疑慮、諜影重重的遠距環境下工作,其成效必然不佳。
    1. 不同地區遠距上班時間不同,那誰要負責接電話?

  • 37signals:透過預先安排的方式,可解決這類的問題,例如37signals會安排支援部門在芝加哥上班時間永遠有人值班,不同地區的人安排不同的時段,同時照顧員工上班時間和客戶的服務,但要注意到員工間付出的平等。
    1. 很多大企業並沒有遠距工作,我們需要嗎?

  • 37signals:大企業沒有這樣作,不代表我們不需要這樣作,相反的,我們應該會慶幸他們沒有這樣作,他們守舊,代表要打倒他們更容易了。「破懷性創新」代表的是一種跟前人不同的做法,不做的話反而沒有成功機會,所以您應該要試看看。
    1. 有的人是遠距上班,那麼待在辦公室的人會眼紅。

  • 37signals:執行相同工作的人,如果部份人可以遠距上班,那為何不讓全部人都可以?如果有一些業務或工作無法遠距上班,那麼,就應該讓員工瞭解,大家都是在同一條船上,目前的方式是效率最高也最愉快的作法。
    1. 遠距上班會讓企業文化無法凝聚。

  • 37signals:如果以為遠距上班會喪失企業文化的凝聚力,那麼,就是不瞭解企業文化的真正要義:「企業文化是組織內部言明或不言而喻的價值觀與行動準則」,企業文化不是書面的教條,而是一種全體員工對於一間公司的感覺與實際作為;遠距工作這種寬鬆管理的模式反而使得真正的企業文化更形重要,企業文化愈強,相反的就愈不需要特別明確的訓練與監督。
    1. 大家都遠距上班,我要的報告和解答無法馬上給我!

  • 37signals:主管首先要認知到:並不是每個問題都需要立即獲得解答,可以幾個小時後才知道答案的問題,寫信詢問就行了,幾分鐘內必須獲得解答的問題,用即時通訊詢問也可以,至於十萬火急的危機,其實可以運用電話這個舊時代的科技。再強調一次,戒掉「愈快愈好」的癮頭,放下急切想得到答案的心性,運用沈靜的心境達到更高的生產力。
    1. 不在辦公室上班要怎麼管理?我會失去掌控權!

  • 37signals:其實很多反對遠距工作的人,最基本的心態就是擔心無法控制員工,他們思考的邏輯是:只要我看得見他們,就能控制他們。若要移除這種過時的控制權觀念,可能小範圍開始著手,先從每週三在家上班開始,讓他們瞭解世界並沒有因此崩壞,反而工作完成度更高,然後再逐漸擴大實施。
    1. 已經花大錢購買的辦公室怎麼辦!

  • 37signals:先不管所謂已購買的辦公室是所謂的「沈沒成本」這件事,而應把重點放在:辦公室是不是能夠達成較高生產力的場合?只要遠距工作能達到更高的生產力,那麼,再去考慮怎麼處置辦公室吧,無論怎麼樣,只要讓員工提高生產力,辦公室怎麼處置對公司都是利多不是嗎?
    1. 我們公司的型態不適合遠距工作!

  • 37signals:完全不能採遠距工作的行業所剩不多,而且就算同一家公司內部也會有各種不同類型的工作,這無法成為不適合遠距工作的藉口。
  1. 遠距協同合作要注意什麼?

    並不是將工作環境搬到家裏就行了,遠距工作要能夠成功,重點在於與同事之間的協同合作是否順利,作者在本書第三章列出了一些遠距協助必須要注意的重點:
  1. 重疊工作時間:依據37signals的經驗,每個遠距上班員工需要與其他員工有四個小時的重疊工作時間,才能感覺彼此是一個團體,而避免協助合作延遲。
  2. 眼見為憑:透過資訊科技的協助,讓正在工作中的人,雙方的眼睛都能夠看到同一個畫面,這是很重要的一件事,也是彼此協同合作重要的基礎,但請注意,這裏所談到的畫面分享與視訊會議並不同,畫面分享並不需要攝影機,也不需要看到對方的表情,重點在於雙方一起工作的內容。
  3. 一切都公開:在協調不同的遠距工作員工時,集中化的檔案公開存取是相當重要的,透過這個統一集中的存取空間,讓所有員工都能將相關檔案、討論、待辦事項和行事曆等等都放在上頭,確保大家的工作流程與方向一致,千萬不要讓員工把重要檔案鎖在自己的電腦或個人文件匣。
  4. 虛擬茶水間:除了工作,讓遠距工作環境能有一個休息交際的空間更能夠凝聚團體的感情,此外也能夠增加員工間的話題討論與腦力激盪。
  5. 增加工作的動力:遠距工作基本上缺乏實際辦公室的氣氛:與泡咖啡時與同事閒聊、午餐時與同事討論、轉頭可以看見同事在做什麼這種資訊的流通,因此,要設計一個方式讓大家知道大家正在幹什麼事?37signals的方式是設立一個討論串,讓大家都上次聊聊過去這個星期做了什麼事,接下來要幹麼。
  6. 成果決定一切:這是遠距工作所帶來的好處之一,它讓「最終成果」成為評價員工表現的決定因素,而不需要去關心其它無關緊要的鎖事。
  7. 不一定要出差或在家才算遠距:無論在那裏工作,只要出了辦公室,都算是遠距,而且隨時隨地都能進行。
  8. 就算沒有實施遠距工作,也應作好遠距工作的準備:遠距工作也適用於天災或災難發生時作為緊急使用,或適用於個人因素臨時需要在家辦公的員工,因此,遠距上班也可當作一種分散風險的方式。
  9. 少吃M&Ms:Meetings開會與Managers管理者是工作成效不彰的主要原因,遠距工作的關鍵之一,就在於遠離開會與管理者,最主要的,就是避免開會變成常態、會議變得浮濫。
  1. 創新目前的遠距工作架構

一般企業對於遠距工作的工作環境解決方式,多是利用VDI架構將用戶端PC的螢幕從公司內部延伸至使用者的家中,再佐以傳輸連線時的加密、高解析HD畫面支援以及整合性的連線登入方式和更多的使用者管理的工具,例如Citrix的XenDesktop以及VMware的VMware View。
最簡單快速且最有效的方式,就是在員工工作地點與公司之間建立一條加密的數據傳輸通道VPN,然後,讓員工透過RDP遠端桌面方式經由此通道來使用該員工在公司的專屬電腦,如果該員工沒有專屬電腦,則可以考慮使用Citrix、VMWare或Microsoft的VDI架構替該員工建立一個虛擬桌面再讓他透過RDP來使用;凌陽創新使用的遠距工作方式即採取類似的作法(如上圖),這是目前提供給員工遠距工作的系統架構圖,員工可選擇以eKey或VPN方式登入來存取公司內部的電腦和相關資源,語音系統則採用Skype Gateway將桌機與員工Skype帳號之間介接。
「VPN連線+遠端桌面」此方式目前也是凌陽及芯鼎、旭耀等子公司針遠距工作所採行的方法。
  1. 部份地點會有無法連線情況→改用SSL VPN:

  目於使用的VPN方案是微軟基於PPP所設計的虛擬私有網路技術,屬於PPTP(Point-to-Point Tunneling Protocol)的VPN連線方式,優點是所有的Windwos PC皆有內建PPTP,可讓使用者不需要額外安裝設定的情況下直接連線使用,而缺點是使用TCP port 1723、UDP port 1701、4500、500以及IP protocol 47 (GRE)等ports,在少部份限制嚴格的地區會無法連線使用。
  因此建議可改採SSL VPN的連線方式,SSL為Secure Socket Layer的簡稱,該技術使用常用的https 443 port,在任何地點都能順利登入使用,可避免部份port在部份區域被限制無法存取的問題;升級為SSL VPN的方式可考慮的方式:
    1. 創新的eKey軟硬體架構亦可改為SSL VPN,需另外簽約升級維護合約。
    2. 安裝微軟的SSTP(Secure Socket Tunneling Protocol)。
    3. 安裝開源的OpenVPN server。
  1. 本書所推薦的協同合作工具:

除了管理層面的問題之外,遠距工作能否成功的重要關鍵在於協同合作,在37signals的書中有提到一些工具,如WebEx、GoToMeeting、Join.me、GitHub、Dropbox、Highrise、Salesforce、Campfire等等,當然還有37signals自己的Basecamp專案管理工具,這些工具可協助遠距工作者在網路上進行意見及想法的溝通交流,以凝聚團體的向心力;不過,這些工具都有個缺點,就是它們都是架構於公開的網路環境之下,雖然號稱有完善的資料保護或備份措施,但部份較為保守謹慎的企業還是寧願自行架設伺服器、或者自行建置私有雲,而不願意將公司相關的資料放置於其上。
目前協助合作的工具很多,以下先介紹37signals一書中所提到的協同合作工具:
    1. WebEx → 網路電話、視訊會議、即時訊息、桌面及檔案分享等功能,該軟體於2007被Cisco高價併購,但仍有免費版本可下載使用,但使用人數及品質會有所受限,請參考此頁面:http://www.webex.com/plans/meetings-plans.html
    2. GoToMeeting → 與WebEx功能類似,開發商為Citrix,目前並沒有免費版可使用,只能下載試用版本。請參考:http://www.gotomeeting.com/online/index
    3. Join.me → 與前兩者類似,但偏重於桌面及語音會議,沒有視訊方面的功能;有免費版可供下載:https://www.join.me/features
    4. GitHub → 是目前相當流行的線上版本控制服務,可免費或付費使用,但付費會員才能將檔案設定為私人性質,否則都是開放性的任何人皆可瀏覽,網站:https://github.com/
    5. Dropbox →目前最多人使用的雲端硬碟,它可以自動同步本地端的檔案到雲端,也可以分享並與其他人共用檔案。https://www.dropbox.com
    6. Highrise → 這是37signals自己產品,屬於輕量級的線上CRM(客戶關係管理)軟體。
    7. Salesforce → 全球最大的CRM軟體公司,成立於1999年,由曾在甲骨文(Oracle)擔任副總裁一職的Marc Benioff所創立;其服務屬於線上訂製的方式,客戶可依需求自行選購所需的功能(稱為On-demand CRM);最便宜五人版本每月約$5美金,可參考http://www.salesforce.com。
    8. Campfire → 此亦為17signals所開發的軟體,功能為群組專用的聊天及檔案分享工具,可參考:https://campfirenow.com/。
  1. 其它的協同合作工具:

    對於那些沒有自有主機及自建機房的新創或人數不多的小公司來說,他們員工的年紀都相當輕、同質性高、工作內容類似、且對於新工具的接受與操作能力強,並且普遍具備有相當的IT技能基礎,就像本書21signals公司的員工一樣,他們可以自行在自己的PC或NB上佐以各式開源的軟體來搭建出遠端辦公的環境,整合並應用來達成日常性的工作;例如,文書編輯寫作使用Google或Microsoft的線上office軟體、多人網路儲存分享使用Dropbox或Box、版本控制利用Git、語音通訊或畫面分享用Skype或Webex,視訊會議使用Google Hangouts、聊天討論可以使用Gchat、Campfire或Skype、專案管理用本書作者介紹的Basecamp、產品的bug追蹤管理可以考慮Bugzilla…使用這些工具對於他們來說並不是太困難的事,但是對於企業內部電腦技能不一的員工來說,這些軟體過於分散且需要有自行設定安裝及操作的能力,反而會讓他們覺得麻煩難以上手而拒絕去使用,最好的方式是提供一個整合性的工具,包含視訊會議、聊天、遠端桌面共享(看到相同的電腦畫面並且能一同操作)、語音通話等等功能,讓使用者不用學習操作太多的工具就可以輕易使用,例如Screenhero、Co-Life、JoinNet、BigBlueButton等等軟體,未來資訊部將會針對這些工具進行評估與測試。