Tuesday 16 March 2010

Windows Phone Development Follow-Up

Yesterday at MIX 10 Microsoft has finally announced development details for their new Windows Phone 7 mobile OS. So what do we know now?

1. We may use Silvelight OR XNA to build applications for WP7!  Silverlight will be used mostly for business applications and simple games and XNA will be used for building heavy 3d games.

2. Development tools for Windows Phone 7 are absolutely and totally FREE! Following this link you may download Windows Phone Developer Tools CTP that includes the following tools:

  • Visual Studio 2010 Express for Windows Phone CTP
  • Windows Phone Emulator CTP
  • Silverlight for Windows Phone CTP
  • XNA 4.0 Game Studio CTP

Yet another (but not required) tool that can be used for WP7 development is Expression Blend 4. It’s not free but users of version 3 may freely upgrade their installations.

3. You may develop your applications in emulator or at your real phone as many times as you wish. If you want to place your application to Windows Marketplace – you’ll have to pay $100 for a developer license. It’s not really a huge sum keeping in mind that people who post applications to Marketplace will get a 70%-off from price of any application there.

4. Microsoft has also provided a free e-book on WP7 development written by Charles Petzold. It’s not finished yet but has first six chapters that are quite enough to dive into the topic.

5. First phones from Windows Phone 7 Series will appear on market in August. It gives us enough time to learn Silverlight WP7 development and publish our shiny new applications to Marketplace.

It’s really juicy and provides great opportunities for .NET developers. Let’s ride that wave!

Friday 12 March 2010

MIX sessions I want to have a look at

I’ve browsed all upcoming MIX sessions and chose several worth watching:

Open Standards
HTML5 Now: The Future of Web Markup Today
The Mono Project
SVG: The Past, Present and Future of Vector Graphics for the Web

Design Fundamentals for Developers (and Other Non-Designers)
Great User Experiences: Seamlessly Blending Technology and Design
Designing Rich Experiences for Data-Centric Applications
Total Experience Design
The Elephant in the Room
An Hour With Bill Buxton
The Laws of User Experience

Ruby, Python, PHP
IronRuby for the .NET Developer
Pumping «Iron» on the Web: IronRuby and IronPython


Six Things Every jQuery Developer Must Know
How jQuery Makes Hard Things Simple
Building a Next-Generation Web Application with Microsoft ASP.NET MVC 2 and jQuery

Cloud Computing

Designing and Delivering Scalable and Resilient Web Services
Opening Up Opportunity with Twitter
Lap around the Windows Azure Platform
Building Platforms and Applications for the Real-Time Web
Microsoft Silverlight and Windows Azure: A Match Made for the Web

Windows Phone 7

Overview of the Windows Phone 7 Series Application Platform
Windows Phone UI and Design Language
Building Windows Phone Applications with Silverlight
Windows Phone Application Platform Architecture
Silverlight Performance on Windows Phone
Development and Debugging Tools for Building XNA Games for Windows Phone
Distributing and Monetizing Windows Phone Applications and Games
Building Windows Phone Games
Building a High Performance 3D Game for Windows Phone
Designing and Developing for the Rich Mobile Web


Microsoft Silverlight 4 Boot Camp
Microsoft Silverlight 4 Overview: What's in Store for Silverlight 4?
Authoring for Microsoft Silverlight 4 with Microsoft Expression Blend
The Microsoft Silverlight Analytics Framework
Stepping Outside the Browser with Microsoft Silverlight 4
Building the eBay 2 Minute Lister with Silverlight
Microsost Silverlight 4 Business Applications
An Introduction to Developing Applications for Microsoft Silverlight
Debugging Microsoft Silverlight Applications
Introducing the Silverlight Rough Cut Editor
Developing with WCF RIA Services Quickly and Effectively
Unit Testing Silverlight and Windows Phone Applications
Building an Accessible Microsoft Silverlight Experience
Securing Microsoft Silverlight Applications
Microsoft Silverlight Optimization and Extensibility with MEF
Principles of Microsoft Silverlight Graphics and Animation
Developing Multiplayer Games with Microsoft Silverlight 4
Flash Skills Applied to Microsoft Silverlight Design and Development
Developing Natural User Interfaces with Microsoft Silverlight and WPF 4 Touch
Building Large-Scale, Data-Centric Applications with Silverlight
Search Engine Optimization for Microsoft Silverlight
Accessing Web Services in Microsoft Silverlight
Building Finance Applications with Microsoft Silverlight 4
Creating Effective Info Viz in Microsoft Silverlight
An Enterprise Perspective on Silverlight 4

Internet Explorer 9

In-Depth Look at Internet Explorer 9
High-Performance Best Practices for Web Sites
Internet Explorer Developer Tools


Microsoft ASP.NET MVC Boot Camp
Beyond File | New Company: From Cheesy Sample to Social Platform
What's New in Microsoft ASP.NET MVC 2
The HaaHa Show: Microsoft ASP.NET MVC Security with Haack and Hanselman
Driving Experiences via Services Using the Microsoft .NET Framework
Building Great Standards-Based Websites for the Big Wide World with Microsoft ASP.NET 4
Web Deployment Made Awesome: If You're Using XCopy, You're Doing It Wrong
Improving Software Quality for the Modern Web

Labs, New tech, Tools

Designing Bing: Heart and Science
Advanced Web Debugging with Fiddler
Reactive Extensions for Javascript


Media Processing Workflow
Microsoft Silverlight «Media»: Moving at 60fps


Understanding the Model-View-ViewModel Pattern
Build Your Own MVVM Framework


A Case Study: Rapid WordPress Design and Prototyping with Expression Web 3
Dynamic Layout and Transitions for Microsoft Silverlight 4 with Microsoft Expression Blend
Prototyping Rich Microsoft Silverlight 4 Applications with Microsoft Expression SketchFlow


Designing Corporate Web Sites using SharePoint 2010
Building Rich and Interactive User Experiences in SharePoint
Designing an Internet-Facing Web Site Using SharePoint 2010

Thursday 11 March 2010

Wonderful Microsoft Gears

Picture provided by Victor Lazarevich:


Guess, will this system work? :)

Tuesday 9 March 2010

My small PowerShell presentation

This is my presentation from Intetics internal workshop:

Saturday 6 March 2010

Using Push-Location and Pop-Location in PowerShell

All popular shell environments have a wonderful tool named directory stack. It allows you to jump there and here in different directions and be able to return to some saved points. This feature really rules when you have to intensively work with command line. It’s really nice that PowerShell designers have implemented it with Push-Location and Pop-Location cmdlets. These cmdlets have standard pushd and popd aliases that are familiar to all *n?x and CMD gurus.

pushd is similar to cd with the only difference that it saves your previous location before moving to a new one. popd is a pair for pushd because it pops the last saved directory and changes your current directory to it. This concept is really simple, isn’t it? :)

So how to ease learning these commands? As for me I’ve:

1. Added my custom aliases to these commands

Set-Alias pd pushd
Set-Alias ppd popd

This allows me to use pushd as easy as cd. popd is a bit more complicated (1.5 times!) but it’s a good point for not losing your context accidentally.

2. Modified my prompt to display current directory stack depth

  $_locationStackDepthString = New-Object string ([char] '+'), (Get-Location -Stack).Count

Now each time when I dive deeper into directory stack I get a ‘+’ sign in front of my prompt and when I pop out I return to previous prompt state:

PowerShell pushd popd


Friday 5 March 2010

My PowerShell prompt

Just wanted to share it :)

function prompt
  $_locationStackDepthString = New-Object string ([char] '+'), (Get-Location -Stack).Count

  $color = 'Yellow'

  Write-Host '>> ' -nonewline -ForegroundColor $color
  Write-Host $(Get-Date -Format T) -ForegroundColor 'Green' -NoNewLine
  Write-Host " " $PWD.Path -ForegroundColor 'Cyan'
  Write-Host ($_locationStackDepthString + '>') -nonewline -ForegroundColor $color

  return " "

It shows current time, folder, uses a separate line for commands and displays current depth of pushd/popd commands (I use them rather intensively).