December 01, 2011

MICROSOFT WINDOWS 8 BUILD STUDY NOTE (4)

HW-59T - Improving performance with the Windows Performance Toolkit

refer: http://channel9.msdn.com/Events/BUILD/BUILD2011/HW-59T

Note:

  • Motivation for performance analysis:
    • Performance related to multiple layered impact such as : hardware, OS, other application and process impact.
  • Stage of performance improvement:
    • Preception –> Measurement –> Analysis.
    • It will be back and forth after analysis and re-preception.
  • Tool list:
    • Trace Capture: Windows Performance Recorder
    • Tacce Analysis: Windows Performance Analizer
  • Things to look out:
    • Don’t assume you know what’s wrong.
    • Don’t enable too much instrumentation
    • Don’t trace longer than you need.

 

PLAT-203T Async everywhere: creating responsive APIs & apps

refer: http://channel9.msdn.com/Events/BUILD/BUILD2011/PLAT-203T

Note:

  • Async only support on some API:
    • XAML, Tile on UI
    • GPS and portable debice on Device
    • All network and communicate
    • Applifetime, Authentication, Crytography on Fundamental
  • Await
    • Await is a simple way to against async API.
    • Await will make the async highest priority and let the compiler know here need to wait the result come back. Code will run as sequencial.
  • Error handling
  • try {

    FileOpenPicker p = new FileOpenPicker();

    p.FileTypeFilter.Add(".jpg");ry

    var operation = p.PickSingleFileAsync();

    operation.Completed = (IAsyncOperation<StorageFile> f) =>

    {

    MyButton.Content = f.GetResults().FileName;

    };

    operation.Start();

    catch(...) {}

    • try catch will only cover RED one, it need refine code to cover whole scope

    try {

    FileOpenPicker p = new FileOpenPicker();

    p.FileTypeFilter.Add(".jpg");

    MyButton.Content =

    (await p.PickSingleFileAsync()).FileName;

    } catch(Exception e) {}

    • It will separate into “RED” and “Green” one but still cover on try catch.
  • 5 top tips from presenter.
    • Don’t worry about the COM apartment.
    • Remember to start your operation.
    • File picker cancel != Async Cancel
      • It will complete but return NULL.
      • “use exception for exceptional things”
    • Don’t worry about Dispatcher.Invoke…
    • Don’t worry about the concurrency

Refer: http://blogs.msdn.com/b/ericlippert/archive/2010/10/29/asynchronous-programming-in-c-5-0-part-two-whence-await.aspx

學習文件

由 Evan 發表於:( 01:53 PM)|單篇文章 | 迴響 (1) AddToD.png AddToF.png

November 16, 2011

MICROSOFT WINDOWS 8 BUILD STUDY NOTE (3) ABOUT touch

APP-186T - Build advanced touch apps in Windows 8

refer: http://channel9.msdn.com/Events/BUILD/BUILD2011/APP-186T

  • Major point of touch app design:
    • Unify pen and touch into PointerPoint
    • Get mouse and pen for free
    • performance performance and performance
  • Touch and Gesture support in framework
    • Metro app with HTML or XAML—> Gesture event
    • ICoreWindow –> Using point (touch simulate mouse click)
    • Windows Runtime –> PointerPoint with GestureRecognizer
  • PointerPoint:
    • Whole related point implement is here, HID data also can get using PointerPoint.
  • GestureRecognizer:
    • It just like the Win7 multiple touch support on MSFT, it support kind of gesture such as:
      • Tap, Hold, rotate and Scale
    • But more support on Win8 such as:
      • HoldWithMouse?
      • RightTap
        • To simulate with right click on mouse, such your finger about right click here.
        • mmmm….. it should be MSFT patent here for right click.
  • For desktop developer, MSFT also support full Windows Runtime about Gesture support –> Great!
    • WM_Point –> the same as usual
    • InteractionContexts –> mirror GestureRecognizer. Don’t forget WM_TOUCH and WM_GESTURE still support here.
    • Pointer device –> identify source device (touch panel, mouse or other.)

學習文件

由 Evan 發表於:( 07:47 PM)|單篇文章 | 迴響 (0) AddToD.png AddToF.png

November 09, 2011

Web browser for Windows 8

It need note that Windows 8 has two version of IE (it should say, one application but two entry for different mode)

  • Desktop IE
  • Metro IE

But it is very tricky, if you type “open http://Web” on desktop explorer will open “Metro IE

When you try to use this command to open web side, please note metro browser will be default option, not desktop browser.

ShellExecute(NULL,TEXT("open"), TEXT("http://msdn.microsoft.com"), TEXT(""),NULL,SW_SHOWNORMAL);

To specific using desktop browser, it should specific command on [HKEY_CLASSES_ROOT\http\shell\open\command]

學習文件

由 Evan 發表於:( 04:08 PM)|單篇文章 | 迴響 (0) AddToD.png AddToF.png

November 03, 2011

MICROSOFT WINDOWS 8 BUILD STUDY NOTE (3) About ListVIEW

APP-209T Build polished collection and list apps in HTML5

refer: http://channel9.msdn.com/Events/BUILD/BUILD2011/APP-209T

  • Collection: A set of related user content.
  • This session talking about how to write customized list view by WinJS by uing
    • Data Source
    • Item Render (CSS)
    • Layout (WinJS.UI.GridLayout)
  • It could be easy to select image list view import your data source and put basicc control on your list view.
  • Multi-select already support just add one propoties on it. (selectionMode = 'multi’)
  • ListView is easy to grouping if you could provide detail data of each item, group rule and group render (to descript how to group).
  • Symantic Zoom:
    • It is a way to zoom out/zoom in by semantic  (such of “category”, “date”). It look like “Group By”.
    • ListView also provide semantic zoom.
    • Easy to implement to change <div id> to “zoomOutView” and related data control.
  • If app is snapped (snapped on side).

學習文件

由 Evan 發表於:( 07:36 PM)|單篇文章 | 迴響 (0) AddToD.png AddToF.png

October 26, 2011

MICROSOFT WINDOWS 8 BUILD STUDY NOTE (2)

APP-737T - Metro style apps using XAML - what you need to know

Refer: http://channel9.msdn.com/Events/BUILD/BUILD2011/APP-737T

This session talking about XAML for Metro style application implement. Focus on XAML for C/C++/C#/VB on Metro style application development.

  1. Consistent with WPF and silverlight
  2. New in Windows 8 Metro
    1. New look and support for touch
    2. Deployment by Windows Store
    3. Tile –> splash screen to application
  3. New XAML UI Control
    1. Build in “Grouping”
    2. Windows 8 look and feel and its “selection model”
    3. Media player on Metro Style
    4. Grid view and Flip view
    5. Application Bar: Swipe from bottom/top to display
    6. Manipulation and gestures: It could handle rotation on Button_Clicp event.
  4. Metro Style App Concept
    1. Diversity of display and resolution
    2. Layout changed
      1. Snapped(small one on split), Filled (big one on split) and Full Screen
      2. It could be tested on simulator on VS2011 CTP.
  5. Metro style app lifetime
    1. Background apps are “Suspended”
      1. App notified.
    2. App will terminated when memory is low
      1. App will not notified.
    3. Event:
      1. Application.Current.Suspending –> Save state when suspend
      2. Application.Current.Resuming –> Restore state when resume

APP-116T - Prepare your apps for Windows 8 and beyond

Refer: http://channel9.msdn.com/Events/BUILD/BUILD2011/APP-116T

This is talking about application compatibility on Windows 8.

  1. Windows 8 is compatible with apps that run on Windows 7
  2. OS version increasement
    1. Application should not set upper bound for version handle
    2. Windows 8 version is 6.2
  3. DWM (Desktop Windows Manager) always ON
    1. If application try to turn off it, it will failed silently.
    2. Color depth must on 32-bit (for DWM limitation) but lower could be simulated
  4. Startuo application changed
    1. Apps on “Start” should goes to “task scheduler” or “automatic maintance”
  5. .NET 3.5 demanded
    1. Default is .NET 4.5 it could enable if user install .NET 3.5 application.
  6. Use Windows Resource Widely
    1. Use RegExpandSZ for path query
    2. New error code add one
      1. Some SUCCESSED might goes to FAILED.
  7. Manifest your executable
    1. Need add DPIAWARE for your application.
    2. Application compatibility <compatibility xmln..>
      1. Starting on Win7, if no this tag treat it as Vista application.
    3. Metro Style Application should managed it manifest
      1. <OSMinVersion><OSMaxVersionTested> to manage your metro app.

Actually, Windows CTP Compatibility Cookbook provide more overview for this.

APP-123T - Enabling trials and in-app offers in your Metro style app
refer: http://channel9.msdn.com/Events/BUILD/BUILD2011/APP-123T

  1. Trail is really matter
    1. 70 times download, 10 times revenue and 10% conversion.
  2. In-App Offer
    1. 72% revenue comes from app which present “In-App offers”
    2. 48% comes from “In-App offers”
  3. Flxibility option for this.
    1. Use your existing commerce
      1. maintain relationship, subscription and consumable phuchases.
    2. Ad supporteds
      1. Choice of ad controls
    3. One time purchase
      1. Time limited trail and features differentiated trails.
    4. Purchase over time
      1. Persisent purchase and Expiring purchase.
  4. Implement basic
    1. Check License
      1. It could use simulate since store still no open
    2. Get latest listing data
    3. Prompt for purchase

PLAT-775T/PLAT-776T - Your Metro style app, video and audio, Part 1/Part 2

refer:  http://channel9.msdn.com/Events/BUILD/BUILD2011/PLAT-775T
refer: http://channel9.msdn.com/Events/BUILD/BUILD2011/PLAT-776T

It discussion about media API and Media element:

  1. Using media API could easy to build up tailored user experience application with little domain knowledge.
  2. HTML 5 standard <audio><video>
    1. DXVA full support
    2. You can creat rich media by CSS, JS and DOM.
  3. Windows 8 enhancement
    1. 3D video (Stereo 3D)
      1. S3D still not work on CTP version
    2. Audio/Video effect and extensibility
    3. Zoom/Mirror
    4. Audio output selection
    5. Background audio
    6. DRM
    7. Streaming media to TV and Audio systems
  4. System-wide support format
    1. File name:
      1. MP4/ASF
    2. Video:
      1. H264/VC1
    3. Audio:
      1. AAC/MP3/WMA
  5. Simple HTML5 video player all related feature: Seeking, bookmark, play/pause, channel switching, capture feature already support on build-in API.
  6. Media Focus:
    1. When app own media focus video could be see and heard
    2. When suspends it will remove from active list, and app will mute
    3. When select second media, it will leave original focus to new one.
  7. Media format extensibility
    1. Custmize your app specific support format
    2. Extension are  packaged and local on your app (only for your app, no share)
    3. Extension could be naive (C++/COM) Media Fundation component.
  8. Extending your custom format
    1. Register DLL with in App manifest on MF(Media Fundation)
      1. Such audio/video source filter or demux
    2. In your app, register custom  streaming/data format with ExtensibilityManager
      1. Register your custom video/audio encoder/decoder
    3. Custom effect could be insert effect pipeline

學習文件

由 Evan 發表於:( 07:12 PM)|單篇文章 | 迴響 (0) AddToD.png AddToF.png

October 17, 2011

iOS5更新心得

iOS5 upgraded, 幾個重點記錄一下:
1. C槽請有夠大空間~ 避免更新時候的備份掛點~
2. 請記得先把購買的部分全部傳到iTune
3. 要事前備份避免任何意外(連你下載檔案都先備份)
4. App 要sync 到iTune 不然就得重新下載然後自己排位置
5. iCloud 設定要設好~  app 裡面東西先不用上雲端~ 避免爆掉(每人免費5G)
6. 更新中網路不要斷(可以先下載避免意外)
兩篇文章可參考
http://www.ptt.cc/bbs/iPhone/M.1318504656.A.655.html
http://www.ptt.cc/bbs/iPhone/M.1318506974.A.C22.html

日常雜記 / 學習文件

由 Evan 發表於:( 07:04 PM)|單篇文章 | 迴響 (0) AddToD.png AddToF.png

September 30, 2011

Microsoft Windows 8 build study NOTE (1)

 

BPS-1006 Tools for building Metro style apps

Refer video: http://channel9.msdn.com/Events/BUILD/BUILD2011/BPS-1006

Note:

It is introduction of VC2011, here is some major demo topic as follows:

  • Auto spell which is powerful with Visual Assist
    • Auto spell, finding related function and method. It is easy to go.
  • JS debugging:
    • It is cool to have debugger for JS which also support all debugging window (variable, watch…)
  • Parallel stack debugging windows:
    • It has visualization debugging tab for parallel which could show currently threading and each thread dependency.
  • RT XAML editor:
    • During debugging you also could editing XMAL code by select on UI or select on code segment to show UI change on fly.
  • Simulator debugger:
    • I think it is very cool stuff for me such we don’t have multiple touch panel on hand but we need implement some related to “Share”, “Search” which need finger slip.
    • It also provide “finger”, “rotate”, “zoom” and it could simulate to different resolution for Metro UI debugging.
  • Asynchronous programming (await, async)
    • Refer here for more detail:
    • Concept:
      • Will folk another thread after “await” and response on original message loop to ensure response quickly.
      • It look like to cut original message thread,one back to main and another keep doing async task.
      • It help us to using linear thinking to do asynchronous programming
    • Sample: (from here)

        async void ArchiveDocuments(List<Url> urls)
        {
          Task archive = null;
          for(int i = 0; i < urls.Count; ++i)
          {
            var document = await FetchAsync(urls[i]);
           if (archive != null)
               await archive;
            archive = ArchiveAsync(document);
           }
        }

    BPS-1005 Platform for Metro style apps

    Refer video: http://channel9.msdn.com/Events/BUILD/BUILD2011/BPS-1005

    Note:

    • What is major different between Metro UI application with desktop application?
      • No overlay window architect (all full screen)
      • No message box related API.
    • Device access all using asynchronous to ensure all application could response on time.
    • About “Broker” in WinRT concern as follows:
      • Impact system integrity.
      • Impact user data
      • Impact User private
    • HTML5/CSS/JS great for Metro Apps
      • MSFT try to enlarge their engineer base and try to draw Web engineer’s attention to join Metro Apps development.
    • Package your application:
      • Application could be easily to pack and upload to MSFT with one click on VS11.
      • All package need digital signature before upload to App Store

      TOOL-789C Bringing existing C++ code into Metro style apps

      Refer video: http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-789C

      Note:

      • About Metro UI app:
        • No registry, GDI, MessageBox coding.
      • Here is work/not work desktop app
        • Work:
          • Standard C++
          • Parallel pattern
          • Win32 (WinRT and Win32 subset)
          • ATL (ATL subset)
        • Not work:
          • MFC
      • About WinRT
      • Q&A
        • Two Metro UI don’t have any way to communicate for now, currently it still isolate.
        • For disable API, it might change depends engineer feedback to MSFT.
        • All Metro UI need component could be pack to WinRT component and package today to delivery to end-user via store.
        • Shared component is not work on Metro UI, all component must be side-by-side. Because you could not use CoCreateInstance by CLSID, so there is unique CLSID on Metro world.
        • Whole app on Metro UI are isolate due to security and system integrity.

      學習文件

      由 Evan 發表於:( 02:44 AM)|單篇文章 | 迴響 (0) AddToD.png AddToF.png

      September 02, 2011

      魔物獵人-iOS版本-動態狩獵(Monster Hunter - Dynamic Hunting)

      Photo 11-8-29 下午8 28 41.jpg

      下載鍊結: http://itunes.apple.com/tw/app/id428887854?mt=8 
      現在只要0.99USD喔(到2011/08/31)

      自從今年五月底買進了iPhone4 白色之後~ 其實最近我發現我的PSP的遊玩時間嚴重的被iPhone所分配完。 但是更恐怖的是~ iOS竟然也發表了魔物獵人的遊戲,這大概也代表了~ 我的時間會花更多在iPhone上吧~

      Photo 11-8-29 下午8 29 12.jpg

      人人都愛玩遊戲

      深入閱讀==>"魔物獵人-iOS版本-動態狩獵(Monster Hunter - Dynamic Hunting)"
      由 Evan 發表於:( 11:06 AM)|單篇文章 | 迴響 (1) AddToD.png AddToF.png

      August 15, 2011

      惡名昭彰-inFamous全破心得

      0000277644.JPG

       

      品 名: 《惡名昭彰》中文版 the best
      遊戲平台: PlayStation3
      製作發行: Sucker Punch
      發售日期: 2011-05-26
      資訊來自: http://buy.gamer.com.tw/atmItem.php?sn=9451 (以下圖片均來自巴哈姆特~)

      心得:

      會有這塊遊戲是因為之前PSN當機的補償方案(http://www.ptt.cc/bbs/PlayStation/M.1307133484.A.541.html) 美國PSN帳號的所下載的成果。 不過其實在以前就曾經下載過這塊遊戲的試玩板,由於對於所謂的開放世界遊戲一直是我的弊病還有試玩板太過自由的玩法~ 反而無法了解整個遊戲的樂趣。 反倒是這次下載之後,我才開始好好的享受到這塊遊戲好玩的地方。

      人人都愛玩遊戲

      深入閱讀==>"惡名昭彰-inFamous全破心得"
      由 Evan 發表於:( 03:28 PM)|單篇文章 | 迴響 (0) AddToD.png AddToF.png

      July 19, 2011

      讀書心得-天哪!我居然CC給他

      image.jpg

      • 作者:雪麗.泰勒
      • 原文作者:Shirley Taylor
      • 譯者:晴天
      • 出版社:大是文化
      • 出版日期:2009年12月28日
      • 大綱:

        你有看過這種電子郵件嗎?還是你一直都這麼做,卻不以為意?
        .郵件隨意CC,越級報告或洩漏公事了還不知道。
        .同一件事來回「Re:」寫好幾封信,到底要我看哪封?
        .郵件寫了五、六百字,看到昏頭卻沒寫清楚要我幹嘛?
        .又忘記加附件了,讓客戶覺得這傢伙(跟這間公司)真是不可靠!
        .按下「回覆全部」,才發現有人不該是收件人。
        .打電話三分鐘就能完整說明的事,偏偏要用電子郵件慢慢來。

        E-mail誰不會寫?而且不用一秒就能按下「傳送」鍵,但如果闖出大禍,你得花幾萬倍的時間滅火,這不但會拖累你的工作效率,更有可能毀了你的專業形象和前途。

      • 資料來源: 博客來http://www.books.com.tw/exep/prod/booksfile.php?item=0010456472

      心得:

      其實有點忘記~ 為什麼當初會買這本書。不過看了這本書之後~ 到是真的學了不少了。而且有趣的是~ 工作的越久~ 越覺得這本書裡面所要闡述的概念就越來越重要~ 不過在大綱裡面所提到的幾個錯誤到是真的太誇張了。反倒是書裡面其他提到的失誤到是真的很常見而且又很重要…

      讀書心得

      深入閱讀==>"讀書心得-天哪!我居然CC給他"
      由 Evan 發表於:( 02:25 PM)|單篇文章 | 迴響 (0) AddToD.png AddToF.png