SlideShare a Scribd company logo
開放式平台的機會與應用
大華科技大學 數位內容科技系 林獻堂
Agenda

    前言

    開放觀念的演進
   開放原始碼軟體的發展
   行動開放平台: Android

    人機互動的新趨勢
   結論
   Demo
前言
前言

    話說「天下大勢,分久必合,合久必分」
   今說「平台大勢,開久必閉,閉久必開」
   開放的精神是取之於社會,用之於社會

    個體貢獻一己之力,享受匯集全體的成果
   1985 年萌芽的開放概念,間接直接造就今日科
    技狂潮

    即使如間接導致自由軟體與開放原始碼運動的微
    軟,都必須擁抱開放原始碼
   對於現在生活影響甚巨的 SoLoMo 服務,就是受
    惠於開放概念的一個典型例子
何謂 SoLoMo

    KPCB 合夥人 John Doerr 在 2011 年 2 月於
    Google Think Mobile Conference 演講中,首度提
    出 SoLoMo 一詞

    So(Social) :當今火紅的 Social Network Sites 或是
    Social Media ,都是 Web2.0 的典型,而 Web2.0
    的精神就是 UGC (User Generated Content)

    Lo(Location): 以 Google Map, Earth 提供的服務為
    典型

    Mo(Mobile) :資訊科技的現在與未來趨勢行動運
    算, Google 的 Android 是一個典型的平台

    審視 SoLoMo 的三個支柱,開放觀念隨處可見
SoLoMo 的概念架構圖
                    ) Social
                  ( 社群網站                 Location
                                         ( 地理資
                                           訊)




                                         Mobile
                                        ( 行動運
                                          算)

安裝應用程式 Apps 的行動裝置( Mobile) ,經由 GPS 或是 Wireless AP 取得
位置資訊( Location) ,並經由 3G 或 Wireless 取得社群應用服務( Social)
開放觀念的演進
開放的歷史脈絡
開放概念的萌芽

    Richard Stallman 於 MIT AI Lab 期間,不滿於以封閉軟體取代 Lab
    中可自由流通的軟體

    他於 1985 年發表了著名的 GNU 宣言 (GNU Manifesto) 正式宣布要
    開始進行一項宏偉的計劃:創造一套完全自由,兼容於 Unix 的作業
    系統 GNU ( GNU's Not Unix! )
   並於 1985 年成立自由軟體基金會 (Free Software
    Foundation , FSF)
   他於 1989 年與一群律師起草了廣為使用的 GPL(GNU General
    Public License, GNU GP) ,且提出「 Copyleft 」的概念
   Richard Stallman 是堅定的自由軟體運動倡導者
   他與其他提倡開放原始碼的人不同,他認為使用專利軟體是非常不道
    德的事,只有自由的程序才是符合其道德標準的

    對此許多人表示異議,並也因此有了自由軟體運動與開放原始碼軟體
    運動之分
自由的意義
Richard Stallman 認為軟體使用要有四大自由
  :
   使用的自由:可以不受任何限制地來使用軟體

    研究的自由:可以研究軟體運作方式、並使其
    適合個人需要
   散佈的自由:可以自由地複製此軟體並散佈給
    他人
   改良的自由:可以自行改良軟體並散佈改良後
    的版本以使全體社群受益
開放原始碼軟體

    開放原始碼促進會於 1998 年成立,同時促使
    Netscape 公布 Navigator 的原始程式碼

    開放原始碼的內涵是由 Bruce Perens 所定義的

    開放原始碼軟體 (Open source software) 是一種原
    始碼可以任意取用的電腦軟體

    開放原始碼軟體是以 GPL 授權發行的軟體,以保
    障軟體使用者自由使用及接觸原始碼的權利。

    這同時也保障了使用者自行修改、複製以及再分發
    的權利。

    簡而言之:所有公布軟體原始碼的程式,都可以稱
    為開放原始碼軟體
自由軟體概念圖




資料來源: http://zh.wikipedia.org/wiki/File:Fsmap-zh_tw.svg
開放原始碼軟體與自由軟體的差異

    嚴格地說來,開放原始碼軟體與自由軟體是兩個不
    同的概念

    只要符合開放原始碼軟體定義的軟體就能被稱為開
    放原始碼軟體

    自由軟體是一個比開放原始碼軟體更嚴格的概念,
    因此所有自由軟體都是開放原始碼的軟體,但不是
    所有的開放原始碼軟體都能被稱為「自由」

    在現實上,絕大多數開源軟體開放原始碼軟體也都
    符合自由軟體的定義。比如,遵守 GPL 和 BSD 授
    權的軟體都是開放的並且是自由的
創用 CC(Creative Commons)

    哈佛大學法學教授 Lawrence Lessig 於 2001 年在美國
    成立 Creative Commons 組織

    提出「保留部份權利」 (Some Rights Reserve) 的相對
    思考與作法

    Creative Commons 以模組化的簡易條件,透過排列組
    合,提供了 6 種便利使用的公眾授權條款

    創作者可以挑選出最合適自己作品的授權條款,透過簡
    易的方式自行 標示 於其作品上,將作品釋出給大眾使
    用

    透過這種自願分享的方式,大家可以群力建立內容豐富
    、權利清楚、且便於散布的各式內容資源,嘉惠自己與
    其它眾多的使用者
創用 CC 授權方式

姓名標示
姓名標示─非商業性
姓名標示─非商業性─相同方式分享
姓名標示─禁止改作
姓名標示─非商業性─禁止改作
姓名標示─相同方式分享
Linux

    Linux 是一種自由和開放原始碼的類 UNIX 作業系統核
    心

    目前存在著許多不同的 Linux 發行版,可安裝在各種各
    樣的電腦硬體設備,從手機、平板電腦、路由器和影音
    遊戲控制台,到桌上型電腦,大型電腦和超級電腦

    只要遵循 GPL 授權 , 任何人和機構都可以自由地使用
    Linux 的所有底層原始碼,也可以自由地修改和再發布

    雖然 Linux 一詞本身只表示 Linux 核心,但在實際上人
    們已經習慣了用 Linux 來形容整個基於 Linux 核心

    通常 Linux 會封裝成供桌上型電腦和伺服器使用的
    Linux 發行版本

    一些主流的 Linux 發行版本包括 Debian( 衍生版本
    Ubuntu) , Fedora 和 openSUSE 等
Unix 與 Linux 歷史源流




資料來源 :
開放原始碼軟體的發展
開放原始碼軟體的種類與形式
   有眾多的開放原始碼軟體,典型的系統有:

    Linux
   OpenOffice
   Firefix
   CMS platform, 例如 phpBB,
   Eclipse

    Xmind
   Gimp
   ……
   本報告探討專為非資訊背景人員所發展的開發與應用平台
開放原始碼軟體大事記
Design By Numbers (DBN)

    Design By Numbers (DBN) 是特地為教導沒有任何
    程式設計背景的藝術家與設計師程式概念的系統,
    它可以直接在瀏覽器內執行

    DBN 最早是由帶領 MIT Media Lab 的 Aesthetics
    + Computation Group (ACG) 團隊的 John Maeda
    所帶領的團隊在 1990s 年代所開發的

    DBN 只使用最少數量的語法與最簡單的開發環境,
    其目的是要容易使用,但是這也限縮了開發進階的
    應用的機會

    累積數年的發展與傳授 DBN 之後, ACG 團隊的
    Casey Reas and Benjamin Fry 在 2001 年聯手開
    發了 Processing
    Source: http://www.asquare.org/networkresearch/2007/11
Processing
   Processing 是一個開放原始碼的程式語言
    與整合式開發環境

    它是專為數位藝術家與視覺傳達設計者所
    開發的環境
   其目的是要教導與視覺內涵相關的電腦程
    式基礎,以及作為電子繪本的基礎

    Processing 是架構在 Java 的基礎上,但是
    使用簡化的語法語及圖形式程式設計的模
    型
Wiring

    Wiring 是 Hernando Barragán 在 2003
    年開始開發的開放原始碼原型平台

    這個平台包含程式語言,整合式發展環
    境 (IDE) 與單板微控制器

    Wiring IDE 是一個由 Processing 的
    IDE 所衍生,且也是以 Java 所開發的
    跨平台的應用程式

    Wiring 的硬體參考設計是以創用 CC 授
    權方式釋出

    Wiring 的硬體使用 Atmel 的 ATMega
    系列晶片,包含
    atmega1281/atmega2561 與
    atmega644p
Arduino
   開放原始碼硬體的觀念衍生自開放原始碼硬體軟體的觀念
   透過開放原始碼的授權方式,將硬體的資料公開。硬體的
    原始資料通常包括材料表 (BOM: Bill of Material) 、電路圖
    (Schematic) 、佈線圖 (Layout) 、驅動程式 (Device
    Driver) 、應用程式介面 (API) 、以及發展平台等
   為協助學生以比較低的成本開發所設計的互動式專
    案, Italy 某一大學的人員於 2005 年開發出以 Atmel 微控
    制器為基礎的 Arduino 系統,此系統採用開放原始碼硬體
    授權
   Arduino 系統包含 Arduino 板,週邊介面板 Shields 以及
    IDE 開發環境
   Arduino 其實不是一個獨立的系統,而是衍生自其他更早
    期發展的系統 (Processing, wiring) ,同時也有許多系統是
Arduino board & IDE
Arduino Ecosystems

Pre systems       Arduino   Post systems
 Processing                  Freeduino

   Wiring          IDE       Wiseduino
                 Arduino
                  Shields


                    開源碼社群
圖形式程式語言

    傳統的程式語言是一種敘述式的結構,程式是由一
    連串將敘述 (statement) 依所需要的執行邏輯所構
    成的

    學習程式的最重要目的是要利用電腦來解決問題,
    也就是將問題轉化成電腦可以處理的形式

    大多數的人認為撰寫電腦程式是一件惱人且特殊的
    工作,只有受過特殊專業訓練的人才做得來

    就傳統的 C++ 或是 Java 程式語言來說,對於許多
    人來說或許真的是不好學習

    由 MIT Media Lab 所發展出來的圖形化程式設計語
    言 Scratch ,就是嘗試要突破這個限制
Scratch

    MIT 為小學生 ( 尤其弱勢的學生 ) 所開發的 Scratch
    圖形化程式語言,是一個以圖形化的方法來學習程
    式語言

    這個系統在非印歐語系國家,還有一個更重要的貢
    獻,是排除了母語的障礙

    第一版的 Scratch 是由 MIT Media Lab 的 Mitchel
    Resnick 所領導的 Lifelong Kindergarten group, 於
    2006 年所開發出來

    Scrtatch 的特點
    
        積木式程式設計流程 (Building-block programming)
    
        媒體的應用 (Media manipulation)
    
        分享與合作 (Sharing and collaboration) 。
Scratch 範例
Fritzing

    Fritzing 是一個開放原始碼的計畫,目的是要支援
    設計家,藝術家,研究者與玩家,靈活應用互動性
    電子裝置

    Fritzing 可視為專為非工程師所開發的電子設計自
    動化 (EDA) 工具

    此計畫受到 Processing 與 Arduino 的鼓舞而建立軟
    體與網站,並開發讓使用者可以建立原型所需文件
    ,與他人分享這些文件,在課堂上教導電子學,以
    及產生可用於專業生產所需的 PCB 佈局

    2009 年 3 月份的版本開始跟 Arduino 結合
Fritzing




http://www.youtube.com/watch?
v=Hxhd4HKrWpg&feature=player_embedded#!
行動開放平台: Android
Android 重要里程碑
開放式平台
   有各式開放平台,但以 Google
    Android 最具代表性

    Google 於 2007 年 11 月宣布推出以
    Linux 為基礎的 Android 開放式平台,
    讓加入開放手機聯盟( Open
    Handset Alliance )的 33 名中下游廠
    商,藉此平台開發其手機或行動網路
    裝置,而 Google 則以廣告營收來獲
    取利益。
Android 概述

    Android 平台由作業系統、中間層、用戶界面和應
    用軟件組成

    它採用 Software Stack 的架構,主要分為三部分 :

    底層以 Linux 內核工作為基礎, android 系統效果
    圖由 C 語言開發,只提供基本功能

    中間層包括函數庫 Library 和虛擬機 Virtual
    Machine ,由 C++ 開發

    最上層是各種應用軟體,包括通話程序, SMS 程
    序等,應用軟體則由各公司自行開發,主要是以
    Java 作為程式編寫
Android inside and outside
一張圖道盡 Android 發展史 (1/6)




資料來源 :http://www.xcubelabs.com/the-android-story.php
一張圖道盡 Android 發展史 (2/6)




資料來源 :http://www.xcubelabs.com/the-android-story.php
一張圖道盡 Android 發展史 (3/6)




資料來源 :http://www.xcubelabs.com/the-android-story.php
一張圖道盡 Android 發展史 (4/6)
一張圖道盡 Android 發展史 (5/6)
一張圖道盡 Android 發展史 (6/6)
何謂 APP
   APP 為 Application program 的縮寫,是在智
    慧型裝置如手機與平板上執行的應用程式

    類似電腦中執行的程式,例如 word, 記事本,
    小畫家等
   APP 為一種原生 (Native) 的程式碼,無法跨平
    台執行,例如 Android 的 APP 不可以放到
    Apple 的 iOS 中執行
   而在網頁中應用程式 ( 例如 HTML5) 是可以跨
    平台執行
   APP 與 HTML5 各自擁有自己的支持陣營
   選擇 APP 著重於效能,選擇 HTML5 著眼跨
    平台,以及不需專屬 APP store 來發布
APP 的開發

    需要使用一般程式語言整合式開發環境 IDE 來
    開發,例如
   Android 使用 Eclipse 作為開發環境

    Windows Phone 使用 Visual Studio 為開發環
    境
   iOS 使用 xcode 開發環境 , 以 Objective C 語
    言開發
   上述開發環境的使用,通常需要資訊專業知識
   一般非資訊專業者很難上手
APP Inventor

    MIT 教授 Hal Abelson 於 2008 年在 Google 休假
    期間,興起 App Inventor 的想法

    Google 在 2009 年底釋出 Beta 版的 APP Inventor

    App Inventor 於 2012 年 1 月 1 日移交給 MIT
    Center for Mobile Learning ,並已於 3 月 4 日公
    佈使用

    Google App Inventor 是一個完全線上開發的
    Android 程式環境

    拋棄複雜的程式碼而使用類似 Scratch 的積木式堆
    疊法來設計 Android 程式
APP Inventor 概念圖
智慧型裝置的趨勢
   智慧型手機與平板電腦,已經成為個人最普遍
    的電子裝置

    由面板尺度來看,由智慧型手機的小螢幕,到
    平板的中螢幕,進到電視的大螢幕是必然的趨
    勢

    智慧電視已經開始進駐家庭,智慧電視是具有
    作業系統而且可以執行 APP 的數位電視
   智慧家庭也是時代的潮流之一

    開放平台龍頭,透過 Android@Home 將觸角
    深入一般家庭內
Android@Home

    Google 在 2011 年 5 月份舉行的 I/O 開發者年度大會
    中,提出允許使用者與幾乎任何的電子設備間互動的平
    台 Android@Home

    在家庭中可能的設備有家庭媒體設備、洗碗機、以及電
    燈等,在未來將可以使用新的平台來進行控制

    透過智慧型手機、平板電腦或其它的小裝置以控制有連
    線的設備,已經討論多年,但是市場上一直沒有很恰當
    的應用

    Android 平台在 3.1 版的平台上引入對於 Android 開放
    週邊的支援,這個規範允許外部的 USB 硬體 (Android
    USB 週邊 ) 可以與搭載 Android 作業系統的裝置系統或
    是環境互動
   現階段以 ADK(Accessory Development Kit) 對 Arduino
    提供支援,目前版本為 ADK 2012
APP 開發與應用的未來

    APP 具有最速流通的特點,開發具有創意
    的 APP 可以迅速擴散,例如 Angry Bird
   已經有一些類似 APP Inventor 的開發平台
    存在

    這些平台很多是以開發多媒體內容,例如
    電腦遊戲為主
   這些工具的特點是在只需最少技術之下,
    可以讓自己的創意得到最大化的發揮
人機互動的新趨勢
手勢互動、臉部與語音辨識
人機互動的本質
   傳統的電腦介面,如鍵盤、滑鼠等不是最
    佳的人機介面

    日本第五代電腦雖未於其宣示的期間內完
    成,但播下的種子卻在當今開花結果
   體感式人機互動的蓬勃發展,得力於微機
    電技術、感測器技術、以及電腦軟硬體技
    術的進步

    Wii, XBOX, Kinect, Siri 等提供人與機器間
    更自然的互動途徑
Microsoft 沉浸式顯示

    微軟最新申請與體感相關的專利:沉浸式顯示體驗
    (Immersive Display)

    能將大幅影像以 360 度投影在任何環境中

    未來凡是遊戲機中的影像都能跳脫電視螢幕的大小與邊
    框限制,直接在房間中呈現,虛擬與真實之間幾乎沒有
    界線

    這個新裝置與 Kinect 的深度感測鏡頭系統緊密結合,

    能夠在現有的鏡頭處理以外納入多重影像捕捉裝置,將
    遊戲影像以廣角全景呈現

    深度感測鏡頭能協助環境投影機感測房間的陳設與格局
    ,投影機會隨之調整顏色,不會因為投射在家具或不同
    顏色的牆壁上而失真
Microsoft 沉浸式顯示
來自硬體廠商的人機互動支援

    Intel 在 2012 年 9 月份於舊金山 Intel Developer
    Forum (IDF) 中發表了以「 Haswell 」微架構為基
    礎的第 4 代 Intel Core 處理器系列

    IT 業界正與英特爾合力透過第一個英特爾感知運算
    軟體開發套件 (Perceptual Computing Software
    Development Kit , SDK) 公開測試版,將下一波感
    知運算功能融入到內含 Intel Core 處理器的平台

    預計於 2012 年第四季初正式推出的軟體開發套件
    ,讓硬體與軟體開發者把手勢互動、臉部與語音辨
    識以及擴增實境等功能納入於未來內含 Intel Core
    處理器的 Ultrabook 以及 PC 產品
結論
開放平台的機會

    讓一般人可以用較便宜的價格取得軟硬體
    設施
   一般人可以容易學會電腦軟硬體技術,特
    別是在程式開發部份

    讓沒有資訊專業背景的人,也可以容易的
    將資訊技術整合到自己的專業領域中
   具資訊背景的專業人士也可以受惠於開放
    平台,而加速產品的開發
開放平台的應用

    開放平台在教育方面,提供更活潑與簡單
    的教學模式,特別是教導非技術人員,資
    訊科技相關知識
   智慧生活是開放平台在日常生活中應用的
    具體呈現

    數位內容工作者是開放平台的最大受益者
    之一
   人人都可以 DIY 建立自己的智慧生活
Demo

More Related Content

PDF
04.layman android google handheld device application design
PDF
《氪周刊:互联网创业必读》(第65期)
PPT
Open Source and Linux introducion
PPTX
Media&com v2 (5)
PDF
Get
PDF
Clifford geertz
PPT
Elektroninės paslaugos valstybės valdyme ir versle
PPTX
The hack driver
04.layman android google handheld device application design
《氪周刊:互联网创业必读》(第65期)
Open Source and Linux introducion
Media&com v2 (5)
Get
Clifford geertz
Elektroninės paslaugos valstybės valdyme ir versle
The hack driver

Similar to Introduction to open source platform (20)

PDF
《氪周刊:互联网创业必读》(第65期)
PPTX
資訊科技報告 自由軟體與資訊產業的未來
PPTX
Orientation Program
PPTX
Android ADK
DOCX
App inventor 教學講義 chapter1
PDF
开源的春天和机遇
PDF
《氪周刊:互联网创业必读》(第58期).pdf
PDF
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
PDF
Android
PPT
极客公园第11期线下活动---机锋网介绍
PDF
氪周刊:关注互联网创业》(第56期)
PDF
20161202 成大演講 自由軟體運動與社群專案
DOC
建置自由軟體教學平台的高級職業學校環境
PPTX
Android 研发的昨天、今天 和 明天
PDF
2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例
PDF
App inventor 1
PDF
軟體又熱又平又擠:淺談開放原始碼軟體衝擊下的新思維
PDF
IoT Cloud Platforms- Players, Vendors and Vertical Segments -20160519
DOC
自由軟體的定義
DOC
自由軟體的定義
《氪周刊:互联网创业必读》(第65期)
資訊科技報告 自由軟體與資訊產業的未來
Orientation Program
Android ADK
App inventor 教學講義 chapter1
开源的春天和机遇
《氪周刊:互联网创业必读》(第58期).pdf
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
Android
极客公园第11期线下活动---机锋网介绍
氪周刊:关注互联网创业》(第56期)
20161202 成大演講 自由軟體運動與社群專案
建置自由軟體教學平台的高級職業學校環境
Android 研发的昨天、今天 和 明天
2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例
App inventor 1
軟體又熱又平又擠:淺談開放原始碼軟體衝擊下的新思維
IoT Cloud Platforms- Players, Vendors and Vertical Segments -20160519
自由軟體的定義
自由軟體的定義
Ad

Introduction to open source platform

  • 2. Agenda  前言  開放觀念的演進  開放原始碼軟體的發展  行動開放平台: Android  人機互動的新趨勢  結論  Demo
  • 4. 前言  話說「天下大勢,分久必合,合久必分」  今說「平台大勢,開久必閉,閉久必開」  開放的精神是取之於社會,用之於社會  個體貢獻一己之力,享受匯集全體的成果  1985 年萌芽的開放概念,間接直接造就今日科 技狂潮  即使如間接導致自由軟體與開放原始碼運動的微 軟,都必須擁抱開放原始碼  對於現在生活影響甚巨的 SoLoMo 服務,就是受 惠於開放概念的一個典型例子
  • 5. 何謂 SoLoMo  KPCB 合夥人 John Doerr 在 2011 年 2 月於 Google Think Mobile Conference 演講中,首度提 出 SoLoMo 一詞  So(Social) :當今火紅的 Social Network Sites 或是 Social Media ,都是 Web2.0 的典型,而 Web2.0 的精神就是 UGC (User Generated Content)  Lo(Location): 以 Google Map, Earth 提供的服務為 典型  Mo(Mobile) :資訊科技的現在與未來趨勢行動運 算, Google 的 Android 是一個典型的平台  審視 SoLoMo 的三個支柱,開放觀念隨處可見
  • 6. SoLoMo 的概念架構圖 ) Social ( 社群網站 Location ( 地理資 訊) Mobile ( 行動運 算) 安裝應用程式 Apps 的行動裝置( Mobile) ,經由 GPS 或是 Wireless AP 取得 位置資訊( Location) ,並經由 3G 或 Wireless 取得社群應用服務( Social)
  • 9. 開放概念的萌芽  Richard Stallman 於 MIT AI Lab 期間,不滿於以封閉軟體取代 Lab 中可自由流通的軟體  他於 1985 年發表了著名的 GNU 宣言 (GNU Manifesto) 正式宣布要 開始進行一項宏偉的計劃:創造一套完全自由,兼容於 Unix 的作業 系統 GNU ( GNU's Not Unix! )  並於 1985 年成立自由軟體基金會 (Free Software Foundation , FSF)  他於 1989 年與一群律師起草了廣為使用的 GPL(GNU General Public License, GNU GP) ,且提出「 Copyleft 」的概念  Richard Stallman 是堅定的自由軟體運動倡導者  他與其他提倡開放原始碼的人不同,他認為使用專利軟體是非常不道 德的事,只有自由的程序才是符合其道德標準的  對此許多人表示異議,並也因此有了自由軟體運動與開放原始碼軟體 運動之分
  • 10. 自由的意義 Richard Stallman 認為軟體使用要有四大自由 :  使用的自由:可以不受任何限制地來使用軟體  研究的自由:可以研究軟體運作方式、並使其 適合個人需要  散佈的自由:可以自由地複製此軟體並散佈給 他人  改良的自由:可以自行改良軟體並散佈改良後 的版本以使全體社群受益
  • 11. 開放原始碼軟體  開放原始碼促進會於 1998 年成立,同時促使 Netscape 公布 Navigator 的原始程式碼  開放原始碼的內涵是由 Bruce Perens 所定義的  開放原始碼軟體 (Open source software) 是一種原 始碼可以任意取用的電腦軟體  開放原始碼軟體是以 GPL 授權發行的軟體,以保 障軟體使用者自由使用及接觸原始碼的權利。  這同時也保障了使用者自行修改、複製以及再分發 的權利。  簡而言之:所有公布軟體原始碼的程式,都可以稱 為開放原始碼軟體
  • 13. 開放原始碼軟體與自由軟體的差異  嚴格地說來,開放原始碼軟體與自由軟體是兩個不 同的概念  只要符合開放原始碼軟體定義的軟體就能被稱為開 放原始碼軟體  自由軟體是一個比開放原始碼軟體更嚴格的概念, 因此所有自由軟體都是開放原始碼的軟體,但不是 所有的開放原始碼軟體都能被稱為「自由」  在現實上,絕大多數開源軟體開放原始碼軟體也都 符合自由軟體的定義。比如,遵守 GPL 和 BSD 授 權的軟體都是開放的並且是自由的
  • 14. 創用 CC(Creative Commons)  哈佛大學法學教授 Lawrence Lessig 於 2001 年在美國 成立 Creative Commons 組織  提出「保留部份權利」 (Some Rights Reserve) 的相對 思考與作法  Creative Commons 以模組化的簡易條件,透過排列組 合,提供了 6 種便利使用的公眾授權條款  創作者可以挑選出最合適自己作品的授權條款,透過簡 易的方式自行 標示 於其作品上,將作品釋出給大眾使 用  透過這種自願分享的方式,大家可以群力建立內容豐富 、權利清楚、且便於散布的各式內容資源,嘉惠自己與 其它眾多的使用者
  • 16. Linux  Linux 是一種自由和開放原始碼的類 UNIX 作業系統核 心  目前存在著許多不同的 Linux 發行版,可安裝在各種各 樣的電腦硬體設備,從手機、平板電腦、路由器和影音 遊戲控制台,到桌上型電腦,大型電腦和超級電腦  只要遵循 GPL 授權 , 任何人和機構都可以自由地使用 Linux 的所有底層原始碼,也可以自由地修改和再發布  雖然 Linux 一詞本身只表示 Linux 核心,但在實際上人 們已經習慣了用 Linux 來形容整個基於 Linux 核心  通常 Linux 會封裝成供桌上型電腦和伺服器使用的 Linux 發行版本  一些主流的 Linux 發行版本包括 Debian( 衍生版本 Ubuntu) , Fedora 和 openSUSE 等
  • 17. Unix 與 Linux 歷史源流 資料來源 :
  • 19. 開放原始碼軟體的種類與形式  有眾多的開放原始碼軟體,典型的系統有:  Linux  OpenOffice  Firefix  CMS platform, 例如 phpBB,  Eclipse  Xmind  Gimp  ……  本報告探討專為非資訊背景人員所發展的開發與應用平台
  • 21. Design By Numbers (DBN)  Design By Numbers (DBN) 是特地為教導沒有任何 程式設計背景的藝術家與設計師程式概念的系統, 它可以直接在瀏覽器內執行  DBN 最早是由帶領 MIT Media Lab 的 Aesthetics + Computation Group (ACG) 團隊的 John Maeda 所帶領的團隊在 1990s 年代所開發的  DBN 只使用最少數量的語法與最簡單的開發環境, 其目的是要容易使用,但是這也限縮了開發進階的 應用的機會  累積數年的發展與傳授 DBN 之後, ACG 團隊的 Casey Reas and Benjamin Fry 在 2001 年聯手開 發了 Processing Source: http://www.asquare.org/networkresearch/2007/11
  • 22. Processing  Processing 是一個開放原始碼的程式語言 與整合式開發環境  它是專為數位藝術家與視覺傳達設計者所 開發的環境  其目的是要教導與視覺內涵相關的電腦程 式基礎,以及作為電子繪本的基礎  Processing 是架構在 Java 的基礎上,但是 使用簡化的語法語及圖形式程式設計的模 型
  • 23. Wiring  Wiring 是 Hernando Barragán 在 2003 年開始開發的開放原始碼原型平台  這個平台包含程式語言,整合式發展環 境 (IDE) 與單板微控制器  Wiring IDE 是一個由 Processing 的 IDE 所衍生,且也是以 Java 所開發的 跨平台的應用程式  Wiring 的硬體參考設計是以創用 CC 授 權方式釋出  Wiring 的硬體使用 Atmel 的 ATMega 系列晶片,包含 atmega1281/atmega2561 與 atmega644p
  • 24. Arduino  開放原始碼硬體的觀念衍生自開放原始碼硬體軟體的觀念  透過開放原始碼的授權方式,將硬體的資料公開。硬體的 原始資料通常包括材料表 (BOM: Bill of Material) 、電路圖 (Schematic) 、佈線圖 (Layout) 、驅動程式 (Device Driver) 、應用程式介面 (API) 、以及發展平台等  為協助學生以比較低的成本開發所設計的互動式專 案, Italy 某一大學的人員於 2005 年開發出以 Atmel 微控 制器為基礎的 Arduino 系統,此系統採用開放原始碼硬體 授權  Arduino 系統包含 Arduino 板,週邊介面板 Shields 以及 IDE 開發環境  Arduino 其實不是一個獨立的系統,而是衍生自其他更早 期發展的系統 (Processing, wiring) ,同時也有許多系統是
  • 26. Arduino Ecosystems Pre systems Arduino Post systems Processing Freeduino Wiring IDE Wiseduino Arduino Shields 開源碼社群
  • 27. 圖形式程式語言  傳統的程式語言是一種敘述式的結構,程式是由一 連串將敘述 (statement) 依所需要的執行邏輯所構 成的  學習程式的最重要目的是要利用電腦來解決問題, 也就是將問題轉化成電腦可以處理的形式  大多數的人認為撰寫電腦程式是一件惱人且特殊的 工作,只有受過特殊專業訓練的人才做得來  就傳統的 C++ 或是 Java 程式語言來說,對於許多 人來說或許真的是不好學習  由 MIT Media Lab 所發展出來的圖形化程式設計語 言 Scratch ,就是嘗試要突破這個限制
  • 28. Scratch  MIT 為小學生 ( 尤其弱勢的學生 ) 所開發的 Scratch 圖形化程式語言,是一個以圖形化的方法來學習程 式語言  這個系統在非印歐語系國家,還有一個更重要的貢 獻,是排除了母語的障礙  第一版的 Scratch 是由 MIT Media Lab 的 Mitchel Resnick 所領導的 Lifelong Kindergarten group, 於 2006 年所開發出來  Scrtatch 的特點  積木式程式設計流程 (Building-block programming)  媒體的應用 (Media manipulation)  分享與合作 (Sharing and collaboration) 。
  • 30. Fritzing  Fritzing 是一個開放原始碼的計畫,目的是要支援 設計家,藝術家,研究者與玩家,靈活應用互動性 電子裝置  Fritzing 可視為專為非工程師所開發的電子設計自 動化 (EDA) 工具  此計畫受到 Processing 與 Arduino 的鼓舞而建立軟 體與網站,並開發讓使用者可以建立原型所需文件 ,與他人分享這些文件,在課堂上教導電子學,以 及產生可用於專業生產所需的 PCB 佈局  2009 年 3 月份的版本開始跟 Arduino 結合
  • 34. 開放式平台  有各式開放平台,但以 Google Android 最具代表性  Google 於 2007 年 11 月宣布推出以 Linux 為基礎的 Android 開放式平台, 讓加入開放手機聯盟( Open Handset Alliance )的 33 名中下游廠 商,藉此平台開發其手機或行動網路 裝置,而 Google 則以廣告營收來獲 取利益。
  • 35. Android 概述  Android 平台由作業系統、中間層、用戶界面和應 用軟件組成  它採用 Software Stack 的架構,主要分為三部分 :  底層以 Linux 內核工作為基礎, android 系統效果 圖由 C 語言開發,只提供基本功能  中間層包括函數庫 Library 和虛擬機 Virtual Machine ,由 C++ 開發  最上層是各種應用軟體,包括通話程序, SMS 程 序等,應用軟體則由各公司自行開發,主要是以 Java 作為程式編寫
  • 37. 一張圖道盡 Android 發展史 (1/6) 資料來源 :http://www.xcubelabs.com/the-android-story.php
  • 38. 一張圖道盡 Android 發展史 (2/6) 資料來源 :http://www.xcubelabs.com/the-android-story.php
  • 39. 一張圖道盡 Android 發展史 (3/6) 資料來源 :http://www.xcubelabs.com/the-android-story.php
  • 43. 何謂 APP  APP 為 Application program 的縮寫,是在智 慧型裝置如手機與平板上執行的應用程式  類似電腦中執行的程式,例如 word, 記事本, 小畫家等  APP 為一種原生 (Native) 的程式碼,無法跨平 台執行,例如 Android 的 APP 不可以放到 Apple 的 iOS 中執行  而在網頁中應用程式 ( 例如 HTML5) 是可以跨 平台執行  APP 與 HTML5 各自擁有自己的支持陣營  選擇 APP 著重於效能,選擇 HTML5 著眼跨 平台,以及不需專屬 APP store 來發布
  • 44. APP 的開發  需要使用一般程式語言整合式開發環境 IDE 來 開發,例如  Android 使用 Eclipse 作為開發環境  Windows Phone 使用 Visual Studio 為開發環 境  iOS 使用 xcode 開發環境 , 以 Objective C 語 言開發  上述開發環境的使用,通常需要資訊專業知識  一般非資訊專業者很難上手
  • 45. APP Inventor  MIT 教授 Hal Abelson 於 2008 年在 Google 休假 期間,興起 App Inventor 的想法  Google 在 2009 年底釋出 Beta 版的 APP Inventor  App Inventor 於 2012 年 1 月 1 日移交給 MIT Center for Mobile Learning ,並已於 3 月 4 日公 佈使用  Google App Inventor 是一個完全線上開發的 Android 程式環境  拋棄複雜的程式碼而使用類似 Scratch 的積木式堆 疊法來設計 Android 程式
  • 47. 智慧型裝置的趨勢  智慧型手機與平板電腦,已經成為個人最普遍 的電子裝置  由面板尺度來看,由智慧型手機的小螢幕,到 平板的中螢幕,進到電視的大螢幕是必然的趨 勢  智慧電視已經開始進駐家庭,智慧電視是具有 作業系統而且可以執行 APP 的數位電視  智慧家庭也是時代的潮流之一  開放平台龍頭,透過 Android@Home 將觸角 深入一般家庭內
  • 48. Android@Home  Google 在 2011 年 5 月份舉行的 I/O 開發者年度大會 中,提出允許使用者與幾乎任何的電子設備間互動的平 台 Android@Home  在家庭中可能的設備有家庭媒體設備、洗碗機、以及電 燈等,在未來將可以使用新的平台來進行控制  透過智慧型手機、平板電腦或其它的小裝置以控制有連 線的設備,已經討論多年,但是市場上一直沒有很恰當 的應用  Android 平台在 3.1 版的平台上引入對於 Android 開放 週邊的支援,這個規範允許外部的 USB 硬體 (Android USB 週邊 ) 可以與搭載 Android 作業系統的裝置系統或 是環境互動  現階段以 ADK(Accessory Development Kit) 對 Arduino 提供支援,目前版本為 ADK 2012
  • 49. APP 開發與應用的未來  APP 具有最速流通的特點,開發具有創意 的 APP 可以迅速擴散,例如 Angry Bird  已經有一些類似 APP Inventor 的開發平台 存在  這些平台很多是以開發多媒體內容,例如 電腦遊戲為主  這些工具的特點是在只需最少技術之下, 可以讓自己的創意得到最大化的發揮
  • 51. 人機互動的本質  傳統的電腦介面,如鍵盤、滑鼠等不是最 佳的人機介面  日本第五代電腦雖未於其宣示的期間內完 成,但播下的種子卻在當今開花結果  體感式人機互動的蓬勃發展,得力於微機 電技術、感測器技術、以及電腦軟硬體技 術的進步  Wii, XBOX, Kinect, Siri 等提供人與機器間 更自然的互動途徑
  • 52. Microsoft 沉浸式顯示  微軟最新申請與體感相關的專利:沉浸式顯示體驗 (Immersive Display)  能將大幅影像以 360 度投影在任何環境中  未來凡是遊戲機中的影像都能跳脫電視螢幕的大小與邊 框限制,直接在房間中呈現,虛擬與真實之間幾乎沒有 界線  這個新裝置與 Kinect 的深度感測鏡頭系統緊密結合,  能夠在現有的鏡頭處理以外納入多重影像捕捉裝置,將 遊戲影像以廣角全景呈現  深度感測鏡頭能協助環境投影機感測房間的陳設與格局 ,投影機會隨之調整顏色,不會因為投射在家具或不同 顏色的牆壁上而失真
  • 54. 來自硬體廠商的人機互動支援  Intel 在 2012 年 9 月份於舊金山 Intel Developer Forum (IDF) 中發表了以「 Haswell 」微架構為基 礎的第 4 代 Intel Core 處理器系列  IT 業界正與英特爾合力透過第一個英特爾感知運算 軟體開發套件 (Perceptual Computing Software Development Kit , SDK) 公開測試版,將下一波感 知運算功能融入到內含 Intel Core 處理器的平台  預計於 2012 年第四季初正式推出的軟體開發套件 ,讓硬體與軟體開發者把手勢互動、臉部與語音辨 識以及擴增實境等功能納入於未來內含 Intel Core 處理器的 Ultrabook 以及 PC 產品
  • 56. 開放平台的機會  讓一般人可以用較便宜的價格取得軟硬體 設施  一般人可以容易學會電腦軟硬體技術,特 別是在程式開發部份  讓沒有資訊專業背景的人,也可以容易的 將資訊技術整合到自己的專業領域中  具資訊背景的專業人士也可以受惠於開放 平台,而加速產品的開發
  • 57. 開放平台的應用  開放平台在教育方面,提供更活潑與簡單 的教學模式,特別是教導非技術人員,資 訊科技相關知識  智慧生活是開放平台在日常生活中應用的 具體呈現  數位內容工作者是開放平台的最大受益者 之一  人人都可以 DIY 建立自己的智慧生活
  • 58. Demo