Articles from Tools/Utilities

ReSharper Nightly Builds: The 4.5 Saga

By Michael Flanakin @ 11:31 AM :: 27 Views :: 0 Comments :: .NET, Development, Tools/Utilities :: Digg it!

ReSharper

JetBrains started work on ReSharper 4.5 recently; but, more importantly, they just made nightly builds available online. I've said it before and I'll say it again: this is the best Visual Studio add-in I've seen... and I'm not the only one who thinks so. I'm a huge productivity geek and ReSharper helps feed my addiction to speed... as in quick. JetBrains won't give you drugs. Although, ReSharper may seem like it, when you work on a machine without it. Development without ReSharper is somewhat analogous to drug withdrawals... cold sweats, lots of twitching, and wondering if you'll be able to finish in time. Okay, maybe not, but I do dread life without it.


MSDN Subscription: January 2009

By Michael Flanakin @ 8:21 AM :: 53 Views :: 0 Comments :: Tools/Utilities, MSDN Subscriptions :: Digg it!

MSDN

The following consists of the English DVD updates released under the MSDN Premium (Team Suite) subscription level for January 2009.

Servers

  • Disc 4614 / Part X15-28400
    • Microsoft Customer Care Framework 2009 (English)
    • Microsoft Desktop Optimization Pack 2008 R2 (English, Portuguese-Brazil, Chinese-Simplified, Chinese-Traditional, French, German, Italian, Japanese, Korean, Russian, Spanish)

Applications

  • Disc 3099.02 / Part X15-28380
    • Hyper-V™ Server 2008 (Chinese-Hong Kong S.A.R., Chinese-Simplified, English, French, German, Italian, Japanese, Korean, Portuguese-Brazil, Russian, Spanish)
    • Microsoft Virtual PC 2007 (English, French, German, Italian, Japanese, Spanish)

For more information, see the MSDN Subscriptions Index.


WPF and Silverlight (XAML) Tooling

By Michael Flanakin @ 10:51 AM :: 134 Views :: 1 Comments :: .NET, Tools/Utilities, User Experience :: Digg it!

WPF/Silverlight XAML

If you haven't played with either WPF or Silverlight, you first need to understand the tooling we have available: Visual Studio, Blend, and Design. Most people don't consider Expression Design, but I'd argue that it's perhaps the best way to get started, depending on what you're doing. This is probably common sense, but if you haven't played with each of the tools, you may not realize how valuable each is to your end goal.

Any developer will most likely want to start with Visual Studio. Try it. You'll find yourself wondering where to start. If you're an old school web developer, like me, you'll stare at the XML code and wonder what to type and finally fall back on the toolbox. If you're a drag-and-drop type (either Win or Web Forms), you'll probably go directly to the toolbox. In either case, you'll most likely find it useful to tweak both the designer and XML... well, that's not completely true. If you're comfortable with XML, you'll eventually stop using the designer because it's just too much of a pain to deal with in Visual Studio. Visual Studio is the best environment [today] if you want to modify markup or code. Don't choose Visual Studio if you're a drag-and-drop type of developer. No matter what type of developer you are, however, you'll find yourself wondering if there's a better way because it just doesn't "feel" right. This is when you'll begin to wonder about that "Blend" thing you heard about.

If you're proficient in Flash development or claim the "designer" moniker, you'll probably start with Expression Blend. Blend is the best tool to build an interface along with some key interaction details (read: animations).  The problem with blend is, there's absolutely no intellisense in XAML, which I find ridiculous. And, just to put salt in the wound, you can't even edit code (C# and VB) files with the tool. This really drives in the fact that the tool is intended for no-code applications. These don't exist. In my experience, Blend will become less and less useful over time. Why? Because you'll start to realize you can't do everything in XAML and will have to move some things to code. This, in conjunction to run-time bindings in XAML will render the Blend design-time experience useless. Visual Studio is the same in this aspect, but it just because apparent that you'll prefer the intellisense, since you'll want to work with the XAML. Unlike Visual Studio, tho, you'll find yourself tweaking the designer more than the XAML. Coding isn't the only thing that will take you out of Blend, tho.

Let's face it, most people start looking at WPF and Silverlight because they want glam. They want beautiful applications with all kinds of frou-frou animations and transitions. This drives me crazy, but I'm not surprised. Choose WPF and/or Silverlight not because it can be pretty, but because it's the next generation user interface technology. This means, if you're building a new Windows application, don't even look at Win Forms. WPF is the way to go. Microsoft hasn't said it, but Win Forms is dead to me. If you have an existing app, I'd recommend you start looking into interop scenarios. Whether you're looking at WPF and/or Silverlight as the next gen platform or not, you're still going to want that glam I mentioned. This is when you should take a look at the often ignored, red-headed step-child of the Expression suite.

Today, Expression Design is a vector graphics editor. Don't expect to switch to Design for raster images (i.e. GIF, JPG, PNG) -- which is what I was hoping to do -- you'll find yourself missing crucial capabilities. I keep Paint.NET on hand for these needs. Design is best used to build creative visual interfaces. I've used it to theorize and bring certain design elements to life. You might do this with windows, buttons, and other framing elements, for instance. I simply find Design to be a better interface for adding glam to my user interface. Note that I'm not referring to animations. Use Blend for animation; use Design for static visual elements, like rotation, embossing, and the like.

To sum it all up, here's what I believe a WPF/Silverlight project should looked like.

  1. Know the difference between graphic and interaction design. Essentially this is the user interface vs. user experience debate, it's important to know the difference for staffing purposes. There is a difference and it's substantial. Don't assume that a graphic designer can architect an ideal interaction or vice-versa.
  2. Get a graphic designer. Unless you have an eye for graphic design, you won't be getting the eye candy you're probably looking for. If you have a passion for this, but it isn't your calling (like me), you might be able to get there eventually, but your time is probably better spent elsewhere.
  3. Get an interaction designer. The fact that we have dialog after dialog and click after click proves how important this one is. I'd argue this is more important than a graphic designer, but I might be biased. The good news is, this can be learned a lot easier than the artistic nature of graphic design. Don't think you can get there without dedication, tho. There are some scientific guidelines, but I have yet to see a good roadmap. It's more about opening your mind and removing yourself and what you might do from the process.
  4. Design is the graphic designer's scratch pad. Whether you start with wire-frames or set your sights on the real deal, Design is great for slapping something together that will eventually be useful. Tweak and tweak and tweak until you get something that looks right. Then, export to XAML.
  5. Blend brings your design to life. Now that you have your XAML, you'll probably need to tweak it to make it slightly more human-readable and maintainable as well as do some initial bindings and animations. This is where three worlds collide. Graphic designers will feel awkward in Blend, but will still be able to be relatively production; interaction designers don't really have a tool, so it will depend on where they came from, but Blend is arguably the best place for them to get started; and, developers are typically more code-focused, so Blend will be awkward for them, too. The bottom line is, Blend isn't the perfect tool for anyone, but it does fill a need. Use it to add interactivity to your design.
  6. Visual Studio gets the job done. When you're ready to make your app do something real, open it in Visual Studio. Arguably the worlds best development environment -- although not without its flaws -- you know why you're here. 'Nuff said.

As a developer who is very comfortable with markup, I've found that this has changed for me over time. I still believe it's a great workflow that supports some moderate back-and-forth -- at least, between Visual Studio and Blend -- but my habits have changed over time. As I've become more and more familiar with XAML, I tend to create visual and interactive effects in Design and Blend, respectively, and then just look at the XAML to figure out how it's done. Occasionally, I'll open my app in Blend, but not too often. This just depends on how big of an effect I'm trying to implement.

The bottom line is, get some experience in all three of these tools. You'll find your own comfort zone. It may include the all-too-bloated and usability-hating Photoshop with a XAML exporter instead of Design or augmenting XAML editing with a light-weight tool like XamlPadX or Kaxaml. No matter what you grow into, know there will be growing pains. WPF and Silverlight have a huge learning curve, but you're buying into the future. The curve is there for a reason, but will hopefully be lessened as the tools improve. I'm also hoping for some major improvements in .NET 4, but I'll try to touch on that later.


VS Team Edition for IT Admins

By Michael Flanakin @ 5:43 PM :: 62 Views :: 0 Comments :: .NET, Tools/Utilities, PowerShell :: Digg it!

PowerShell

Yes, I said "admins," but, unfortunately, this isn't an announcement. I'm simply thinking of a version of Visual Studio built for, well, admins. Specifically, I'm envisioning an environment to build and debug PowerShell scripts and cmdlets. Of course, this is only a hop, skip, and a jump away from PowerShell as an official .NET language. Imagine that, PoSh.NET... or, would someone force it to be P#? Either way, I like the idea. As an official language, that also opens it up to compiled scripts, which would be great for those servers without PowerShell installed. Of course, it's just a matter of time before PowerShell is default and the legacy DOS shell is eventually phased out. As a matter of fact, that's the plan for Windows 7 and Server 2008 R2. I'm not sure about Server Core, tho, since there's still the dependency on .NET.


New Feed for MSDN Downloads

By Michael Flanakin @ 11:58 AM :: 65 Views :: 0 Comments :: Tools/Utilities, MSDN Subscriptions :: Digg it!

MSDN

In what must be a huge coincidence, the MSDN subscriptions team Syndicated feed just informed us about an updated feed for MSDN downloads Syndicated feed (link is to en-US feed). While I'd like to think this was due to the my prodding, I think it's pretty safe to say it's not. Besides, this is just a revamped version of the old feed, which just covers the subscriber downloads. The team's post sounds like it's a very good thing. I'm not sure if anyone else followed the old feed, but the quality bar wasn't very high. I consistently noticed that new downloads weren't announced. This should fix that. Unfortunately, it won't change the fact that you'll get a multitude of announcements for products released in different formats (i.e. ISO, EXE, DVD). At least you can get it for your desired language, tho.


The Future of Windows Live FolderShare

By Michael Flanakin @ 7:55 AM :: 83 Views :: 0 Comments :: Tools/Utilities :: Digg it!

Windows Live FolderShare + Mesh = Sync

Windows Live FolderShare used to be the most important tool in my arsenal. That changed when Live Mesh was in beta. As soon as I was added to the pre-beta program, FolderShare has been but a mere memory. That decision may have been a questionable one, however. There has been talk about FolderShare being rebranded as Live Sync in the past and the FolderShare team just confirmed it. The bigger picture, however, is that what we now see as "Live Mesh" is only a sample application on top of the Windows Azure platform. The key here is "sample application." I always knew the sync and remote desktop capabilities within Mesh were intended to be a proof of what's possible, but it was never posed as an app that would eventually be dropped. Granted, I'm an early-adopter and am used to a few cuts and bruises, but it would have been nice to see where this was going. Maybe that doesn't matter, tho, because I don't think I'd change anything. Live Mesh is significantly better than FolderShare and I imagine Live Sync won't be much better in its initial incarnation. Soon, however, we'll start seeing Live Sync take over more and more of what Live Mesh has to offer. How long will it take? Only time will tell. I'd like to say 6 months, but the FolderShare team is notoriously slow. The only thing we really have to cling to is that the FolderShare... err, Sync team should be able to take a lot of what Mesh has today. The impression I got was that this was an evolutionary improvement, tho. We'll see what happens next month. Either way, be ready to switch from Mesh to Sync. I'm hoping the team manages to automate that upgrade/migration so it will be relatively transparent. The only problem I see today is the format FolderShare uses during the sync process; however, it sounds like Sync will change all that. Like I said, tho, we'll see...


MSDN Subscription Updates

By Michael Flanakin @ 10:20 AM :: 81 Views :: 1 Comments :: Tools/Utilities, MSDN Subscriptions :: Digg it!

MSDN

Do you have an MSDN subscription and want to know what was updated? Are you supposed to receive DVDs, but think you are missing a few? Unfortunately, I find myself answering "yes" to both of these questions. I was ready to complain about it, but then someone pointed me to the MSDN Subscription Index. Using this site, you can search for products, view shipment contents, or just see what's new or removed in a shipment. The site has a fairly crappy experience, but at least it gives you the information. I'm also somewhat annoyed that there isn't an RSS feed. Since I find myself so curious, I'm going to try to keep up with what gets released and share it in my blog feed -- if you're only interested in these updates, there's also a feed just for the MSDN subscription updates Syndicated feed. I may be late with the updates because it's a manual process, but I'll also pursue having the MSDN team produce their own feed. I should mention that there is a feed for the latest downloads Syndicated feed. I'm going to focus strictly on the DVDs that are released. If I have time, I'll go back a few months and create separate posts for each of the releases. Hopefully, that will make the feed fairly sensible. Having one big catch-up post seems a bit much. These posts will be back-dated, so if you see this post after others, that's why.

Ya know, I'd be remissed if I didn't say I'm partially expecting someone to email me or comment with a link to an existing RSS feed. There is an MSDN Subscriptions blog Syndicated feed, but that doesn't seem to tell me what I want to know. If someone knows of a good source, I'd love to hear it.


ZoomIt

By Michael Flanakin @ 1:49 AM :: 131 Views :: 0 Comments :: Tools/Utilities :: Digg it!

If you're using Windows and aren't using ZoomIt, you're missing something. We all run into those scenarios where we see an image, but it's not quite as big as we'd like. For those situations, Microsoft gives us ZoomIt. There's not a whole lot to explain here. Download it, run it, and press Ctrl+1 to zoom in. From there, move your mouse around to reposition the view and press up and down to zoom in and out further. There are also options for drawing, typing, and even a timer. These are for presentations and I don't use them much, but I'm sure others find them more useful. If you haven't tried it before, ZoomIt is definitely worth at least trying once. You can even run it from the web to stay up-to-date with the latest release.


Resharper Nightly Builds: Game On!

By Michael Flanakin @ 10:09 PM :: 158 Views :: 1 Comments :: .NET, Development, Tools/Utilities :: Digg it!

Resharper 4.0

I'm a month and a half late, but the Resharper nightly builds are back! I guess I stopped checking after not seeing any movement for a while. I'm glad to see some activity, tho. This is the most beneficial add-in to Visual Studio I've seen; especially as a productivity geek. What I've been most surprised about is the overall quality of the nightly builds in the past 6 months. Simply outstanding. If you're asking yourself whether to give it a shot or not, I say go for it. You're likely to run into minor issues, but if my experiences are indicative of how well they manage their day-to-day development, this is a team with a very tight ship. I always grab the latest and try to update a few times a week, depending on what I'm in the middle of. If you're not quite as confident as I am, grab a "works here" release. I'm sure you'll see how great this tool is in relatively short time. An absolute must-have for all code-focused developers.


Mapping Lat/Long on Live Maps

By Michael Flanakin @ 11:39 AM :: 154 Views :: 0 Comments :: Tools/Utilities :: Digg it!

I know some people have asked in the past how to map latitude/longitude on Live Maps and I just ran into a scenario where I needed to do it. Well, it's as simple as typing in the desired lat/long, selecting Locations, and doing a search. Admittedly, it's not the most intuitive thing in the world, but I figured it out in a matter of seconds.

If you're looking to link directly to a lat/long position, you can also pass in the lat/long via querystring parameters. There are a number of different querystring parameters, and I'm not going to go thru them all here, but I will mention the two most important: cp and where1. The cp parameter is the lat/long position you want to center on. Using this alone will center on the lat/long at the default level, which isn't much help. For this reason, I'd recommend you also specify the where1 parameter, which performs a search for the lat/long. The key thing to remember here is that cp delimits the latitude and longitude by a tilde (~), whereas where1 uses a comma. Here's a sample URL: http://maps.live.com?cp=36.16773~-115.157181&where1=36.16783%2C-115.15707.

Mapping Lat/Long on Live Maps






Archives Archives

Categories Categories

Related Links Related Links