2012年6月17日 星期日

iOS 照片傳輸新方法 -- Shared Photo Streams


上週的 WWDC 發表了很多新東西,但礙於工作關係,我等到昨晚才能看發表會錄影 .... [1] 看完之後,心中雖有不少想法,但這幾天看了很多網友的討論文章,其內容也把我的想法說得差不多了,故我將不在某些 "熱門話題" 上多加著墨,這篇要說的是一個比較少人討論的新功能 -- Shared Photo Streams

在 iOS 及各電腦間互傳檔案一直不是很方便直覺的事情,先撇開 "用隨身碟手動傳檔" 這種很 low 的方法 [2] 不提,要用網路傳檔常常比想像中地還要困難。為啥困難呢?對方不就在你的眼前?(假設你就站在欲分享檔案的朋友面前) 原因就在於網路連線的架構

網路傳檔這碼子事在本小站算是老調重彈 (最近一篇相關文章為 "Mac OSX 獨家傳檔服務-- AirDrop"),其實說穿了不過就兩個重點:1. 可辨識的 IP 位置;2. 方便的客戶端軟體,但你會發現光是第一點卡關了。為何卡關呢?首先,為了要有 "可辨識的 IP 位置",你的裝置必須要能連上網際網路。這倒不是難事,因為就算沒有乙太 (有線) 網路或無線 WiFi 網路可用,許多智慧型手機及平板都能用 3G 行動上網,但重點是下一步 -- 要有 "獨一無二" 的 IP!一個連網裝置要能在茫茫網海中找到另一個連網裝置,靠的就是 IP 位置,可是呢 ....... 絕大多數的連網裝置在網際網路中都不具備獨立的 IP 位置!


看看上面的示意圖,它所表達的就是現在網際網路的 IP 使用現況,從圖中可以看出,各個連網裝置都是藉由路由器 (router) 去分得一個 "虛擬" IP (像 192.168.0.10),而真正對外 (在網際網路上) 的 IP 都是同一個 (本例中為 101.102.103.104),所以若兩個連網裝置不在同一個區域網路中,根本就無法相連,後續的傳檔工作當然也不可能進行。舉個例子,若我的手機以 3G 上網,想要跟公司某一台電腦相連,但公司的電腦是架構在一個超大的區網之下,對外的 IP 位置就只有區區幾個,就算能連線到那些 IP 位置,路由器或代理伺服器還是不知道你要連到哪一台電腦,於是這個連線就失敗了;反之亦然,每台以 3G 上網的手機一樣沒有獨立的 IP 位置,只是發送虛擬 IP 的源頭換成 3G 網路基地台而已 (這個就更複雜了),故想要以其他連網裝置跟使用 3G 上網的手機相連也幾乎是不可能的 [3]。

因此,絕大部分提供網路傳檔功能的軟體都會要求兩個裝置處於同一個區網底下,因為在同一個區網下虛擬 IP 才有意義,連網裝置可以明顯地分出 192.168.0.10 及 192.168.0.11 的不同,並知道該與哪一個裝置相連。不過,要讓兩個裝置處於同一個區網下有時並不是那麼容易,而之前提過的 AirDrop 之所以優秀,就是因為它能突破 IP 的限制,讓兩個裝置直接點對點互連 (連網際網路都不必連上),再配上一個很有親和力的客戶端使用界面,故使得網路傳檔這種 "看似簡單卻又煩人" 的事變得輕鬆寫意。可是,AirDrop 具有相當大的硬體 (網卡) 及軟體 (作業系統) 限制,而且適用距離短 (用 WiFi 互連的兩個裝置是能離多遠?) 故若要傳檔給遠方的朋友 (以及沒使用 Lion 的朋友 ...),還是得另尋方法。

為了突破上述的限制,想當然爾還是得連線至網際網路,那就簡單了,像 EMail、IM 傳檔及上傳免費空間都是大家所熟悉的方法,也有各自的優缺點,而 Apple 提出的另一套解決方案就是 Shared Photo Streams。照片串流共享 (Shared Photo Streams) 顧名思義就是讓 Photo Stream 中的照片能夠分享給其他朋友,它的原理相當單純,就是在你的 Photo Stream 上增加額外的讀取權限,讓其他人也能讀取而已,對於 Apple 來說,反正照片都已經存放在它的伺服器中了,增加檔案的讀取權限並不會複製檔案本身,所以沒什麼差,頂多是流量增加一些。那麼,相較於其他方法,Shared Photo Streams有什麼優勢呢?
  1. 不用處於同一個區域網路下:照片都傳到 Apple 伺服器了,用任何網路連線都可以操控 (發表會中就是以 3G 網路示範),跟上傳到免費空間 (或最近正夯的雲端硬碟服務) 類似。
  2. 任何裝置、任何時間都可分享:由於分享的照片存放在遠端的 Apple 伺服器中,所以即使照片不在目前使用的裝置內,一樣可以遠端分享 Photo Stream 裡的照片。
  3. 跟系統緊密結合:Photo Stream 是 iOS 內建的功能 [4],跟 Apple ID 及 iCloud 綁在一起,且全自動同步,不必煩惱上傳的問題。
  4. 多種接收檔案的方式:接收者若使用 iOS device,則可在 photo.app 裡直接接收;若使用 Mac,則可在 iPhoto 或 Aperture 裡接收;若沒有使用 iOS device 或 Mac,則都可從瀏覽器去存取被分享的照片。
  5. 可以在被分享的照片中加上註解:也許有人覺得這個功能不重要,但當你看到某些人將註解寫在照片檔名裡的時候,你就知道這功能有多威了 ... "加註解" 這項功能在其他傳檔方式中較難實現,因為它們沒有跟照片程式整合在一起,就算做到了,效果也不見得好,Shared Photo Streams 可是能將註解文字直接放在照片角落,在以幻燈片秀觀看時更能顯示出其優異所在。
簡單的說,就是全自動、跨裝置、跨網路、跨平台,一切講求無腦操作,不過就是分享張照片幹麼懂那麼多,對吧?相較之下,其他的方法雖然泛用度更高,但就顯得麻煩又複雜!不過,Shared Photo Streams 也有一些限制,值得大家注意一下:
  1. 分享的朋友必須要有 Apple ID:這很正常,因為 Apple 要開權限給別的使用者讀取,若該使用者沒有 Apple ID,那 Apple 要怎麼開權限給他?目前尚不知道以瀏覽器存取的方式是否也需要用 Apple ID 登入,或是能將權限開放給 "每個人"?不過我認為應該有 Apple ID required 的限制。(20120715 Update : 可以開放權限給所有人,就像網路相簿一樣)
  2. 欲分享的照片必須上傳至 Photo Stream:這很直觀,而且也常常不是問題,但請注意 iCloud 的備份工作必須藉由 WiFi 網路!若你在戶外拍了張照片,光有 3G 網路是無法啟動 Photo Stream 的上傳機制的 [5],當然也就無法分享照片 (此時只能用別的方法了~)。
  3. iOS 6 later:由於 Shared Photo Streams 是 iOS 6 的新功能,所以系統至少要更新到 iOS 6 才行 (廢話),而一般電腦就算作業系統未更新,還是能用支援 HTML5 的瀏覽器接收圖檔,因此不是問題。基本上這也不算什麼限制啦 .... 只是小弟的 iPad 1 不能更新 iOS 6 讓我有點受傷 (淚),看來在 iPad 1 上只能用瀏覽器接收了 .... 不能用 Shared Photo Streams 分享圖檔  orz。
  4. Photo only:又是一句廢話 (被毆飛),Shared "Photo" Stream 只能分享照片是天經地義的事吧!但請別忘了這項功能是建構在 iCloud 的雲端伺服器中,而第三方 App 及 iWork for iOS 的檔案不是也能藉由 "Documents in the Cloud" 存放在 iCloud 中嗎?所以 Apple 的下一步會不會是 "Shared Documents in the Cloud" 呢?看起來可行性蠻高的,請期待 iOS 7 吧~ XD
如上,簡單介紹了一下 Shared Photo Streams 的優缺點,撇開些許的限制不談,這可是我有史以來看過最簡單的照片分享方法,而且以後鐵定會有越來越多以 iCloud 為基底的類似服務,讓我不禁打了個冷顫,Apple 的生態圈可能已經快到 "固若金湯" 的地步了 (驚)。

我想很多人看完這次的 WWDC 都會覺得有些失望,以 iOS 來說,iOS 6 完全比不上 iOS 5 的步入雲端與 iOS 4 的功能提昇來得讓人興奮,可是 iOS 6 卻是個很重要的分水嶺 (白話一點就是鋪梗):1. 脫離 Google 服務的掌控;2. 進軍在地服務與行動支付市場,這些都是 Apple 從來沒有做過的嘗試,會不會成功我不敢斷言 (反正跟台灣都沒關係啦 ....),但可以確定的是,iOS 的整體設計已經越來越洗煉,越來越有 "成熟的行動系統" 的雛型,也許再經過一年的醞釀,服務漸漸到位之後,明年推出 iOS 7 時,Apple 已經是無堅不摧的大怪獸了 (換個角度想,還蠻恐怖的 ... [6])。

=======================

同場加映:Bump 的照片傳檔方法


Bump 是一個非常有名的 iOS App,其構想可說是巧奪天工,它讓兩個 iOS device 藉由碰撞 (其實就是搖晃裝置啦),觸發 "上傳檔案或訊息至 Bump 伺服器" 的功能,而 Bump 伺服器再以連線來源的位置,找出要互傳檔案的兩個裝置為何,最後傳輸檔案,巧妙地克服 iOS device 不支援 NFC 的缺點 [7]。現在 Bump 又往前邁進一步,拜 HTML5 所賜,只要是支援 "位置共享" 的瀏覽器,即使是桌面電腦也可以接收從 Bump 傳輸過來的照片 (很抱歉,也是只能傳照片),使用方法如下:
  1. 開啟 iOS device 裡的 Bump.app
  2. 選好要分享的照片
  3. 開啟桌面電腦的瀏覽器,連上:https://bu.mp/
  4. 搖晃一下裝置,等待其震動發生 (震動的效果只有 iPhone 有)
  5. 立即按下桌面電腦之鍵盤的空白鍵
完成上述的步驟之後,可以看到欲分享的照片被傳至 Bump 伺服器,且呈現在網頁中,使用者可以自由下載。不過這種方法也不是沒有缺點,比如說:1. 照片尺寸會被縮小;2. 某些舊版的瀏覽器不支援,IE 則是全數不支援 (對於某些認為 "IE = 上網" 的人來說可能相當難堪吧);3. 不見得每次都能成功傳檔 (如果你了解 Bump 的原理,應該能體諒它們 ...)。但縱使有以上的不足,這種方法極富趣味,而且兩個裝置不必處於同一個區域網路下,故也提供給各位做個參考~


附註
1. 不過,兩小時好長啊 .... 加上這次要講的東西很多,每個人都講好快,看完之後真的超累的 ... orz
2. 雖然很 low,但要傳大檔的時候還是得這樣做,而 iOS device 可使用 PhotoFast i-Flashdrive
3. 其實,之所以要搞虛擬 IP 的把戲 (這一般稱為 NAT) 就是因為實體 IP 數量不夠用嘛!!故才要推 IPv6 阿 ..... 不知道 IPv6 是啥的人就當我沒說,反正還早,而且這個轉換也會在無聲無息下進行。
4. 由於 Mac OSX Mountain Lion 也即將跟 iCloud 深度整合,而 iPhoto 裡也有 Photo Stream 的相簿,故我猜 Shared Photo Streams 在未來的 Mac 裡也能用 (主動分享照片,而不只是接收)。
5. 我在之前的文章裡提過,這其實不是缺點,而是保護措施,避免 3G 網路的流量限制動不動就因 iCloud 的背景上傳而爆掉,很多國家是不提供 3G 吃到飽的。
6. Android fans 一定又會跳出來說 "不能讓一家獨大" .... 問題是你們的東西難用阿,自己不加油講這些話有什麼意義 .... 也不想想之前 Apple 受盡多少屈辱才走到這一步,不反省自己的不足卻只會搖著 "自由" 的大旗?
7. Abdroid 很久以前就支援 NFC 了,可是用的人多嗎?我周圍有 Android phone 的人是都沒在用啦 .... 我猜 Apple 之所以不採用 NFC 技術,有一部分原因是 "普遍性" 的問題,故寧可發展 WiFi 及 Bluetooth 的應用。

8 則留言:

  1. 照片自動上傳功能
    DropBox最近也正式啟動囉
    不過還沒實際測試過= =
    上傳一定量還會加送免空額度的樣子

    回覆刪除
    回覆
    1. 其實,我很少使用 Dropbox。

      原因很簡單,絕不是因為它不好,而是容量真的太小。目前我的 Dropbox 只有 4GB,拿去跟別人做共享資料夾都快不夠了,哪有可能做額外的應用?

      前陣子 Dropbox 的解謎活動實在讓我傻眼,那麼複雜的重重難題,解完了才只能得到 1GB ... 我連看攻略照著做都懶了。

      當然啦,要怎麼收費是它家的事,免費用戶只能摸摸鼻子。我想表達的是,之所以我很少討論 Dropbox 的應用,原因就是我自己也沒啥機會用 ....

      刪除
  2. Dropbox 在iOS上推出1.5版終於支援照片上傳.是挺方便的
    [加送3GB,前提是沒參加過過去的beta測試活動...etc]

    對於照片上傳的設定只有第一次詢問~
    "預設上傳以此刻以前與此刻以後的全部照片 OR上傳此刻以後的所有照片"
    之後要改必需要移除重裝,有點麻煩

    我覺得..自dropbox無意被Apple買下後,
    Apple的動作越來越多了,dropbox的新功能&與其它手機廠的合作也越推越快了[也或許是其它手機廠現階段不得不找他合作吧?!]

    回覆刪除
    回覆
    1. Dropbox 其實沒有想像中地風光及壯大,基本上這種網路公司的獲利來源都以企業用戶為主 (你自己說你及你周圍的朋友有多少人付錢用 Dropbox?)。可是,縱使 Dropbox 被一大堆 App 採用作為儲存空間,收入卻不穩定,而企業端市場又被性質類似且企業應用更佳的 Box.net 搶走,坦白說處境並沒有很好,有不有名及好不好用跟獲利多少一點關係都沒有。

      但是 Dropbox 好歹也是相當成功的網路服務,而且名氣夠大,大家都有帳號,所以各家廠商及 Dropbox 彼此為了自救,當然就連成一線了,這樣才能以最少的成本建構雲端服務並與 Apple 競爭。

      刪除
  3. 雖然主題是PHOTO STREAM,不過插個題外話,
    自從APPLE停掉IDISK的服務後,我不得不轉向用DROPBOX,
    之前有申請帳號,但從來沒用過,不用還好,一用就覺得…
    比IDISK的好耶,速度很快,幾乎和使用本身硬碟沒什麼兩樣,
    當然還是會慢一點啦,不過我已經覺得很OK了。

    IDISK和它一比,一整個不行,不知道是檢查程序繁複或什麼原因,反正就是慢慢慢。

    而且有一個更奇怪的現象,IDISK是不接受非本機硬碟的檔案上傳,我為此還和APPLE的線上客服問了很久;白話來說,我在公司的資料基本上都是存SERVER,如果我直接從SERVER中拉一個(或選一個)檔案上傳到IDISK是不行的,一定要先將這支檔案丟到本機的任何一個位置,IDISK才接受,很妙吧?我完全不能理解IDISK這樣的限制是基於什麼理由,安全考量吧?

    ANYWAY,依我用了這多APPLE DEVICE,我反而不覺得目前為止ICLOUD有特別突出,當然它在同步通訊錄、BOOKMARK、ITUNES這些部份,因為綁在同一個生態圈,的確是有比較方便,但其他家的(DROPBOX或GOOGLE DRIVE)功能並不會比較差,而且只要切入點正確,我還覺得包袱少反而更是大有可為。

    回覆刪除
    回覆
    1. Dropbox 的速度真的快,這個沒有話說,我沒用過這麼流暢且界面又清爽的網路服務,在某些方面 Google Drive 也不是它的對手。

      可是,它的容量小,而且全部東西都算容量,iCloud 雖只有 5GB,但很多東西不算在那 5GB 中,每個人使用的容量絕對都超過 5GB。當然你可以說你的 Dropbox 有 10 幾 GB .... 我是沒辦法啦。

      至於 Google Drive ... 上次想透過網頁界面上傳一個 100 MB 的 flv 影片居然無法成功 ... 還跟我說在 OCR?!不會這個前身是 Google Doc 的服務有檔案格式限制吧?!Anyway,Google Drive 的特別之處在於能安裝相容的 Web App,有興趣的人不彷玩玩看。

      刪除
  4. 一直在等你對WWDC 2012的評論捏,怎麼才講一點點XD
    iOS 6在中文輸入方面也有蠻大的進步~這點還蠻值得期待的~雖然我早改用拼音了...
    iOS/Mac/PC上照片傳輸還有一個很好用的軟體,PhotoSync,大概是我用過最讚的吧~

    回覆刪除
    回覆
    1. WWDC 的評論阿 .... 承蒙你看得起 (汗),不過正如本文開頭所說的,網路上太多評論文了,基本上 iOS 6 的評論已經多到滿出來,而且蠻多寫得很不錯;Mountain Lion 算是 Lion 的進化版,我的確很滿意,但沒有什麼有趣的新玩意 (雖然 Craig 講得很賣力,但基本上在 Lion 及 iOS 5 推出時都評過啦~);至於 Macbook Pro with Retina Display ... 其實除了螢幕很讚之外,也沒啥好說的了。

      所以,我將不會寫這次 WWDC 的評論文,除非是我發現有什麼沒人寫過的東西 ... 但應該也是對單一功能或產品的討論。

      "iOS 6在中文輸入方面也有蠻大的進步" 我倒是不知道這件事,別讓我期待太深阿 XD...

      至於 PhotoSync 我剛剛看了一下,似乎真的是很強大,不過我對目前使用的傳檔方法沒有什麼不滿,就先不花這個錢了~XD

      刪除