Articles from August 2007

Consolidate and Integrate WL Storage

By Michael Flanakin @ 4:17 PM :: 2520 Views :: Windows Live, (Open), (Unreported) :: Digg it!

I like the fact that Hotmail now supports 5 GB, but SkyDrive is limited to 500 MB. 500... megabytes!? You've gotta be kidding me, right!? Well, I guess I'll get over all that because I know that limit will be raised in time. What I'd really like to see, tho, would be to have all of my Windows Live storage grouped together. That way, I have 5 GB across everything. I imagine this including mail, SkyDrive, and even files I'd like to upload on Spaces. I think Google just did this and I have to commend them for it. I'm sure some would like 5 GB on each individual service, but I don't need that much. I'm also hoping this would add additional integration between the services to allow me to attach SkyDrive files in email and/or show them on my Spaces profile.


Skip C# Component Designer

By Michael Flanakin @ 4:03 PM :: 2804 Views :: Visual Studio, (Open), (Unreported) :: Digg it!
I hate when I open certain C# classes and Visual Studio shows me a designer to tells me to drag items from the toolbox to get started. I'm not a drag-n-drop guy. I want the code. This makes sense for VB, but not C#, in my mind. I simply want the ability to default to the code view.

Generic Delegate

By Michael Flanakin @ 1:36 PM :: 1063 Views :: (Open), .NET, (Unreported) :: Digg it!

I'd like to have the ability to create a generic delegate to specify strong types of parameters. I imagine this should be fairly simple for the compiler team, but don't know if it's come up before. This would save casting in event abstract event handlers. For instance...

delegate void EventHandler<T>(T sender, EventArgs e);
delegate void EventHandler<T, E>(T sender, E e);

I want to say every event handler I've seen sends this (or Me, for you VB hedz), so there's no reason we should have to cast, leaving room for invalid casts and declining performance (albeit minor) for developers who aren't keen on these issues.


Organize my Music

By Michael Flanakin @ 6:29 AM :: 946 Views :: (Open), Windows Media, Zune, (Unreported) :: Digg it!

I'm sure there has to be something that does this somewhere, but I'd really like to see Windows Media Player and the Zune player (not the device) have the ability to organize your music in several ways. I'm not one to keep up playlists. I hate the idea of updating different playlists when you add new music. Instead, I like to organize music by genre. Granted, we've had the ability to add a genre to music for years and players have been able to filter based on genre, too; but I guess I just liked the idea of right clicking on a directory and selecting Play with Windows Media Player. Very simple. Of course, Zune doesn't have this comfort. What I end up doing there is changing all of my genres to be in a handful of groups, like electronic, hip hop, rock, pop, etc. Typically, when I listen to music, I want one or the other, so this works best for me. After ripping a new CD, tho, the directories and file names are wrong. Sure, I have a little control with WMP, but not much. I don't think the ripping part is where I need the flexibility, tho. What I'm really looking for is a way to say, "Here is my music library; now reorganize it based on these constraints."

Like I said, I'm sure there are tools out there that do this. I haven't looked. While I love the partner ecosystem Microsoft has built around itself, I want these features in the tools themselves.


Add AddNew(new) Method to Generic Collections

By Michael Flanakin @ 9:02 PM :: 857 Views :: (Open), .NET, (Unreported) :: Digg it!

I can't remember where I first saw the AddNew() method Add(new) concept -- or, at least the concept behind it -- but I liked it. I'd really like to see the same thing added to all generic collections. For instance...

List<Person> people = new List<Person>();
Person person = people.AddNew("Michael", "Flanakin");

I admit, this doesn't save you a whole lot of typing, but it is very convenient.  Essentially, I'd like every constructor to be represented by a corresponding AddNew() method. So, if I have default, id only, and a first and last name accepting constructors, I want 3 additional AddNew() methods...

public Person AddNew();
public Person AddNew(int id);
public Person AddNew(string firstName, string lastName);

As is, generics alone cannot do this with the level of integration I'd like to see, which would include reusing XML documentation already in place for the constructor. You can, however, hack something to give you this capability by using the params keyword powered by reflection in the back-end. Of course, I'd be worried about performance with an implementation like that. I don't see this being added, tho. The cost of implementing it probably wouldn't be worth the 6+ characters you'd save ("new " + name of class + "(" + ")"). Then again, perhaps this could be a mod to generics, which is already lacking, when it comes to constructor constraints.

Edit: I realized after posting this that it wasn't an AddNew() method I was looking for, but simply additional Add() methods. While this would save an additional 3 characters, the "is it worth it" argument is still there. I'd still say its convenience makes its case, tho. Maybe I'm just lazy. I changed the code samples are referred to this idea as the Add(new) concept, even tho you don't actually use the new keyword.


Open in Windows Explorer from Source Control Explorer

By Michael Flanakin @ 3:01 PM :: 932 Views :: (Open), Team Foundation Server, (Unreported) :: Digg it!
This is something like my request to go to the Source Control Explorer from the Solution Explorer in Visual Studio Mobile-ready link; only this time, I want to go from the Source Control Explorer to the local directory I have a file checked out to. This would create perfect, seemless integration between the three file explorers. Of course, if the VS and TFS teams had any say in it, you'd never go to the Windows Explorer to get anything done. As nice of an idea as that is, it's just not feasible. Hell, I'm still looking for integration directly into the Windows Explorer shell. That'd be the best integration story, in my mind.

Support Protected Members in Interfaces

By Michael Flanakin @ 10:49 AM :: 859 Views :: (Open), .NET, (Reported) :: Digg it!

I thought I mentioned this before, but I guess not. I really want to have the ability to create an interface which has protected members. An interface is all about forming a contract with consumers, right? Well, isn't a child class a consumer? I'd argue that it is. An example of what I'm looking for might be an interface for a domain object. I want everyone to get the id, but only want the class itself to set it. Another instance might be in a situation where you'd need to execute some method internally, like validate prerequisites for an event or something like that (see below). I typically need something like this when I want to enforce a standard implementation across the board.

public interface ICommand
{
    public long Id { get; protected set; }
    protected bool ValidatePrereqs();
}

Reported @ http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=291006

Edit: Looks like this is "being considered" for a future release. Not sure what that means, but we'll see.

Edit: Well, I guess "being considered" doesn't mean a whole lot. The idea was pretty much shot down by someone on the C# team. I feel like I didn't explain my point well enough; however, I understand his point. Essentially, protected members can only be accessed by child classes, so what's the point in having an interface member for a class that knows about its members? Sure, that makes sense, but that doesn't mean I don't want the capability. I guess I like it more for standardization than anything.


Move Files/Folders in WL Folders

By Michael Flanakin @ 1:53 PM :: 824 Views :: Windows Live, (Open), (Unreported) :: Digg it!
I'd really like to see the ability to move files/folders around in WL Folders. I'm guessing this will be added in the future, but haven't gone thru the process of investigating that. That seems like a big deal to me. Perhaps in an updated release.

End-to-End ASP.NET Instrumentation

By Michael Flanakin @ 7:44 AM :: 939 Views :: Visual Studio, (Open), (Unreported) :: Digg it!

I love the new profiling capabilities in Visual Studio, but there's still a gap when doing end-to-end performance testing and tuning. I'd really like to see the app get instrumented from beginning to end. While local devs won't see how constrained networks might affect their app, I think the perf tools can be smart enough to take the local tests and apply a few algorithms to show what kind of range of response times users should see, depending on their bandwidth and/or distance from the server. I know a lot of this might be a guessing game, but it'd be nice to at least have some numbers to see how big pages are and what user-focused response times are. At a minimum, I'd like to see the size of pages and the time spent requesting, processing, responding, and loading the page in the browser. Anything else would be icing on the cake. There was an entire office setup to do this when I was in the Air Force. Having it all built into the dev environment would save an immense amount of time and money; especially considering most devs aren't fully aware of all the factors that come into play and how they can tune their apps.

That kind of brings up another possible area of this end-to-end instrumentation. I'd like to tack on a best proven practice analyzer to the output that would make recommendations. Of course, not all recommendations are universal, but at least providing some pros/cons to each would give devs more info than they have right now.