Design Limbo

Development

Another Essential Visual Studio 2010 Extension!

by Shawn on Jun.09, 2010, under 3rd Party Tools, Development

Just a very quick post to make up for a glaring oversight on my part. One that I forgot that my coworker Staxmande just pointed out to me, that is absolutely essential, for your VS2010 installation is the Search References extension. I –HATE- the Add References dialog in VS2010 and for a company that is working toward a better UX experience seriously dropped the ball on that very critical part of the developer workflow.

So in addition to the ones I listed in my earlier post get Search References too, unless you like the hair rending experience of the current dialog.

Leave a Comment :, , more...

Essential Visual Studio 2010 Addins/Extensions

by Shawn on Jun.09, 2010, under 3rd Party Tools, Development

Visual Studio 2010 is extremely powerful all on it’s own. But with the Extension Manager and the Visual Studio Gallery how can you not load of VS2010 with some great extensions. Of course my list isn’t limited to the Extension Manager itself nor just free products. One of the items in the list isn’t even VS2010, but lets keep that our little secret.

As a developer in the Microsoft space I spend the vast majority of my time inside Visual Studio and even more so now that they made The SQL Management Studio also leverage the VS IDE. So it’s important that you make your development experience as fluid and comfortable as possible. Given that there are a few Addins\Extensions that I can’t live without anymore.

1.) Resharper
    I can’t develop with my little green box in the upper right of my code window. Not only does it give me background compile error checking it also gives some very useful code cleanup suggestions. I’m no ReSharper keyboard ninja and only know a few keyboard commands, but there are plenty to get your Kata on. I’ve made liberal use of searching, refactoring, extraction and code generation capabilities of ReSharper that when it’s not installed I’m a little lost.

2.) PowerCommands for Visual Studio 2010
     This is a must for anyone developing in Visual Studio. At first look the command set included is ‘meh’ until you need one, then a whole new world opens up. Undo Close saved me a few times and Format on Save keeps all my documents consistent without me having to Ctrl-K-D all the time. Open Containing Folder is my sacred cow of the command set and I found myself using it a lot.

3.) Regex Editor
     I rarely do any RegEx, but when I have to I hated it with a passion. I usually found a website where I could get RegEx help and had a way for me to test and refine my RegEx without having to go back and forth. Well now that functionality is in VS2010! If your doing any work with RegEx this is a must, with IntelliSense and testing.

4.) Spell Checker
      I recently had to do some Java development and I used the Eclipse development IDE. Eclipse has a built in spell checker that I found incredibly useful and was astounded by how many spelling mistakes were in my comments. I know I’m a bad speller but this was embarrassing. After that I searched around for one in VS2010 and found this addin. Works like a charm and keeps me embarrassed throughout the day.

5.) Solution Load Manager
      Have a large Visual Studio 2010 solution? Tired of waiting endlessly for it to load? I routinely have very large solutions, due to my flagrant misuse of the Onion pattern and separating almost everything into their separate DLL’s. As my solutions grow each project will take longer and longer to startup. So do I let VS2010 load times dictate how I architect my solutions? No! I softly whisper to myself that I don’t have a problem and got this extension.

6.) Visual Studio Tip of the Day Start Page
       I always like learning new little tips, and by gosh there is an extension for that! Every day when I open VS2010 I’m greeted with a new little tip.

7.) devColor
       If your working with Hex color this little addin draws a line under then with the color corresponding to the Hex value you typed in your code. It caught me making a mistake on my coloring that might have been hard to find otherwise.

8.) Team Foundation Server Power Tools
      If you ever had to administer a TFS server you will love this VS2010 extension. Although it only works with TFS 2010 when/if you upgrade make sure this is on your list for all your developers to install in their VS2010 environment.

Finally, not a Visual Studio addin, but something I’ve found very useful in my development lifecycle is SQL Prompt from Red-Gate. I –HATE- the IntelliSense in SQL Management Studio and SQL Prompt thankfully makes my SQL writing so much easier.

1 Comment :, more...

To Demo or Not to Demo

by Shawn on Apr.14, 2010, under Business, Development

So you have your new and shiny application you just finished building and your trying to get people to try and buy it. But as a technologically savvy person you know all about the cracking and pirate scene, and you don’t want your app out there. Your not foolish to believe that whatever scheme you come up with won’t be cracked, so what do you do, not put out the demo at all?

Your protection scheme will be cracked, no matter what it is. But you have to figure out the value/effort curve, if your software is only $9.95 and protected by a decent protection scheme, chances are your not going to find it cracked. But if your software is in demand and costs $299.95 it will most likely be cracked.

When someone cracks your demo software they are by-passing your protection schemes and enabling the full functionality of your application. This could be enabling features, disabling time bombs or any other measures to try and get people to pay up.

But I have another suggestion for your, build a specific demo version of your software, that doesn’t have the code for the other features at all! NDepend does this and I’ve never seen a real cracked version of it out there, because the code for those other features isn’t there, there’s no way to enable it.

If your building your software in a modular way, you should be able to create sub-sets of your code and your application picks of the differences.

For example I put the valuable code in separate projects and register them with StructureMap.

image

My full project, has 25 separate .cs generators files in it that contains the useful stuff, but my demo project only contains 2 (NumberGenerator and StringGenerator)

image

This assembly compiles into the exact same file as the full version and will get swapped out before I secure the project with {SmartAssembly}, at no time will my full versions of the code be in the demo project, which in startup will pull all of the available features and present a limited set for the demo.

I’ve also been playing with a system to compile a full version of the product on demand (when someone buys it) which will embed customer specific information into the code base, allowing me to determine who leaked the full version out and revoke their license and possibly recoup my looses.

If you are going to produce many software products you shouldn’t protect them all the same way. Your low end software can be protected by a licensing key system while your higher end software is code limited and compiled on demand. You should always try and have a demo, or free version of your product out there, but be smart about how you do it and it will be a benefit and not a potential liability.

Leave a Comment :, , , , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...