栗子現場直播 千篇一栗
有很多簡單的道理,若不是被遺忘,不是察覺不到,就是知易行難。

2009年3月14日 星期六

天空方案 200903141633

  如無意外,「天空」會是我在 DonKat 以後的另一個 Open source project 。
  所謂「天空」,玄一點的說,即是只要能上網,就能存取的區域。簡單的說,即是私人伺服器。複雜的說,即是被簡化的網絡服務集合系統。

  「天空」包含很多的部件(可稱之為 plugin )。而開發計劃中的第一個部件集,也是最重要的部件集,就是「檔案庫」。所謂檔案庫,很簡單,就是一個存放及分享檔案的地方。
  而這個檔案庫部件集,包括但不限於以下的功能。

  tag 分類
  個人認為 tag 比樹狀 group 更好用。原因不在此詳說。
  但, tag 和 tag 之間可能會有 relationship 。例如當一個檔案被 tag 為「linux」,它會同時會被自動 tag 為「電腦」。
  另,有些其他功能會和這個 tag 功能掛鈎。例如 share 功能會自動把某個 tag 中所有檔案都自動 share 出去。例如,「linux」→「電腦」→「share」,然後你把某個 file 放進 「linux」中,就會自動把那個 file share 出去。

  分享功能
  分享方法包括但不限於以下方式:BT,HTTP,emule,foxy。
  和 tag 互動,不在此詳述。

  通知功能
  通知方法包括但不限於以下方式:RSS,電郵,facebook。
  一旦有檔案加減,就會發出通知。這個功能最適合和分享功能進行互動。

  賬戶權限
  可能和 OpenID 互動,不在此詳述。

  同步功能
  例如你有一部手機,或一部手提電腦。你會希望能夠讓檔案隨時和伺服器同步。其中一個用途是和 MP3 player 互動。另外一個用途是和手機照片做同步。

  私人 Flickr Youtube
  和 tag 互動,不在此詳述。影片播放上可以自己生 fla ,不過也可以考慮自動 convert upload 上 Youtube 。


  以上這些功能,會和數個世間已有的功能互相重疊,而且是重疊得很厲害。例如分享功能,只要有remote desktop ,以及網上一些 file sharing 的網站就很易做到。
  不過,整個系統會有以下的好處:
  • 你的硬碟有多大,你的空間就有多大。
  • 因為硬碟是你的,只要沒公開,就不會有人會對你的東西做 data mining 。
  • 一站式做很多東西,不需分別操作 Apache 及 BT 。只要簡單的動作,就能同時在多個媒介分享檔案,並提醒你的訂閱者。
  • 想不出還有多好,總之就是很好很好。


  而在實作上,我有兩個想法。
  第一個想法,是製作一個大 frameworks ,然後每個部份都特別地為這個 frameworks 製作。其好處是統一,元件和元件之間能有很好的互動,壞處是要做很多 porting ,甚至不能 reuse 現有的東東,也不乎合 unix 那一切求簡的原則。
  第二個想法,是製作一個小 frameworks ,然後在每個已有的系統加上個 connector 。好處和壞處和前者相反。

  還有很多時間讓我慢慢思考。現在不是賽跑,時間多的是。如果這東西被其他人做了,我也能省很多力氣。

沒有留言: