Build 2018 大會系列 Part 2: Windows Development

// Build 2018 對於 Windows Development 提出了很多内容,包括:更進階的 Fluent Design, .NET Core 3.0, MSIX, Windows 10 on ARM … 等,這篇將整理每個 Sessions 的重點,方便大家更快瞭解。
Continue reading

Posted in Windows | Tagged , , , , , , , , , , , | Leave a comment

Build 2018 大會系列 Part I: The Future of C#

Part I 比較特別一點,其他篇會是濃縮重點為主,不過因為是關於語言的,除了把 //Build 2018 的 The Future of C# 中的重點節錄外,也順便自己也整理了一些 C# 7.0 ~ 7.3 的新特性,覺得 C# 7 的幾個新的特性的調整主要算是效能為主,讓我們往下看下去。
Continue reading

Posted in Windows | Tagged , , , | Leave a comment

Google I/O 2018 Android 相關 Session 摘要 – 上集

今年 2018 我們也針對 Google I/O 影片中的 Android 相關議題做了懶人包分享,雖然說是各影片的摘要,但篇幅還是有點長,不過還是建議從事 Android App 開發工作的朋友們讀讀,對於了解這一年過去及未來即將發生的事會很有概念。
Continue reading

Posted in Android, KKBOX | 1 Comment

Google I/O 2018 Android 相關 Session 摘要 – 下集

今年 2018 我們也針對 Google I/O 影片中的 Android 相關議題做了懶人包分享,雖然說是各影片的摘要,但篇幅還是有點長,不過還是建議從事 Android App 開發工作的朋友們讀讀,對於了解這一年過去及未來即將發生的事會很有概念。
Continue reading

Posted in Android, KKBOX | 1 Comment

[KKS Tech. talk] 輕輕鬆鬆認識專利

之前在整理隨身碟裡的文件時,看到一份在前公司時做的投影片,是有關專利知識的介紹, 身處科技爆發時代的大家,對於了解一些專利常識滿有興趣,所以當時的反應不錯。因此,有了把文件做增修後,於KKStream再次介紹的想法,也希望透過一些專利實例,讓研發人員們理解一些發明概念及創新的可能方向。

從過去案例中(Polaroid vs Kodak, eBay vs MercExchange),可體認到專利制度對於產業的影響,其實除了採主動積極的保護專利權人權益外,將手上的專利權作為談判籌碼的”護身符”模式也是一種專利的應用方向(HTC vs Apple透過交互授權達成和解協議)。但是將發明申請專利,有其伴隨的義務要付出: 公開發明內容與繳納各項費用,公開發明內容在申請18個月後進行,以發明專利審查期長達2~4年來說,也就是專利核准前(還不知未來是否會過關)就得公開。將來若有他人侵權發生,是否有能力/財力去維護專利權也會是申請專利時的考量,只能說這是有錢人才能玩的遊戲啊~

撇開這些考量,那什麼可以申請專利呢? 基本上只要不在專利法裡負面列表,且符合專利實質審查所要求的三大專利要件:新穎性(無習知技術(prior art)). 進步性(非顯而易見). 具產業利用性。

那究竟發明難不難呢? 從現有的專利中,我們可以整理出幾個較為簡單的創新方向:
* 組合發明- 將多個現有產品組合出新用途。
* 逆向思考- 思維轉個彎,也許會就有新作法。
* 使用上的痛點,表示有改進空間,是可以研究的地方。

因此,透過專利,除了是理解現今產業的遊戲規則外,也是一種能快速了解別人技術. 產業方向,以及幫助自身發展創新的途徑。

整理了一下今天下午分享會裡的一些討論, 以及附上今天的投影片:
Q: 若是在台灣申請到了發明專利,兩三年後才想到要去美國申請專利,這樣還適用WTO會員國的國際優先權嗎?
A: 不適用,發明專利的優先權期是12個月。所以產品在未來要上市前就需要規劃好將來的專利佈局,包含產品裡哪些技術是需要申請專利的,以及將來產品是要銷往哪些市場,事先就規劃好在將這些技術在哪些國家申請專利。

Q: 如P.19頁投影片裡,假設我發明了配有鉛筆的帽子,但是帽子本身的專利是握在其他人手裡,那這樣我還可以生產配有鉛筆的帽子嗎?
A: 不行,雖然你握有鉛筆帽子的發明專利,但是也同時踩在別人的專利權上,所以必須先得到帽子的授權,才能生產鉛筆帽子。

Q: 申請專利大概要花多少錢啊?
A: 各項目的價目表:台灣專利規費清單美國專利規費整理

Q: 既然專利法是屬地主義,那如果我在某個小國家裡,看到一個東西不錯,拿去美國申請專利,這樣會過關嗎?
A: 如果在2011年美國專利法修法前申請的,可能會過,之前的prior art範圍限於美國境內,但2013年開始實施新法後,prior art範圍擴張到全球,只要審查時被發現,申請案便會因新穎性不足而被駁回,或是事後被他人舉發(新穎性不足)導致專利無效。

Q: 將來如果英國脫離歐盟,會影響他在歐洲專利局的成員身份嗎?
A: 歐洲專利局(EPO)是歐洲國家處理專利申請的統一窗口,有自己的會員國組織,也非歐盟機構,所以將來英國脫離歐盟,不會影響他EPO成員身份。

 

Posted in KKStream, KKV | Tagged , | Leave a comment

Google I/O 2017 Android 相關 Session 摘要 – 上集

部門內總是習慣大家分著看東西,再互相分享,這是我們團隊內保持快速移動的有效方法之一,今年我們也針對 Google I/O 2017 上百部影片中的 Android 相關議題做了分享,算一算這是我們第四年分享懶人包了呢 :P
Continue reading

Posted in Android | Leave a comment

Google I/O 2017 Android 相關 Session 摘要 – 下集

部門內總是習慣大家分著看東西,再互相分享,這是我們團隊內保持快速移動的有效方法之一,今年我們也針對 Google I/O 2017 上百部影片中的 Android 相關議題做了分享,算一算這是我們第四年分享懶人包了呢 :P
Continue reading

Posted in Android | Leave a comment

MPEG-DASH 開源專案

據說,在參加了某一場 AWS Taiwan 舉辦的活動後,
我們曾對著一群人,豪邁的說出了「我們來在台灣辦例行性的 streaming workshop」吧!
然後,與大部分的政客一樣,只有發聲,沒有行動,遲遲沒有任何動作。
當時一時興起,以為,只要有人先說出口,
就自然會有其它人出來接棒,執行。當然,我也會全力協助與參與…

但就像 g0v 的座右銘

「不要問為何沒有人做這個,先承認你就是『沒有人』」。
因為,「沒有人」是萬能的。

過了快一年,似乎沒有因此產生什麼變化,
想說先做點什麼一個人可以做的,簡單一點的事好了。
於是有了這麼一篇,從分享簡單而公開的資訊開始。
夾雜點個人觀點,然後期待有人跳出來指正我哪寫錯了,
或是提供 patch ;D

MPEG-DASH 起始於 2010 年,2011 年有了草案。
同年,成為國際標準。於 2012 年以 ISO/IEC 23009-1:2012 的型式發佈。
這樣的一個標準,因為 video streaming 成了新世界的載體,漸漸成為基礎建設。
於是有不少開源專案:

Continue reading

Posted in KKV, Streaming, Video | Tagged , , , | Leave a comment

The Issue About Using MPChangeRepeatModeCommand

Apple’s MediaPlayer framework has two APIs in iOS 10 to let you control your player’s repeat mode (to repeat a song, or a list, and so on) and shuffle mode (sequential or shuffle play) with CarPlay. They are MPChangeRepeatModeCommand and MPChangeShuffleModeCommand.

We tried to integrate these two APIs into our product, KKBOX’s audio app on iOS, but then we removed them, since they are conflicting with some popular in-car system.

Continue reading

Posted in Code, iOS | Tagged , | Leave a comment

使用 Slather 產生 iOS/Mac 專案的單元測試覆蓋率報告

在 Xcode 6 以及之前的版本中,如果你使用蘋果內建在 Xcode 當中的 OCUnit/XCUnit 等測試框架撰寫單元測試的話,Xcode 會在測試的過程中產生 gcc 格式的覆蓋率(coverage)報告,叫做 gcda (意思是 gcov data file)檔案;如果我們想將產生測試覆蓋率的流程整合到 Jenkins 等持續整合系統中,我們可以用 gonvr 等工具,將測試報告轉換成 XML 或 HTML 格式,這將我們就可以在系統中,看到每個 build 的覆蓋圖表,以及覆蓋率變化的趨勢。

但是在 Xcode 7 之後,蘋果將 gcc 的工具換成 llvm 的工具,這種幾年前的方案便變得不敷使用。在 Xcode 7 中,雖然我們可以指定要求產生 gcc 格式的覆蓋率檔案,似乎可以與我們過去的工作流程相容,但是產生出來的結果非常不準確;而蘋果的立場大概是,反正 Xcode Server 可以正確顯示覆蓋率報告,如果你用的不是 Xcoder Server,他們就不管了。而現在要將 Xcode 7 中 llvm 工具產生出來的報告,轉換成 XML/HTML 等格式,我們大概會選擇 Slather

Slather 是一套用 Ruby 開發的 command line 工具,是 llvm-cov 工具的前端,我們可以使用 gem install slather 指令安裝。

Continue reading

Posted in Code, iOS, Mac | Tagged , , , , , | Leave a comment