SharePoint, XBOX, .NET, Technology - What I am reading

    [Home] [Recent] [Site Map] [SharePoint] [XBOX]

   

MSDN Blogs

10/8/2007 The usual path

Text Services Framework assumes that your text service follows a particular processing path.  If your text service doesn"t conform to these assumptions, then your programming job will be more complicated.  (Not impossible, just more complex.)  The text service samples on MSDN also follow these assumptions, but they aren"t explicitly stated anywhere (that I know of).   I"ve mentioned some of these assumptions in previous articles, but I thought I"d bring them together in one post.

Text Services makes the following assumptions:

  1. Your service must perform all changes to a context or range object within an edit session.  Text Services Framework enforces this assumption through the use of edit cookies.
  2. Your service should not assume that it is possible to request a synchronous edit session.  (I discussed this here.)
  3. Your service should track focus changes between applications and between controls within an application.  This means that your text service must install event sinks for ITfThreadFocusSink and ITfThreadMgrEventSink.
  4. Your text service should use compositions to handle partially formed input. 

This last assumption is the big one.  It can cause problems for text services that aren"t keyboard-related (speech, for example).

The problem is that TSF handles the (admittedly, very difficult) job of interacting with non-TSF aware applications entirely through compositions.  Once you close the composition, TSF assumes that you"re completely finished with that piece of input.

Unfortunately, it"s hard to tell beforehand when you"re done with a piece of dictation.  SAPI will tell you when it"s recognized a piece of text, obviously, but, ideally, once you"ve dictated some text, you would like to be able to correct it.  That requires that you leave the composition open.

In an application that isn"t TSF-aware, though, you need to close that composition as soon as you can (it"s bad form to have large open compositions; most IMEs have compositions that are a few characters in size).

So there"s a tradeoff here.  Dictation in Windows Vista currently closes the composition as soon as the text is recognized.  (In fact, it doesn"t use compositions at all.)   That works fine for TSF-aware applications, but causes problems with TSF-unaware applications.  In particular, once you"ve dictated some text, you can"t correct it by voice.  That"s why Windows Speech recognition makes you confirm every dictation into a TSF-unaware application. 

10/8/2007 Which windows appear in the Alt+Tab list?

Commenter Phil Quirk wants to know what the rules are for determining which windows appear in the Alt+Tab list. It"s actually pretty simple although hardly anything you"d be able to guess on your own. Note: The details of this algorithm are an implementation detail. It can change at any time, so don"t rely on it. In fact, it already changed with Flip and Flip3D; I"m just talking about the Classic Alt+Tab window here.

For each visible window, walk up its owner chain until you find the root owner. Then walk back down the visible last active popup chain until you find a visible window. If you"re back to where you"re started, then put the window in the Alt+Tab list. In pseudo-code:

BOOL IsAltTabWindow(HWND hwnd)
{
 // Start at the root owner
 HWND hwndWalk = GetAncestor(hwnd, GA_ROOTOWNER);

 // See if we are the last active visible popup
 HWND hwndTry;
 while ((hwndTry = GetLastActivePopup(hwndWalk)) != hwndTry) {
  if (IsWindowVisible(hwndTry)) break;
  hwndWalk = hwndTry;
 }
 return hwndWalk == hwnd;
}

The purpose of this algorithm is to assign the most meaningful representative winow from each cluster of windows related by ownership. (Notice that the algorithm doesn"t care whether the owned window is modal or non-modal.)

At least that"s the simple rule if you"re not playing crazy window style games. The WS_EX_TOOLWINDOW and WS_EX_APPWINDOW extended styles were created so people can play games and put their window in the Alt+Tab list or take it out even if the simple rule would normally have decided otherwise. This is one of those "Okay, if you think you"re smarter than Windows, here"s your chance to prove it" options. Personally, I would avoid them since it makes your window behave differently from the rest of the windows in the system.

A window with the WS_EX_TOOLWINDOW extended style is treated as if it weren"t visible, even if it is. A window with the WS_EX_APPWINDOW extended style is treated as if it has no owner, even if it does.

Once you start adding these extended styles, you enter the world of "I"m trying to work around the rules" and the result is typically even worse confusion than what you had without them.

I"m not sure what the original commenter is getting at. The window hierarchy described in the suggestion (which doesn"t make it so much a suggestion as it is a request for me to debug their problem) says that window C is modal on both windows A and B, which doesn"t make sense to me, since a window has only one owner.

The algorithm for choosing the Alt+Tab representative from each cluster of windows may not be the best, but it"s what we have. I wouldn"t be surprised if the details are tweaked from time to time. No, wait, let me rephrase that. I know that the details are tweaked from time to time. The spirit of the operation is preserved (to show the windows the user can switch to, using the most "natural" candidate for each cluster of windows), but the specific details may be fined-tuned as the concept of "naturalness" is refined.

10/8/2007 WPF Soup To Nuts Webcasts: Adding Pizzaz with Style!

Well, Today, we officially begin the fun stuff. ;-)  Today, in my WPF Soup To Nuts webcast series, we"re talking about Styles, Templates and Themes.  Now, as you know, WPF is very powerful.  Last week, we learned how powerful it can be connecting to data.  Well, this week, we"re going to see how we reuse some of our previously gained knowledge with Resources and Databinding to build reusable visual styles.  Styles give us a powerful way to develop our own user experience, going way beyond the traditional battleship grey dialog boxes and buttons from the past.  In fact, they"re so powerful, that we can easily create buttons (or anything for that matter) that are rotated, nonstandard shaped, or what ever else your imagination can think of... and then reuse that style for all the controls of that type.

We will also look at Control Templates... or blueprints for controls.  With a template, I can define my control visually or even functionally and reuse that template globally throughout my form for all controls of the same type.  When I want to change one aspect of the control, I do it in one central location and all the controls change on the canvas.

Lastly, we"ll talk about Themes.  Themes are Windows way of building a consistent User Experience.  WPF has the ability to examine the theme settings for the OS and with that ability, we can customize our own user experience to match the settings of the host OS.

Building differientated user experiences is what WPF is all about and this week we will start to look at the basics of them.

You can sign up right here.  And as always, my demo code is attached.

Bill

10/8/2007 Two new updates release for Windows Vista!

I wanted to make sure you were aware that two moreupdates were recently released that improve the compatibility, reliability, andstability of Windows Vista.

 

Cumulative update rollup for USB core components inWindows Vista

http://support.microsoft.com/kb/941600

 

An update is available that improves the compatibility,reliability, and stability of Windows Vista

http://support.microsoft.com/kb/941649

 

Kevin

10/8/2007 Partner Skills Plus - a great partner initiative

This launched last week - an important initiative to help our partners ensure up to date skills in your businesses at affordable costs.

https://partner.microsoft.com/global/trainingevents/training/40029197

The new PS+ Offer Highlights

· Unlimited vouchers for e-Learning and exams

· Exam Coach – Real-time, online and live access to Microsoft experts 24/7

· Discounts on e-Learning titles and Microsoft Press publications

All the info is available via the above link but here are some direct links for you:

  • Receive valuable certification guidance throughout the process of becoming certified. The free Partner Skills Plus Certification Planning Guide highlights special offers and resources available at each step of a three-step process.
  • E-learning savings for partners http://www.microsoft.com/learning/elearning/skillsplus/default.mspx
  • Exam Coach demo : https://partner.microsoft.com/global/trainingevents/training/40046771
10/8/2007 SAP buys Business Objects

http://www.msnbc.msn.com/id/21182779/

10/8/2007 Extracting the Visual Studio 2005 Team System SP1 VPC image

Reid, a customer, sent me email about a problem with using the Visual Studio 2005 Team System SP1 VPC image from the MSDN subscription site.  I forwarded the email and found out that folks are looking into it.  Until it gets fixed, here"s the process to successfully extract the image.

The files listed for download for the SP1 image are:

en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_1of3.exe

en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_2of3.rar

en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_3of3.rar

However, to get the .exe to extract the necessary files you need to do some file renaming to get the files to extract correctly.  The changes are all in the "x of y" portions of the file names.

Rename

en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_1of3.exe

to

en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_1of1.exe

Rename

en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_2of3.rar

to

en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_1of2.rar

Rename

en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_3of3.rar

to

en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_1of3.rar

Hopefully, it won"t be long until the problem is fixed, and this becomes unnecessary.  Thanks for sharing this, Reid.

Technorati Tags: tfs, team foundation server, vsts, visual studio team system, msdn, vpc
10/8/2007 How to: Integrating Search into your ASP.NET Site

This is a nice (short) article that shows you how to integrate search; in this case: Live and SharePoint, but you could use similar code for "Other" very popular search engines, but I work for Microsoft so we won"t discuss them. :)  It"s got some sample code that you can download and customize for your use and a few useful screen shots.

Check it out here: Article Link

~ Robert Shelton

10/8/2007 Wi-Fi Detector Shirt

My previous favourite geek T-shirt was the "Will Work for Bandwidth" T-Shirt..... it"s now been superceded by this fabulous Wi-Fi Detector Shirt!

 

Why bother searching for Wi-Fi hotspots when your T-Shirt can show you the presence of any 802.11b or 802.11g hotspots...

I"m sure v2 will even show whether the access points are open ;)

10/8/2007 Suivre frogz

Voici comment suivre les aventures de FrogZ:

Voir le profil de NaY sur Facebook

Me joindre via Facebook ou joindre le groupe FrogZ.

Suivre NaY sur Twitter

Le micro-blogging via mon mobile avec Twitter.

flickr de NaY

Partagons les photos de nos soirées et autres sur FlickR.

NaY sur Ziki

Mon profil Ziki.

Technorati tags: facebook, twitter, flickr, ziki
上一页 1 2 3 4 5 6 7 8 9 10 下一页

   

Site List:
>>Xbox Live_s Major Nelson
>>Xbox 360 & SharePoint 2007 Weblog
>>Carsten Keutmann_s Blog
>>Mohamed Zaki_s Blog [Sharepoint MVP]
>>The Mit_s Blog
>>Mart Muller_s Sharepoint Weblog
>>Microsoft SharePoint Products and Technologies Team Blog
>>SharePoint Solutions Blog
>>4GuysFromRolla.com Headlines
>>ASP.NET Blogs
>>SharePoint Blogs
>>SharePoint Blogs
>>Joel on Software
>>ADO Guy_s Rants and Raves
>>Microsoft Live Labs
>>GadgetNews
>>Windows Vista Team Blog
>>VoIP & Gadgets Blog
>>schrankmonster blog
>>Via Virtual Earth Blog
>>Feed
>>MSDN Blogs
>>Mashable!

Links:
Jack's Readings

Month Archives:
Oct 2007
Sep 2007

Top Tags:
social software social networking .NET mashable Sharepoint ASP.NET Web 2.0 Web2.0 Startups Community News Search Marketplace General Software Development AJAX Windows Vista Visual Studio Microsoft myspace Silverlight People Powered! YouTube Vista MOSS Featured News C# Events MOSS 2007 Google WPF Office 2007 Web Community Security General Personal Xbox 360 facebook Tools development SharePoint 2007 Fun Atlas Architecture ASP.NET AJAX myspace codes TheLongTail IIS SQL Server Developers Revenue Sharing Video Pictures WCF Mobile 2.0 Announcements Orcas MIX07 Arcade Team System JavaScript News



@2007 All rights Reserved