Monthly Archives: August 2007

Infragistics shows off their .Net Wares

Infragistics came to the office yesterday to show us their shiny new products and to talk about their roadmap for development. We scheduled the meeting as part of the .Net Working Group series, and was the first working group meeting of 2007. Jack Schwinn, one of our Sales Reps, brought in Devin Rader and Andrew Flick, Product Managers for Web Client and Rich Content respectively. The demo was led by Tony Lombardo, their Infragistics Evangelist. They covered a wide variety of topics and did a great job answering our questions. Here is a run-down of my notes from the demo:

ASP.Net Controls

Tony walked us through the controls that we have not seen since our last volume release. He walked us through the Excel, XPS and PDF Exporters, with support for formulas and multiple tabs. There is also an Excel Importer control. I think we will have a lot of use for these controls in our internal projects. They explained the Calc Manager, which is an easy way to add Excel functionality (like a mortgage calculator) very simply to the page. They also gave us a demo of the new WebGauges graph controls. The demo he showed was 101 different variations of the radial gauge and the linear gauge. In terms of their roadmap, they will be supporting .Net 2.0, 3.0 and 3.5 in the future, with both their native Ajax platform and with the ASP.Net Ajax platform from Microsoft.

WinForms

Since we do not work a lot on WinForms, we spent only a few brief moments on the new controls released since our last purchase. There has been a new WinDesktopAlert control (think “Toast Control”), which is a small popup window control, similar to the Outlook mail notification window, in the lower right corner of your screen. The second control they discussed is a new Ribbon control, which works within the ribbon functionality in Microsoft Office 2007.

XAM Showcase

Their XAM Showcase is the sandbox work that Infragistics is doing with WPF. They gave us a preview of their Carousel Control, Data Carousel control, and WPF charting controls. You can see some of their preliminary work at http://xamples.infragistics.com . These work with XBAP (or XAML Browser Applications), the browser based application model for WPF. MSDN has put together a great WPF XBAP video about it. And, if you are wondering what is the difference between XBAP and Silverlight, read this great forum chain on http://silverlight.net .

Silverlight

There are dramatic differences working with Silverlight 1.0 (which is still not released) and Silverlight 1.1 (which is much more exciting). In a nutshell, Silverlight 1.1 will come with its own lightweight version of the .Net Framework. This will provide more possibilities to the developer. And so it is with Infragistics. They are ramping up to leverage Silverlight 1.1. Their first set of sandbox controls will be a text box control, a graph control, and a scrolling toolbar panel control.

The meeting was very exciting, and I see lots of possibilities for future development. The controls I am most excited about are the Excel Exporter controls, the WebGauges, and the soon-to-be-developed Silverlight controls. What excites you about these new controls, or about the Infragistics roadmap?

7 Sources that Laugh at SEO and Web Analytics

Everyone needs a little comic relief.  So I have compiled a list of funny Search Engine and Analytics sources here for your amusement.  Take a break and laugh a little.

Plus, here’s a bonus one I found… not really SEO related, but it pokes fun at Google and its search results. 

Do you have any sources of SEO / Search Engine / Web Analytics Humor that I missed?  Post a comment and add it in!

26 Definitions from the Web Analytics Association

A Press Release from The Web Analytics Association announces the delivery of 26 Standard Definitions to Promote Consistency across the Rapidly Evolving Web Analytics Community.  These were released at the much-hyped Search Engine Strategies Conference in San Jose, California.  This is a follow up to their release of their Web Analytics “Big Three” Definitions in 2006, where they standardize the definitions of Unique Visitors, Visits/Sessions, and Page Views.  In their newest edition, the WAA Standards Committee has provided 26 definitions (including the original 3) in 4 different categories – Building Block Terms, Visit Characterization, Content Characterization, and Conversion Metrics.  I recommend downloading the PDF, reading through it, and including this in your library of SEO and Web Analytics documentation.

Microsoft Has Entered the Building!

Microsoft came to the office today to walk us through their Technology Roadmap. David Solivan, our Architect Evangelist, came in and spent 4 hours walking through the future vision of Microsoft and their products and services. His presentation was split into two sections – Enterprise Product Roadmap and Enterprise Developer Roadmap. Below are my notes from the meeting.

Enterprise Product Roadmap

Office Suite

  • The focus in the mid nineties was on productivity. Now that vision has been achieved, the focus has shifted:
    • Collaboration
    • Content Management
    • Search
    • Business Intelligence
    • Streamlined Processes
    • Portals

Windows Mobile

  • The Windows Mobile team is working on delivering the following new features and functionality for the Tablet PC, Pocket PC, and Smartphone platforms:
    • Maps – Pocket Streets, MapPoint
    • Development Tools – Visual Studio, .Net CompactFramework
    • Security – ISA Server
    • Data Management – SQL Server CE, Notification Services
    • Content – MS Reader, Media Player
    • PIM and E-mail – Exchange, ActiveSync, Outlook
    • Thin Client – Terminal Services
    • Business Solutions – Great Plains, Microsoft CRM
    • Web Services – MSN Mobile, Pocket MSN, etc

Server System

  • The Microsoft Server System is expanding, with a focus on providing solutions in these areas
    • Security Infrastructure – Refocus to make sure that security is first and foremost in Microsoft Server software.
    • IT Operations Infrastructure – Operations Manager, System center, want to manage software on the server, both applications and OS, after launch, for the enterprise.
    • Application Infrastructure – SQL Server, BizTalk Server
    • Collaboration Infrastructure – Exchange, SharePoint, Live Communications

Visual Studio

  • Visual Studio 2008 is currently in Beta, and the improvements in the next version have been focused on the following trouble spots:
    • Team Collaboration
    • Performance and Analysis Tools
    • Secure Applications
    • Integrated Quality
    • Real Time Visibility

Business Solutions

  • There are so many different silo and matrix products that Microsoft is working on that they were too numerous to deliver. Here is a list of a few that were mentioned briefly:
    • Axapta
    • Great Plains
    • Navision
    • Solomon
    • CRM

Partner Solutions

  • Microsoft has connect with other suppliers, leveraging their experience and deeply embedded applications in their industries.
  • They have worked out consulting services with these partners to leverage their experiences with Microsoft products

People Ready Business

  • This is Microsoft understanding that they are not delivering their products and services to corporations, but to the people in those companies. Microsoft’s vision is to leverage their software and services to:
    • Advance Business with IT Solutions
    • Deliver Services Oriented Architecture
    • Manage Complexity, Achieve Agility
    • Protect Information and Control Access
    • Productivity Evolution

Enterprise Developer Roadmap

.Net Framework 3.0

  • The next version of Visual Studio more tightly integrates the New Framework 2.0 Classes – WPF, WCF, WF, and CardSpace.
  • It is not really as big a leap forward as the .Net 3.5 release will be.
  • Why a small improvement gets a full release, and a big improvement will be a small release is a mystery except to the developers.

Visual Studio 2005, Team Studio, and Team Foundation Server

Visual Studio Team Studio has only been released since 2005, and will be getting a major overhaul with the next version.

  • Transparency into project Status
  • Manage Distributed teams and collaborate more easily
  • Lightweight, agile process
  • Integrated automated unit testing and improve software quality (similar to nUnit, nCover, FXCop, LoadRunner)
    • dashboard for results
      • bug discovery rate
      • code churn
    • database change management
    • integration
    • database unit testing
    • Process Templates – Agile and CMMI
    • Team Foundation Source Control – database based, not file based
  • VS Team System 2008
    • Integration for Database professionals
    • AJAX support for web tests
    • Continuous Integration and build
    • improved testing performance
    • Newer code metrics (i.e. cyclomatic complexity, maintainability index)

Enterprise Library and Software Factories

  • This is where Microsoft sees their biggest innovation. Writing software that will write software is not new… but implementing that idea on this scale is an interesting idea.
    • Reusable code library
    • Part of Patterns & Practices
    • Application Blocks
    • Wizards, Templates, Recipes
    • Metropolis Concept – Software Development mirrors Manufacturing
    • Templates
    • Software Factory is a way to leverage all of these pieces to generate tools, applications, web sites, etc. like a manufacturing plant

Popfly

  • This is a cool web site that allows you to integrate a suite of services in new and interesting ways…
    • Service Mash-ups
    • Microsoft’s focus of software + services
    • The demo linked a Yahoo Image Search service with a Whack-A-Mole display service, and within a few clicks we were looking at a Whack-a-Terrell-Owens game
    • Can it be used Internally (Enterprise) as well as External (Internet)

Summary

This was definitely a long meeting! It was great to have Microsoft come in and walk us through their roadmap. This gives us great insight as to what is coming up next.

For me, a portion of the content was a repeat from the Microsoft Healthcare Conference in Atlantic City and from the Mix 07 conference in Las Vegas. Those conferences each had a Roadmap session, and discussed the future of Presentation, Communication, and Workflow Foundation, CardSpaces, and Silverlight. The Enterprise Product Roadmap that David covered was new material for me, and I was glad to see it. The idea of software factories was very interesting from the first time I heard David mention it a few months back, and hearing more piqued my interest again.

The most interesting topic to me, though, was the collaboration and continuous integration improvements in Team Studio. It looks like it is leaps and bounds ahead of where it was, and I would love to be able to pilot that with my team. Maybe that sounds like an objective for 2008… hint hint…

10 Steps to Conduct a Successful .Net Job Interview

This is a follow-up post to my posts on .Net Hiring Manager Resources and on Preparing for a .Net Interview. I will be interviewing a number of candidates next week for open positions in our department. I thought it would be good to review the process that we have typically followed, and get feedback.

1. Introduction

Someone should meet the candidate at the receptionist’s desk. It is a good idea to have the hiring manager do this. Look them in they eye, introduce yourself, and shake their hands firmly. On the walk to the interview room, share some small talk about the weather and the drive. This gives you an idea if they will mind how far they will have to drive to work. It also gives you the opportunity to check out how they dress and how they carry themselves. Once you are in the interview room, let them know that the interview will be about an hour long. Ask them if they would like something to drink, and to get more comfortable. Introduce them to everyone that they are interviewing.

2. Discuss the Open Position

Once everyone has introduced themselves and gotten comfortable, the hiring manager should ask how much they know about the open position. It is good to discuss the company’s goals, the division or department you work for, the specific project they would be working on (or describe a typical project the department works on), and describe the requirements of the position.

3. Review the Candidate’s Resume

Be prepared with questions about job positions or projects listed on the candidate’s resume. Open the floor, and let all those participating in the interview ask questions. This may be about specific technologies or techniques of interest, corporate culture differences, or specific challenges that were overcome. Give the candidate the chance to show what they have done.

4. .Net Trivia

This section of the interview should be driven by your technical gurus. Getting the people involved that your candidate would work with, and giving them ownership of the interview process, gives them buy-in on the decision. The purpose of these questions is to judge the specific experiences of the candidate. They are not intended as the be all and end all of measuring knowledge, but should be geared to give you the interviewer a good handle of what the candidate has seen or done.

5. HTML / JavaScript / CSS Questions

It is not uncommon for .Net developers to be lacking in experience when it comes to HTML, Cascading Style Sheets and JavaScript. Any good web developer will need to know these thing, however. If you are hiring for web development work, be sure to cover the basics, and make sure they understand how these all blend together.

6. General Interviewing Questions

In most cases, your candidate will not be working alone. Understanding how they work on a team is critical to their success, and yours, after they are hired. This is your opportunity to ask non-technical questions that focus on personality, teamwork, flexibility, communication, project management, leadership, and responsibility.

7. Whiteboard Questions

Ask your candidate questions that make them get up in front of a group, diagram their ideas, and explain why his ideas are the right approach. This will show you what the candidate is like when speaking in front of other people, like clients or project managers. You see their communication and persuasion skills, as well as their technical ability and diagram skills.

8. Puzzles & Riddles

This is a fun part of the interview. Be sure the candidate is relaxed, and make sure they understand that they are not expected to get the questions right. You give them a riddle or a puzzle, and have them talk through their thought process. This will give you an opportunity to see their creative, out-of-the-box thinking potential.

9. Questions from the Candidate

Expect questions from the candidate. If they have no questions for you, there may be cause for concern. They are not thinking very hard about what you have told them and about what might be coming next for them.

10. Wrap Up

Thank the candidate for their time. If possible, give them an idea about when they or their consulting company will hear back from you. Walk them back to the receptionist, and ask if they need any directions. Again, this will let you see how far in advance they have thought, how much hand-holding they will need, and how much they can think independently.

So what do you think of these steps? Are there things that I have missed that should be covered? What do you do differently (or the same) that you find valuable?

7 Steps to Prepare for a .Net Job Interview

Our department has gone through some changes lately; some changes have affected the process we follow when interviewing. Since I know I will be doing lots of interviewing this month, I have been thinking a lot about what we have done right in our process, and what can be improved. Here is the process that we go through in our department to prepare for interviews.

1. Define a Process

As an interviewer, one of my objectives throughout the interviewing process is to provide as much consistency as possible. Define a process that is consistent and repeatable. Then, when comparing one candidate to another, you will be comparing them win the same questions, with the same process. It will also mean that you are always prepared for the next interview cycle with little effort.

2. Write A Great Job Description

The Job Description that you write is what will let your recruiters, consulting companies, and candidates know exactly what you are looking for. It is important to list everything that you are looking for:

  • Technical skills (i.e. – Visual Studio .Net 2005, ASP.Net Ajax, SQL Server 2005, etc.)
  • Specific Education Requirements (i.e. – Bachelor’s Degree Preferred, etc.)
  • Certifications (i.e. MCSD, PMP, etc)
  • Methodologies (i.e. – SDLC, Agile, SCRUM, etc.)
  • Years of Experience (i.e. – Junior level with 2 years experience or less, etc.)
  • Project Management Skills (i.e. – 3 years managing projects with a budget of $1M or greater)
  • Communication Skills (i.e. – Written, Verbal, Able to work with clients to collect detailed requirements, etc.)
  • Other Intangibles – (i.e. – Energetic, “Do It Right” over “Get It Done”, able to work on multiple projects, etc.)

3. Offer A Competitive Rate

You need to know what the people you are looking to hire are worth. If you are not offering a competitive rate, then you will not be able to attract, obtain, and retain the talent you are looking for. If you can, research market rates for your open position, particularly with your competitors.

4. Follow A Proven Recruitment Process

Whether you have a business process for recruitment, have a third party company that manages it, work with recruitment and consulting companies, or post resumes on Dice and Monster, you need to get the work out about your open position and collect those resumes. These sources need to align with the types of candidates you are looking for. Some sources are for specific technologies or skills, so be sure what you are looking for and what your source can offer match.

5. Screen Your Candidates

Once your open position is posted, you will be flooded with resumes. With all the other things you are busy doing, it will be difficult to keep up with the influx. You will not be able to schedule face-to-face interviews with everyone. The best way to whittle down your pile of prospective candidates is to phone screen the candidates. Prioritize your candidates in the order in which you want to interview them. Then you phone screen them in groups of three to five at a time. The phone screens should be short, ask a wide variety of questions, and be sure the candidate meets the minimum qualifications. Be sure you stay consistent – ask the same questions, and stay with the same people screening the candidates. As you find candidates you want to see more of, schedule them for a face-to-face interview.

6. Script Your Face to Face Interview

You should have a planned script that outlines your face-to-face interviews. Knowing exactly what you want to cover in advance and following the script will keep the process consistent and make it easier to rate the candidates. The steps we follow to conduct an interview will be the topic of another post.

7. Plan your Questions in Advance

In the interview process, it is a good idea to have more than one person interview the candidate (it would be even better if you can interview your candidate all together). Write down your questions in advance and assigning certain sections of questions to each person. You can compile your questions from my .Net Hiring Managers Resource, or from your own resources. Make a worksheet of the questions, with space to jot down notes about their answers and your thoughts during the interview. It might help to come up with a rating scale of 1 to 10 to rate the answers you get. Again, this will make rating the candidate objective, consistent, and easy to gather and summarize the opinions of all the interviewers.

Have I missed anything? Do you disagree with anything here? What process do you follow? Do you have a best practice that you depend on that is not in these steps?

Gatineau Beta is Open for Applicants

Ian Thomas is a Microsoft employee in their Digital Advertising Solutions group.  He is “responsible for bringing Gatineau to market,” as his blog states.  Gatineau is in essence a Microsoft Competitor to Google Analytics.  Microsoft already has adCenter, just as Google has AdSense and AdWords.  You can read all about his work and his perspectives on web analytics on his blog called Lies, Damn Lies.  I am a frequent reader, and his articles are insightful and informative. 

His recent post announces “Gatineau beta access request form online.”  Now you can go to his online form and request access to Gatineau Beta.  You will need to have an adCenter account.  If you do not, don’t worry – you will be able to register for one as part of the Gatineau Beta, but you will need to pay a $5 one-time fee. 

I have signed up for a beta account, and want to try it out on my blog Pixelated Views.  It will give me lots of great insight as to how it works and what its impact will be on Internet Marketing and Web Analytics. 

The 3 Different Hats of a Search Engine Optimizer

Optimizing your page for search engines is risky business – one wrong move, and all of a sudden your site is de-listed.  There are three lines you can walk while optimizing your site, each with an increasing level of risk – White Hat, Gray Hat, and Black Hat.

White Hat

SEO experts that follow the path of the White Hat are abiding by the recommendations laid out by the search engines, such as Google’s Webmaster Guidelines , Yahoo’s Directory Help, and MSN Live Search Site Owner Help.  By following these guidelines, your site will slowly climb through the ranks , and there will be no risk of being de-listed.  Most techniques for optimizing content, keywords, and meta tags fall into this category.  Typically White Hat optimizers focus on content and customer first, then optimization second. 

Black Hat

Black Hat SEO is on the other end of the spectrum.  These techniques, if discovered by search engines, will have your site removed from their index.  You will need to make changes to your site to bring you into compliance with their guidelines before they will accept your submissions again.  Black Hat Techniques may move you through the search engine indexes much quicker, but at a higher level of risk.  Techniques for Black Hat optimizers typically leverage techniques such as Google bombing, cloaking, and redirecting. 

Gray Hat

This is not quite what one would expect, i.e. the hat in between.  Gray Hat optimizers are a lighter shade of black more than a darker shade of white.  They are taking advantage of techniques that are not as well defined as Black Hat, or are too new to be well defined as Black Hat.  These SEOs are accepting more risk and using questionable or discouraged techniques, but are not banned by the search engines.  Techniques such as link farms, automated blogging, and gaming social media and web 2.0 sites. 

Your Hat

So the real difference between the different SEO hats is the amount of risk.  If you think about it, the hats are better explained as more of a continuum, with many Shades of SEO.  What are your thoughts about the risk vs. reward of SEO Hats?

7 Resources that .Net Hiring Managers Can’t Live Without

Hiring quality developers is the key to any great application development organization. In our department we have experienced the joys of a great team that has jelled to produce high quality projects, and experienced the pains of bad coding practices, bad spaghetti code, and bad attitudes. Our team has very high standards, and our interviewing process is rigorous (and will be the subject of another blog post later). These resources are some of the tools we use to ensure that we get a candidate who can do the job and do it right, whether they be Junior, Mid, Senior, or Architect level developer.

1 and 2 – From Scott Hanselman

Scott Hanselman has two fantastic articles on .Net interview questions. One is called ASP.Net Interview Questions, and the other is called What Great .Net Developer Ought To Know, and the subsequently posted list of answers. This is basically version 1 and version 2 of the same idea. His second post breaks out his question ideas into increasing degrees of complexity and different job function specializations. The comments on these posts are almost as valuable (and some more so) than the articles themselves.

3 – From Marc Andreessen

If you are opposed to the idea of a list of technical (trivia) questions, here is a great article by Marc Andreessen called How to hire the best people you’ve ever worked with. If the name sounds familiar, it should… in 1992 while at NCSA he co-authored Mosaic (the first widely used web browser), and in 1994 he co-founded Netscape Communications. Marc focuses on the less technical traits that make a good candidate great. He discusses the importance of drive, curiosity, and ethics. He then discusses the importance of a process for hiring, and outlines six steps to find great candidates. This is an article you should read, re-read, and re-read again.

4 – Worse Than Failure

Worse Than Failure is a web site that collects, “Curious Perversions in Information Technology.” It houses a collection of really bad code snippets, bizarre error messages, and best of all – accounts of really bad interviews. Reading these continues to remind me why we have such a complex interviewing process. So far, my most favorite is this account of a telephone tech screening. The shame of it all is that this has happened to us in our department. A lot.

5 and 6 – From Amazon.com

Here are two great books that cover the gamut of good, hard, uncomfortable interview questions, and the kind of answers you might expect to see. The first is 101 Great Answers to the Toughest Interview Questions. The second is Best Answers to the 201 Most Frequently Asked Interview Questions. I have chosen some great questions from these books when I was the interviewer, and have reviewed these books myself to prepare for an interview when I was the interviewee too.

7 – Brain Benders

Sometimes, depending on the type of candidate we are looking for, we like to ask the candidate to solve a number of puzzles or riddles. This is (or was) a common practice at Microsoft and Google. If done right, it can shed some light on the thought process of your candidate, even if they do not get the puzzle solved correctly. One source of these types of questions is a really great book called How Would You Move Mount Fuji? Microsoft’s Cult of the Puzzle – How the World’s Smartest Company Selects the Most Creative Thinkers. There are lots of other sources for this kind of material, both online and in print.

Which ones did I miss?

These are not the only good resources for interviewing by any means. These just happen to be the ones that our team and I can’t live without. What resources do you rely on to find a matching candidate for your needs?

7 SEO Tip Articles That You Need to Read

While I have surfed the web, trolled the forums, and read the blogs, I have compiled this list of SEO Tip Articles that have guided me in the right direction.

1. The SEOMoz article Beginner’s Guide – What is SEO outlines the following topics: why a company would need SEO, how search engines operate, some basic design and organization mistakes to avoid, a discussion on relevance and popularity, some top content tips, the anatomy of a hyperlink, paid placement, Overture, keyword terms and targeting, usability, design, content authoring, community building, metrics to watch, pro vs. do-it-yourself SEO, and an enormous list of resources.

2. Big Oak Inc’s series called 52 SEO Tips releases a tip a week for all of 2007. Topics range from tech tips, tools, reviews, content guidance, SEO community terminology, techniques to avoid, and new perspectives.

3. SearchEngineLand wrote 21 Essential SEO Tips & Techniques on June 28. The article is targeted at small companies, and covers lots of simple yet effective do-it-yourself SEO tips that will help shoot your pages through the SERPs. Some tips include how to leverage site map pages, building SEO-friendly URLs, opening a pay-per-click account, and copywriting tips.

4. SEO And Your Website by Digital Web has 10 basic, solid tips on how to make your HTML content better suited for SEO. This article covers spiders, spidering, robots.txt, title tag, meta tags, JavaScript, page body content, page titles, mouse-overs, tables, bold tags, and strong tags.

5. ifergan’s 7 Advanced SEO Tactics include syndication, translation, ROR Sitemaps, keyword phrases, GoogSpy, internal content links, and how to leverage your server log files.

6. Entrepreneur’s Journey – The Top 16 Yahoo SEO Tips From A Yahoo Insider, written specifically to target the Yahoo search engine. This article covers whois and domain registration, dashes in your domain, inbound links, content update frequency, Yahoo Site Explorer, press releases, run of site links, SEO blog resources, tool usage, and long term planning.

7. Hobo – SEO / Internet Marketing Tips Round-Up has 10 additional tips articles and great articles on the Hobo web site to read and hold on to. These articles cover things not to do, valid HTML concerns, Google’s Supplemental Index, ethical marketing, and multiple browser testing.