Page 1 of 10 in the Windows Client category Next Page
stoninja

Just about two years ago I joined Microsoft. I'm fortunate to work in a home office with a great team that I now lead. We work for the group at Microsoft that runs MSDN, TechNet, ASP.NET, Silverlight.NET, WindowsClient.NET, basically all the online education stuff. The giant group is called STO (Server & Tools Online) and our little group is "stoninja." That's our internal mailing alias.

We create content for all of the sites above but we're also active members of the community. We listen and drive feedback back into the product group. We're not part of the product evangelism group (DPE - Developer Platform Evangelism), but rather we focus primarily on online content creation. I like to think that we're the team that happens you after you go File|New Project, although we're constantly influencing what happens on both sides.

Fast forward to today and my little team is growing.

jon gallowayI'd like to announce that Jon Galloway is joining my team, he's coming to work for us via our good friends at Vertigo (who just announced a new Vertigo Software - Portland office which is cool). It's a bit of a change for Jon and it's something he's always wanted to do. Jon's official title will be Community Program Manager but I like to think of each member of the team as a Community Liaison. We're a small group, but we're sneaky (like ninjas, just fat, middle-aged somewhat pasty ninjas) and we are continually applying pressure to what we think are the right places within Microsoft.

You might know Jon from the Herding Code podcast he does with K. Scott Allen, Kevin Dente and Scott Koon. You might have read the ASP.NET 2.0 Anthology book that he worked on with Jeff, Phil, K. Scott and Wyatt. Jon's also done open source and works on SubText. Jon will be focusing on ASP.NET (all of it). He'll help get the http://asp.net site in shape and provide a much needed pragmatic view of all things web.

petebrown Also joined just a few weeks ago is Pete Brown. Pete comes to us after a long stint as .NET Architect, Project Manager, and Client Technologies Evangelist at Applied Information Sciences (AIS).

You may know Pete from his amazing C64 Emulator port to Silverlight. Pete has been working on the WindowsClient.NET site creating content and code samples that show some of the cool stuff you can do in Windows 7. He's started a multi-part video series just recently on the Windows 7 Sensor and Location APIs and will be filling the Learn section with even more great videos as well as working on http://msdn.com/windows.

When I came to work at Microsoft I posted a Venn diagram that looked like this:

I hope Jon and Pete's personal Venn diagram looks like mine, or since they are working from home (my whole team is remote) perhaps like this one ;)

Venn - Times when Happy vs. Times when wearing Pants

Please welcome both Jon and Pete to the team! The whole team - Me, Joe, Jesse, Tim, Pete and Jon - will be at PDC this year so do stop us and say Hello if you're there!



imageIt's funny to watch things go viral, even just a little viral on the Internet. Here's what happened, but more importantly, we'll talk about the code. Let's also make it complete clear that Jeff Key rocks. See picture at left, in between his two "lame" creations."

First, I did a post earlier this week called "Light it Up: List of Applications that use new Windows 7 Features." A day or two later I got an instant message from my former-roommate and part-time belay Jeff Key (@JeffreyKey on Twitter) (actually, that's all a complete lie, but, Jeff and I are friendly acquaintances for many years and have each other on IM) that said:

Saw your Win7 features post yesterday, so whipped this up last night and posted it on codeplex this morning:

http://taskbarmeters.codeplex.com/ kind of lame, but that's how i roll

Jeff Key jeff.key@sliver.com

For years Jeff has lived the mantra "Talk is Cheap, Show Me the Code." And he does, with some of the most inspired little .NET-based utilities out there asking for little else but our undying admiration and gratitude. That is how Jeff rolls. I visited his CodePlex site and saw it had 11 downloads.

image

I tweeted it and forgot about it. Then that tweet got picked up by Download.com (which I've heard of and whole gave credit to Jeff) Life Rocks 2.0 (which I've never heard of and who gave credit to no one) and then Lifehacker (which I have heard of and who "via'ed" Life Rocks). Next, I returned to CodePlex and saw that it had 4152 downloads! Congrats to Jeff for being so "lame!" ;)

image 

The Code

Why would Jeff be so down on himself and say the code is "lame" when clearly people were (are) going bananas and downloading these little utils? Well, because it's so darn easy to do, this was likely the source of Jeff's intense guilt. ;) The Windows API Code Pack makes it easy.

ASIDE: In fact, WPF on .NET 4 makes it even easier because it includes the new TaskbarItemInfo class that lets you do this from XAML. Pete Brown from my team has a great write-up on Showing Progress in the Windows 7 Taskbar with WPF 4 on his blog.

First, since his apps are specific to Windows 7, he checks first to make sure it's OK to continue. Note that it IS very possible to make apps that work great from XP to Windows 7, but these apps are little Windows 7 showcases, so you can see why he'd want to check for this:

if (!TaskbarManager.IsPlatformSupported)
{
MessageBox.Show("Sorry, but this app only works on Window 7.", "Aw snap!", MessageBoxButton.OK, MessageBoxImage.Error);
Application.Current.Shutdown();
}

To update the Taskbar (Superbar) Progress Bar he wrote a little helper because he wanted the colors to be green, yellow or red depending on the value of the CPU usage or Memory usage:

public void SetTaskBarStatus(int value)
{
if (value < 0)
{
value = 0;
}
else if (value > 100)
{
value = 100;
}

var state = TaskbarProgressBarState.Normal;

if (value > _settings.Yellow)
{
state = value < _settings.Red ? TaskbarProgressBarState.Paused : TaskbarProgressBarState.Error;
}

TaskbarManager.Instance.SetProgressState(state);
TaskbarManager.Instance.SetProgressValue(value, 100);
}

Then he just sets up a little System.Timer love and sets the Progress Bar values appropriately for Memory...

public partial class App : Application
{
private ComputerInfo _computerInfo;
private ulong _totalPhysicalMemory;

protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);

_computerInfo = new ComputerInfo();
_totalPhysicalMemory = _computerInfo.TotalPhysicalMemory;

var mainWindow = new MainWindow();
mainWindow.Tick += WhenTimerTick;
mainWindow.Show();
}

private void WhenTimerTick(object sender, EventArgs e)
{
var available = (double)(_totalPhysicalMemory-_computerInfo.AvailablePhysicalMemory) / _totalPhysicalMemory;
((MainWindow)sender).SetTaskBarStatus((int)(available * 100));
}
}

or CPU...

public partial class App : Application
{
private readonly PerformanceCounter _counter = new PerformanceCounter();

protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);

_counter.CategoryName = "Processor";
_counter.CounterName = "% Processor Time";
_counter.InstanceName = "_Total";

var mainWindow = new MainWindow();
mainWindow.Tick += WhenTimerTick;
mainWindow.Show();
}

private void WhenTimerTick(object sender, EventArgs e)
{
((MainWindow)sender).SetTaskBarStatus((int)_counter.NextValue());
}
}

Jeff also adds some JumpLists to launch Task Manager or Resource Monitor on right-click as well. Nice touch! A little polish there.

image

Also easy to do with the Windows 7 APIs in the Windows API Code Pack.

var jumpList = JumpList.CreateJumpList();
var systemFolder = Environment.GetFolderPath(Environment.SpecialFolder.System);

jumpList.AddUserTasks(new JumpListLink(Path.Combine(systemFolder, "taskmgr.exe"), "Open Task Manager")
{
IconReference = new IconReference(Path.Combine(systemFolder, "taskmgr.exe"), 0)
});

jumpList.AddUserTasks(new JumpListLink(Path.Combine(systemFolder, "perfmon.exe"), "Open Resource Monitor")
{
IconReference = new IconReference(Path.Combine(systemFolder, "perfmon.exe"), 0),
Arguments = "/res"
});

jumpList.Refresh();

Nice job, Jeff Key. You rock. So, Dear Reader, go light up YOUR applications under Windows 7. Enjoy!

Patching this Open Source Project and adding a Disk IO Meter

A day later, @ScottMuc tweeted me about adding a Disk IO Meter and we went back and forth about it on Twitter. He eventually submitted a patch to CodePlex. While Jeff hasn't updated his code with that patch (maybe he'll make me an admin and I can do it), I'm able to patch my local copy, of course.

Useful Link: Example: How to contribute a patch to an Open Source Project

Downloading ScottMuc's patch and simply right clicking (using Tortoise SVN) and clicking Apply Patch gives me a new TaskbarDiskIOMeter project that I can then add to the larger solution. The only problem with the patch was that it refers to a binary file called Drive.ico that didn't get included in the .patch file. I found one and added it and now we've got a Disk IO monitor as well. :)

 image

Enjoy!


1. Get Windows 7 and the SDK

2. Develop and Test Your Application

3. Get the Windows 7 Logo

4. Light Up Your Application with Windows 7

Related Links



I'm digging Windows 7 more and more. So much so, that I'm watching out for apps that use new features like Jump Lists, Libraries, Power Management, Taskbar Progress Bars, Icon overlays, Multitouch, Ribbon, High DPI, Sensors, Locations, etc. I thought I'd start a post listing the applications that are using new features in Windows 7. Basically what apps "Light up" on Windows 7.

Yes, I realize that this list will soon (weeks? months?) include every Windows app, but it's nice to have it now while we're all playing with our shiny new toys.

Here's the ones that I've noticed. Add the ones you've found in the comments and I'll update the list!


Gmail Notifier Plus

This little app sits in your Windows 7 "Superbar" and checks your Gmail. You get tasks as well as a list of your unread email and a preview of each mail. There's even a nice little number overlay showing the number of unread mail.

 image

WinSnap

This is a screen capture utility and when it's pinned to the Taskbar it gives you a JumpList for taking screenshots.

win7_tasklist-3

Google Chrome 4 and Internet Explorer 8 and FireFox 3.6 (Daily Alpha Build)

As of this writing, both IE8 and Google Chrome have Windows 7 features. Chrome includes JumpLists and Tasks and IE8 supports not only those, but also Aero Previews of individual tabs (rather than just windows.) Firefox 3.6 Beta 1 also includes just the Tab Preview feature. Now that Windows 7 is out, I'd expect everyone to start ramping up the UX (User Experience) to get lit-up on 7.

The preview of individual tabs keeps me coming back to IE8. It's a REALLY nice feature and it's hard to get along without it.image

One subtle but irritating thing I did notice, was that the Aero Previews for Firefox 3.61a1 (build 2) are really unclear and poorly dithered. Here's an IE8 preview showing cnn.com next to FireFox showing the same page.

I'm sure they'll fix it, but it's irritating to my eye. I immediately noticed it. I'll add Chrome whenever they add this feature.

IE8

image

Firefox 3.6a1 build 2

image 

Zune 4 and (kinda) iTunes 9

Zune 4 includes Quickplay and Smart DJ tasks, and iTunes just includes two hard-coded tasks. Zune also ups the Win7 ante with its smaller and docked and minimized view, which is the hotness.

image image

iTunes also supports some Taskbar controls, but misses the point but not putting Album pictures in the Taskbar Preview.

image  image

Windows Live Messenger

I have a love-hate relationship with the current Windows Live Messenger. Initially I was really mad that (on 7) it wouldn't minimize to the tray (that thing next to the clock, not really called the tray, but I will call it that, so meh on you). Instead, it sticks around the Taskbar forever. While I understand that Windows 7 has a new UX aesthetic, I would appreciate an option. At this point, the option is to right-click on the icon, click Compatibility and basically lie to it, telling Messenger that it is running on Vista. Of course, then you lose the Windows 7 features, like the very full-featured Jump Lists:

image

Paint.NET 3.5 Alpha

"The latest alpha build of Paint.NET v3.5 will now use DirectWrite instead of GDI for the Text tool if you are running Windows 7. Get it while it’s hot."

This means that Paint.NET 3.5 not only looks better on Windows 7 (and certainly different than it used to look) but it's also crazy fast. Be sure to try the multi-threaded Font Dropdown as well.

image

Expression Encoder 3

I encode most of my videos using Expression Encoder and it lights up the Taskbar button with a progress bar letting me know how far along it is without me having to restore the main window.

image 

ImgBurn

Even though DVD/CD ISO Image Burning is built into Windows 7, I still like the UI and additional information that ImgBurn provides. It also uses the Taskbar button as a Progress Bar which is a subtle, but nice touch.

image 

WinZip 14

WinZip 14 ups the ante with not only support for JumpLists, but also Touch Screen support (!), Libraries and Explorer Preview. The Explorer Preview support may be enough for me to move away from 7-zip, although if you keep your zip files associated with Explorer they'll be openable as folders on the left pane, so it's a toss-up. It also includes interestingly, features to "Zip My Documents" as well as a half-dozen other one-click options to Zip up various "My" folders. A nice touch. Note, don't just click through their installer, as it installs Google Toolbar unless you say otherwise.

image 

AusLogics Disk Defrag

Disk Defrag 3 from Auslogics has a very clean interface...it looks like I wish Win7's defrag looks, although I understand that most people don't want all the details and pictures. It also includes Progress Bar integration and a little overlay to tell you it's running as Admin. It's FREE for Home Users.

image 

PowerArchiver

I tend to lean towards 7-zip for its minimalist UI, but PowerArchiver has JumpLists and Icon Overlays. Oddly, they call the Win7-looking interface the "Power Users Interface," presumably as to avoid freaking out your grandpa who's zipping stuff up with the Classic Interface. The whole package is close but not 100%. For example, they use an icon overlay during an extract rather than a progress bar. That's just wrong, and it should be fixed ASAP.

image 

Trillian Astra 4.1

Trillian is an IM and Chat client that integrates with Google, Windows Live Messenger, Facebook and more. I find it a little TOO out there from an interface perspective for my tastes, but many people swear by it. I like my apps to be a little Vanilla, or French Vanilla. Trillian is Rocky Road Chocolate and flaunts it. The new 4.1 version has Jump Lists, File Transfer Progress Bars, and even a Taskbar Preview of Video Calls in progress, which is a nice touch (I'm talking to you, Skype).

image 

Basically anything with a Recent Items List

Make sure to right click on most of your apps in the Taskbar. The ones that include a "Recent Items List" will usually get a free JumpList not only in the Taskbar, but also the Start Menu.

image image

Ok, what apps did I miss?

Related Links



New VB Home PageThe team I work at Microsoft for is called Server and Tools Online, and one of the things we work on is the Microsoft Developer Network or "MSDN." If you go way, way up, our boss is Soma (Yes, this Soma), but down here in the trenches there's the folks that make content and systems to help you after you "File | New Project."

Our goals this year are to get back to basics and make sure that our online user experience meets these goals in as few clicks as possible.

PREVIEW: Check out the Live Preview of the new VB Dev Center. Other centers will follow.

INTERNATIONAL UPDATE: Our international team members are writing blog posts of their own:

A few months ago I snuck a few "comps" out of a meeting with the designers on MSDN. A few months before that we talked about the a upcoming "loband" option for MSDN and performance improvements to the MSDN library that are bringing page-load times for the MSDN library to the 1- and 2-second level.

There was a lot of great comments and feedback from you in the comments of both of those posts and I took it all straight to the teams.

There's a bunch of big stuff going on in the next few months. We've got a new Operating System (Windows 7 is launching on Oct 22, in case you've been living in a cave, or a small home office like me) coming, there's also Microsoft's PDC November 17-19, and you know how we like to announce fun stuff at PDC. :)

I've got a bunch of comps (these are not final) from a recent meeting I wanted to share with you about what's new at MSDN to support all this newness and fix some old problems.

New MSDN - Why?

To be clear, this is more than a "visual refresh." Sure, there's a new design and it's pretty, but this is more about UX (User Experience) than it is about swapping out icons. We've got 5 main goals as a team to enable you, Dear Reader:

  1. HELP ME - I've got a problem. What's the answer, quickly and accurately.
  2. CONNECT ME TO PEOPLE - There's other people like me, connect me to them, and to the product group.
  3. GET ME THE DOWNLOAD I NEED - Get out of my way, I just want a download. Bits, Scripts, Utils, Code, etc.
  4. CONNECT ME TO THE PRODUCT - What's new with Product X? I've got feedback and I want to be heard.
  5. KEEP ME SMART - I'm looking to sharpen the saw.

Our goals are to be transparent and authentic. I think you've seen that on this blog since day 0, and hopefully in the last two years after I joined Microsoft. The web continues to evolve and we want an MSDN that better reflects a focus on community, on fresh content, and on making things easier to find.

What's Coming

We'll be launching an entirely new MSDN very soon and I'll have all the details for you, Dear Reader, here on my blog. You'll be able to see a live pilot of the new design in the VB Dev Center this week. This will be part of an ongoing reinvention that will span the next year. We'll be listening to you and making sure you're getting what you need. For now it's at /vbpreview, and soon you'll see it the new layout at /vbasic and all of MSDN will change.

We're adding guidance for new developers on every Dev Center Home Page. There's also a renewed focus on consistency across the whole network. You'll find Related Content in the right margin throughout the network and primary content top center of every page.

BLOG_VISUALIZER

There's a number of new active controls with dynamic community content. More content than ever will be driven by feeds and tagged so the freshest and most relevant content is easy to find.

Learning

Another focus is learning, particularly around educational videos and screencasts. There's a pile of them, but historically it's been hard to find the ones that apply to you, and no way to add comments and questions. This release adds video sharing, comments and ratings. There's also plans for a new video scroller - this is an artist's rendering I found in a design PPT.

Videos

Community Activity

More areas of the home page will be active content driven by feeds and bring people with interesting content, comments, code and perspectives to the front. It'll be easy to find what's new and what's popular in Forums, Galleries, Video and Code.

Community Activity

Downloads

Another point of focus for this first upcoming release is downloads. I've been beating the downloads drum since I got here and this release changes puts Downloads right up front. The downloads are better organized and all consistent. The Top downloads and samples are more visible and updated more often, putting them often within two clicks.

Even More To Come

I hope you'll agree when you see the new site that it's got better discoverability, readability, consistency and most importantly, more relevant content. You'll see more fewer, more focused Dev Centers, more task-oriented content, and more community content.

This is all the start of a leaner meaner MSDN and it's just the first "wave." I'll post about some other cool changes that we've got coming down the pipe soon.

Be Heard

A lot of people are working hard to make MSDN fresher, more relevant, faster and easier to navigate. Everyone is actively monitoring the MSDN Feedback Forum so if you've got questions, concerns, feedback, ideas or compliments, that's the spot. You can also post here in the comments and I'll make sure the right people hear what you've got to say!



You, Dear Reader, very likely don't need this information. I assume you're probably not a beginner. BUT, you likely KNOW a beginner. Share this information with them!

MSDN BeginnerA bunch of people on Twitter discovered the MSDN Beginner Developer Center today. I tweeted it, figured it was a throw-away tweet and it was "re-tweeted" several dozen times. Apparently there's a hunger for Beginner content out there! Who knew? ;)

It's at http://www.msdn.com/beginner and here's some of the cool stuff. Tell your 12 year old and your great-aunt, Dear Reader. There may be a programmer inside one of them.

There's several tracks to go down, first the obvious Web Track and Windows Track, but also Aspiring Pro and Kid's Corner.

Web Track

The Beginner Web Developer center has three tiers, so you can start at various levels of "beginner." You can even start at the VERY beginning with no understanding of how the web works and go from there. The "Introduction to the Web" Video is very good! I'm going to send it to my Mom.

As you move through the three tiers you move up to VB and C# then start building a real application. Along the way you'll learn HTML, CSS, JavaScript and ASP.NET. There's also downloadable lessons, podcasts, videos and code.

Windows Track

This section has another nice video (in the absolute beginner part) in the style of "How Stuff Works" with an explanation of what an OS is, how a computer runs instructions, etc. It's a fun video. This section has lessons like "Life Before Mice" and "Problem Solving in Life and Technology."

Aspiring Professional

Taking it from amateur to "professional" is the real trick. I personally like to say that we're ALL amateurs. I mean, if you can get a gold medal in the Olympics as an amateur, then who am I to call myself a professional?

Regardless, there's more than just programming skills involved, there's also working in groups, as a team, in an office and how the software lifecycle works. There's also sections on moving to ASP.NET from PHP and moving to ASP.NET from Classic ASP.

Kids Corner

Do kids always get a korner because kids love alliteration? I assume so. They also get MS Comic Sans and other bright graphics to keep their tiny attention spans. Seriously, though, the videos are pretty cool and worth watching because it's fun to watch an 8 year old explain Object Oriented Programming.

As an aside, there's some really cool changes happening at MSDN...I've seen some artist comps and snuck stuff out before and used your feedback. I'm hoping to get a hold of some new screenshots and some insider stuff on the new low-bandwidth (and other) views for MSDN that will be launching soon. MSDN Libraries are getting faster, as fast as <2 second page load times worldwide is what I hear, so I'll try to dig up details on that also. More to come, soon.



Page 1 of 10 in the Windows Client category Next Page

Contact

Sponsors

Hosting By

Hot Topics

Tags

Calendar

<November 2009>
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

Archives

November, 2009 (5)
October, 2009 (19)
September, 2009 (11)
August, 2009 (12)
July, 2009 (21)
June, 2009 (26)
May, 2009 (16)
April, 2009 (13)
March, 2009 (17)
February, 2009 (17)
January, 2009 (18)
December, 2008 (32)
November, 2008 (17)
October, 2008 (22)
September, 2008 (16)
August, 2008 (14)
July, 2008 (25)
June, 2008 (19)
May, 2008 (17)
April, 2008 (17)
March, 2008 (26)
February, 2008 (21)
January, 2008 (28)
December, 2007 (19)
November, 2007 (17)
October, 2007 (31)
September, 2007 (39)
August, 2007 (37)
July, 2007 (43)
June, 2007 (37)
May, 2007 (32)
April, 2007 (38)
March, 2007 (29)
February, 2007 (46)
January, 2007 (31)
December, 2006 (27)
November, 2006 (31)
October, 2006 (32)
September, 2006 (39)
August, 2006 (34)
July, 2006 (40)
June, 2006 (18)
May, 2006 (31)
April, 2006 (34)
March, 2006 (30)
February, 2006 (38)
January, 2006 (44)
December, 2005 (19)
November, 2005 (34)
October, 2005 (24)
September, 2005 (37)
August, 2005 (20)
July, 2005 (24)
June, 2005 (33)
May, 2005 (16)
April, 2005 (22)
March, 2005 (34)
February, 2005 (15)
January, 2005 (37)
December, 2004 (28)
November, 2004 (30)
October, 2004 (34)
September, 2004 (22)
August, 2004 (34)
July, 2004 (18)
June, 2004 (64)
May, 2004 (49)
April, 2004 (21)
March, 2004 (29)
February, 2004 (29)
January, 2004 (36)
December, 2003 (25)
November, 2003 (24)
October, 2003 (59)
September, 2003 (42)
August, 2003 (24)
July, 2003 (44)
June, 2003 (29)
May, 2003 (21)
April, 2003 (30)
March, 2003 (27)
February, 2003 (47)
January, 2003 (50)
December, 2002 (31)
November, 2002 (38)
October, 2002 (44)
September, 2002 (15)
May, 2002 (2)
April, 2002 (4)

Google Ads