Scott Hanselman

Web Platform Installer now supports XP - And the Master Plan continues

November 24, '08 Comments [16] Posted in ASP.NET | ASP.NET MVC | IIS
Sponsored By

Remind me to tell you some time why the IIS team is so evil clever. It' cool to see the first steps of a master plan to make things awesome start to come to fruition. 

I've said over and over that IIS7 is rocking sweet and once you start using it, you'll never want to go back. It's all part of the whole /web platform and it's always been ridiculously tedious to install. It's getting WAY easier, all as part of a super-secret master plan I can't tell you about or I'd have to kill you.

Seriously, the Web Platform Installer, or Web-PI, hit Release Candidate last night. The #1 complaint on my last post about this was that it didn't support XP. Bam:

Supported Operating Systems are: Windows Vista RTM, Windows Vista SP1, Windows XP, Windows Server 2003, Windows Server 2008

How ya like me now, son? ;) Also works for Server 2003, so that's cool.

Screenshot of Web Platform Installer

Web-PI's got a number of cool things, but one subtle one you might take note of is the Web Deployment Tool Beta (MSDeploy) that I mentioned before. This tool makes it very easy to package up all the configuration schmutz of your application and (re)deploy it elsewhere. As such, it supports synchronizing your sites and applications across server farms, which was a huge problem for me when I was in banking. It integrates nicely with IIS Manager too.

Also of note is the inclusion of ASP.NET MVC Beta as an option, as well as URL Scan 3.1 and IIS 7.0 manager which lets you manage IIS7 from non-IIS7 machines like, ahem, XP machines. Basically all the things that were hard to find, now, less so.

Now, my first worry when I saw this was, "well, some small team is doing this applet and it's neat and all but soon it will fall into disrepair and fade away, like calc.exe." Well, I just got a personal call from Bill Staples who manages all this stuff and he told me

"oh no, we've got a master plan."

He then proceeded to tell me the master plan and it was good™. I can't tell you, but I'm working on ways to tell you without Bill firing me. Regardless, there's some cool stuff coming in the /web space. It's very tidy, very open, very clean, very sourcey, very appy, very nice.

So, go get the Web Platform Installer and the Web Application Installer and ponder on why there's a "A - F |  G - L | M - R | S - T | U - Z" navigation thing on a page that only has 7 products for download.

Discuss!

Related Posts

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Do you have to know English to be a Programmer?

November 20, '08 Comments [123] Posted in Internationalization
Sponsored By

An interesting comment thread broke out in a recent post on Using Crowdsourcing for Expanding Localization of Products. Someone linked to a post and used the phrase:

"If you don't know English, you're not a programmer."

The post linked to didn't make the statement so boldly, but it's an interesting "link bait" phrase, isn't it? It's defintely phrased to get your attention and evoke opinions. I don't agree with it, but I wanted to dig more into the concept.

This whole conversation caught the eye of Fabrice Fonck, General Manager (GM) of Developer Content & Internationalization for DevDiv. He wrote this email to me and I wanted to share it with you. He's was a programmer before he became a manager, and English is not his first language, so I thought it fitting. I also added emphasis in spots. Fabrice believes very strongly in the usefulness of translation and translated content and has an entire organization dedicated to it, so you can understand why he'd feel strongly about this.

I began studying computer science and programming in 1985 as a freshman in a business school in France, my native country. At the time , localized versions of programming tools were not available and I will always remember when I picked up that version of GW-Basic only to realize that it was all in English. Learning programming seemed already daunting, but doing it in a foreign language only increased my level of fear. Over 20 years have gone by and English does not feel quite as foreign to me anymore, but I cannot help but think that for billions of people around the world, taking on such a double challenge may not necessarily lead to the same outcome.

Over the past 17 years in the Developer Division at Microsoft, I have devoted a large portion of my time and energy making sure our products and technologies are available in as many languages as possible because I believe it is important to make them accessible to as many people as possible around the world. During all these years, I have had the privilege of traveling to many countries around the world and I have talked to many of our customers, a number of which through interpreters. I have met many brilliant developers out there whose English language skills were limited if not practically non-existent. This anecdotal evidence is supported by our sales figures. In Japan for instance, where we have one of our largest developer population in the world, over 99% of our product sales are in Japanese. Entering that market with an English-only product is a recipe for failure. That same is true in counties such as France, Germany, Spain, Russia or China where our localized products represent over 80% of our sales. The list of countries goes on and on.

While it is true that a number of people overseas for whom English is not their native tongue will eventually learn and benefit from the vast amounts of technical content available in English, a greater number will not. That is why we continue to expand the number of languages in which Developer Division products and technologies are localized into. Cost is obviously an important factor here, especially for smaller geographies. That is why we continue to invest in technologies such as machine translation, translation wikis and CLIP, and concepts such as crowdsourcing and community engagement to drive down costs and make these languages a reality for the millions of developers out there (and aspiring developers) that do not speak English. By making our products available in all these languages, we also foster more community engagement in these languages, through blogs, forums, chat rooms, etc.

Here's some choice comments from the previous post:

Erling Paulsen: "Most articles, knowledge bases, books and so on are in English, so if you want to read up on something in depth, you need to have at least basic reading skills in English. Translating tooltips inside Visual Studio could end up causing confusion for at least new developers, as what they would see on-screen potentially did not match up with what the tutorial/book they were following." and "...I truly do appreciate that Microsoft is trying to make an effort, and I believe that MSDN has had a vast improvement in usability the past year or so. And the fact that MSFT are allowing community contribution is absolutely fantastic, but at least to me, the translation effort just seems a bit unnecessary." and "I never said, or meant to say that you need to be fluent in english to be a good programmer. And as Scott points out, the side-by-side translation feature would actually be a great way for learning english."

Paul van de Loo: "Developers might as well get used to learning new languages (even if they aren't programming languages)."

Spence: ""A programmer who doesn't at least understand English is not a programmer" that's an outrageous statement. That's like saying "a musician who is deaf is not a musician" patently untrue and ridiculous. plus pretty offensive to millions of programmers."

Ramiro: "I believe that in an ideal world every programmer should speak and read enough English to be able to work, learn and interact. However (and specially in Latin America) this is still a long term goal. I really applaud the effort being put in by Microsoft and other companies to make resources more available for everyone."

Robert Höglund: "I do think we developers need a common language. When you have a problem, get a strange exception, 9/10 just googling the error message will get you the answer. I have tried developing on a Swedish version of XP but trying to search for those error messages doesn't work. Can't say i agree with the statement "If you don't know English, you're not a programmer" but it does make life easier."

Farhaneh: "I can not speak and write english very well , but i'm taking classes and reading english books in my major to make it better. because i want to be a good programmer."

Filini: "The english syntax that has been used in programming languages for the last 50 years."

John Peek: "To say that if you don't know English, you're not a programmer is a perfect example of ethnocentrism in this country."

What do YOU think? Is learning English the #1 thing a Programmer should do (after learning to type)? Can you be an awesome programmer and speak little or NO English?

The comment that *I* personally agree with the most is from Ryan:

"It would *seem* (totally non-scientific sampling) that the non-english speakers (as a first language anyway) tend to agree with the statement "If you don't know English, you're not a programmer" more than native english speakers."

What do YOU think, Dear Reader?

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Xbox 360 NXE - Forget Games, The Xbox is a Media Center

November 20, '08 Comments [46] Posted in Gaming | Reviews
Sponsored By

avatar-body What's all this talk about gaming on the Xbox 360? I can't remember the last time I actually played a game on the thing, but I can say that both The Wife and I use it daily. I'd even say she uses the Xbox 360 more than I do.

She plays music from the Zune and iPod, she runs photo slideshows for the boys and when we have company.

Recently we had a party for my Dad and the Xbox was showing slideshows of him over the years with his favorite music running in the background. My wife and I didn't think anything of it (it seems pretty obvious to us) but oddly enough it was the hit of the party. A half-dozen people were literally freaking out. The Xbox can do that?

Why You Should Buy an Xbox 360 Even If You Don't Play Games

Here's my list. What's yours?

  • You can just plug in any MP3 player or Digital Camera that uses USB connectors and immediately view photos and play music.
    • I've had company come over a number of times with a camera or an SD card, and I've just attached them to the Xbox and we've watched their slides. Just use a USB adapter for camera cards or plug the camera USB connector into the Xbox directly. The same works with Zunes or iPods.
  • You can stream movies from Netflix (some in HD)
    • This is new and pure hotness. I've been beta testing the New Xbox Experience (NXE) and I don't miss the old Xbox at all. I cancelled by Blockbuster account 6 months ago in anticipation of this. There's about 12,000 movies and 300 in HD. I just happed to watch "Outsourced" (recommended) and it was in HD. The Wife digs it, and we can easily catch up on TV. I hope that someone gets Hulu.com in there and then I could die happy.

DSC_0127DSC_0129

DSC_0131DSC_0133 

  • You can easily stream video and music from your Windows (or Mac) machine to your Xbox.
    • You can use any uPNP streaming software like Twonky, or just use Windows Media Player. Click the down arrow on "Library" and click "Media Sharing." It's even easier in Windows 7. Just click the Windows button and type "Share." You can share throughout your network, or on a device by device basis.
    • We have a Zune Pass which basically lets you "lease" music for $14.99 a month. Basically for the price of 1 CD a month we can listen to all the music we like on our two Xboxes and two Zunes. The music streams from my main machine that runs the Zune software.

DSC_0134DSC_0135

DSC_0137DSC_0138

    • The Xbox360 can console H.264 and MPEG4 video files, but the device you're streaming FROM needs a codec, like 3ivx. I discovered that the Flip video camera that I bought includes the 3ivx codec. I connected to my Windows Home Server and installed the Flip Software by connecting the Flip to the Windows Home Server (WHS). That got me a free 3ivx codec, and now I can easily stream those files to my Xbox. Bam. (Totally unsupported, remember, I don't work for ANY of those teams.)
    • You can use Connect360 to stream content from your Mac to your Xbox360.

Windows Media PlayerMedia Sharing 

  • The Xbox 360 is a Windows Media Center Extender.
    • You can basically remote into your Windows machine and watch TV if you have a tuner card, watch saved shows and movies, and browse the web (with a Media Center add-on app). It looks and acts just as if you're running Media Center on your PC.

imageWe use the Xbox in this way so often that we have two, one old Xbox 360 bought early on and an Xbox Elite with HDMI bought more recently. Both of them seamlessly upgraded to the final NXE this morning.

The (NXE) New Xbox Experience

I won't even try to review the NXE, but suffice to say, it's awesome. Check out the Joystiq videos and reviews of the Xbox NXE for great details.

 DSC_0125 DSC_0126

Buying a Xbox 360

Here's a screenshot of the very awesome and complete Xbox 360 SKU chart from Joystiq, trimmed to remove discontinued models.

If you're looking for balance, the Pro is the best deal. It's $300, has decent storage and supports HiDef via RGB Component Cables. If you want HDMI, you'll need the Elite, but you'll double your hard drive space. (Update: It USED to be the case that the Elite had HDMI but now all Xboxes have at least the port, although the Elite comes with a cable also.) You can use that space to store movies, videos, photos, etc, but really it's only useful for storing games or ripping CDs.

OK, I'm off to NOT play games on my Xbox.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Update on the GDR that is coming for .NET Framework 3.5 SP1

November 15, '08 Comments [23] Posted in ASP.NET | Programming | Windows Client
Sponsored By

As I've you've probably heard, we are working on an update for .NET3.5 SP1 and its 2.0/3.0 sub-components which will contain fixes for the small number of bugs reported by customers since the release of 3.5 SP1 this summer. More information regarding the specific bug fixes included in the update will be provided in a knowledge base article that will be released with this update, although at the end of September I blogged about this upcoming "GDR" (General Distribution Release) update to .NET 3.5 SP1 and listed the bugs I've been able to confirm so far as being fixed.

In that post I said:

"Later this year, probably November-ish, the .NET Framework 3.5 SP1 will begin show up on Windows Update in a rolling and throttled fashion so that all machines that have .NET 2.0 or higher will be automatically upgraded to 3.5 SP1."

Turns out I was wrong on this, and the update will be available for download from the web in November, and will be up on Windows Update in January. There's a number of reasons for this but the primary one is that customers in general prefer not having any updates during the holidays (IT staff that needs to handle enterprise wide deployments are on vacation, etc) there is no non-security “refresh” for the fourth Tuesday in December, so the next earliest possible release date for our .NET Framework update on WU (Windows Update) is going to be early in into the next year (tentatively a Tuesday in January). As you might suspect the potential audience for such updates on Windows Update (WU) is very large (the vast majority of 1 billion windows PCs worldwide) so we err on the side of caution.

Once testing is complete and we’re ready to release the update, the release schedule needs to snap to a predetermined release cadence for updates shipping on WU. In general Microsoft releases security updates on the second Tuesday of every month and non-security updates such as this one on the fourth Tuesday of every month. We release on a cadence because large enterprise customers need a predictable schedule for all updates so they can in turn plan their own enterprise wide deployments for updates once we release this.

The extended testing process and release cadence takes time but the processes are designed to ensure we provide a broad and diverse set of customers with a high quality update combined with a smooth deployment experience.

Once this is released to Windows Update, you'll be much more likely to find 3.5 SP1 installed on the majority of the 1 billion or so Windows PC worldwide. It'll be nice to have a common baseline for developers to target. Remember also that WU is automatic and unattended, so the .NET Framework 3.5 SP1 will just show up on machines one day (of course Enterprises have additional controls over deployment). All this should make it easier for us developers to figure out which framework to target.

I hope this post gives you some more information and context on what's going on with this update. It takes a while to dig all this up and bring it to you, so I hope it provides you some value. Spread the word.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Using Crowdsourcing for Expanding Localization of Products

November 13, '08 Comments [33] Posted in ASP.NET | Internationalization | MSDN | Programming | Tools | Windows Client
Sponsored By

UPDATE: I wanted to add that these translation APIs are all part of Microsoft Translator services and are available for developers to use and build their own localized communities. The documentation is up on MSDN for AJAX/JSON, SOAP or POX (Plain old XML) APIs you can put in your apps today. Also, be sure to check out the Microsoft Translator Blog for more technical details on the V2 APIs and translator widget.

Not everyone in the world speaks English. Such a silly thing to say, but if you live in an English-speaking country it's easy to forget that many (most?) people in the world would prefer to do their work in the language of their choice.

Microsoft ships documentation in Visual Studio that is human-translated (a huge effort) into 9 major world languages. That's millions and millions of words * 9 languages. How can we cover more languages? How can we make documentation easier for folks who are trying to learn about our products and don't speak English fluently? How can we make English interfaces easier to use for non-English speakers who want to learn English?

Last month, I spoke to members of the internationalization/globalization team in DevDiv (Developer Division) about some of the little-known stuff they are doing. I think deserves more attention as there's some pretty innovative things being done. Some are experimental, but there's hope to expand them if they succeed.

MSDN uses Machine Translation and Crowdsourcing for Documentation

Doing a lot of work with a few people is hard. Doing a lot of work with a lot of people is confusing and expensive. However, doing a little bit of work with a LOT of interested people can be useful, cheap and fun if you "crowd-source" rather than outsource. Check out the screenshot below or visit the Brazilian MSDN site and check out the Translation Wiki v2.

BrazilianMSDN

You'll see there's the English MSDN documentation on the left, and Brazilian Portuguese on the right.

 LadoALado

Make sure to select "side-by-side" or "Lado a Lado." If you hover over a sentence on the Portuguese side, a small Edit button will appear.

image

Click Edit, and you can suggest a better translation, and they'll go into a queue for community moderators to approve. Notice also that under "Other Suggestions" you'll see existing suggested translations that are in the queue for moderation.

image

The initial Portuguese text comes from the Machine Translation team. For some reason, Portuguese is the best language that the Machine Translation team understands.

The text on the site is roughly 80% MT (Machine Translated) and 20% humans via these technique, and growing. There's a goal to include more languages for the next version of Visual Studio, including possibly Arabic, Czech, Polish and Turkish, although things are still a little up in the air.

If you know a Brazilian developer, spread the word about this project and encourage them to make edits to the Brazilian MSDN site and check out the Translation Wiki v2.

Big thanks to our community partners: a group of 30 CS students, partly from the team of Prof. Hirata and Prof. Forster of Instituto Tecnologico de Aeronautica and the team of Prof. Simone Barbosa from Pontifícia Universidade Católica who post-edited 1.8 million words of MT'ed content; the Brazilian Terminologist who managed the glossary project with our MVPs; and finally the Academic Evangelist Team in DPE in Brazil who gave us their support throughout the project.

It'll be interesting to see how far this project goes and what other languages can benefit from it.

Captions Language Interface Pack (CLIP) - includes 9 more partial language translations for Visual Studio

Here's a description of the CLIP from a launching page:

"The Microsoft Captions Language Interface Pack (CLIP) is a simple language translation solution that uses tooltip captions to display results. Use CLIP as a language aid, to see translations in your own dialect, update results in your own native tongue or use it as a learning tool."

This is pretty clever. It's a background application that will show balloon tooltip help in your language while you work in the English version of Visual Studio. For example, in the screenshot below, I'm hovering my mouse over Start Debugging, and the Arabic CLIP pops up with a human translation of that menu item.

clip

It'll even help with other applications within Windows if it thinks it's got a decent translation, but for now, it is focused on correct translation for common Visual Studio options.

Even better, you can add translations of your own. In future versions, there's talk about setting up sharing (I figure you can hack it today, though, unsupported, by sharing the language database.

image

Visual Studio CLIP is available in these languages so far, all created with community and student help!

In addition to the CLIP, there's also the ability to do a Language Pack for the Visual Studio interface itself, as exemplified by the Brazilian Visual Studio Express Language Pack for SP1 that does about a 70% translation of VS into Portuguese. There's talk to do more of these also. That should make Carlos Quintero happy!

There's a lot of cool possibilities for all this technology, expanding MSDN and VS to as many languages as possible!

If you think this kind of thinking is pretty cool, leave a comment or blog about it and maybe we'll be heard by *ahem* the boss when he next (soon) reviews plans for this kind of community involvement. ;)

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.