2013年5月28日 星期二

ASP.NET (C#) 陣列的操作

using System;
using System.Collections;

public partial class _00_Basic : System.Web.UI.Page 
{
    //當頁面正在載入時所要執行動作。
    protected void Page_Load(object sender, EventArgs e)
    {
        //====  建立陣列資料  ==============================================

        //宣告一維字串陣列並加入內容。(內容多少決定大小)
        string[] arrStringA = { "A1", "A2", "A3", "A4" };

        //宣告一維字串陣列並設定大小與加入內容。
        string[] arrStringB = new string[4];
        arrStringB[0] = "B1"; arrStringB[1] = "B2"; arrStringB[2] = "B3"; arrStringB[3] = "B4";

        //宣告一維陣列清單會依照增加項目的多少而動態調整大小。
        ArrayList arrltStringC = new ArrayList();
        arrltStringC.Add("C1"); arrltStringC.Add("C2"); arrltStringC.Add("C3"); arrltStringC.Add("C4");

        //宣告一維整數陣列並加入內容。(內容多少決定大小)
        int[] arrIntA = { 1, 2, 3, 4 };

        //宣告一維整數陣列並設定大小與加入內容。
        int[] arrIntB = new int[4];
        arrIntB[0] = 11; arrIntB[1] = 12; arrIntB[2] = 13; arrIntB[3] = 14;

        //宣告二維字串陣列並加入內容。(內容多少決定大小)
        string[,] arrStringD = { { "a1", "a2", "a3" }, { "b1", "b2", "b3" } };

        //將字串內容依照特定符號分割成為一維陣列元素。
        string strWords = "a1 a2,a3.b1:b2,c1";
        string[] arrStringE = strWords.Split(new Char[] { ' ', ',', '.', ':' });
       
        //將陣列內的元素順序反轉。
        //Array.Reverse(arrStringA);
        //將陣列內的元素排序
        //Array.Soft(arrStringA);
        //在陣列內使用二分搜尋法,尋找指定資料。(使用之前必須先用Array.Soft()方法排序過,找到資料會傳回該index值)
        //Array.BinarySearch(arrStringA, "A3");
        //在陣列內搜尋資料,找到傳回給索引值。
        //Array.IndexOf(arrStringA, "A3");
        //從arr1陣列拷貝i個元素至arr2陣列。
        //Array.Copy(arr1, arr2, i);

        //====  讀取陣列資料  ==============================================

        //方法一、利用「元素長度」取得一維陣列內容值。
        for (int i = 0; i < arrStringA.Length; i++)
        {
            //輸出結果。
            Response.Write("方法一:" + arrStringA[i] + "
"); } //方法二、利用「特定維度」取得一維陣列內容值。從0開始算,表示一維度 for (int i = 0; i < arrStringA.GetLength(0); i++) { //輸出結果。 Response.Write("方法二:" + arrStringA[i] + "
"); } //方法三、利用「維度的上下限」取得一維陣列內容值。 for (int i = arrStringB.GetLowerBound(0); i < arrStringB.GetUpperBound(0) + 1; i++) { //輸出結果。 Response.Write("方法三:" + arrStringB[i] + "
"); } //方法四、利用「元素個數」取得一維陣列內容值。 for (int j = 0; j < (int)arrltStringC.Count; j++) { //輸出結果。 Response.Write("方法四:" + arrltStringC[j] + "
"); } //方法五、利用「集合迴圈」取得一維陣列內容值。 foreach (int intItem in arrIntA) { //輸出結果。 Response.Write("方法五:" + intItem.ToString() + "
"); } //方法六、利用「二層迴圈」取得二維陣列內容值。(Length=個數,Rank=維度) for (int x = 0; x < arrStringD.Rank; x++) { for (int y = 0; y < (arrStringD.Length / arrStringD.Rank); y++) { //輸出結果。 Response.Write("方法六:" + arrStringD[x, y] + "
"); } } //方法七、利用「集合迴圈」取得二維陣列內容值。 foreach (string strItem in arrStringD) { //輸出結果。 Response.Write("方法七:" + strItem + "
"); } //方法八、將字串內容依照特定符號所分割成為一維陣列元素讀取。 foreach (string strItem in arrStringE) { //當陣列元素項目不是空值時。 if (strItem.Trim() != "") { //輸出結果。 Response.Write("方法八:" + strItem + "
"); } } } }
轉載自 http://www.dotblogs.com.tw/wesley0917/archive/2010/12/21/20293.aspx

2013年5月26日 星期日

在 Windows 底下使用 FTP 批次指令碼-批次檔下Ftp指令

@echo off

set server=IP
set username=Ftp帳號
set password=Ftp密碼

::取得當日時間
set YYYYMMDD=%date:~0,4%%date:~5,2%%date:~8,2%

::檔案格式
set File=%YYYYMMDD%*_file*

set n=!!!
set i=!

:Filestart
echo open %server%>>ftp%i%.txt
echo user %username%>>ftp%i%.txt
echo %password%>>ftp%i%.txt
echo hash>>ftp%i%.txt
echo cd 路徑>>ftp%i%.txt
echo mget %File%>>ftp%i%.txt
echo y>>ftp%i%.txt
echo bye>>ftp%i%.txt

::確認是否成功下載,若無,則重新下載
ftp -s:ftp%i%.txt -n>>filerunresult%YYYYMMDD%.txt
if exist *_file* (
goto ok
) else (

::暫停一分鐘後下載
timeout 60

::若無成功下載,重覆三次
set i=%i%!
if %i%==%n% goto ok
goto Filestart
)

:ok
del ftp.txt
goto exit

:exit
exit

從事 MIS 的工作,就是要會用些小程式或簡單指令來簡化例行公事,列一下 FTP Client 在 Windows Command Line 模式下的自動化語法:

ftp -s:ACTION

ACTION 內容:

open 192.168.0.21 ← 連線到 FTP Server
ftpusr ← 帳號
user4ftp ← 密碼,明碼有安全疑慮
bi ← 切換成 binary 模式
prompt off ← 將提示關閉
lcd d:\pdaexe ← 切換本機端的目錄夾
cd pdadata ← 切換 FTP Server 上的目錄夾
mput *.exe ← 多檔案下載
quit ← 離開

相關參數(來自 Windows 內建說明檔):
-v
抑制顯示遠端伺服器的回應。
-n
抑制在初始連線時自動登入。
-i
關閉多檔案傳送期間的互動提示。
-d
啟用偵錯,以顯示用戶端與伺服器之間所傳遞的所有 ftp 指令。
-g
啟用檔案名稱通用慣例,以在本機檔案及路徑名稱中使用萬用字元 (* 與 ?) (請參閱線上 [指令參照] 中的 glob 指令)。
-s:filename
指定內含 ftp 指令的文字檔;此指令會在 ftp 啟動之後自動執行。此參數不可含有空格。請改以此參數取代重新導向 (>)。
-a
於連結資料連線時使用本機的介面。
-w:windowsize
覆寫預設的轉送緩衝區大小 4096。
computer
指定電腦名稱或要連線之遠端電腦的 IP 位址。指定此參數時,請務必將其置於行中的最後一個參數。

2013年5月23日 星期四

智財局擬封鎖境外侵權網站 網友大反彈,封與不封你在意嗎?

經濟部智慧財產局傳出將著手修改著作權法,對於境外侵權網站將透過網路服務提供(ISP)業者,以IP位址或DNS封鎖技術,讓國內網路使用者無法連上該網站,進而無法下載、觀看違法的影音。此消息一出,馬上引來網友反彈,認為智財局不具司法權,卻以行政干預人民的資訊可及性,有如美國《禁止網路盜版法案(SOPA)》翻版,不但違憲,更讓台灣通訊自由受到限縮,紛紛發起反對活動。
智財局指出,為維護智慧財產權,將修法對境外重大侵權的網站做出管制,往後權利人若在蒐集證據後提出申訴,智財局將邀請司法院、法務部、權利人團體、ISP業者及學者專家組成委員會來認定,若認定有重大侵權行為,就會請ISP業者封鎖該網站,過程最遲會在2週內完成,以收保護權利人之效。 此消息一出,馬上引來國內網友反彈,認為若著作權法完成修改,就是言論、通訊自由被政府限縮的一天,由於智財局並不是具司法權的行政機關,因此該行為將是行政嚴重影響立法權的行為,也違反憲法第12條「人民有秘密之自由通訊」。更可怕的是,若日後政府想隱瞞對執政當局不利的資訊,也將於法有據。 因此,網路上紛紛發起了轉貼反對智財局修法的文章,更呼籲網友拿起電話要求選區立委拒絕修法,以免「台版SOPA法案」正式通過,影響人民權利。22日臉書上也發起了「#freeandopen 斷然反對鎖國!堅決主張百分之百的網路自由!!」的活動,認為智財局此舉與鎖國無異,呼籲大家以行動要求智財局轉向,到目前為止已有逾3千人點選「參加」。 智財局強調,即便修法通過後,只有重大侵權網站才會被封鎖,若僅有少數侵權資料的網站,如夾雜合法與違法的PPS、土豆網都不在封鎖行列,不過,因「大量提供侵權檔案」的免空網站Megaupload,可能就是遭封鎖的目標之一。

這樣做不是好比記者報導了不該有的內容,所以封鎖了新聞言論,怕你成為壞人所以先把你關起來,這樣就不會有會人了嗎?真是妙哉....

雖然我對PPS甚麼的網站沒啥興趣,你封與不封關我屁事,但魔高一尺道高一丈,你封鎖我突破,你砌牆我翻牆,真的有用嗎?如果你封的了,那這些駭客高手都可以滾蛋了,也不需要再自稱駭客了,做網管的也不用想破腦汁要封鎖而封不了的問題了,只要通報政府封掉就好

2013年5月20日 星期一

合作無間、有你真好,可口可樂篇(英语:Coca-Cola;简稱Coke,中文為可樂)


有你真好

曾看過一則有趣的廣告:偌大的賣場中,一座奇特的機器吸引眾人停下腳步,那是一台「巨型販賣機」,由於投幣孔的位置太高,多數人都只是在旁觀望,想喝飲料的人,雖試圖踮起腳跟、跳躍,仍無法投下硬幣。

突然間,有個女孩彎下腰、兩手交叉,讓另一個女孩踩在自己的手掌上,那名女孩扶著機器、往上一蹬,加上朋友的推力,終於觸及投幣孔、投下硬幣,竟同時掉下兩瓶飲料,原來是買一送一!於是大家也紛紛邀請身旁的人,以兩、三人一組,一個抬著一個,透過合作,每個人都喝到了沁涼的飲料,並開心的互相擁抱、拍掌,甚至跳起舞來,整個廣場洋溢著歡笑!


信任,是合作的開始,而合作,往往能帶出更大的力量。本期《蒲公英》與您一起經歷合作的美好,願我們都能對身邊的人說聲:有你真好!

合作的祕訣:1. 放下成見 2. 彼此幫補 3. 成人之美 4. 求同存異

為什麼我們要合作?

◎籃球巨星喬丹曾說:「靠天分可以贏球,但是靠團隊與智慧才能贏得總冠軍。」彼此信賴、互相鼓勵,正向的氛圍,將為團隊帶來更高的績效。

面對流言的智慧:

◎謠言止於智者,也止於一個善意。或許我們無法平息紛紛擾擾,卻依然可以選擇正面的態度或行動,讓事件不再負向擴散。

轉至蒲公英希望基金會 - 希望月刊201306 - 合作無間

2013年5月19日 星期日

關於APPLE以及GOOGLE的介面設計風格

今天讀到3篇我很喜歡的文章,在這邊推薦給各位,也給自己做個閱讀後的心得總結。

Google finds its design voice on iOS
12.25.2012補充,今天看到數位時代翻譯版(:請點這裡

延伸閱讀:
Apple's 6 Simple Rules for Designing a Killer iOS App
10 experience-enhancing tips for iOS app success

再延伸閱讀:
Google Maps mobile lead: We had to crawl before we could walk in app design (interview) 

說來有趣,這三篇文章雖然並不全然相關,可是其中探討的東西,卻又有重疊的部分。而那個交疊,就是APPLE的設計哲學。第一篇非常精彩,而我這篇心得主要是以這篇文章的讀後心得為主,其餘兩篇則是可以拿來作延伸閱讀的文章。最後一篇則是最近大紅的GOOGLE MAPS FOR IOS的LEAD談論該APP的開發, 也非常值得一讀。

總和來說,APPLE一直提倡著所謂的仿真設計,或者說復古設計,相關的討論我以前也有提過。而GOOGLE走的是完全不一樣的方向。APPLE使用仿真設計的理由,不外乎"經由對於現實世界的模擬,來增進使用者對介面操作的親和與熟悉"。然而這引起很大廣泛的爭議。爭議的點可以看看其他的文章。

我很高興GOOGLE即使在IOS上,也沒有被牽著設計的鼻子跑。主導Gmail iOS專案的總設計師Jason Cornwell英文原文中有一句話我在此引用:
Cornwell specifically calls out the fact that it’s doing things that feel ‘digital’, rather than physical."  
“What we’re shooting for here is something that feels authentic and digital, that isn’t trying to be a physical thing. But at the same time has some depth to it,” he says. “When you start to interact with it, you get a sense of sophistication, that there’s a lot there, but the initial presentation is very simple and very clean.”

可以看出,GOOGLE的設計師,希望使用者感受到的是"數位",而非"實體"。而且是用非常簡潔的手法來呈現。這也是我喜歡GOOGLE,或者舉例來說Any.Do的設計風格。因為我一直認為這些APP介面設計,真的是在一個DIGITAL的螢幕上發生的,若是要借重實體的使用經驗,反而會造成數位,甚至說MOBILE的使用行為的衝突。而在圖像上,有時也會造成畫面過於繁複而失去焦點,尤其是在小螢幕的手持裝置上,不過這也是我個人的美感觀點來論述的。我一直覺的"與實體物品"的連結,應該更隱晦而巧妙的,而不是大辣辣的把東西畫進UI中。

而新的GMAIL也是經由整合了併購了Sparrow團隊而可以看到很多Sparrow App的點子。包含使用大大的首寫字體以及個人頭像。

各位可以讀讀Apple's 6 Simple Rules for Designing a Killer iOS App,這篇Spun App 團隊跟APPLE合作後寫的心得,多是來自於APPLE給他們的設計指導。其中第一點就說"The App Should Feel Like a Tangible Object",也就是強調APP用起來要像是一個實體。Spun的設計師於是作了一個住狀介面,並說明他的設計理念。  但是說真的,DUDE,這個介面的風格既不吸引,也沒有任何USABILITY的好用之處,我覺得很像HTC的翻頁特效。我個人也覺得這個就是太強調實體意象而犯的錯誤。

而另一個更容易犯的錯誤就是像APPLE一樣去直接把瑞士鐘畫進UI...這又是另一個故事了。

Apple 的 ID 與 UI 設計

先前 Apple 有一波人事異動,由於牽涉位階的層次高而引起多方議論,尤其針對 iOS SVP Scott Forstall 的評論,多有關於他領導風格與行事手段的描述。其中最令我感到意外的是,Forstall 主導的 app UI 擬真風格,竟與 ID SVP Jonathon Ive 的意見相左。

意見不同倒不是我認為的最大問題,擬真風格也不是,感到特別的是 UI 設計由 Forstall 主導,且即便工設大頭目不認同擬真風格,Apple 還是這麼做了,並且 iOS 擴散至 OSX。如果沒有網路上的各方評論,我以為擬真的 UI 設計方向是 Apple 內部一致的共識,它不僅確立了 Apple 的設計品質 (想要那麼寫實還真的不容易,畫虎不成反類犬的例子多見),也從眾多 OS 中區隔出 Apple 特有的風格 (別家的設計即使也擬真卻不好看)。每個人對設計的看法不同,喜好也不同,在這一點上面,純粹表達自已的偏好,並無對錯的評價摻入。Windows 的介面設計醜死了,Google 的呆極了,但可能它們的設計才是好的。美醜的部分讓大師去評,這部分就此打住。

擬真
中國人造字時用到了象形與會意等概念,而這兩個概念正好是設計符號時必用的原則。UI 設計有時也會納入的符號設計思維,例如 icon 和各種特殊的按鈕,也許這麼說並沒有錯 — UI 是符號的進階與延伸。而象形的極緻便是擬真。

我個人認為擬真是 UI 設計的一個好方向,它讓人看一眼便能理解 app 用途,擬真至與實物相同的程度時,使用者於 app 功能判斷上,想錯也錯不了,而且也能帶來親切感。只可惜,有機會模擬實物的機會並不多。

其實,跟著 OSX 一起現身的 Aqua UI 就是擬真風格,不論是水滴色澤與金屬刷髮絲質地,或各個裝置的 icon 與偏好設定的符號,都是盡可能地寫實呈現,發展至此時的 OSX 10.8 與 iOS 6,各物件的設計比以往更為細緻、高畫質,而隨著 iPhone、iPad 出現的新應用,更加入了皮革材質的設計元素。或許擬真設計的工力沒有會意來得高段,但前者能帶來更豐富而活潑的風格發展,是後者所不能及的。

外傳擬真是 Forstall 私人的主張,過去有著 Steve Jobs 的支持,現在他繼續強勢主導這個方針,但其他人覺得這個決定並不好,而且不喜歡 Forstall 的行事風格,工設與硬體老大甚至不願與他共事,所以權衡之後只好請他走路。

目前 Apple 的擬真風格或許用得有些太過,像是 Find my friends app 採用皮革質地全無可令人信服的依據,但關於 Forstall 走人這件事,我卻認為 Apple 做了一個不好的決定。如果真如外界傳言他是個迷你 Steve Jobs,跟他處不好說不定幾年後會對 Apple 造成危險。

當然,就算有報應也不會來得這麼快,Apple 即使立刻擺爛也還有不短的好日子可過,不過,不論如何,如果 Forstall 的出走能對 Apple 帶來威脅是件好事,任何人對 Apple 帶來威脅都是科技發展上的好事情,除了偽善的傢伙。不管是誰,我希望 Steve Jobs 後繼有人,不管在什麼地方。很高興聽到有人形容 Forstall 是位迷你 Steve Jobs,他不僅巳經證明了自已的專業能力,還承襲了 Steve Jobs 的方式和個性,希望他們不是沒依據地亂講。

ID 與 UI
或許產學界有多種派別,但我不曾做二想 — UI 是 ID 的一環。機器外在的按鈕是 UI,app skin 上的按鈕也是 UI,即使是實體按鈕,也與機器的功能與系統服務流程有關,因此 UI 設計難分軟硬,或許每個人專精不同領域,但 UI 歸屬 ID 千真萬確。

Forstall 走人一事顯示過去 Apple 的 ID 單位並無 UI 設計的控制權,至少是部分的 iOS 與 OSX 方面,此點令人大感意外。也難怪,Ive 的團隊只有十幾個人而巳,有相當多的時間用於圍在木桌邊發想與討論,不然就是畫圖或做模型,不只 UI 設計,像是機構設計的部分也只能委由別的單位處理,所謂的 ID 團隊,大概只負責外型設計與概念機種的提案。

雖說是 Ive 的團隊給予了所有 Apple 產品一個靈魂,但要評斷對 Apple 而言,是他重要,還是 Forstall 重要,我不知道,只耽心外界高估了 Ive 的貢獻,才會在此時對 Forstall 多有落井下石的評論。吾人當明暸,當年 iPhone 4 不鏽鋼天線是個大有風險的偏激設計,白色塗料的問題亦導致嚴重的上市延遲,而現在,iPhone 5 帶給鴻海空前的製造難題,這些堅持造成的困擾,不見得比 Forstall 來得輕,況且,外型設計與材料搭配的發揮空間近乎無限,若要說 iPhone 一定得設計成現在這樣才行,我必需給這個說法一個大問號。

撇開做人處事,我深信 Ive 跟硬體部門 (Bob Mansfield) 之間的衝突絕對多過軟 (Forstall)、硬體部門之間,Mark Papermaster 就是被工設經典案例不鏽鋼天線給犧牲掉的倒楣鬼,Forstall 走人也並不會讓 iPhone 硬體更好做,反正,Apple 現在成功了,那八成決定都做對了,外人在 ID 方面想法再有不同也是多餘。

Ive 是 Apple 的看板人物,如果他在公司裡面產生什麼衝突或問題,任誰也知道他是炒不得的,如果有誰在政治方面有利,那便是他,而不是傳言愛搞政治的 Forstall,希望 Ive 別把 iPhone 6 設計搞砸,權力再晉級之後,注入更多創見,彌補 Forstall 離去的損失。

如果你是UI Designer,下次一定要換台Mac

首先,這不是一篇廣告文。而是我在用了Macbook近一年後,發自內心的推薦。

在這之前,我是個純種的PC使用者。從高中的Intel 486 DX-33+MS DOS 6.X開始,到大學時把Pentium 266超頻成450MHz來做電腦動畫,研究所時期用遠端桌面遙控的NB寫論文,再一路到職場工作,我一直都是PC的愛用者,而且從未使用過Mac。之前也曾經聽過很多Mac user的使用心得,像是「用過就回不去了」,這種帶有濃厚情感的說法。只是姑且一聽,畢竟在自己真正用過之前,這些評論僅止於參考。    

然而,很妙的是,在用了Macbook近一年之後,我已經回不去PC,同時也開始鼓吹其他設計師換用Mac。原因無他,UI Designer應該主動去追求更多元、更極致的使用體驗,並且讓自己更懂得要求細節。像是買一台BMW,或是去杜拜帆船酒店住個幾天,都會很有幫助。不過除此之外,還有一個更有效、更務實的作法,那就是擁有一台Mac。雖然比PC貴一點點,但是可以工作,也可以娛樂,還可以讓你體驗到世界頂級的產品與服務,並且把它吸收轉化成往後做介面設計時的最低標準。

如果你是UI Designer,記得幫自己買台Mac

親身體驗一下,什麼叫做系統層次的高度整合

做過介面設計的人都知道,碰到整合應用程式,或甚至是整合軟硬體的案子,通常會很有趣,但是也真的很難。困難的地方在於,要在一堆可能性跟限制中,找出真正重要的亮點,同時用很強的執行力,把這個亮點從軟硬體的底層開始,以一貫之,用力地徹底執行出來。用講的誰都會,但是真正做出來的卻很少。Mac在不少層面都做到了這樣的高度整合,而且還真的超好用。

我覺得最棒的例子是Multi-touch Touchpad。在硬體上,Macbook的Touchpad乾乾淨淨的,除了一個圓角邊框,以及略微凹陷的平面外,沒有其他的雜訊。在軟體上,這塊乾淨的板子,可以做10來種手勢操作,而且每一個手勢,都有對應且流暢的互動效果。

Scroll是當中最棒的手勢之一。兩根指頭點下去,上下滑動就好,簡單俐落,很容易轉變成一種下意識的肢體反應。換做是一般的筆記型電腦,你得「把滑鼠游標精準地移到Scroll Bar的拉桿上」,「左手按著觸控板的左鍵不放」,然後「右手上下滑動」。光是描述一次整個操作流程就覺得煩了,更不用說要每天重複Scroll個幾百次。

Exposé跟Mission Control的手勢,也是一絕。在任何時候,任何畫面下,只要四根手指頭往上一甩,就像是把桌上的所有東西往前一攤,所有開啟中的軟體,全部縮小攤開歸類好,讓你有個概觀,並且可以立刻做選擇。四根手指頭再往左右一滑,立刻滑到另一個桌面,就像從書桌轉身到側桌一樣,讓你可以從工作模式,立刻轉換成休閒模式。這兩個功能在一般PC上都有類似的替代軟體,但是切換得靠「Win+Tab」、「Alt+1」等複合鍵,需要額外學習記憶,耗資源,而且普遍缺乏流暢的互動回饋。實際使用起來,跟這種系統層次的整合還差得遠。

Mac的多點觸控好用到爆,但是綁死了專利,僅只一家絕無分號

另外,還有一些其他系統整合之後的好功能,像是Dictionary。以前在使用PC的時候,要做英文拼字校正,得在Word裡面先打好文字,用Office提供的拼字檢查功能確認過,才複製貼上到其他軟體裡去。不然就是得安裝Babylon之類的字典軟體,遇到不確定的字就按滑鼠右鍵查詢一下。剛開始使用Mac的時候,我還很納悶,為什麼Mac上找不太到字典類的第三方軟體。結果,原來是Mac已經內建了一個跨軟體的字典功能。不管是瀏覽器、記事本,或甚至是專業繪圖軟體,只要是能夠輸入文字的地方,都可以即時做英文拼字檢查,實在很神奇。

唯有系統層次的高度整合,才會產生出這種「不廢話,用就是了」的使用經驗。從實務的角度來看,這些功能真是難做到死,但是好用到爆,你一定得自己親手試試。

寵壞自己的五官,讓自己更懂得嚴苛地要求細節

除了從大架構著手,去體驗一下什麼是系統層次的整合之外,Mac的很多細節設計,也可以作為介面設計時的參考。

聲音部分,Mac處理得頗為細膩。當你在靜音時插上耳機,會自動把音量打開;反過來,當你把耳機拔掉時,會再自動切回靜音,免得在夜深人靜的時候,突然爆出的聲音會去嚇到別人。這個設計說穿了,不過是個簡單的邏輯判斷而已,但是我在大部分的NB上,都沒有看過類似的使用經驗。

觸覺上,不論你用的是13″, 15″, 17″的Macbook,或是外接的Magic Touchpad,那片觸控版的觸感、顏色,跟按壓時的力回饋,幾乎都是一模一樣的。我記得在BenQ服務時,李焜耀曾經出了個難題給我們,要UX Team去研究一下,為什麼Nokia的手機鍵盤會這麼有質感。這個可真是個大哉問 (汗..)。結果經過仔細跟丈量與分析之後發現,原來Nokia手機上的每一個按鍵,它的行程深度、力道,以及按壓時的聲音,幾乎都是類同的。這讓你在按每一個按鍵的時候,都可以感受到一致的細節,不會有任何鍵特別大力,特別大聲,或是偏了一邊。這個要求放在不同尺寸的觸控板上,可就更難了。不過Apple做得真不錯,就算是把眼睛蒙上,大部分Mac使用者應該都還可以光靠觸覺跟聽覺,就辨識出哪一台是Macbook,哪一台不是。

視覺上,Macbook除了螢幕細膩、背光均勻等硬體優點外,軟體上的互動體驗,其實更值得去細看。不知道你是否有注意到,絕大部分的Mac OS介面,都是動態的。像是登入時,若是輸入了錯誤的密碼,輸入欄會左右抖兩下,感覺像是一個俏皮的小子,跟你說「喔喔,你搞錯密碼了呦!」。切換桌面時,整個畫面會先加速橫向移動,然後再緩緩減速直到定位,最後才把桌面的捷徑,以及視窗外圍的陰影套上。這些動態的細節,讓整個介面看起來輕快、優雅,而且充滿生趣。

這些聽覺、觸覺、視覺上的精鍊設計,平常得多看、多聽,多用。讓自己習慣於高水準的介面設計,並且反過來要求自己的作品與提案。

沒有相容性問題,反而有更多可能性

有一些問題,我猜你可能會想要問。首先,從Windows轉換到Mac,大概需要多久時間?我的經驗是,初步使用約兩天到一個星期,徹底轉換大概需要三個月。不過如果身邊有高人可以協助,例如推薦一些替代軟體,或是幫忙解釋兩個平台間的差異等,上手的時間會再短些。

再來,如果常用的軟體都在Windows平台,那該怎麼辦?我的建議是,裝個Parallels Desktop,用模擬的方式跑Windows就可以滿足八成以上的使用需求,甚至可以跑Photoshop,不會有任何問題。但如果有更高的運算需求,像是3D電腦繪圖,那就靠Boot Camp裝一個乾淨的Windows,運作起來比一般NB強得多。

裝個 Parallels Desktop,應該可以滿足80%的跨平台使用需求

不要停,繼續去追求多元的使用體驗

雖然強力推薦UI Designer要擁有一台Mac,但是並不是要大家去崇拜Apple,把Mac當做資訊科技的唯一。Windows跟Mac兩個平台各有特色,而且可見的未來,誰也取代不了誰。所以,除非你的公司只做Mac Software的生意,否則還是保持中性,每一個平台都多去了解一下,多去熟悉它們特性與慣例。

就像Steve Job在1996年時,接受Wired雜誌專訪時所說的:「When you ask creative people how they did something, they feel a little guilty because they didn’t really do it, they just saw something. It seemed obvious to them after a while. That’s because they were able to connect experiences they’ve had and synthesize new things. And the reason they were able to do that was that they’ve had more experiences or they have thought more about their experiences than other people.」

主動去追求更多元、更極致的使用體驗,並且讓自己更懂得要求細節。不要停,這些都會逐漸累加成為往後設計所需的元素跟養分。直到有一天,你將會有能力去連接這些過去的美好體驗,並且反手去創造新事物。

那一天,將會是你一生當中,最美好的一天。

蘋果 UI 設計師談基於原則的創造

Bret Victor 的演講深深地打動了我的心,著實令我反省了許久。如果你還不認識他,不妨先至他的網站看看他是誰,在想些什麼,曾經做過些什麼。身為蘋果的 UI 設計師,他在美學設計上的創造力眾所皆知,然而背後之所以能一直驅使他創新與成長的理由就不是那麼容易挖掘了。

Bret Victor 的網站: worrydream.com

在底下的這一場演講,難得的可以聽見 Bret 透漏這麼多內心的想法,提到 social wrong 和設計師的責任。還提到他對於「find and solve problem」與「sense something wrong and do something」的價值判斷,這些真是非常少人提過。




在影片前一部分的 demo,Bret 主要在傳達每個人都應該要找到「自己的原則」的概念。他給了五個設計實例,告訴大家他是如何遵循他為自已所設下的原則,逐漸開發出這些令人驚喜的產品。他說, creator needs immediate connection. They need to see the effect immediately。這就是他的原則,所以他開發出了能夠立即給予程式設計人員立即回饋的開發環境。

而有一些片語也令我難忘,比如,許多人都提到要找到你的熱忱,追尋你的熱忱。不過,很少人提到要找到屬於你自己的原則。這個反省讓我印象深刻,也使我思索起這兩種行為的差別。而我想,差別在於後者是利於實踐的,而前者則是容易使人迷失在起伏不定的心情裡的。

影片的中間,他提到:「When I see idea's dying, it hurts. I see a tragedy.」一個多愁善感的人,不是嗎?但真是很難讓人不喜歡他。

[網路攻防戰] 台灣V.S.菲律賓駭客PK,從DDoS到入侵DNS:感謝駭客組織Anonymous

兩岸一齊駭 全面控制菲官網

台菲漁權爆發衝突,儘管兩岸沒有合作,但在「鍵盤戰爭」上,兩岸卻變相攜手進攻菲律賓官網。過去4天,菲律賓多個政府網站遭受來自台灣和大陸的駭客攻,受波及的網站估計高達2300多個。駭客還在菲國官網上,置入情色圖片,十分吸睛。

10日起,台灣駭客率先對菲律賓政府網站開戰。PTT鄉民開始發動「鍵盤開戰」,誓言要癱瘓菲律賓政府網站,並湧入菲律賓網站留言抨擊,甚至把菲律賓政府網站變成A片網頁。

公布菲DNS註冊資料

11日深夜,馬總統對菲律賓下達最後通牒,要求道歉、賠償、懲凶後,12日上午起,總統府辦公室、諸多政府部門官網無法正常開啟,多數IP來自菲律賓駭客的攻擊。

對於菲律賓駭客的進攻,台灣網友更不示弱,又開始逐一反擊,開始攻破菲律賓網路防禦,全面控制菲律賓官方網站、電子郵件,甚至解開菲律賓政府部門網站的帳號密碼。

12日晚間,有署名AnonTAIWAN(匿名者──台灣分部)的台灣駭客群,在Pastebin網站公布菲律賓政府的DNS註冊資料,及其他各式重要菲律賓網站的管理員帳號密碼,受到影響的菲律賓政府網站,超過2300多個。

「匿名者──台灣分部」揚言,菲律賓政府若不道歉、逮捕濫殺台灣漁民的凶手,對菲律賓政府網站的攻擊將持續下去,「我們從不原諒,我們從不善忘」。

陸網友力挺鍵盤戰

陸網友力挺鍵盤戰

除了台灣網友的強烈進攻外,這幾天同樣憤憤不平的大陸網友也十分「熱血」,紛紛加入戰局,力挺台灣網友,一同攻入菲律賓網站,菲律賓政府財政局網站疑遭大陸網民修改。宛如兩岸網路駭客另一種的變相合作。有大陸網友在13日晚還號召進攻菲律賓國家銀行網站。

大陸網民「小凱」入侵菲財政局網站,上傳五星旗圖片,留下「Philippine government shot and killed Taiwan fishermen apologized for the incident」(菲國政府應為射殺台灣漁民道歉)、「全世界中華黑(駭)客團結起來」等字樣。

最近幾天報紙、電視媒體、網路媒體、FB上到處充斥著有關菲律賓的相關新聞。有台灣網友的憤慨,對於他們殺人不道歉的「非理性」行為,我們除了政府的言語上譴責,鄉民也有一連串的報復行動,像是前幾天紅極一時的「鍵盤開戰」,利用不斷對菲律賓政府發布HTTP請求,讓他們的伺服器瞬間流量不堪負荷,來達到癱瘓的目的。

在我們使用DDoS的攻擊下,對方也用相同的方法開始反擊(怎麼這麼不要臉?有時間攻擊,說個抱歉很難嗎!),因此他們開始向我們的經濟部、財政部、國防部、總統府網站開始一連串的攻擊。

台灣、菲律賓面對攻擊的防護搓施兩方互相的攻擊之下,對方採用CDN來防止我們鄉民的DDoS,針對台灣來的IP先行驗證,才能進入官方網站;在這情況下我們總統府是利用阻止外國IP來訪,不過這等於與外界隔絕。
菲律賓總統府網站,採用CloudFlare的CDN服務來阻擋台灣的DDoS攻擊。http://www.president.gov.ph/


▲ 網友測試台灣總統府的Ping,只有台灣連得進去。(圖片來源 : FaceBook)


台灣駭客反擊,攻擊菲律賓政府DNS

在今天早上匿名駭客組織-台灣分會(Anonymous-AnonTAIWAN),成功入侵菲律賓政府的DNS,取的多組帳號密碼,是技高一籌,還是人為疏失,由 gov.ph 窺探 vim 疏忽。至於什麼是DNS以下簡單說明一下 :

DNS是一種國際網域的管理系統,也就是把網址和IP做對應的一個機制,IP就好像是門牌號碼,網址就是管理者去申請的一個招牌,招牌要去申請一個地址,這樣在才能讓第三者能順利到你的店裡光顧。

因此,當我們取得菲律賓的DNS,我們就能更改對方的門牌號碼,將他導向指定的網域,若做其他想做的事。
相關連結•被植入的網頁連結: http://dns.gov.ph/opph.html
•駭客宣言 : http://pastebin.com/sRykr2Wd
•帳號密碼集 : 
1.http://pastebin.com/D7gCEdS6
2.http://pastebin.com/9SpBC8Xm
3.http://pastebin.com/d8i5e27s
4.http://pastebin.com/bdMCsr9Y
5.http://pastebin.com/MskH8t07
6.http://pastebin.com/aM7Luk4K



 ▲ AnonTAIWAN把對方的DNS改為宣言。http://dns.gov.ph/opph.html
▲ 輕鬆進入FTP

政府單位做事情總是拖泥帶水考慮再三,搞不清楚狀況,反應慢半拍,等你想清楚了都冷掉了,人都被殺了還搞不清楚狀況