Windows 8: My initial reaction


At the Build conference today, Steven Sinofosky unveiled a “developer preview” of Windows 8.  The GUI, dubbed “Metro”, reminds a lot of Windows Phone 7.  Lots of “tiles” that are just like Apple’s “apps”, but with information on the icons.  A nice twist and a real marketing edge to say “We are not copying Apple, again!” :).

Now, since it is a “developer preview”, here are my thoughts as a developer.  Apparently, they’ve taken the Win32 API’s, .Net CLR, and other OS API’s and unified them into one layer called the “Windows Runtime API’s” or WinRT for short.  The real change is allowing JavaScript to call into this Win RT.  This effectively means that JavaScript is now on a level playing field with C#, C++, and other major languages for producing Windows apps (in terms of features).  I suspect C and C++ will always have a performance edge (given that is what the Win kernel is written in).  But still, this is a MAJOR development.

Exalting JavaScript to this position I think is good overall, but not without possible negatives.  These are:

  • JavaScript-only developers tend to be hobbyists turned developers and have not learned all the intricacies of real software engineering (should get a few comments on that one)
  • JavaScript is not strongly typed (but neither are some dynamic .net languages)

The positives far outweigh the negatives though:

  • Microsoft is finally following standards!!!!  And W3C standards to boot!! (You can also use CSS and HTML 5)
  • Web apps will have a level playing field with native apps!
  • So many developers know JavaScript, so the market for getting developers just got a lot bigger!

Soooo, in all a very good audition.  And as this article points out, this is the way Microsoft has always operated.  They steal, copy, and conquer!

What is Microsoft SharePoint Server 2010?


As a software engineer, when I define a new piece of software I like to start with a list of features and then drill down into requirements.  Microsoft starts with “capabilities” and then drills down into features.  So let’s go through the capabilities first:

  • Sites: SharePoint 2010 Sites provides a single infrastructure for all your business Web sites. Share documents with colleagues, manage projects with partners, and publish information to customers.
  • Composites: SharePoint 2010 Composites offers tools and components for creating do-it-yourself business solutions. Build no-code solutions to rapidly respond to business needs.
  • Insights: SharePoint 2010 Insights gives everyone access to the information in databases, reports, and business applications. Help people locate the information they need to make good decisions.
  • Communities: SharePoint 2010 Communities delivers great collaboration tools—and a single platform to manage them. Make it easy for people to share ideas and work together the way they want.
  • Content: SharePoint 2010 Content makes content management easy. Set up compliance measures ”behind the scenes”—with features like document types, retention polices, and automatic content sorting—and then let people work naturally in Microsoft Office.
  • Search: SharePoint 2010 Search cuts through the clutter. A unique combination of relevance, refinement, and social cues helps people find the information and contacts they need to get their jobs done.

Let us top this off with the nice Microsoft graphic 🙂

SharePoint 2010 Capabilities PieOkay, now we’re ready for some features.  You may be asking yourself, “Why do I care how Microsoft organizes features?”.  Because, that is how all of Microsoft views the product!!!  This will help you so much in navigating MSDN, TechNet, and all the other wonderful MS resources out there.  Plus, I don’t have proof, but this is most likely how the original team that developed SharePoint 2010 envisioned the product.  Finally, when talking to a customer you need to map their requirements to SharePoint features.

Features by Capability

  • Sites
    • Out-of-the-Box Web Parts
    • SharePoint Health Analyzer
    • SharePoint Ribbon
    • Visual Upgrade
    • Web Parts
  • Composites
    • Access Services: Publish Access databases in SharePoint.
    • Business Connectivity Services (formerly Business Data Catalog)
    • Silverlight Web Part
  • Insights
    • Dashboards
    • Decomposition Tree: Perform root cause analyses using powerful analytics to examine core data. View only the most pertinent information using the new Decomposition Tree.
  • Communities
    • My Profile: Learn more about your colleagues with Profile pages. The My Profile page contains information about employees, including biographies, job titles, location, contact information, interests and skills, and previous projects.
    • Tags: Classify and organize large amounts of information in your company by applying tags. Use standardized taxonomy tags defined by the organization and informal social tags defined by employees.
  • Content
    • Compliance Everywhere: Manage versions, apply retention schedules, declare records, and place legal holds, whether you’re dealing with traditional content, Web content, or social content.
    • Document Sets: Create a Document Set to manage related content as a single entity, speeding up common processes like RFP responses.
  • Search
    • Metadata-driven Refinement
    • People and Expertise Search

You can get more info on features here.

This is, of course, not the whole story; so I’ll be adding to this post as time goes on.