Susan IbachTechnical Evangelist
As I mentioned in a previous blog post, where I
describe how to install the Zune software on Windows Server 2008, the Windows
Phone 7 tools do not install on Windows Server 2008 as easily as on other
“workstation” versions of Windows (Windows Vista, Windows 7). Once again, this
is perfectly understandable since a server version of Windows is not aimed for
application development purposes. However, since I installed Windows Server
2008 on my machine for training purposes, and since I don’t have enough
computers at home to have one dedicated for this server version of Windows, I
searched for a way to force the installation of these WP7 tools. Luckily (thanks
to Aaron Stebner); I found a way as described in this post... But before going
any further, I must mention that this is not officially supported by Microsoft,
so do it (or not) at your own risks. Since my motivations were only training,
that doesn’t matter to me.
Phone Developer Tools web boot strapper from here and save it on your hard drive. It
is just a 3.2 MB file;
a command prompt window and type vm_web.exe
/x to extract the contents of the setup package. You’ll have to indicate a
location in which the files will be unzipped;
to the extracted folder and open the file baseline.dat
file in notepad;
for the section named [gencomp7788];
the value InstallOnLHS from 1 to 0;
the value InstallOnWin7Server from 1
and close baseline.dat;
setup.exe /web from the folder
extracted to in step 2.
You can now develop Windows Phone 7 apps and
games on your Windows Server 2008 machine. Please note that Visual Studio 2010
is required and that it installs without any particular problem on Windows
Doctor Calvin Law is able keep his hands sterile before surgery thanks to the Microsoft Xbox Kinect. The surgeons at Sunnybrook hospital have deployed the hardware solution to help their team scroll through CT images during surgery with hand gestures.
This allows the doctors to access the patient's information quickly without needing to leave the immediate area.
Kinect is more than a hardware gaming add-on for the XBOX console. The ability to set new standards to the medical industry is just one of few venues where Kinect is currently exploring.
The medical application was designed by Jamie Tremaine and Matt Strickland, who studied mechatronics and electrical engineering respectively at the University of Waterloo. Along with hardware designer Greg Brigley also from University of Waterloo, the group are transforming technological boundaries and helping surgeons navigate a patient's body. For more in-depth coverage, read here.
After installing Windows Server 2008 on my
machine (for training purposes), I tried to install the Zune software but it
told me that this version of Windows is not supported. Actually, this is quiet
logical, since such a Windows version is not aimed for entertainment purposes,
I found a way to force the installation of the Zune software on Windows Server
you try to install the Zune software on Windows Server 2008, you’ll face this
means that you’ll have to install it in a more “manual” manner. The first thing
to do is to notice the location where the setup bootstrap unzips the files:
3. Navigate to this folder and open the
subfolder inside it:
that subfolder, there is a Zune-x86.msi
file. Before running it, make sure to remove any previous installation of the
the installation is done, you’ll now be able to use the Zune software on your
Windows Server 2008 machine.
In an upcoming blog post, I’ll show
you how to install the Windows Phone 7 tools on Windows Server 2008 since they
do not install as easily as on other “workstation” versions of Windows.
With march break over and school starting (again), we will soon be overwhelmed with homework assignments, essays, quizzes, tests and everything else in between. However, while we might think that this sound horrible, we often forget the dreaded project, where not only do we need to work, but we also need to manage our time in such a way that accommodates others as well. This is when the true nightmare begins. Unreceived e-mails, forgotten deadlines, without forgetting the printer exploding when we most need it (and it does happen, contrarily to popular teacher beliefs) are few of the many problems that affect the project that was once destined to be “the best project of the class”. That’s when SharePoint Workspace 2010 comes in.
With SharePoint Workspace (formerly known as Groove 2007), you can solve most of your team communication problems with relative ease. SharePoint Workspace allows you to share documents, chat with colleagues, share pictures, start a discussion and even play Chess (in your free time, of course).
Creating a workspace is fairly easy. All one has to do is start the application, and from the ribbon, select “New”, then “Groove Workspace”.
Once the dialog box appears, you can name your workspace (here, I called it “My Project”) and select the version that you want. (The 2010 version is not compatible with Groove 2007, so if you have someone on your team who has Office 2007 with Groove, you might want to change the default settings).
Once you are done, you can select “Create”, and start grooving!
Once your workspace created, you are presented with the workspace, in the Document tool. But before we start anything, we might want to invite a teammate first. SharePoint Workspace simplifies this with an “Invite to Workspace” field, right in the “Members” pane. So I will go ahead and enter my teammate’s e-mail there. As soon as I do this, a dialog box appears where I can choose his role (“Participant”, “Manager” or “Guest”) as well as a little message to go with the automatic e-mail. Once the e-mail is sent, all I have to do is wait. One of the great things with this is that my teammate does not need to have Office 2010 in order to join the workspace. The e-mail contains a link to a 120 day trial, which can be used to access the workspace, so that even if the other person does not have Office, he or she can still access the workspace.
Also, I should point out is that there is no server here. So, when someone modifies something within the workspace, it is not immediately syncronized. The application will send the modifications to the other users when the other users and you are online simultaneously. If one person is offline, the other users who have received the new information can also serve as a relay for the file in the event that the person who originally transmitted the file is offline at the time. This can be a difficult concept to understand, but it is an important one, so I’ve illustrated the final case here, with 3 people in a workspace.
Once your friend has joined, it’s all systems go! The first thing you will notice is that, as all Office applications, it retains the same look and feel, with the ribbon and the “File” menu, so that first time users will already feel at home here. When your workplace is first fired up, you will be presented with is the main section of the page, which will be in the “Documents” view by default. Here, you will add your documents and files that you want to share with your teammates. It acts just like when you browse your documents on Windows. This is a very nice alternative to sending fifty e-mails back and forth just for documents. Groove automatically updates files as they are modified and indicates when someone has changed or added a document via a notification on the bottom right side of your screen.
The right pane is very important. There are 3 elements worth our attention: the Content pane, the Members pane and the Chat box.
The content pane is where you will find the different tools you can use. By default, you have the Documents too, which we discussed earlier, the Discussion tool, which acts as a mini forum and the Calendar tool, where you can set important dates for everyone to see. You might notice the little green bubble next to the Documents line. This indicates that someone is viewing that tool right now (in this case, me). This can be useful to track down where everyone else in your team is, but it is important to note that these tools are not meant to instate a dictatorship. Don’t go overboard. You want to complete a project, not make enemies.
The Members pane is where you can see the status of everyone in your project. The members are separated in three groups:
<!--[if !supportLists]-->· <!--[endif]-->“In Workspace” means that they are currently in the workspace;
<!--[if !supportLists]-->· <!--[endif]-->“Online” means that they are logged in, but not in the workspace. (i.e.: Groove is minimized in their taskbar.) They can still receive notifications;
<!--[if !supportLists]-->· <!--[endif]-->“Offline” means that they are not logged into SharePoint Workspace. They cannot receive any notifications.
You can also right-click on anyone’s name to bring out a context menu (a context menu is the menu that appears when you right click on something, just in case you were wondering…) with interaction options with that person, such as sending a message, changing their roles or viewing contact information.
The chat pane, on the bottom right, allows you to chat in real time with your collegues. It’s very simplistic in nature and doesn’t allow you to do fancy stuff like Messenger or other dedicated IM applications do, but it does its job very well. You can also click on the arrow on the bottom right of the pane to access additional options, such as save a transcript of the chat pane, clear the chat pane, etc. Additionally, you can apply the basic stylistic effects by using the following shortcut keys:
SharePoint Workspace has an internal messaging system, which allows you to send messages in the same way you would send e-mails to people. What’s nice is that since it’s internal, you don’t need to clutter your inboxes. All e-mails pertaining to the project are within Groove itself. While sending them is easy as pie, viewing your messages isn’t that straightforward. To send messages, you simply need to click on “Send Member Message” in the Ribbon, under “Workspace”. To view the messages you’ve received, select “File”. Once in Backstage View, under “Info”, select “Messages and Contacts, then “Message History”.
Groove works with something called tools. Tools are like mini-apps within Groove that allow you to accomplish specific tasks. They are actually so important that you cannot have a (useful) workspace without them.
When you create a new workspace, you have by default three tools: the Documents tool, the Discussion tool and the Calendar tool. There are more, which you can add as you can go. To do so, you go to the “Workspace” tab in the Ribbon, select “Add”, then select the tool you want to add.
For the purposes of this post, I’ll go over the basic ones: the Documents tool, the Discussion tool and the Calendar tool.
The documents tool serves as a place to store and share your files. It works similarly to a basic file system. To the left, you have your folder tree, and on the right, the documents within the selected folder.
You can add new files or folders within the selected folder by right clicking in the selected area by right clicking in the white area in the right area and selecting the appropriate file or folder under “New” in the context menu.
Otherwise, you can add new files or folders in the workspace through the ribbon. In the “Home” tab, under the “New” section, you have three options: “New Document”, “Add Document” and “New Folder”.
<!--[if !supportLists]-->· <!--[endif]-->New Document allows you to create a new document. The options shown in the menu that appears correspond to the ones that appear in the Windows context menu under “New”. Note however that you can add any kind of document in Groove, but you need to make sure that everyone has the appropriate application to view the document.<!--[if !supportLineBreakNewLine]--><!--[endif]-->
<!--[if !supportLists]-->· <!--[endif]-->Add Documents allows you to select an existing document on your hard drive and add it in the tool.<!--[if !supportLineBreakNewLine]--><!--[endif]-->
<!--[if !supportLists]-->· <!--[endif]-->New Folder creates a new folder.
The Discussion tool acts as a forum within the workspace. People can post topics within the tool and others can reply. You can do so again through the Ribbon by selecting “New”, then “Topic” to create a new topic or “Response” to reply to a selected topic.
By selecting “New Topic”, you are presented with the following window:
This is pretty straightforward, so I won’t go in depth for the explanations. Note that you can add attachments to the topic, which is a pretty nifty feature.
In order to reply to the topic, you need to select it within the tool and select “New” → “Reply”. Make sure the topic or response you want to reply to is selected before you select Reply. Otherwise, the option will be greyed out.
The Calendar tool is used to schedule meetings. Those of you who’ve used Groove 2007 will notice that this new Calendar tool is a mix of the old Calendar tool and Meeting tool.
If you create a new meeting by selecting “New Meeting” in the Ribbon, you will be presented with a straightforward form to fill up. However, on the Ribbon, you will notice four icons: “Meeting”, the view you get at the beginning, “Agenda”, “Notes” and “Summary”.
Using these, you can go into more detail, putting the items to be discussed in the Agenda view, or adding notes in the Notes view, and viewing a summary of the meeting in the Summary view. (Note that the summary must be generated by selecting “New Summary” in the Ribbon.
In conclusion, I hope this post helps you all get a head start on SharePoint Workspace 2010. As usual, if you have any questions, feel free to leave comments, and I’ll do my best to answer them as best I can. Now all we need is Microsoft to find a way to stop the printers from exploding at the last minute…
What makes a game great aside from the interesting game
play, are the static data that makes the game dynamically fun. Pictures, fonts, sounds are all important
elements that can make or break a game.
These static data are called assets and are used by importers,
processors, content loaders.
These steps will help with reducing the game’s loading time
as the content is serialized at compile time.
XNA Game studio supports 2D asset formats .bmp, .dds, .dib,
.hdr, .jpg, .pfm, .png, .ppm, and .tga.
PNG is the recommended format as many content generation
tools support this.
Game assets are stored in the Content project when a XNA
Game Studio 4.0 project is created.
an asset is a simple process: right-click Content,
select Add, click Existing
Item, and then select an existing image file (for instance,
With the assets in place, now load the asset into the
The asset needs to be stored in a variable there first we
define a field to store the asset in the game class. The asset is serialized as Texture2D object
and therefore the variable type should be Texture2D as well.
The base class in the game project has a LoadContent virtual
method which provides a location to load the assets and initialize the
fields. By staging where you wish to
load the assets in a game, able to save on initialization times and create a
loads the given asset, and stores the
corresponding managed object in the class field.
protected override void LoadContent()
// Create a new SpriteBatch,
which can be used to draw textures.
spriteBatch = new
// TODO: use this.Content to
load your game content here
Images need to be incorporated to their correct hardware
display resolution. In the XNA
framework, the back buffer allows the scaling to be done by the hardware of the
Configuring the back buffer for maximum resolution support
by Windows Phone 7
if (this.Window.CurrentOrientation == DisplayOrientation.Portrait)
graphics.PreferredBackBufferWidth = 480;
graphics.PreferredBackBufferHeight = 800;
graphics.PreferredBackBufferWidth = 800;
The ability to support all types of device orientation is
set by this piece of code:
graphics.SupportedOrientations = DisplayOrientation.LandscapeLeft |
DisplayOrientation.LandscapeRight | DisplayOrientation.Portrait;
Drawing the picture onto the device
float scale = Math.Min(graphics.GraphicsDevice.Viewport.Width /
hills.Width, graphics.GraphicsDevice.Viewport.Height / hills.Height);
this.spriteBatch.Draw(hills, // Texture to render
Vector2(0, 0), // Destination left top position
Color.White, // Texture tint color
Vector2(0, 0), // Origin left top position
how we calculate the "scale" value at the top of the code sample. We
want to scale the image as much as possible while keeping the entire image
within the display bounds.
Windows Phone 7 includes a hardware
image scaler. This allows XNA games to be written for any desired back buffer
resolution without considering the physical screen size. The scaler
automatically fits the drawing into the target display. It is worth mentioning
that the hardware image scaler's work does not consume CPU time.
As previously indicated, we intend to
show our image in full-screen mode with the best possible quality and without
distortion. The following code fragment shows how we can implicitly use the
hardware image scaler.
graphics.PreferredBackBufferWidth = 480 / 2;
graphics.PreferredBackBufferHeight = 800 / 2;
graphics.PreferredBackBufferWidth = 800 / 2;
graphics.PreferredBackBufferHeight = 480 / 2;
we have halved each of the back buffer’s dimensions, the size of the rendered
image is unaffected because the scaler resizes it to fit the device's display.