<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Loneliness of the long-distance linguist. : personalization</title><link>http://blogs.msdn.com/kierans/archive/tags/personalization/default.aspx</link><description>Tags: personalization</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Develop locally, think globally!</title><link>http://blogs.msdn.com/kierans/archive/2006/08/22/713395.aspx</link><pubDate>Wed, 23 Aug 2006 03:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:713395</guid><dc:creator>KieranS</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/kierans/comments/713395.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kierans/commentrss.aspx?PostID=713395</wfw:commentRss><description>&lt;P&gt;So you want to develop a globalized application for Windows. You're up to speed on development best practices, you're going to be using Unicode, you know how to use&amp;nbsp;Windows APIs and locale data to enhance the user experience you create. So how do you identify and support the right target market for launching your product?&lt;/P&gt;
&lt;P&gt;Some applications strive to meet customer expectations&amp;nbsp;across a pretty broad range of markets, since there are certain core computer tasks that most kinds of users in most locations require. Novice, intermediate, and advanced users all over the world are using the internet and&amp;nbsp;communicating by&amp;nbsp;email. Many of them are buying things online, writing documents, instant messaging, or managing their schedule. Some applications cast a wide net in order to capture the broadest range of customers who might be interested in using them.&lt;/P&gt;
&lt;P&gt;Other products are intended for smaller, more highly focused markets, where the market might be defined by region, by customer segment, by language group, or by the environment in which the application is used. Datbase applications that are used in the workplace&amp;nbsp;may be irrelevant&amp;nbsp;at home, while educational software may be used at home or in schools but is not typically found on most people's machines at work. If you're writing an application&amp;nbsp;geared to help Japanese speakers learn Italian, it's unlikely that you will design your product to accomodate the preferences of users in Russia. Even tasks that most computer users engage in, such as the examples in the paragraph just above, may require different user experiences for different kinds of customers. Depending on the scope of your application,&amp;nbsp;the&amp;nbsp;design decisions that you make in order to satsify the core scenarios of your core customers may vary quite a bit in the specificity of the user experience that they provide.&lt;/P&gt;
&lt;P&gt;So here's the real question: Once you've identified the target market for your product's launch, what do you do if it's a market that&amp;nbsp;Microsoft is only just beginning to support? Particularly if you've identified a business opportunity in a region that is newer to technology, there's a good chance that you'll find some gap between the internationalization support that you can count on the Windows platform to provide in general and the support that is available for the region you're targeting. So how can you develop the application in a scalable, globally extensible way that both supports your current business need and allows for your eventual growth into new markets without a lot of redundant development efforts on your part?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1. Know your requirements.&lt;/STRONG&gt;What differentiates your market from other similar markets? What differentiates your application from other similar applications? The more specifically you have outlined your core requirements, the greater the chance that you'll be able to identify exactly which pieces of&amp;nbsp;core support&amp;nbsp;are&amp;nbsp;missing. We may have support that you're not currently taking advantage of because you haven't needed to in the past.&lt;/P&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;STRONG&gt;2. Know your requirements, but think extensibly about them.&lt;/STRONG&gt; Is your application useful for markets beyond the initial market where you've been focusing your efforts? Thinking up front about the desired growth path for your product helps ensure that you're making decisions that don't make it more difficult for you to expand later on. Hard-coding data that you could be&amp;nbsp;using the Windows platform to store and retrieve is a good way to give yourself headaches when more customers are clamoring for your product later.&lt;/P&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;STRONG&gt;3. Include custom solutions for your users.&lt;/STRONG&gt; Does your customer base require specialized locale data? Create and include a custom locale for their installation to enhance the experience they'll get using your application. If we can't include a locale on a timeline fast enough for you to jump into the market where you see your opportunity, use the tools and infrastructure available in Vista so that you don't need to wait.&lt;/P&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;STRONG&gt;4. Tell us.&lt;/STRONG&gt; Finally, if you have a need to develop or extend an application for a market that we're not supporting, we want to know. If we're blocking you, we want to know. The Windows platform needs to support the requirements of developers who create applications for it. If we're not doing that, we need to hear about it and figure out how to get out of the way. Are there new languages or regions for which you're trying to develop applications that you can't rely on Windows to support? Are there kinds of information that you would like to be able to store and retrieve about your market's preferences that are not currently available in the Windows platform? If we don't know that you need it, we may never provide it.&lt;/P&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;Windows provides a great core infrastructure to work from today, but it's only&amp;nbsp;by figuring out what's&amp;nbsp;missing&amp;nbsp;that we can continue to improve it to help developers provide a truly globalized experience for their applications.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=713395" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/kierans/archive/tags/locales/default.aspx">locales</category><category domain="http://blogs.msdn.com/kierans/archive/tags/personalization/default.aspx">personalization</category></item><item><title>Developing features in order to develop features.</title><link>http://blogs.msdn.com/kierans/archive/2006/07/29/682760.aspx</link><pubDate>Sat, 29 Jul 2006 23:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:682760</guid><dc:creator>KieranS</dc:creator><slash:comments>13</slash:comments><comments>http://blogs.msdn.com/kierans/comments/682760.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kierans/commentrss.aspx?PostID=682760</wfw:commentRss><description>&lt;P&gt;Someone asked me&amp;nbsp;not too long ago&amp;nbsp;for a list of Windows-supported languages that don't rely on white space for word breaking. I gave him a quick answer just because I happened to know, but then Yaniv Feinberg and I spent time trying to figure out a way that this guy might have used our APIs to derive his own answer to that question. That was an interesting exercise, but in the end I was struck by the same thing I'm always struck by whenever people ask questions like that: how&amp;nbsp;inefficient it is that application developers who may or may not know anything about word breaking or writing systems or computational linguistics are stuck trying to intuit the answers to questions like this one. This came really close to home not too long ago when I was having a discussion with my husband, who used to develop the help integration for Visual Studio. This is a guy who knows more linguistics than your average developer, finding himself pretty overwhelmed by the fact that he somehow needed to&amp;nbsp;find a way to provide&amp;nbsp;word breaking support in order to display help content in multiple languages. Multiply his story by a whole bunch of linguistic services and then again by a whole bunch of application developers, and you quickly have a complicated ecosystem where developers can't focus on the real meat of the applications that they're trying to develop because they're so bogged down in the peripheral features required to make their product appealing to&amp;nbsp;wide audiences.&lt;/P&gt;
&lt;P&gt;We could actually broaden this even further, where it isn't just linguistic functionality that developers find themselves having to create, but a whole range of other stuff too -- every small piece for which their various target audiences turn out to require personalization. If we're asking individual application developers to reinvent the wheel all across the development space, then we as an industry have a pretty broken model. Especially as regards the creation of truly globalized applications.&lt;/P&gt;
&lt;P&gt;If you're a developer, I'm interested in hearing about cases like this where you've found yourself having to create peripheral features in order to provide a personalized experience for your customers. If you were successful, I'd like to hear why. If you weren't successful, I'd like to hear why. Because the more I talk to people, the more I'm convinced this happens all the time.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=682760" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/kierans/archive/tags/personalization/default.aspx">personalization</category></item><item><title>What makes your computer feel like it's yours?</title><link>http://blogs.msdn.com/kierans/archive/2006/07/27/681025.aspx</link><pubDate>Fri, 28 Jul 2006 04:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:681025</guid><dc:creator>KieranS</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/kierans/comments/681025.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kierans/commentrss.aspx?PostID=681025</wfw:commentRss><description>&lt;P&gt;A whole bunch of stuff comes together to make a user experience. This isn't just true in software, but rather in any industry that makes stuff. Most products that appeal to broad demographic groups have one of two qualities.&amp;nbsp;One possibility is that the product comes in a few different flavors designed to appeal to distinct market segments. For instance, most adults in the United States own cars, but cars come with different price points and feature sets, such that&amp;nbsp;minivans are for families with young kids and convertible roadsters are for empty-nesters with mid-life crises and disposable income.&amp;nbsp;I don't know whether these market notions are really true, but the automobile industry makes a bet that they are and marketing campaigns are developed accordingly.&lt;/P&gt;
&lt;P&gt;The other possibility is that&amp;nbsp;the function or service provided is so universally appealing that the notion of market is widely inclusive by definition. Who buys milk, or toothbrushes, or socks? Pretty much anyone who buys anything buys these things, and while you do find some market differentiation even for these products (conventional milk or organic? manual toothbrush or electric?&amp;nbsp;ten pairs of white cotton socks for $2 or one pair of silk dress socks for $5?), by and large you see less variation in this stuff&amp;nbsp;than you see across products with a wider variance in possible price point.&lt;/P&gt;
&lt;P&gt;Start thinking about the products that consumers&amp;nbsp;want to personalize&amp;nbsp;and things get more interesting. When I was a kid I had the same blue LL Bean backpack that everyone else in my class had and I wouldn't have thought of having anything else. But I also stuck stickers (puffies &lt;EM&gt;and&lt;/EM&gt; scratch-and-sniff) all over the thing to make it mine. I wanted it to be the same, but I also wanted it to be different.&lt;/P&gt;
&lt;P&gt;Think it's just kids? Think again. As adults we monogram towels and bathrobes. We paint our houses different colors, we hang art on our walls, and we add distinctive ringtones to our cell phones. This is all true even when we're all buying the same towels, the same houses, and the same cell phones as everybody else. Personalization is the name of the game.&lt;/P&gt;
&lt;P&gt;Within the technology industry, Apple kind of got the hang of this from pretty early on, with different hardware form factors for different target audiences. There's no mistaking the group&amp;nbsp;that the iPod is intended to reach. Within the software space too, we see all kinds of customization of user experience: different UI languages, different desktop backgrounds, different sets of applications and ways of organizing those applications (I need a clean desktop, for example). &lt;/P&gt;
&lt;P&gt;But of all of this stuff, I'm wondering what really makes your computer feel like it's yours. Is it the picture on your desktop? Is it the post-it notes framing your monitor? Is it the way your hardware is organized, with an optical mouse on the right and an ergonomic keyboard in front of you? For me, for instance, it's a lot about how my files are organized. Hardware is mostly irrelevant, but if I can't find stuff, then I get lost, and if I get lost, I quickly feel like I'm using someone else's machine. But I'm willing to bet that the really key stuff, the stuff without which a computer just doesn't feel like it's &lt;EM&gt;yours&lt;/EM&gt;, varies a lot by person.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=681025" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/kierans/archive/tags/personalization/default.aspx">personalization</category></item></channel></rss>