Microsoft heeft op TechNet een videopresentatie neergezet over het nieuwe bestandssysteem WinFS. Deze presentatie wordt gegeven door Quentin Clark, Director of Program Management bij Microsoft, en zijn taak is ervoor te zorgen dat WinFS en bijbehorende technologieën op de juiste manier in Windows Longhorn verwerkt worden. Zoals inmiddels bekend mag wezen, is WinFS één van de drie pilaren waarop Windows Longhorn gebouwd wordt. De andere twee zijn Indigo (communicatiesubsysteem) en Avalon (grafische engine). Voordat er begonnen is met de ontwikkeling van het nieuwe bestandssysteem is er door de ontwikkelaars onderzocht wat de trends zijn op het gebied van dataopslag en informatieverwerking. Zo kwamen ze er achter dat gegevens tegenwoordig op totaal andere manieren verwerkt en gebruikt worden dan enkele jaren geleden. Ook merkten ze dat het terugvinden van data steeds moeilijker is geworden.
Op basis van de gegevens die de ontwikkelaars gevonden hadden, zijn ze bezig gegaan met de ontwikkeling van een nieuw datamodel. Eén van de belangrijkste en opvallendste punten uit het model is het feit dat het draait om relaties die gelegd worden tussen de verschillende gegevensbronnen. Zo zou het mogelijk moeten gaan worden om op een eenvoudige manier alle documenten van één bepaalde auteur terug te vinden. Ook moet het dan mogelijk zijn om gegevens die aan die documenten gekoppeld zijn, bijvoorbeeld een afspraak voor een vergadering over een discussienota, terug te vinden. Op deze pagina is een schema te vinden met een aantal voorbeeldrelaties en bijbehorende eigenschappen. Een probleem is dan echter dat het leggen van die relaties een taak is die moeilijk aan software over gelaten kan worden. Dit is gedeeltelijk op te vangen door gebruik te maken bepaalde regels die aan de hand van input een bepaalde actie uitvoeren. Hier is door Microsoft onder andere aandacht aan besteed in de vorm van speciale schema's en operations die uitgevoerd kunnen worden.
De basis voor WinFS is het vertrouwde NTFS. Hiervoor is gekozen om compatible te blijven met oudere applicaties die gebruik maken van specifieke NTFS-API's. Bovenop deze basis staat de Relational Engine. Hiervoor is dezelfde engine gebruikt als in MSSQL. Deze wordt gebruikt om met behulp van SQL relaties te leggen tussen de gegevens in het bestandssysteem. Hier bovenop staan twee onderdelen die samen de basis vormen om te kunnen werken met WinFS. Aan de ene kant is dit het Datamodel, met de daarbij behorende onderdelen, en aan de andere kant staan twee technologieën die gebruikt worden om relaties te leggen tussen NTFS-bestanden en WinFS-items en om bestanden te manipuleren. Het Datamodel bevat op zijn beurt drie onderdelen, namelijk Items, Relationships en Extensions. De Items zijn de kleinste deeltjes waarmee gewerkt kan worden in WinFS, bijvoorbeeld een contactpersoon of een document. Via de Relationships worden de relaties tussen de items vastgelegd. Hierbij wordt weer gebruikgemaakt van het onderdeel Operations uit het andere blok. Tenslotte zijn er de Extensions. Dit zijn zelfgedefinieerde Items.
Bovenop deze twee onderdelen staan opnieuw twee andere onderdelen, dit zijn Synchronisation en InfoAgent. Synchronisation is een onderdeel van WinFS waarmee het mogelijk is om wijzigingen in gegevens op een eenvoudige manier samen te voegen en te synchroniseren. Als bijvoorbeeld twee personen de adresgegevens van dezelfde contactpersoon hebben gewijzigd, kunnen deze wijzigingen tegelijkertijd worden doorgevoerd. Als gegevens dan conflicteren hangt het van de gebruikte itemschema's af, wat er gebeurt met de conflicterende data. InfoAgent kan gebruikt worden om bepaalde acties uit te voeren op basis van bepaalde input of wijzigingen in data. Dit is te vergelijken met berichtregels in een e-mailprogramma. Naast deze twee onderdelen staat het onderdeel Schema's. Dit is onder te verdelen in twee onderdelen, namelijk Windows-schema's en Developersschema's. De Windows-schema's zijn de schema's die standaard aanwezig zijn en waarin is vastgelegd hoe er met bepaalde gegevens, contacten en documenten, omgegaan moet worden. Developersschema's kunnen worden gebruikt worden om eigen schema's te definiëren voor bijvoorbeeld zelfgeschreven bestandstypen, bijvoorbeeld financiële of medische gegevens.
Hier bovenop staat tenslotte het belangrijkste onderdeel voor de ontwikkelaar: de API's. Dit zijn er drie, namelijk Objects, XML en T-SQL. De Objects stellen de ontwikkelaar in staat om in programmacode vast te leggen hoe bepaalde gegevens uit een Item gehaald moeten worden. Dit programmeerwerk werkt op dezelfde wijze als programmeren in .NET. XML wordt gebruikt om gegevens op te halen uit het bestandssysteem. Deze XML kan vervolgens getransformeerd worden om gebruikt te worden in andere applicaties of om data weer te geven. T-SQL kan gebruikt worden om via SQL - complexe - queries te doen op gegevens in WinFS om relaties te leggen tussen gegevens. Hierbij wordt gebruik gemaakt van de Relational Engine. Dit is echter alleen bruikbaar om te lezen. Het bijwerken of verwijderen van gegevens moet op een andere manier plaatsvinden.