Archive for March 2009

Development Specializations, Enhancements, and Experience

March 30, 2009

I found this interesting and can see many different benefits and advantages to using visual organization techniques and spatial representation for development activities.

Code Canvas:

This is a very important concept and I really hope it goes much further than this in the coming years.

We need more creative ideas like this to take place. The concept of being able to see visually represented relationships in code is so key when dealing with how large our development platforms, languages, and services have become.

The entire development experience is still rapidly changing. At the heart of it is our growth and change as a society. Businesses are becoming smaller and more specialized. This allows the business to be extremely focused and deliver more than a larger more broad based competitor (in that particular specialization). More and more we see trends of people becoming experts and specialists in specific niches, and this also maps out to how development is evolving.

For each small style or section of development we create specializations. We have so many different development languages; all with their own patterns and skill sets. Yet at the same time the reason many people choose a development language is a direct result of the tool set, services, community, and overall development experience of that language.

Consider all the different technologies we interact with regularly. Now imagine how many ways those technologies can be broken down. How complex each of those technologies actually is and how hard it is to wrap your head around the layers and relationships each element of that technology might possess.

If we take SharePoint as an example we have front end developers who might be further specialized as experts in master page design, developing themes, page layouts etc. This can be broken down further. Think of what a master page, or page layout could contain. They could be specialists in JavaScript, XSL, HTML, or CSS. We could break that down further and say JavaScript specialists could be further specialized in AJAX or JQuery etc. (Yes I see resume’s all the time with “AJAX expert”, or “JQuery dev experience”)

Think about how complicated the development experience, processes and specializations can be on the front end. There is a lot more there than many people realize. And even as developers we sometimes forget how many skill sets we actually learned in order to develop that SharePoint brand so effectively.

Then the back end get’s even more specialized. Think of all the different pieces of the SharePoint pie. We have workflow specialists who understand the many nuances of workflow development.  We have search specialists who need to understand how language is interpreted and how the most relevant content can be found. Think of how web content or web publishing experts like Andrew Connell understand the many nuances of web publishing. Then there’s the entire BI layer which might go beyond KPI’s, Excel Services, and the such right into SQL Reporting Services, or Performance Point Services. Or how about the BDC or integration specializations?

Now think about that for another second, and you realize that there is normally an IT Administration or IT Pro side to each of these for configuration, implementation and management, as well as a development side.

Now think of one of those pie pieces I mentioned like workflow development and think of how we normally have people who build forms, and business logic, another group who might do data access layer work, another group who might build utilities for both groups etc etc. It’s extremely complicated and the deeper you get the more and more you realize how much is really there under the surface.

Now imagine how all of this impacts communication, how it impacts learning, or staying up to date or fully understanding a product or particular technology.

As a direct result of all of this specialization the entire field of development and technology is rapidly evolving in how we train, learn, and interact. More certifications come out every day, new programs and courses from education groups. More training companies pop up. At the same time we have a wealth of new development tools. Teams and companies that just build better tools to make the development, or learning experience easier.

Tools to build the communities around these groups or help them communicate are generated and tested every day. Or tools to help us achieve a better understanding of the different things we develop, build, or utilize.

We need to continue to grow, innovate and build our development support framework otherwise it will become exceedingly difficult to keep up with the complexities of our technology, and the demands of our users.

This project from Microsoft Research is a great step to helping us better understand just how large and complex our code, services, and development experience has become.

Hope this helps,
Richard Harbridge

SharePoint Ads

March 25, 2009

Many people have probably already heard this via Joel’s blog or the twitter community but I just wanted to reiterate it here.

A wonderful new site/initiative to help SharePoint specific organizations and bloggers/communities to gain mutual benefit from one another through advertising.

There are two things I want to talk about on this – Why is this so awesome? What does this mean?

The first is the obvious growth of the SharePoint community over the past few years. I cannot count the number of SharePoint blogs anymore because new ones chalked full of content are going up every week. People are excited, and as a result are blogging more and more about SharePoint.

This is great news from a product support base, because it means clever ideas and workarounds are going to be more readily available and it also gives Microsoft and the ISV/Partner community tons of potential feedback for their products or customer needs.

Upon the release of I was extremely excited because it filled such a very large need. The site has turned into a wonderfully easy way of navigating the sea of SharePoint solutions and components that are out there. This benefited the businesses around SharePoint and those who have adopted it or are now using it.

What SharePoint Ads will do in my honest opinion is further strengthen the growth of the blogging community. If anything proves how many bloggers and community members for SharePoint there are out there it is that we actually have a strong need for more services like this one that help members of the community profit. No longer are we referencing organizations, but anyone who uses SharePoint and wants to share thoughts or ideas.

To me any company should see this as an important step and understand the WHY it’s so important.

Having blogs on the company website could bring attention to the company, but lets face it. A blog and the typical creative content of a blog is proprietary to the person who writes it. The author is the one who wants their name associated with their thoughts and ideas. This is why in my opinion the whole blogging in a company hasn’t really taken off. It’s just too personal still. Writing articles are a different matter, but blogging certainly is still a personable experience.

Since it is so strongly independant companies are often interacting in a very limited sense with bloggers. Services such as SharePoint Ads provide a much simpler, easier and more effective way for organizations to get their product or service heard by their target audience. “SharePoint Products+Services for SharePoint Users”

So if you are a company out there. Note this. See how important this change is, and jump on the bandwagon because this methodology for marketing and advertising is the future. Status updates (twitter) are probably next where people get paid based on positive references to products etc, but for now blogging is understood and accepted by pretty much everyone, but it certainly isn’t fully used as an advertising medium at this point.

Anyways I rambled a bit, but just wanted to illustrate how great this was, and hopefully open a couple eyes to why it’s an important step in connecting the community and businesses interested in the same thing.
Richard Harbridge

Social Enterprise, Social Computing, Social Technology and All That Jazz

March 23, 2009

Over the past several weeks I have had the pleasure of speaking with and hearing from many people passionate and experienced in the social computing world. The message everyone is giving from the general public, to the successful corporations and competitors to the companies who specialize in this emerging/growing field of Social Computing seems to be pretty consistent.

If you don’t learn it, understand it, and begin taking part in more social computing. You will fall behind and lose competitive advantage/ability.

My goal with this post is to hopefully communicate certain simple concepts that every business individual can use and grow from. I really do believe that all of the new social platforms and technologies are a wonderful thing and love them dearly, but I also know how hard it is to take these concepts and apply them to our professional thinking.

Let’s talk about the above bolded statement for a moment. Every company I have ever worked with, for, or heard of already uses Social Computing, Social Enterprise and all that jazz. This is not a new concept. However in recent times new technology innovations (or software applications if you would prefer) have allowed us to consume and share information in different ways then was previously possible. More importantly it has allowed us to share information at higher levels (chronologically relevant, and simply more, more, more) than previously possible.

So really what I believe all the recent discussion seems to stem from is simply that we need to understand how historically have we generated/dispersed information and consumed it, and what is changing. Once we understand that we should be able to take advantage of the changes right?

If we think about communicating as a method, how is it being effected by new technologies and social cultures? How can we plan and take advantage of these changes and trends?

The technology is less important than the changes in process/methods for communicating.

The reason I am putting emphasis on the fact we need to understand the new ways of communicating and NOT the new technology is because I often hear people talking about how important the new technology is when in reality it’s not the new technology but the new methods or possibilities that technology enables or makes easier that matters.

Communication is at the base of almost all new technology (software).

Let’s face it. The code in which new technology (software) is based on is in itself a more effective means of communicating with the machines that help us accomplish our goals. The invention of this changed the way we communicate with machines. Further enhancements to the methodology we develop this machine code/machine language has allowed us to further evolve and change the ways we communicate effectively with machines. We now have hundreds of products and solutions as a result and based upon this.

Now think about the software that is the end result of much of this code. Every Microsoft product pretty much focuses on improving communication. Microsoft Word allows us to write information in an easier to digest way and then emailing it using Outlook, Hotmail, or Gmail is going to allow another person to receive that information. It also helps us retain information from database systems like SQL to the more obvious systems like VOIP or Live Messenger. Systems that enable better collaboration such as SharePoint or even the blogging software I am using allows us to collaborate, share, and respond to information faster and in ways we never could before. All of these things help us communicate more effectively.

The new and exciting social communication technologies that are popular right now such as Facebook, Youtube Twitter, LinkedIn, MySpace, etc are all further examples of technology enabling more effective communication. Each one focuses on a different area of improvement. Some are right for certain situations, some are just targeting different audiences and as such communicate differently.

Let’s take the example of how LinkedIn is oriented around professional networking and development where as Facebook is much more oriented around personal networking and development. In both cases we could do some of the same things from a business standpoint. We could search for talent in either of these social/professional networking systems, but LinkedIn would probably make it a bit easier to sort through if your looking for specific information.

At that same level though, doing a quick search on a new hire is becoming (from what I hear) the norm. This way you can learn a bit more about the possible candidate. In several situations this has turned out poorly for the new hire and they might not have had the same opportunity. So it’s important to note not only the DIRECT implications such as someone finding your profile/resume on LinkedIn to the indirect ones such as all your Facebook pictures of you being arrested (true story).

So how do you choose the right mediums to grow professionally or in a corporate setting? How should Marketing use some of these new mediums? Or Human Resources?

Communication at its core is not changing. It’s still about getting a message from one person to another, or many others. But the message is now a much more active thing.

The message is still created and dispersed and then received and digested by other people. The difference now is that the message is no longer a simple/single generate, distribute and consume process. It is now almost organic. I cannot remember the last time I have had a simple one way flow for information in my professional or personal life.

This could be due to greater retention than historically we were able to have (databases, versioning, etc), or perhaps it was always there and was just much harder to identify/facilitate previously. Regardless of the reason it is a definite change in understanding/application of communication technology and things that revolve around it.

Think about how commenting on a complete document can change how the document is consumed. It now is also consumed with the comments, and in many cases the document is updated as a result of the comments. We now have revision and information that is never static (realistically it never was static, but we could not keep the changes/information connected to the document effectively in the past). We also can probably rate it, saying how ‘helpful’ we thought it was. We can tie categories and metadata to the document so that it can be easily found.

Let’s take that and apply it to twitter messages. Just replace document with ‘message of 140 characters or less’ and you pretty much have most of the twitter features such as favorites, categories which improve search, who created the message, replies to tweets (messages in twitter) etc etc.

Now on to the big points or the biggest changes.

Chronological Relevance, and More More More are the most important aspects of ‘Social Enterprise’ or Social Anything 2.0, or 3.0 etc

The first is fairly easy to break down. It represents that we need to know when something was said/written/documented/or distributed. This allows us to find out how relevant it is. Historically this wasn’t as important because there just wasn’t the same levels of information available to us, or being distributed to us. The amount of information we receive and consume has increased enormously over the past years.

This could be a result of globalization, the internet, and many technology innovations which have changed how we communicate effectively/competitively (can I use that like this?). The important thing is to accept this and obey it.

One of the main reasons Twitter is so successful as an example is because it is always chronologically relevant. The reason Facebook groups and events are so effective is because they are chronologically relevant.

If you write an article as an organization you MUST time stamp it. If you decide to start a blog or newsletter, or series of articles, or twitter you MUST consistently add information. You must be committed to Chronological Relevance or you will not be as effective as you could be. Windows dates documents/files as they are changed (last modified date, created date etc). Collaboration platforms like SharePoint allow us to also have this behavior, as does our email systems like Gmail, live mail, or whatever else you might use.

It is a common user expectation and personally I believe it is a requirement for pushing information out. Yet still I receive and find information being released without this simple very important item which increases the worth of the information greatly.

The second point of “More more more” is simply illustrating that we have such an enormous amount of information that we must digest each day. We need this to be easy, friendly, and effective. This is where the technology mediums have a much greater play. We use things like RSS (Really Simple Syndication), email subscriptions, groups, forums, twitter following, and plenty of other things to help us organize and retrieve information in a way that works for the individual at a personal level.

It’s no longer enough to simply make information available in one way, or along one medium. It is now expected that a new press release for a new product be made available across a wealth of mediums. The community, audience and users expect to find information on it on your website, in your newsletters, in your blog, announced on twitter, if there’s a video that it should also be on YouTube etc.

You can’t ignore the demands of those users, because if you don’t do it, someone else will. And when they do the message will be more easily understood and digested by everyone and that message will be better received and be received by more people.

So join in and start using all these technologies, with a full understanding of why you are doing it. And realize this isn’t the typical and historical method of communicating where its start and end. It’s an ongoing active process that requires commitment, and dedication to keep that chronological relevance.

Hope this helps,
Richard Harbridge

Free SuperPreview – Start Testing All IE Versions on One Box

March 19, 2009

For those who might not have watched the notes etc from yesterday’s MIX keynote ( One of the nice features of vNext expression blend is it’s ability to test cross browser in the program. This is a very slick feature that saves time, and lives. Lives because any css designer, or developer who does a lot of branding can be driven to murder from browser specific css issues.

The best part? You don’t have to wait until the next version of Expression Web to start getting the benefits of superpreview.

Download the FREE standalone beta for IE testing here:

This will save you time in being able to test multiple IE versions on one box.

Hope this helps,
Richard Harbridge

Understanding Field Controls and Web Parts

March 19, 2009

Andrew just had his new MSDN article on Field Controls vs Web Parts, and their application in publishing sites released on msdn.

If you have, or are planning on building a publishing site this is an extremely important article for you to read as it clearly outlines many of the reasons why field controls may be a better choice than webparts when designing and setting up your publishing sites.

Great work from Andrew on making this information much easier to digest and more centralized,
Richard Harbridge

Canvas for OneNote <3

March 18, 2009

I am in love with Canvas for OneNote.

Canvas for OneNote allows you to basically navigate around and work in your OneNote workbooks in a much more visual manner than the classic tab system of OneNote. I have never been good with tabs. In fact if you came to my office you would notice that every single bit of wall space is covered with diagrams and notes. This is how I work. I even have a pattern, the important things to be done this week are on this part of the wall, these are references for SharePoint things. These ones over here are a collection of diagrams depicting process etc.

Visually organizing material allows me to very quickly find what I am looking for, where as tab names and especially multiple levels of tabs/categories often causes me to forget, miss, or lose valuable time looking for things.

Canvas for OneNote does all of the things I described above, but in the OneNote space, rather than on my walls. Pretty sweet eh?

If you are anything like me you will enjoy using it. If not then at least view the quick demonstrations on the site I linked above. Because even if you don’t feel it fits your style of work, it might just fit someone else you can recommend it to, or it can help you understand alot of the visual concepts for information working that are building more and more in our daily lives.

I really hope you are all as excited as I am about how the visual concepts of navigation here could benefit SharePoint, and many business uses of other Microsoft technology (or any technology) to make it more user friendly and provide a whole new depth to how we work.

Looking forward to other new projects by the Office Labs teams,

Microsoft Directions Tour Reminder

March 11, 2009

So I found out that the Directions Tour still hasn’t filled up in it’s many locations. If you haven’t registered for this I recommend taking a solid look at it. This is a free series of sessions targeted to helping you utilize and discover the power/benefits of Microsoft technology for your organization. You also get the latest edition of Directions on Microsoft Enterprise Software Roadmap for free for attending! Register Now! 🙂

Here is the tour schedule to check what is available near you:

Mar 24 Winnipeg Still Available
Mar 26 Edmonton Still Available
Mar 31 Calgary Still Available
Mar 31 Montreal* Still Available
Apr 2 Vancouver Still Available
Apr 2 Ottawa No longer available
Apr 7 Mississauga Still Available
Apr 9 Toronto Still Available
Apr 15 Halifax Still Available

*Please note this event will be presented in English Only. Simultaneous translation will be made available.

I also outlined the sessions before here: but just in case I will repeat them again.

TOUR AGENDA (Toronto Agenda)



0800 – 0830 (30 min)

Arrivals, Registration, Continental Breakfast

0830 – 0900 (30 min)

Session 1: Innovating through Adversity: Optimizing IT in today’s Economy

In this session, we’ll discuss the current business environment and the role of Information Technology.  We’ll discuss a simple maturity model developed by Microsoft with Gartner that will help build a roadmap to optimized IT investments with goals of savings, productivity, or opportunity.

0900 – 1000 (60 min)

Session 2: Maximum Agility: Helping to reduce costs while maximizing efficiency with your core software foundation

We’ll discuss:

Building a roadmap towards core software foundation optimization.

The role virtualization plays in IT cost and productivity goals, along with optimal virtualization scenarios.

System management and security capabilities that can help manage, protect, and secure your environment in an optimized manner.

Products and tools for establishing an optimized desktop.

Best practices in establishing a cost-effective and highly productive core software infrastructure.

1000 – 1010 (10 min)


1010 – 1120 (70 min)

Session 3: On the Road to Peak Productivity: Driving business productivity through integrated innovation

In this session we’ll discuss:

Building a roadmap towards a software foundation that is optimized to drive business productivity.

Speeding collaboration, searching, and process flow through portals.

Minimizing costs and maximizing efficiency through online meetings and unified communications.

Cost-effective online service options for business productivity.

1120 – 1130 (10 min)


1130 – 1215 (45 min)

Session 4: Optimizing Operations: Maximizing potential through business-critical operations automation

In this session, we’ll discuss how Microsoft Dynamics® CRM and ERP solutions can help your company:

Increase operational efficiencies through automation, resulting in the ability to respond rapidly to the changing demands of your business.

Increase employee productivity with familiar tools, thereby reducing training time and increasing potential ROI.

By leveraging existing IT investments, as these solutions fit with your current systems, and will therefore help to maximize return on your current investments.

1215 – 1245 (30 min)

Wrap Up

1245 –

Light lunch (optional for attendees)

· Speakers available for additional Q&A

Hope you have the opportunity to take advantage of this,
Richard Harbridge

Projector + Sensors + Human Interaction = A Great Interface Idea

March 11, 2009

This talk has been creating a big splash at TED and I absolutely think it’s an exciting possibility. I highly recommend giving it a quick view (less than 9 minutes total).

The key is the low cost, it being available anywhere, and it being the next step (probably) in mobile surface technology.

Hope you enjoy as much as I did,
Richard Harbridge

Style Group of Webparts, or Single Webpart (CSS Branding Tip/Trick)

March 9, 2009

Heather Solomon has always given a ton of support and advice to the community around SharePoint branding. Recently she did a post on how to style for an individual webpart or group of webparts that uses css attribute selectors.

Absolutely clever thinking and a must read for anyone doing SharePoint branding. I just wish I had thought of this a few months ago. 🙂

Best of luck in your branding,
Richard Harbridge

Commerce Server 2009 and SharePoint (SharePoint E-Commerce)

March 5, 2009

I am sure anyone out there who has dealt with E-Commerce is  aware of Microsoft Commerce Server (if you aren’t check it out).

Way back in 2007 Microsoft released a nice white paper describing the integration between MOSS 2007 and Commerce Server 2007 (can be found here: There was a lot of feedback and requests for more integration options (especially with the explosive growth of SharePoint because it’s so totally awesome).

Well as many who saw the PDC presentation ( on the new “Mojave” or Commerce Server 2009 server product there are quite a few important changes that have been made to the product. Along with the completely redone API there are also a considerable number of web parts (and all their source code) that are now available.

What this gives us a fully-featured, out-of-the-box e-commerce shopping site in SharePoint.

The available Web Parts fall into these categories:


  • Images Viewer Web Part – Display different product, catalog, or other images.
  • Product Details Web Part – Displays the different products and product details on a product pages.
  • Product Query Web Part – Displays the products and variants, usually based on a catalog, that a shopper is looking for.
  • Site Map – Displays the map of your site.


  • Channel Configuration* – This feature is a SharePoint list that provides the ability to assign a "channel name" to the site that has been created. A channel is any Web site that is targeted to a specific segment or device. The channel name is used throughout Commerce Server 2009 so that business and presentation logic can be tailored to address the specific needs of that channel.
  • Inline Product Editor Web Part – Provides marketers and merchandisers with the ability to update specific product information on the site directly, so that they can see the changes instantaneously, in a what-you-see-is-what-you-get (WYSIWYG) experience. This allows for quick edits in descriptions and titles, or any other attribute information. These changes are reflected back to the master catalog within Commerce Server 2009.
  • Product Provider Web Part – This is a utility Web Part, meaning that users will use it indirectly as part of other Web Parts, and is used by various other Web Parts to marshal data calls to Commerce Server and return product information.
  • Simple Property List Web Part – This is a utility Web Part, meaning that users will use it indirectly as part of other Web Parts, and it is used to enable the selection of various properties from the Commerce Server Core Systems.


  • Discount Ad Web Part – Displays advertisements and discounts that are relevant to both the current shopper and current site context. This Web Part works in conjunction with Marketing Manager and the various campaigns that are set up.
  • Reviews and Ratings – List Web Part and Reviews and Rating – Average Rating Web Part – Displays the reviews and ratings for individual products. These Web Parts also let shoppers submit their own review and rating, with administrative workflow for management discretion.
  • Store Locator – Integrates with Microsoft Live Virtual Earth so that the shopping site has detailed maps of store locations, enabling shoppers to find the store quickly.


  • Add to Cart Web Part – Enables shoppers to add products to their cart.
  • Checkout Web Part – Manages the checkout process. It is responsible for the flow of checkout operations, providing a uniform navigation model. This checkout process may include address and credit card management actions.
  • MiniCart Web Part– Displays a summary, usually in the upper-right corner of the page, of the total items and amount in a shopper’s basket.
  • My Wish Lists Web Part – Provides shoppers with a way to manage all of their lists.
  • Order Details Web Part – Displays a read-only version of the shopping cart and checkout information.
  • Order History Web Part – Displays previous completed orders, including order status.
  • Shopping Cart Web Part – Displays all of the merchandise that the shoppers want to purchase.
  • Wish List Detail Web Part – Displays the details of a shopper’s list

Profile Administration

  • Address Book Web Part – Provides the interface to view and start address administrative tasks.
  • Address Detail Web Part – Provides the management functionality, such as adding and editing addresses.
  • Change Password Web Part and Forgot Password Web Part – Provides functionality for shoppers to reset or change their account password.
  • Credit Card Details Web Part – Provides the management functionality, such as adding a credit card and credit card information.
  • Credit Cards Web Part – Provides the interface to view and start credit card administrative tasks.
  • Live ID* – Provides functionality to associate shopper accounts with their Microsoft Live ID account, so that the shopper can associate their Live ID account to a particular shopping site.
  • My Profile Web Part – Provides the management functionality for account profile information.
  • Registration Web Part – Provides the functionality to let shoppers register on an e-commerce site.


  • Search Box Web Part – Displays a search box that can be configured to search both the e-commerce site and any static content.
  • Search Paging Web Part and Search Results Web Part – Displays the results of the search in a two-column pane, allowing shoppers to easily see what’s on your site, and easily page through a large number of results.

* These two items are technically not Web Parts, but they use SharePoint controls and are available in the Default site or can be integrated into other sites.

If you are looking for more information on the webparts and how to work with them I recommend reading up on it here:
Every one of the web parts/controls I listed above is outlined in this section of MSDN with an explanation as to how to work with it. 🙂

Another REALLY important thing to note is the fact that the full source code for these parts is available in the SDK ( for commerce server 2009. That’s right, you can use these as a foundation for creating your own, or extend them because all the code is available.

Hope you are as excited as I am about the new integration and web parts Microsoft is releasing along with the sizable advancements in product design (and in this case developer extensibility with the new API in Commerce Server),
Richard Harbridge

P.S – Also found this video interesting (answers some other questions):