2013年11月30日 星期六

什麼是Thimble?

Thimble使得建立與分享你自己網頁異常地簡單。直接在你的瀏覽器裏編寫HTML和CSS,然後立即預覽你的製作。以一個簡單的點擊管控並分享你的專案。對初學者和專家同樣地完美。
你可以建立:
  • 一張個人化賀卡
  • 你喜愛電影的線上海報
  • 好笑的模仿
  • 以及更多!

我如何使用火狐拼字檢查

火狐可自動檢查你輸入到包含超過一行的文字方塊裏的字詞拼字。一旦你完成輸入字詞,它就會根據有安裝字典中的字詞被檢查。如果字詞無法在字典裏找到,它就會被畫上紅色底下,如下所示:
註:
  • 自動拼字檢查只會在含有超過一行,其中你想要輸入多少字就多少的文字方塊中打開。
  • 因為受權原因,並非所有地點都會有一本安裝字典。

目錄

停用自動拼音檢查
預設值下,火狐被設置成自動檢查拼字。你可以在選項視窗將它關閉:
  1. 在火狐視窗上方,在Firefox按鈕上點擊並選擇選項。
  2. 選擇進階面板
  3. 點擊一般頁籤
  4. 反勾選打字時即時檢查拼字
  5. 點選確定來關閉選項視窗。

修正拼錯字詞
當拼字檢查被啟動,你能夠輕鬆修正拼錯的字詞。要修正拼錯的字詞,在它上方點擊滑鼠右鍵,然後選擇在選單上方所建議的字詞。

如果沒有一個建議的字詞是合適的,你就需要手動編輯它。如果你確定字是被拼對的,你可以將它加入到字典裡面。要增加字詞到字典裏,在它上面點擊滑鼠右鍵,然後選擇新增到字典。
註:新增的字適用於你所有的字典。

增加字典
你可以安裝其它字典如果需要的話
  1. 在含有超過一行的文字方塊裡頭點擊滑鼠右鍵
  2. 選擇語言
  3. 選擇新增字典


  4. 美商摩智附加元件字典頁面會被顯示出來。要新增一本字典到你的火狐安裝裏頭,點擊你欲新增字典旁的安裝字典套件鏈結。接著軟體安裝視窗會出現,當它出現時,點選立刻安裝。
  5. 你可以在附加元件管理員中的字典面板看見已安裝的字典。
轉換字典
當字典被安裝後,若是需要的話,你可以轉換成它。要轉換成不同已安裝的字典,在多行區塊點擊滑鼠右鍵,選擇語言,然後選擇你想要使用的字典。

移除你意外加入的字詞
  1. 打開你的資料夾:
    在火狐視窗上方,在Firefox按鈕上點擊,移到說明選單然後選擇疑難排解資訊,接著疑難排解資訊頁籤就會打開。
  2. 在應用程式一般資訊區塊底下,在開啟資料夾上點擊,有你資料檔案的視窗就會打開。
    註:如果你不能打開或使用火狐,請跟著在不開啟Firefox的情況下尋找您的使用者設定檔裏的指示。
  3. 在火狐視窗上方,在Firefox按鈕上點擊,接著選擇結束。
  4. 在文字編輯器(像是Wordpad)中打開檔案persdict.dat。
  5. 在文字編輯器中,每一個你已新增過的字都會出現每一不同行。移除包含你想移除字詞的那行。
  6. 點擊檔案選單,選擇儲存來儲存你的決定。
註:移除的字詞在所有的字典中都一樣

火狐臉書信差如何運作?

火狐信差讓你能夠在側邊欄使用臉書,所以在頁籤之間轉換就沒有必要了。當你在瀏覽網頁時,即時動態欄和聊天室會附著於頁面上。當然,當你需要專心時,你也可以將它隱藏起來。

目錄

打開火狐信差
要使用火狐信差,你需要最新的火狐(在這裡下載)和一個臉書帳號。然後跟著下面步驟將這個功能打開:
  1. facebook.com登入你的臉書帳號
  2. 造訪facebook.com/about/messenger-for-firefox
  3. 點擊綠色開啟按鈕。信差側邊欄就會打開,接著確認訊息會被秀出來。
  4. 在確認訊息裏頭點擊確認來將功能打開。

如何使用火狐信差
火狐信差讓你能夠在無論何處上網時與朋友保持聯繫。

檢視你的通知、朋友邀請和訊息
當你啟動火狐信差,你會得到被加在導航工具欄右側的四個按鈕:
  • 臉書按鈕:點擊以進入你的臉書檔案,顯示或隱藏側邊欄,和顯示或隱藏桌面通知。
  • 訊息、朋友和通知按鈕輒運作地如同在臉書上的一樣。點擊它們去觀看你最近的朋友邀請、訊息和通知。

檢視你的通知、朋友邀請和訊息
  • 如果即時動態欄在你的臉書帳號上是啟動的,它就會在側邊欄裏出現。只要移到項目上,就可觀看細節、播放影片、點讚、回覆和分享。
沒看見即時動態欄? 查看臉書說明文章,為什麼我在帳號上看不見即時動態欄?  

與朋友聊天
  • 只要於側邊欄的聊天區塊裏頭,在朋友名字上點一下就可送給他們訊息。你送的訊息會成為你在臉書上進行中對話的一部分。
  • 如果你沒在清單中看見你想要的人,你可使用在底下的搜尋欄去找出他們。
你可以在右下角經由點擊齒輪功能表登出聊天室和選擇關閉聊天室。
小提示:你可以將一個聊天室拉出臉書在一個分開可移動的視窗檢視它。
了解更多有臉書聊天室:查看臉書說明文章,聊天室基本入門

火狐信差和你的隱私
當你在使用火狐信差時,你在facebook.com上的隱私設定已設置的同樣偏好會被採用。


打開火狐信差
需要完成一些工作? 這裏是如何將東西暫時關掉的步驟。
  • 要關閉側邊欄,點擊在工具欄中的臉書按鈕並選擇關閉Facebook Messenger。
註:要將側邊欄開回來,點擊在工具欄中的臉書按鈕並選擇開啟Facebook Messenger。


完全停用火狐信差
  1. 在火狐視窗的上方,點擊Firefox按鈕,然後選擇附加元件。接著附加元件管理員的分頁就會打開。
  2. 在附加元件管理員裏,選擇服務面板。
  3. 點擊對Facebook Messenger的停用按鈕來將它完全停用。
  4. 在確認訊息裏頭點擊確認來將功能打開。
註:你可以藉由點擊啟用來取消停用它。


火狐信差故障排除
如果你有火狐信差的問題,你可以試著停用Facebook Messenger然後再將它開回。
  1. 在火狐視窗的上方,點擊Firefox按鈕,然後點擊附加元件。接著附加元件管理員的分頁就會打開。
  2. 在附加元件管理員頁籤中,選擇服務面板。
  3. 點擊對Facebook Messenger的移除按鈕,然後Messenger應當要被從火狐中移除。
  4. facebook.com登入你的臉書帳號
  5. 造訪facebook.com/about/messenger-for-firefox
  6. 點擊綠色開啟按鈕。信差側邊欄就會打開,接著確認訊息會被秀出來。
  7. 在確認訊息裏頭點擊確認來將功能打開。

2013年11月25日 星期一

健康資訊學 (Health Informatics)

定義
  1. 處理如何最佳使用資訊去改善保健的科學。
  2. 它結合資訊科技和健康領域去幫助發展為了管制資訊的擴展、進展門診工作流、和改善健保系統安全性所需要的系統。
  3. 一個資訊科學、電腦科學、和保健的交叉知識領域。
  4. 健康資訊學的整體目標是去幫助和改善資訊的組織及管理而得因此改善為著病人照護的整體品質。
  5. 對高品質與有成本效益保健規畫和遞送的資訊管理科技 (IM&T)之有系統的應用。

效力
Health care informatics:The science that addresses how best to use information to improve health care.
  1. Improving the quality of patient care (2005)
  2. Increasing productivity (2005)
  3. Providing access to knowledge (2005)
未來發展
Health care informatics:The science that addresses how best to use information to improve health care.
  1. Ensuring the high quality of patient care. (2005)
  2. Increasing administrative and individual worker productivity (2005)
  3. Facilitating better, easier, and faster communication among patients, payers, and health care providers.(2005)
相關期刊
  1. Journal of the American Medical Informatics Association (JAMIA)
  2. International Journal of Medical Informatics (IJMI)
  3. Health Informatics Journal (HIJ)
Jotting
Health informatics has emerged as a new field to provide the high-quality of care of patients, harness mass increase of information, and improve administrative and professional productivity. Following the advancement of information and communications technology, people equipped with knowledge and skills concerning a health system, computer science, and health information systems-related topics are desperately required in the flourishing field for the issue of cost. The issue of training and hiring of related personnel can be optimized in anticipation through the assistance of information technology which can be involved in structure of applications of health informatics. Hence, how to best manage human resources in comprehensive aspects via applications of health informatics is worth discussing and studying.

參考
  1. A. C. Norris (2002). Current trends and challenges in health informatics. Health Informatics Journal. 8, 205-213.
  2. Health informatics (n.d.). Retrieved November 25, 2013, from http://en.wikipedia.org/wiki/Health_care_informatics
  3. Peter A. Bath. (2008). Health informatics: current issues and challenges. Journal of Information Science. 34, 501-518.
  4. Ross M. Mullner, Kyusuk Chung (2005). Current Issues in Health Care Informatics. Journal of Medical Systems. 30, 1-2.
  5. Stéfane Kabene (2010). Human Resources in Healthcare, Health Informatics and Healthcare Systems. Hershey, PA: IGI Global.
  6. wiseGEEK (n.d.). What Is Healthcare Informatics? Retrieved November 25, 2013, from http://www.wisegeek.org/

2013年11月16日 星期六

Visual Studio 2012搭配OpenCV2.4.7

前言:
使用了Visual Studio 2012 Ultimate搭配OpenCV版本2.4.7。

軟體:
作業系統:Windows 7 旗艦版 (64位元)
Visual Studio:2012 Ultimate
OpenCV:2.4.7 (https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.7/OpenCV-2.4.7.exe/download)

設定:
1.設定環境變數,新增以下兩條路徑。
C:\opencv\build
C:\opencv\build\x64\vc11\bin

2. 建立Win32主控台應用程式
2.1.下一步
2.2.其他選項→空選項方框打勾→完成
 
3.專案屬性

3.1. VC++目錄→Include目錄,加入
C:\opencv\build\include
C:\opencv\build\include\opencv

3.2. VC++目錄→程式庫目錄,加入
C:\opencv\build\x64\vc11\lib
3.3. 連結器→輸入→其他相依性,加入
opencv_calib3d247d.lib
opencv_contrib247d.lib
opencv_core247d.lib
opencv_features2d247d.lib
opencv_flann247d.lib
opencv_gpu247d.lib
opencv_highgui247d.lib
opencv_imgproc247d.lib
opencv_legacy247d.lib
opencv_ml247d.lib
opencv_nonfree247d.lib
opencv_objdetect247d.lib
opencv_ocl247d.lib
opencv_photo247d.lib
opencv_stitching247d.lib
opencv_superres247d.lib
opencv_video247d.lib
opencv_videostab247d.lib
3.4. 組態管理員→使用中的方案平台→新增→x64→確定

使用範例:
c
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#include "highgui.h"
int main( int argc, char** argv) 
{
    IplImage* img = cvLoadImage("C:\\Users\\Scott Hsieh\\Desktop\\AnnaSophiaRobb.jpg", 1);
    cvNamedWindow("AnnaSophia Robb", CV_WINDOW_AUTOSIZE);
    cvShowImage("AnnaSophia Robb", img);
    cvWaitKey(0);
    cvDestroyWindow("AnnaSophia Robb");
    cvReleaseImage(&img);
}



















C++
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
    Mat im = imread("C:\\Users\\Scott Hsieh\\Desktop\\vagabond.png");
    if (im.empty()) 
    {
        cout << "Cannot load image!" << endl;
        return -1;
    }
    imshow("Vagabond", im);
    waitKey(0);
}

















Delaunay(C)
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
#include <opencv2/imgproc/imgproc_c.h>
#include <opencv2/legacy/legacy.hpp>
#include "opencv2/highgui/highgui.hpp"

#include <stdio.h>
static void help( void )
{
    printf("\nThis program demostrates iterative construction of\n"
            "delaunay triangulation and voronoi tesselation.\n"
            "It draws a random set of points in an image and then delaunay triangulates them.\n"
            "Usage: \n"
            "./delaunay \n"
            "\nThis program builds the traingulation interactively, you may stop this process by\n"
            "hitting any key.\n");
}

static CvSubdiv2D* init_delaunay( CvMemStorage* storage,
                           CvRect rect )
{
    CvSubdiv2D* subdiv;

    subdiv = cvCreateSubdiv2D( CV_SEQ_KIND_SUBDIV2D, sizeof(*subdiv),
                               sizeof(CvSubdiv2DPoint),
                               sizeof(CvQuadEdge2D),
                               storage );
    cvInitSubdivDelaunay2D( subdiv, rect );

    return subdiv;
}


static void draw_subdiv_point( IplImage* img, CvPoint2D32f fp, CvScalar color )
{
    cvCircle( img, cvPoint(cvRound(fp.x), cvRound(fp.y)), 3, color, CV_FILLED, 8, 0 );
}


static void draw_subdiv_edge( IplImage* img, CvSubdiv2DEdge edge, CvScalar color )
{
    CvSubdiv2DPoint* org_pt;
    CvSubdiv2DPoint* dst_pt;
    CvPoint2D32f org;
    CvPoint2D32f dst;
    CvPoint iorg, idst;

    org_pt = cvSubdiv2DEdgeOrg(edge);
    dst_pt = cvSubdiv2DEdgeDst(edge);

    if( org_pt && dst_pt )
    {
        org = org_pt->pt;
        dst = dst_pt->pt;

        iorg = cvPoint( cvRound( org.x ), cvRound( org.y ));
        idst = cvPoint( cvRound( dst.x ), cvRound( dst.y ));

        cvLine( img, iorg, idst, color, 1, CV_AA, 0 );
    }
}


static void draw_subdiv( IplImage* img, CvSubdiv2D* subdiv,
                  CvScalar delaunay_color, CvScalar voronoi_color )
{
    CvSeqReader  reader;
    int i, total = subdiv->edges->total;
    int elem_size = subdiv->edges->elem_size;

    cvStartReadSeq( (CvSeq*)(subdiv->edges), &reader, 0 );

    for( i = 0; i < total; i++ )
    {
        CvQuadEdge2D* edge = (CvQuadEdge2D*)(reader.ptr);

        if( CV_IS_SET_ELEM( edge ))
        {
            draw_subdiv_edge( img, (CvSubdiv2DEdge)edge + 1, voronoi_color );
            draw_subdiv_edge( img, (CvSubdiv2DEdge)edge, delaunay_color );
        }

        CV_NEXT_SEQ_ELEM( elem_size, reader );
    }
}


static void locate_point( CvSubdiv2D* subdiv, CvPoint2D32f fp, IplImage* img,
                   CvScalar active_color )
{
    CvSubdiv2DEdge e;
    CvSubdiv2DEdge e0 = 0;
    CvSubdiv2DPoint* p = 0;

    cvSubdiv2DLocate( subdiv, fp, &e0, &p );

    if( e0 )
    {
        e = e0;
        do
        {
            draw_subdiv_edge( img, e, active_color );
            e = cvSubdiv2DGetEdge(e,CV_NEXT_AROUND_LEFT);
        }
        while( e != e0 );
    }

    draw_subdiv_point( img, fp, active_color );
}


static void draw_subdiv_facet( IplImage* img, CvSubdiv2DEdge edge )
{
    CvSubdiv2DEdge t = edge;
    int i, count = 0;
    CvPoint* buf = 0;

    // count number of edges in facet
    do
    {
        count++;
        t = cvSubdiv2DGetEdge( t, CV_NEXT_AROUND_LEFT );
    } while (t != edge );

    buf = (CvPoint*)malloc( count * sizeof(buf[0]));

    // gather points
    t = edge;
    for( i = 0; i < count; i++ )
    {
        CvSubdiv2DPoint* pt = cvSubdiv2DEdgeOrg( t );
        if( !pt ) break;
        buf[i] = cvPoint( cvRound(pt->pt.x), cvRound(pt->pt.y));
        t = cvSubdiv2DGetEdge( t, CV_NEXT_AROUND_LEFT );
    }

    if( i == count )
    {
        CvSubdiv2DPoint* pt = cvSubdiv2DEdgeDst( cvSubdiv2DRotateEdge( edge, 1 ));
        cvFillConvexPoly( img, buf, count, CV_RGB(rand()&255,rand()&255,rand()&255), CV_AA, 0 );
        cvPolyLine( img, &buf, &count, 1, 1, CV_RGB(0,0,0), 1, CV_AA, 0);
        draw_subdiv_point( img, pt->pt, CV_RGB(0,0,0));
    }
    free( buf );
}

static void paint_voronoi( CvSubdiv2D* subdiv, IplImage* img )
{
    CvSeqReader  reader;
    int i, total = subdiv->edges->total;
    int elem_size = subdiv->edges->elem_size;

    cvCalcSubdivVoronoi2D( subdiv );

    cvStartReadSeq( (CvSeq*)(subdiv->edges), &reader, 0 );

    for( i = 0; i < total; i++ )
    {
        CvQuadEdge2D* edge = (CvQuadEdge2D*)(reader.ptr);

        if( CV_IS_SET_ELEM( edge ))
        {
            CvSubdiv2DEdge e = (CvSubdiv2DEdge)edge;
            // left
            draw_subdiv_facet( img, cvSubdiv2DRotateEdge( e, 1 ));

            // right
            draw_subdiv_facet( img, cvSubdiv2DRotateEdge( e, 3 ));
        }

        CV_NEXT_SEQ_ELEM( elem_size, reader );
    }
}


static void run(void)
{
    char win[] = "source";
    int i;
    CvRect rect = { 0, 0, 600, 600 };
    CvMemStorage* storage;
    CvSubdiv2D* subdiv;
    IplImage* img;
    CvScalar active_facet_color, delaunay_color, voronoi_color, bkgnd_color;

    active_facet_color = CV_RGB( 255, 0, 0 );
    delaunay_color  = CV_RGB( 0,0,0);
    voronoi_color = CV_RGB(0, 180, 0);
    bkgnd_color = CV_RGB(255,255,255);

    img = cvCreateImage( cvSize(rect.width,rect.height), 8, 3 );
    cvSet( img, bkgnd_color, 0 );

    cvNamedWindow( win, 1 );

    storage = cvCreateMemStorage(0);
    subdiv = init_delaunay( storage, rect );

    printf("Delaunay triangulation will be build now interactively.\n"
           "To stop the process, press any key\n\n");

    for( i = 0; i < 200; i++ )
    {
        CvPoint2D32f fp = cvPoint2D32f( (float)(rand()%(rect.width-10)+5),
                                        (float)(rand()%(rect.height-10)+5));

        locate_point( subdiv, fp, img, active_facet_color );
        cvShowImage( win, img );

        if( cvWaitKey( 100 ) >= 0 )
            break;

        cvSubdivDelaunay2DInsert( subdiv, fp );
        cvCalcSubdivVoronoi2D( subdiv );
        cvSet( img, bkgnd_color, 0 );
        draw_subdiv( img, subdiv, delaunay_color, voronoi_color );
        cvShowImage( win, img );

        if( cvWaitKey( 100 ) >= 0 )
            break;
    }

    cvSet( img, bkgnd_color, 0 );
    paint_voronoi( subdiv, img );
    cvShowImage( win, img );

    cvWaitKey(0);

    cvReleaseMemStorage( &storage );
    cvReleaseImage(&img);
    cvDestroyWindow( win );
}

int main( int argc, char** argv )
{
    (void)argc; (void)argv;
    help();
    run();
    return 0;
}

#ifdef _EiC
main( 1, "delaunay.c" );
#endif

2013年11月14日 星期四

Dev C++ 4.9.9.2 搭配OpenCV2.4.7

前言:
使用了Dev C++ 4.9.9.2搭配OpenCV版本2.4.7。

軟體:
作業系統:Windows 7 旗艦版
Dev-C++:4.9.9.2 (http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe)
OpenCV:2.4.7 (https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.7/OpenCV-2.4.7.exe/download)

設定:
1. 使用預設編譯器或者新增都可以
2. 連結器命令列中加入以下命令(是新增的話,前面框號記得要先打勾)
-lopencv_core247d -lopencv_highgui247d -lopencv_video247d -lopencv_ml247d -lopencv_legacy247d -lopencv_imgproc247d

3. 工具→編譯器選項→目錄→二進位檔

C:\Dev-Cpp\libexec\gcc\mingw32\3.4.2
C:\Dev-Cpp\bin
C:\opencv\build\x86\vc10\bin



4. 工具→編譯器選項→目錄→函式庫
C:\opencv\build\x86\vc10\lib
C:\Dev-Cpp\lib


5. 工具→編譯器選項→目錄→C引入檔
C:\opencv\build\include
C:\opencv\build\include\opencv
C:\opencv\build\include\opencv2
C:\Dev-Cpp\include

6. DEV 工具→編譯器選項→目錄→C++引入檔
C:\opencv\build\include\opencv
C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include
C:\Dev-Cpp\include\c++\3.4.2\backward
C:\Dev-Cpp\include\c++\3.4.2\mingw32
C:\Dev-Cpp\include\c++\3.4.2
C:\Dev-Cpp\include

使用範例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#include "highgui.h"
int main( int argc, char** argv) 
{
    IplImage* img = cvLoadImage("D:/個人檔案/Facbook covers/wallpaper-730977.jpg", 1);
    cvNamedWindow("Back to Space", CV_WINDOW_AUTOSIZE);
    cvShowImage("Back to Space", img);
    cvWaitKey(0);
    cvDestroyWindow("Back to Space");
    cvReleaseImage(&img);
}

2013年11月3日 星期日

愛上Windows8.1的8.1個理由

你現在或許已經知道,Windows 8.1已經到來。

如果你正在你的電腦上執行Windows 8,你能夠免費升級到Windows 8.1了。只要打開Windows 市集,接著下載更新,就像你會對其它app做得一樣。如果你執行的是Windows 7,你仍然能夠更新至Windows 8.1,但如果你有的是較舊版本的Windows,你應該看看新平板與電腦的選擇,有許多新產品都在那裏。

無論如何,有許多的理由可以愛上Windows8.1,我們列出了前8.1個。

1. Bing Smart Search
不用透過一種方法在你的PC上搜尋檔案,另一個去找網站,然後第三個去找app或是設定,Bing Smart Search讓你一次搜尋不論你找的是什麼,不論它在哪裡。搜尋結果會在一個大大的、超級乾淨的展示裏出現,而且你確實能夠從結果上做些事情。如果你老媽的資訊出現,你可以透過點擊和她通Skype;如果是你喜愛的歌曲,你可以直接從搜尋結果播放它-無需先打開你喜愛的音樂app。

2. 更多的任務處理
根據你的螢幕大小,你現在能夠一次在你的螢幕上看見4個app。你可以相對於每一個去改變它們的大小,而且可以使用一個app去開啟另一個。要描述這些功能的效果有點困難,要了解它,你必須體驗從一個任務流動到下一個有多麼輕鬆。邊聊天邊遊戲、邊購物邊觀賞、或是邊工作邊聆聽。這不再是許多分開的app,它全部變成單一、沒有間隙的體驗。

3. 更好的app商店
現在在Windows市集裡有數百個app,而在Windows8.1,市集已被重新設計來使得探索並發現新的app更容易,並且帶有社群喜愛程度和個人建議。Windows 8.1也帶來了一批像Windows 閱讀清單Bing 健康的內建app。

4. 更多的選擇
Windows 8.1 在你的[開始]畫面上給了你更多為app的動態磚尺寸,而且也有更多的顏色選項和動畫背景。你也能夠使用同樣的背景來裝飾桌面和開始畫面。

5. 更好的觸屏輸入
這或許不是最厲害的特點,但它是我其中最愛的一個。不提讓Windows 8.1感覺很可靠和有反應的許多小細節的一個,當你在螢幕鍵盤上打字時,它就會跟著學習,根據你以前打過的給予建議。如果你使用超過一種語言,你會發現你能夠以新的鍵盤排版更輕鬆地輸入文字。至於那些每個人非常喜愛的Emoji? 他們現在有顏色了 :-)

6. 自動線上儲存
科技世界有時候會用奇怪的方式來描述事情,這個特色被稱作「深度 SkyDrive 整合」。意思就是你不用透過不同的程序去儲存你的文件到SkyDrive(也稱作你的免費網路硬碟)。你可以自動儲存東西到SkyDrive,就如同你儲存你的東西到你的PC一樣簡單。然後你可以在任何地方拿到最新的版本-甚至當你在途中或是另一台裝置。而因為它總是在線上並且已為你備份,所以它會很安全,即便你的電腦發生了什麼事。

7. 觸摸瀏覽
Internet Explorer 11不同於其它瀏覽器,其中它特別被設計為著觸屏,你會注意到它有更大的分頁標籤、更簡易的控制、並且流暢地對你的手勢產生回應。Internet Explorer 11 也擁有更快的載入時間並且讓你瀏覽全螢幕或是一個接一個地放置網站。

8. 你會愛上的鎖定螢幕
你的鎖定螢幕現在就像一個數位圖片框架,你可以設定它去秀出一系列你喜愛的圖片。Windows 8.1 鎖定螢幕也表現的更像你手機的鎖屏。你能夠在不用解鎖的情況下立即回應Skype還有照相。

8.1 老朋友回歸
這是真的!開始鈕回來了!當你在桌面上,你可以在任何時候使用它回到開始畫面。

這還不過是開胃菜,了解更多關於Windows 8.1