About UsCommunityTrainingContent DevelopmentContact

Blogs
Pluralsight
Course Schedule
Scott Allen
Craig Andera
Mark Baciak
Don Box
Keith Brown
John CJ
Tim Ewald
Jon Fancey
Jon Flanders
Vijay Gajjala
Kirill Gavrylyuk
Ian Griffiths
Martin Gudgin
Jim Johnson
John Justice
Mike Henderson
Joe Hummel
Matt Milner
Ted Neward
Fritz Onion
Brian Randell
Jeffrey Schlimmer
Aaron Skonnard
Dan Sullivan
Herb Sutter
Doug Walter
Jim Wilson
Mike Woodring

My Links
Home
Contact
Login

Blog Stats
Posts - 6
Stories - 0
Comments - 8
Trackbacks - 0

Archives
Mar, 2008 (1)
Jan, 2008 (1)
Nov, 2007 (1)
Oct, 2007 (3)


Mike blathers on about .NET, Windows, and whatever else catches his eye.

Tuesday, March 04, 2008

News.com claims that Microsoft and Nokia are going to announce at Mix 08 that Silverlight for Symbian OS Series 60 will be released "later this year". This seems like a match made in heaven -- a light, compact, powerful version of .NET (I'm assuming that it will be SL 2.0...) on mobile devices.

It certainly won't be trivial to create -- Silverlight's efficiency comes from some highly-optimized platform-specific modules, and there's a metric myriad of hardware platforms running Series 60. Symbian OS greatly abstracts the hardware, but at a significant performance cost, so my suspicion is that the portions of Silverlight for S60 will have to be written using device drivers -- fun fun fun for Microsoft/Nokia.

It is a bit curious, though, that Symbian OS might be poised to beat Windows Mobile to Silverlight...? Combine that with Red5's "Net60" .NET runtime on Symbian OS, and Symbian appears to have a bit of a technology bump over WinMo. Should be interesting to see what pans out in the next 18 months to 2 years.

posted @ 8:39 AM | Feedback (0)

Thursday, January 17, 2008

The MSDN help system that's installed with Visual Studio 200X is fine, dandy, and generally just... fine. It provides metric and standard tonnes of information, and as such suffers from the consequences. Let's say I am going to be doing a bunch of WPFing... great fun, but I am constantly forgetting the nuances of the different controls. I can use MSDN in VS, or MSDN on the web. The former suffers from information overlodus maximus, such that it's often a slog to get to exactly what you want (no, I don't want Grid for Compact Framework, no I don't want Grid in VSTO, no I don't want Grid in...). The online system is nice, too, but suffers from "Internets" lag, and some of the same issues you get w/ the desktop app.

Yes, you can try to scrunch your search basis in the offline app, but here I'm doing WPF, and that's not an option either in the Index setting or Search settings:
    
...but, by Jove, I can certainly screen for WinForms or VSTO... yessir... poor WPF...)

To our rescue comes PackageThis -- a free tool on CodePlex. PackageThis presents you with a simple UI that displays the entire MSDN Online doc tree, marking each and every entry with a checkbox. You then pick-n-choose the entries you like, then instruct PackageThis to download, build, and export those MSDN entries into an offline help file (HXS or CHM formats). You get a hideously fine-grained level of customization in your content.

So in my case, I'd like to make a WPF-focused help file from MSDN's online content. No problem -- I load PackageThis, and go find top-level WPF topics I'd like. I then right-click them, tell it to go spelunking on MSDN Online and grab all of the sub-items within that area of interest, and off it goes. Note that each time you expand an item in PackageThis's tree, it then retrieves the next level of the tree from MSDN Online, and thus it takes a good long time for it to go grab all of your content if your subtree is large. Once I've picked my sub-topics of interest (everything I want is checked-off), I can then tell PackageThis to build a CHM file for me. It does this dutifully, using Microsoft's free HTML Help Workshop (which you'll need to install before using PackageThis) under the covers, rendering a highly-focused, searchable, indexed, almost-completely-offline MSDN help file for (in my example's case) WPF. Beautiful!

(make sure you right-click nodes and choose "Select This Node and All Children", or you'll only get the top level node's data, even if it has the little "+" to indicate that it has kids...)

This process of fetching the data takes a while, as you'd expect... (silly Internet...)

Above, the end result -- yummy.

In cases where PackageThis doesn't grab the contents of a particular link (which happens when a link points to something that's not in one of the downloaded subtrees you grabbed), the Windows Help system simply downloads and displays the Internet-borne content just as it would normally.

PackageThis isn't perfect, but it's free, and is absolutely booty-kicking when you're a type-A, impatient, lazy guy like me -- I can create a few highly-focused help files for my topics of interest, and suddenly my help searching is worlds faster.

posted @ 3:28 PM | Feedback (0)

Thursday, November 29, 2007

One of the questions/concerns that permeates a discussion about using .NET on a new project is: If it's so weep-enducingly great, why doesn't Microsoft use it in any appreciable way?

Well, as of November 13th, they do... Yes, somewhere, pigs are flying.

The brand-new Microsoft Zune PC application is written largely in .NET. The previous 1.x client was essentially a GUI wrapper around Windows Media Player guts (native... buggy...), but the new app is written from scratch in .NET (managed) code. It looks terrific (refreshingly not "old skool" Win32), and is largely managed code, from the UI down to the SQL DB access.

So feel free to crawl around the Zune PC client DLLs using .NET Reflector or any other of your favorite .NET hackage tools. You'll see all kinds of interesting things. (For your voyeuristic pleasure, an example is the name of the ZuneShell.dll's private key file: "e:\zune\dorado_v2.1_rtm.public.x86fre\internal\strongnamekeys\fake\36MSApp1024.snk" -- I love the fact that the path includes both "fake" in the file path and the original code name for Zune 2, "Dorado")

As others have pointed out, much of the GUI is written with an assembly/API called "Iris" (UIX.dll). It's managed code, and appears to be centered around web-oriented multimedia presentation. Why they're using this instead of WPF is anyone's guess. Looking through UIX in Reflector, it almost feels to me like this was their "pure-.NET" take on the Silverlight concept of "WPF light", since Silverlight 1.1 (and its .NET support) are still in Alpha form.

Does this herald the coming of OS components written in managed code? Probably not, but it does show Microsoft putting their own developers where their evangelism has been for the last two years...

posted @ 10:46 AM | Feedback (5)

Tuesday, October 23, 2007

We're all happily aware of the ongoing support the Windows Mobile platform has for the .NET Compact Framework. Using Visual Studio, we can happily create apps that can be cross-compiled for desktop Windows systems or WinMo handhelds. We're happy.

In the US, WinMo devices sell quite well. However, outside the US, Symbian OS holds a much larger marketshare than WinMo. Application developers are happy when they sell their products to lots of people. If those app developers could write .NET based apps and sell them to WinMo users and Symbian users, they would be even happier than they were in the first paragraph of this blog post.

Enter Red5, a South African software company that is taking on the semi-Herculean task of porting the .NET Compact Framework to Symbian OS, calling it "Net60".

They entered their first beta period in March of this year, but little has been heard from them since then. Not to say they're sitting quietly, as they have been showing their wares at every Symbian conference they can find.

However, I can only think to myself (since no one else listens): "Self, why doesn't Red5 start with Silverlight?" It seems to me that they could start with pieces of Moonlight (though it is based on the behemoth Mono project), or even roll their own as they are with the Compact Framework, and have not only a smaller target to code than the full Framework, but really end up with a platform (Silverlight) that is far more mobile friendly than the Compact Framework.

That all said, I'm a little surprised we haven't heard more horn-tooting of Silverlight for WinMo... Seems like a slam-dunk tech for mobile devices.

posted @ 3:30 PM | Feedback (2)

Friday, October 19, 2007

(Last update: Nov 24, 2007 - Updated stuff has a star * at the beginning of the line...)

* VS2008 has shipped, however, Scott Gu warns that if you're doing Silverlight 1.1 development, you should hold off on uninstalling VS2008 Beta 2 (Orcas) and installing the release of VS2008, as the new Silverlight bits aren't available for it yet, but will be "in the next two weeks."

This is an ordered list (what would an "unordered list" look like?) of items you'll need/want to install if you need/want to do Silverlight development. This list covers Silverlight 1.0 and 1.1, and presumes when doing an SL 1.0 solution you don't want your end users to need the .NET Framework 3.5. Good luck! *weep*

This list is actually courtesy of Pluralsight's Fritz Onion (whose picture makes him look rough and rugged, like a cast member from Prison Break), who created the list -- I just added checkboxes and links since I'm really lazy, forgetful, and generally thick...

IIS5.1 (XP) / IIS6 (Server 2003) / IIS7 (Vista) -- Needed if you want to test access/viewing of your handywork form a "real" website, otherwise you can just rely on the Cassini debug server that's built-in to Visual Studio.

Visual Studio 2005

Service Pack 1 for Visual Studio 2005
Vista update for VS2005 -- Only if you're running Vista...

* Visual Studio 2008, Beta 2 (again, the release version of VS2008 is out, but does not yet support the Silverlight 1.1 bits)
   (You can also use the VS2008 Express Edition for free, if you wish.)

Windows Update -- Ensure you have all the latest patches...

AJAX Policy Update -- This ensures that when you build AJAX-based stuff in VS2005 the resulting assemblies will not have any VS2008/.NET 3.5 dependencies.

Silverlight 1.0 runtime, official release -- Obviously, your clients will need this, too.

Silverlight 1.0 SDK -- Be sure to install the optional Visual Studio 2005 project template, as well.

Silverlight 1.1 Alpha Refresh runtime -- Obviously, you'll also need this on any client machines where you'd like to show off your SL 1.1 goodies.

Silverlight 1.1 Alpha Refresh SDK -- September 2007 refresh

Silverlight Tools for Visual Studio 2008 Beta 2

.NET 3.0 SDK -- Not strictly needed, but you really do want this... Includes headers, libraries, tools, samples and docs for .NET 3.0 development, including the key tool for Silverlight quickie prototyping: XamlPad.

Expression Blend 2 September Refresh -- Not strictly needed, but a handy and fun tool to use for designing Silverlight content. Ignore that the URL contains "maypreview"...

ASP.NET Ajax Extensions 1.0 -- You'll need this if you want to do AJAX/Javascript async support, which many Silverlight examples do and so should you...

ASP.NET Futures -- A set of ASP.NET based controls for Silverlight

That's all it takes! After a mere 7.6 hours of downloading, you'll be good to go. In the meantime, while things are downloading, you can get better at Vista Ultimate's Hold 'Em game.

Other things you might need/want:
Expression Media Encoder -- Encodes just about any video to a Silverlight-streamable format.
Silverlight Quickstarts -- A great page full of links to samples and tutorials.
* ASP.NET AJAX Controls -- An excellent collection of ASP.NET AJAX controls to get you kick-started.
* PowerShell vs2008 Defines -- For PowerShell users, this is Brad Wilson's VS2008 "vsvars" script to make your VS2008 stuff build from PowerShell.
Windows Server 2008 RC0 SDK -- Latest SDK for .NET 3.5 "Beta 2" (note: the .NET 3.5 SDK is also installed by the full release version of VS2008...)
www.Tafiti.com -- Visit this site to become depressed at how simple and ugly your own Silverlight work is.

Feel free to post additions, subtractions, multiplications or divisions in the comments, and I'll update this, accordingly.

posted @ 11:06 AM | Feedback (1)

Wednesday, October 03, 2007

It is with much excitement that I welcome myself to the World of Pluralsight (WoP, much like WoW, but with fewer elves), and hence, the World of Pluralsight Blogging.

A quick intro: I am Mike Henderson (not "Microsoft's" Mike Henderson, but maybe similar, at least in name), and starting in November I will be among the lofty ranks of Pluralsight's instructor base. My specialties shall include teaching WPF and Silverlight courses.

I've been a software developer for about 15 years, crawling my way along with Microsoft technologies. That route has taken me through Win16, Win32, COM/COM+/DCOM etc., kernel mode, MFC/ATL, and now well into the .NET world.

In the last 5 years my work has been spent doing lead/system engineering on several projects involving everything from kernel mode application/driver development to WinForms. My most recent work included a lengthly and deep dive through the guts of the entire .NET Framework and various bits of the newer components of Vista, reverse engineering those systems.

I am also the sole proprietor of DotEverything LLC, where I perform consulting work in the afore-mentioned areas, providing system engineering, design consultation, and development. Particular areas of focus are in kernel mode development, specialized reverse engineering efforts, and moving existing WinForm/MFC designs to "modern" technologies such as WPF and Silverlight.

In general, I'm a complete technology geek (wow, who would've guessed?), and I run a more random tech-focused blog here: http://doteverything.blogspot.com/.

Cheers!
Mike

posted @ 11:36 AM | Feedback (0)


 
   
 
© 2004 Pluralsight.
Visual Design by Studio Creativa
Privacy Policy