Monday, July 17, 2006

Microsoft's battles with Google

Disclaimer: This is all my own opinion and not the view of my employer.

I've been thinking about the battle between Microsoft and Google, lately. I've come to realize that I'm not sure Microsoft is approaching the battle with Google in the right manner. Microsoft has been very reactive to apps developed by Google and I think it's giving Google the advantage.

Microsoft's approach to the market has often been to acquire companies that develop a great product, and after a few revisions, the product becomes a cash-cow (i.e. MS DOS, MS SQL Server, Excel). In this case, Google has a product that Microsoft wants to develop from scratch and try to make it compete with the existing market. This worked in the Netscape vs. Internet Explorer war, so I'm not going to say it's not a penetrable market.

The problem is, Google's sole venture is really only the web search market. It is their turf, and I think Microsoft should respect that. That's not to say that Microsoft should give up on developing these new web technologies. Microsoft can make any existing product better than it ever was. The best comparison of Microsoft innovation on a concept is with the new mapping:

  • Google Maps - the first AJAX-based mapping software that features drag & drop map panning as well as aerial views. This tool made it really easy to map travel directions as well as spot all the local McDonald's.
  • Microsoft Windows Live Local - a similar mapping tool that vastly expands the capabilities of online maps. Some of the best features are:
    • Scroll to zoom
    • Traffic reports using data from Traffic.com
    • Save 'pushpins' of locations the user wants to remember
    • Bird's eye view of locations that gives a helicopter view of cities instead of just a satellite view
    • If searching for restaurants in an area, as you drag the map around, it will re-search the map area for restaurants and display the ones pertinent to the current view

Maybe that's the point Microsoft has been making to Google all along. They can make anyone else's software better. However, I believe Microsoft will do better to continue to create new avenues of online systems that are completely unassociated with Google's. The best example is currently the online Office Live tools that are currently available in beta. This is an innovative market that Google will not be able to compete on.

All in all, I look forward to the continued battles that will, no doubt, occur. These make stock prices rise and fall, and innovation flourish.

Thursday, July 13, 2006

Windows Vista Glass with NVidia driver set

I was having a lot of problems getting Aero Glass to run on my Vista drive on my Toshiba Tecra M5.  It doesn't make any sense because the video card is a 256 MB video card that supports the WDDM driver necessary to run the Glass interface.  I've had several friends have the same problem and after discovering a solution, I thought it was worth blogging.

First off, this is by no means a recommendation of Microsoft, just one employee's method to get it working (after reading Scoble's rants on blogging and the media, I've learned the disclaimer is a necessary evil). This information is provided AS-IS and WITHOUT WARRANTY.

Anyways, NVidia has been working to make all of its video cards run the from the same set of device drivers--something called the "unified driver" set (or something like that). Because of this, any driver you select will have the same settings as the one you're looking to get working.

So, to get it working, you will have to do the following:

  1. Go to www.NVidia.com and download the Vista drivers
  2. Extract the driver set to your local machine
  3. Go to Control Panel->System->Device Manager
  4. Right-click the video card from the tree and select Update Driver...
  5. Don't let it select the best driver from the internet. Install from a specific location. Next >
  6. Don't let it search your machine for a driver, you want to select it yourself. Next >
  7. Click the Have Disk button on select the directory where the NVidia drivers were extracted.
  8. Select a driver that has a name similar to the video card you have. I don't think it really matters, but I wanted to be able to see the right video card name in the device tree.
  9. Click OK through all the prompts that say the device won't work. You'll be forced to reboot and at that point, you should see glass automatically. If it worked you can go to the Personalization screen and select Visual Appearance, you'll now be prompted with the Aero Glass color blending screen.

If this doesn't work, you'll probably be prompted with the black screen that asks you if you want to go back to the last known good configuration. If that doesn't work, you can go into Safe Mode and uninstall the driver from the device manager.

Good luck!

Monday, May 01, 2006

Moving my blog

With the advent of joining Micrsoft, a cool perk is the nice Community Server based blogging software. So, I'm moving my blog over to http://blogs.msdn.com/sumanc.

Monday, April 10, 2006

Microsoft bound

Well, I'm on the job move again. I have taken a position as a Microsoft MCS consultant here in Pittsburgh, PA. Lucky for me, I don't have to move anywhere...yet.

I'm sad to leave my friends at CEI's Microsoft practice, but excited at this new venture.

Wish me luck!

Wednesday, February 22, 2006

Creating a Recycle Bin for Windows SharePoint Services WSS/SPS (Part 1)

In MSDN Magazine, there was an awesome article a few months ago about creating a recycle bin in WSS. However, not all of the information was provided to complete it successfully. This entry fills in the missing information from the MSDN Mag recycle bin article.

  • Configure WSS to allow Web Part Extensions
    To configure SharePoint, you need to enable event handlers. Go here for configuration instructions:
    http://msdn.microsoft.com/library/en-us/odc_SP2003_ta/html/sharepoint_wsseventing.asp

  • Configuring the Recycle Bin
    To make a document library work with the recycle bin, do the following to the recycle bin document library:
    1. Click "Manage Content" On the area home page and select the document library that requires the recycle bin.
    2. In "General Settings" click the link "Change advanced settings"
    3. In the section labeled "Event Handler" enter the following:
      • Assembly Name: My.SharePoint.RecycleBin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=publickeytoken
      • Class Name (Recycle Bin): My.SharePoint.RecycleBin.RecycleBinEventSink
      • Properties:
        <Data>
        <Mirror>Backup</Mirror>
        <Recycle>Recycle Bin</Recycle>
        <Domain>Domain</Domain>
        <User>PortalAdmin</User>
        <Pass>password</Pass>
        <Type>*</Type/>
        <Size>*</Size>
        </Data>
  • Configuring the Document Library
    Follow the same steps as above, but set the class name to My.SharePoint.RecycleBin.DocLibEventSink
  • Configuring the Recycle Bin All Items page
    The recycle bin document library does not have the proper menu structure to restore items from the page. Open the AllItems.aspx page either using front page or mapping the document library using Add Network Places... and add the javascript that came with the recycle bin source code (don't forget the <script> tag) between the tags at the top of the document.
  • Testing it out
    When you go to test out the recycle bin, don't be surprised if something isn't configured right--it takes a few tries. When you delete an item from the document library, it will create a folder in the Recycle Bin document libary that is the same name as the original document library--this allows the recycle bin to retain a reference point for restoration. Inside the folder, you'll see the file you deleted. The javascript you applied will make the drop down menu options be Restore and Delete. When you restore the file, it should return to the document library it came from.

In a future entry, I will go into implementing the document/recycle bin across all SPS/WSS webs. At least this entry covers the missing pieces from the MSDN Mag article.

Tuesday, February 21, 2006

SharePoint Migration utilities

I've been getting really annoyed with the SharePoint 2003 / WSS migration utilities (StsAdmin and SMigrate). I decided it would be much easier to build a GUI around some of their features. The source code and application are available here:

Downloads:

Download
Exe only
Download Exe and source code

Screenshots:

The Logon screen allows you to impersonate another user.

Main application

The application displays 4 tabs: Backup, Restore, Web Part Packages, and Templates.

The Backup tab allows you to use SMigrate to backup a site in SPS or WSS. This will not extract areas from SPS.

The Restore tab allows you to use SMigrate to restore a site in SPS or WSS.

The Web Part Packages tab allows you to use StsAdm to view, add, or remove web part packages from a SPS or WSS site. First, set the url. Then click the List Items button to view all web part packages on the site. You must be an administrator for this function to work. In some cases, you may have to be the single portal administrator account that runs the application pool.

The Templates tab allows you to use StsAdm to view, add, or remove list templates from a SPS or WSS site. First, set the url. Then click the List Items button to view all templates on the site. You must be an administrator for this function to work. In some cases, you may have to be the single portal administrator account that runs the application pool.


Finally, after performing some actions, you will be prompted to perform an IIS Reset. This is available in the menu as shown in the following diagram:

Saturday, January 28, 2006

Super Bowl Bound

In case you haven't heard, the Steelers are going to the Super Bowl. There's been some controversy regarding the media when Joey Porter noted that the media turned its back on the Steelers, but the fans did not. It's very true. When you look at the players going to the Pro Bowl, most of them are not playing right now. Why isn't Ben Roethlisberger in the Pro Bowl? He has maintained one of the highest qb ratings all season. He has only lost 3 games out of 31 games played since falling into his role as the star qb of the Steelers. Does Brady have this record? Manning? Palmer? Greene? None of these players have maintained the poise that Ben has and yet they are regarded as the all-stars of the game, but the media played their names enough that they will go to the Pro Bowl. Roethlisberger better be in the Pro Bowl next year, or I'll be shocked.

Furthermore, Pittsburgh does not have a single team member with off-the-chart stats. That's because Pittsburgh players are unselfish and the offense spreads the work around. In the last few playoff games, Parker and Bettis teamed up to make the normal 100+ rushing games. Randel El, Hines Ward, and Heath Miller have shared the large number of passing yards. This team is dominant because they are a team--no individual is out to become the superstar, instead the they will become Super Bowl champs.

GO STEELERS!!!

Monday, January 16, 2006

Denver to go!

Steelers deserved to win the game. They beat the Colts and they beat the refs bad calls. Ben Rothelisburger was composed, and the defense consistently came up big.

Go Steelers!

Thursday, January 12, 2006

SharePoint unfriendly URLs Cx notation

I am working at a client on a SharePoint Portal Server implementation, and the question came up about maintaining friendly URLs in SPS. After a certain number of areas are created, SPS alters the URL to contain a C1,C2,...Cx before the requested area name. This posed a problem because the client wants users to type in:

http://<path>/IT for IT
http://<path>/HR for Human Resources

I found some information on this by Daniel McPherson here:
https://blogs.msdn.com/danielmcpherson/archive/2005/05/18/419160.aspx

Monday, January 02, 2006

Been working on a custom eCommerce system

Haven’t really had much time to blog lately with the holidays. I’ve been building my own e-commerce tool that’s similar to Commerce Server, but much simpler. My latest site (a Digital Daydream creation) is for a company called Muvmint. Enjoy!