Bill Evjen looks at Windows

Code, Life, and Community!

October 2003 - Posts

  • Longhorn book from PDC

    On my earlier questions about the availability of the Longhorn book that was handed out at PDC - it seems that the entire book will be published online. Though at present, you can only get at the Introduction and Chapter 1. Though they give the dates when the next chapters are coming out. Haven't yet found where the non-PDC attendee can get themselves a copy.
  • WSV320 - ASP.NET: Programming with the Membership, Role Managment and Security in ASP.NET Whidbey - NOTES



    Rob Howard Speaking on Security in ASP.NET Whidbey

    Rob Howard – Membership, Role Management and Security in ASP.NET Whidbey


    Blog: and


    Forms Authentication 1.0

    • Solves a common problem developers had with their web apps
    • Most popular Internet auth. Technique
      • No ugly/confusing dialog boxes
      • Custom authentication uses HTML UI
    • Use credentials collected on page
      • Posted back to the server
      • Page obtains credentials issues auth. Ticket
    • ASP.NET Forms Authentication APIs
      • APIs for creating authentication ticket
      • Authenticate requests in Http Pipeline 

    Forms Authentication 2.0

    • Whidbey
    • Cookies no longer a requirement
      • When supported, Cookies still best choice
    • Single Forms Authentication model
      • Mobile & Desktop
      • All ASP.NET 2.0 controls are now mobile aware
      • No special device adapters or pages 


    Cookieless Modes

    useDeviceProfile – detects whether to use cookies based on the user agent of the device (default)

    useCookies – all requests store ticket In cookie

    auto – auto detects whether to use cookies or to store ticket in URI by attempting to send the user a cookie

    useURI – all request store ticket in URI


    Pretty cool – seems you might want to use useURI most of the case though.


    Security Services Stack

    • Composed of the APIs of Membership and Role Manager
    • Back end to data – SQL 7&2000, Jet(Access) and Authorization Manager and User defined
    • Out of the box, at least three options
    • Didn’t want to force users into a data model
    • The ones we defined will work for most cases
    • Can also drop in your own business logic
    • For everyone of these data providers – there is actually a separate class
    • There is no business logic in the Membership and Role manager classes – it is all in the database providers
    • On top of all this – set of rich server controls 


    • Membership
      • Solves common credential storage problem
      • Replace complex authentication code
    • Secure Credential Storage Services
      • Hashed + randon salt for user credentials
      • Eliminates complex security plumbing code
    • Comprehensive user management
      • Credential Validation /Who is online
      • Question/Answer password reset/retrieve 

    Membership.ValidateUser(username.Text, Password.Text)


    Membership APIs



    • User management
      • Validate credentials
      • Creeate, Delete, Update
    • Finding/Getting Users
      • By Username/Email
      • Users online
    • Password management
      • Password reset
      • Question/Answer 

    Can have two applications on the server that share the same users/passwords

    There is also : CreateUser, DeleteUser, GetAllUsers, GetUser, GetUserNameByEmail, GetNumberOfUsersOnline, UpdateUser … more


    MembershipUser Class


    • Membership.UpdateUser()
      • Used to update user properties
    • Access to user details
      • Last login date
      • Password change date
    • Disable authentication 

    Membership configuration






    requiresUniqueEmail attribute is cool.

    description will show in ASP.NET tools.



    • Not just a data access layer – also the business layer
    • Users new Provider Design pattern
      • Pluggable Data Access Layer (DAL)
      • Pluggable Business Logic Layer (BLL)
    • Ships with 2 Membership Providers
      • SQL Server – Production Application
      • Access – testing/development
      • Identical APIs through Membership 

    Writing Membership Providers

    • Implement IMembershipProvider
      • All methods properties for Membership
      • Will be bsttract base class in beta – for our versioning purposes
    • Register custom provider
      • Membership APIs then call your class
      • All logic in your class
      • If you want an Oracle provider – role your own 

    DEMO of XML Membership Provider and derive from SqlMembershipProvider


    Role Caching

    • When cookies are supported
      • Stores encrypted list of roles
      • No database lookups on each request
    • When cookies not supported
      • Role manager still works
      • Lookup to cached list in application
    • When more roles than cookie can store
      • Incremental Roles cookie
      • Stores LRU list of roles Roles Class
    • Role Management
      • Create, Update, Delete
      • IsUserInRole / Roles for User
    • Adding / Removing
  • Going back to Visual Basic?

    I am not a fan of the offical name “Visual Basic .NET” for the VB language. It was too bad that the .NET moniker name was thrown on everything. Microsoft obviously has as well since they changed the beta product “Windows Server .NET 2003” to “Windows Server 2003”. So I have been asking around if they are going to do the same thing with Visual Basic .NET. In most of the presentations here at PDC though - you see “Visual Basic .NET” - BUT if you go to the Whidbey page for this language - - you can see that they just call it “Visual Basic” and nothing else.

    To me, I would like the official name to be - “Visual Basic 8.0” so we all can call it “Visual Basic” or “VB” again!!!

    MSDN Home

  • Eric Rudder Keynote - NOTES

    Second day keynote …. In the beginning, there was a video of attendees. The most exciting part was Donny Mack and Asli talking about Indigo being the stuff in your watches to make them glow. They were shown in their shades and holding their little dog! Quite groovy guys!


    Notes on Eric Rudder Keynote:


    What Microsoft hears from you:

    • Don’t make me rewrite everything!
    • Moving code from development to production is too hard
    • Give me more code samples … in my favorite language
    • Help me make my code secure
    • How can I support the tablet PC
    • Do I need to do different code for each device
    • I need to interoperate with other vendors’ technology 

    We are listening!


    You need to:

    • Move to managed code now to maximize Longhorn capabilities
    • Application takes advantage of Longhorn features 

    Web Services

    • Foundation for the Programmable Internet
    • Based on open standards
    • Not bound by a single platform …. More more more 

    We know people want to build secure, reliable and transacted Web services.


    A new .NET language called Pizza!  ---- some R&D thing in MSFT.


    All attendees have a copy of Visual Studio Whidbey in their bags.


    Language Innovations

    • Generics, Iterators
    • Partial types, Operator overloading
    • C++ templates with CLR types 

    IDE Productivity

    • Code refactoring and expansions
    • XML documentation 

    Improved Debugging

    • Edit and contine
    • Data tips, data visualizer 

    What MSFT hears: “There is still too much code to write!”


    Web Services Enhancements: write less code! 27K for sample


    Indigo: 3 lines of code for secure XML WS example


    Validating user credentials are easier.


    Ari Bixhorn demo was rather cool!


    Whidbey on the Web

    • Open any Web from any place
    • Improved page design
      • Master page designer for visual inheritance
      • HTML source preservation
      • XHTML markup generation
    • Validation features
      • Real-time validation against browser targets
      • Intellisense for inline code, CSS, web.config
      • Accessibility checker 

    Scott Guthrie did a demo of an ASP.NET insurance application. It was rather exciting! He was able to apply personalization to the site with one line of code. Then, as an end user, he was able to drag and drop controls around the screen for total custom presentation and then when he excited the personalization, all the settings were saved. Awesome!


    Windows Mobile Devices

    • Platform productivity investments
      • Managed code APIs for messaging 

    Every member of PDC will get the Tablet PC SDK Update


    Some guy came out dressed as Batman and had his belt full of new gadgets. It was rather funny.


    Rick LaPlante General Manager – Developer division for “Whitehorse


    Set of design tools – design for operations

    Building SOA and deploying them.


    Eric Rudder mentioned INETA and said that this was one of the ways to join the community!! Outstanding mention for us!

  • Rob Howard – WSV330 – ASP.NET Programming Using Advanced Caching Techniques in ASP.NET Whidbey - NOTES

    Rob Howard – WSV330 – ASP.NET Programming Using Advanced Caching Techniques in ASP.NET Whidbey


    Program Manager, Web Platform & Tools

  to download the slides


    ASP.NET 1.X Output Cache

    • Page Output Caching
      • Cache contents of page to memory
      • Reused cached page on subsequent requests
      • Supported HTTP 1.1 Cache semantics
    • Partial Page Caching
      • Cached User Control in a page
      • Allowed for portions of page to be cached
      • Time based dependencies
    • Programmatic Cache API
      • Cache objects in memory
      • Same cache used for Output Caching
    • Dependencies
      • Time, Key, File
      • Remove items when dependency changes
    • Removal event 

    ASP.NET 2.0 Cache

    • Most requested Cache features
      • Support database invalidation
      • Create your own dependencies
    • We listened…
      • Added SQL 7/2000/’Yukon’ cache invalidation 



    • SQL 7 & 2000 Support
      • Table change dependencies on SQL 7 & 2000
      • Requires configuration settings
      • One-time setup of SQL Server database
      • Polling model
    • SQL Server “Yukon
      • Result Set dependencies for SQL Yukon
      • Supported through ADO.NET SqlCommand
      • No setup required
      • Notification model 

    SQL Yukon – push based model. Yukon will detect when changes occur and will push to ASP.NET … other databases use a polling method.


    SQL 7 & 2000 require a one-time setup … create a table in the database and some stored procedures. SQL Yukon – no setup required.


    SQL 7 & 2000

    • Table level notifications only
      • Notification when data in table changes
      • Row-level notification is not supported
    • Requires one time setup of SQL 7/2000
      • Triggers on tables that participate
      • Stored procedures called to check
    • Of Note:
      • Entries in cache table <# of tables in DB
      • Entries in cache = # items in cache table 

    New attribute in the output directive – sqldependency=”MyDatabase:Products”


    In the web.config:




    Cache.Insert(cacheKey, dataset, New SqlCacheDependency(“ACME”, “Products”))


    There is no Oracle cache dependency. We don’t know if we want to build one – all because of time constraints. You can build your own though. Easy to do.


    Behind the scenes: When we do this polling, we do not do this on your request thread, therefore there is no overhead on the polling.


    Dim d as New SqlCacheDependency()


    How does this all work? We use a tool aspnet_regsqlcache.exe – this is going to go away in the beta. Set up your database. Creates table. Trigger created. Created dataset and page and we begin monitoring. You update to a table is causing the trigger to change the SqlCD table and then your page knows to use the new data.


    Enabling SQL 7 & 2000

    • Alpha – Command Line only
      • Aspnet_regsqlcache.exe
    • Beta – Command Line and Wizard
      • Rolled into aspnet_regsql.exe 

    Enabling the table and the database are two separate and distinct things.


    configuration – only for sql server 7 and 2000

    • Relates friendly name to connection string
    • Control default polling settings 

    pollTime attribute causes the refresh of the polling. This is optional.


    • section
      • Identify connection string 

    SQL Server ‘Yukon

    • Granular Notification Support
      • Ex., when data in table changes
      • Ex., when SPROC results change
    • Built in feature of the database
      • No triggers or other services to install
      • Pushes changes to subscribers
    • ADO.NET SqlCommand
      • Supported by Yukon only

    This works in a web garden as well.


    CacheDependency Changes

    • No breaking changes to CacheDependency
      • Backwards compatible with v1.x code
    • ASP.NET 2.0 CacheDependency class:
      • New virtual properties/methods 

    New APIs


    ASP.NET 2.0

    • Post-Cache Substitution
      • Ouput cache entire page
      • Identify regions that are dynamic
    • Uses a PlaceHolder buffer
    • New Response.WriteSubstitution()
      • Wires up substitution event on page
      • Adds a substitution buffer to the response
      • Substitution event returns string value to add
    • New <asp:substitution /> control
      • Drag and drop anywhere content should go
  • New Book

    In addition to getting the PDC bits for Longhorn - we also got a book on how to develop Longhorn applications. I can't seem to find this book on the MSPress site anywhere, so I am wondering when it might be available to others who weren't able to come to PDC.
  • Jim Allchin Talk - How developers will work with Longhorn - NOTES

    Jim Alchin - ** how developers can do this?


    Fundamentals - WinFS - Indigo - Avalon


    Announcing WinFX - next step behind Win 32 - builds on the .NET Framework

                Well-structured programming framework for Windows

                Continued commitment to back wards compatibility

                MS-DOS – Win16 – Win32 - WinFX

    Add ref and release you will not have to think about.

    WinFx Developer Preview - namespace chart


    Software fundamentals - challenges

                System, application, driver reliability

                Deployment complexity and expense

                Growing security burden


    We don't take advantage of the GPU - only in some games - we are addressing these issues




                Deployment and servicing

                            click once

                            No reboots (got huge applause)

                            Software update services

                            Comprehensive migration


                            System and app tracing

                            Fast reboot via non-volatile memory

                            Driver verification - make sure it is correct first

                            Hardware monitoring 



                            Glitch Free CPU scheduling and disc I/O

                            Full GPU exploitation

                Security and Privacy

                            Start securely

                                        Driver signing

                                        System dll protection

                                        Code integrity

                                        Hardware assisted secure boot

                            Stay Secure

                                        Software update service

                                        Windows update

                                        Security configuration wizard

                                        Trust center

                            Build Secure

                                        Visual Studio

                                        Secure Execution Environment (SEE)

                            Communicate securely

                                        Smart card, identity system, biometrics

                                        Secure networking



                Now - run in a window - or run in the browser?

                People want one world - we are on a path to solve these problems.

    Avalon - unified presentation model - for windows web and media!

    One programming model that you can count on.

    Vector based compositing engine

    Native support for advanced input

    Support for declarative programming


    VECTOR BASED! - You will know that if you did a bitmap orientated image - things don't work.

    Ink - one standard API

    Speech - one interface into the system.


    Declarative programming - huge move! This is better in a variety of ways .... XAML a new markup language - build a windows app in a declarative way. to separate coding from content. Markup for Windows. Build applications in simple declarative statements. Easy to learn, write and read. Code and content are separate.


    Don Box and Chris Anderson - talking about Avalon! What is the code going to look like. Don using EMACS. Don Box says his mom only has EMACS on her computer.


    Using system;


    using MSAvalon.Windows.Controls;


    Application app = new Application();


    Not gray ... it is now white! - Chris


    BIG release - biggest since Windows 95!


    Funny note: Jim called the button's in Longhorn - Jelly button


    When using colors in the XAML code: Jim used something like this: #44000FF ... the 44 is the opacity of the item. Rather cool. This is all stored directly on the video card so it won't hurt app performance.


    There was a demo with a video behind the text and controls. They were able to rotate the text and controls quite easily and it looked rather nice even if it was rotated.


    STORAGE: Challenges

    - Data is trapped inside application silos

    - Relationships are buried - e.g. William G. and Bill G. are the same person.

    - Shell views are tied to folder hierarchy

    - Organize photos on any kind of way possible



    - synchronize data

    - Extensible XML Schemas

    - Logical views

    - Programmatic relationships

    - Synchronization service

    - Information agents - on change notifies of these changes


    DON Box had Jim Allchin write code for everyone on stage and this was a funny exchange between the two!



    - Web services are great, but ...

    - A lot of work

    - You need to handle trust

    - Objects or services?

    - How to make it work over peer to peer?



    - Advanced Web services

           - Secure, reliable, transacted

           - heterogeneous interoperability

    - powerful messaging cab abilities

    - Simplifies building services




    - Too many ways to manage contacts

    - No single RTC API for IT. Managed and P2P environments


    what to do:

    - Single namespace and source of contacts and presence

    - modular platform with UI controls for chat, AV, data


    Chris did his Longhorn development using Slick Edit.


    System.MessageBus - this is the namespace for Indigo




    Adobe : Greg Gilley - Senior VP President of Engineering


    Using After Effects, they are able to have an artist create something and then export what they did automagically to XAML so that there is no need to write it yourself as a developer ... rather cool. They did a stock demo (like something we would do at Reuters, so I was rather interested!). It was vector based and had scrolling symbols.


    Merck: Jim Karkanias: Executive Director Clinical Development Operations


    One click installs

    Real time data drawing graph at same time.


    Amazon: Alan Vermeulen, CTO


    A Longhorn client Amazon store. RATHER COOL.

  • Scott Guthrie's Talk - WSV200 - Overview of ASP.NET Whidbey - NOTES

    ASP.NET Whidbey Themes


    Developer productivity

    • Reduce ASP.NET V1-V2 lines of code by 2/3rds
    • Enable rich scenarios not easily possible today

    Administration and Management

    • Easiest platform to manage and administer

    Totally Extensible Platform

    • Replace/extend all built-in features + services
    • Customize for any enterprise environment


    Performance and scalability

    • The world’s fastest web application server


    Runs on a 64-bit server


    ASP.NET 2.0 Developer Stack

    • New ASP.NET Building block APIs
      • Membership.
      • Role Manager
      • Personalization
      • Site Navigation
      • Database Caching
      • Management


    Rich MMC admin tool

    Every section of the web.config file is represented here.


    Instrumenting code – something happens in your code – can send out a notification – email is an example. “Only send me a notification once an hour”.


    Provider model Design Pattern – under all the APIs

    Abstract all the storage mechanisms into provider classes. You can implement if you want to use your own underlying data stores.

    These building blocks can then use your custom data stores via these providers.

    Oracle or LDAP are examples.

    This will work with existing APIs as well.


    On top of building block APIs are new ASP.NET Whidbey “Page Framework” Features

    • Master Pages
    • Themes/Skins
    • Adaptive UI – to mobile devices – mentioned that this is around the Whidbey time frame. In the Longhorn timeframe – adapt to the Longhorn client – XAML output for Avalon.


    40+ new controls

    • Security
    • Data
    • Navigation
    • Web Parts


    Some of these controls talk to the underlying APIs. Breadcrumb controls. Introducing Web Parts (shipped a week ago as part of Office 11). Taking the notion of Web Parts and baking it directly into ASP.NET. Any control that is built in ASP.NET can take advantage of this.


    ASP.NET Application Hosting

    • ASP.NET App-Model extended to support non-HTTP
      • Key Scenario: Indigo Services
    • Unified Application Model for Web/Service Apps
      • Membership and Role Management
      • Missed the rest….


    Indigo Hosting Port > Service.svc


    This was all about ASP.NET the runtime. Now looking at ASP.NET the tool.


    Web Development in Visual Studio

    Major improvements for Whidbey

    • FrontPage Server Extensions No Longer Required
      • Now file system, IIS, FTP and FPSE Web Sites
    • Directory Based Project System Model
      • Edit any web anywhere (no project file required)
      • Dramatic performance improvements with large web sites
      • No longer required to build entire site into a single DLL
    • HTML Source Preservation
      • Tool will never re-format (BIG applause)
    • Intellisense Everywhere
      • Code behind, Inline code, HTML, CSS, ASP.NET page directives, Web.config, XML files, etc.
    • HTML Tag Navigator and Tag Outlining
      • Easily view, navigate + explore complex pages
    • XHTML Support w/ pluggable validation engine
    • Rich Master page Design – time support
    • Enhanced ASP.NET Code-behind page editing
      • Cleaner and more oo code editing support
      • Removes brittleness of current tool wire-up
    • ASP.NET single File page editing support
    • Built in ASP.NET Web service (no IIS required)
      • Only allows local browser requests
      • Automatic shutdown when VS IDE is closed
      • Meant for development
    • Publish Web
      • Easily synchronize/publish webs between servers
    • Rich data design time support
    • Much much more….


    In his demo, Scott created a new project and there were no project files. Created a pageable, sortable datagrid with no code needed. The Query Editor in VS.NET takes care of working with parameters in the wizard – quite easy! The control that he was using is the <asp:gridview> control. Also can bind against web services or a middle-tier object layer instead.


    Sqlcachevalidation is quite impressive. So this means that instead of a table changing based upon time limits, it will actually change when the database changes.


    Master pages have a @ master directive instead of an @ page directive.

  • CLI200 - Avalon: Introducing the Next Generation of Text Generation Services - NOTES



    Best of the Web, Best of Windows

    Bringing together the advantages from both worlds


    • Seamless deployment, update and administration
    • flowable layout
    • progressive download and rendering
    • Declarative model 


    • Unrestricted functionality
    • Integration with Windows desktop
    • Good offline support
    • Scalability and performance
    • Broad developer language 

    Developer Experience

    Declarative Programming

    • Extensible Application Markup – codenamed XAML
      • One to one correspondence with object model
      • Key role in enabling interoperation between UI authoring tools 

    New Development Process Dynamics

    • Markup and code integration enables designers to take a direct role in the application and content development process
    • Expressiveness of XAML enables designers to create compelling experiences with high visual quality and refinement 

    Consistency, with flexibility

    • Consistent programming model
      • Code and markup are both first class citizens
      • Consistent model between UI, documents and media
      • Presented through managed interfaces
    • Greater access to the underlying presentation services
      • Ability to customize system components
      • Easily build new components from system base classes 

    Key Services/Concepts


    • Enabling re-use and new levels of customization
    • Control extensibility and composition
      • Customize or go beyond the default set of controls provided as part of the platform
    • Panels for layout of controls
    • Properties and styles
    • Accessibility patters for new controls 


    • Enabling future experiences with a higher level of quality
    • Revolutionizing the media pipeline
      • Across the display, audio, printing and remoting sub-systems
    • Future proofing – resolution independence, double floating point precision, deeper color pipeline
    • Desktop composition enables enhanced experiences, as well as provides High DPI support for non-Avalon applications
    • Direct 3d based hardware acceleration throughout the stack 


    • Moving data out of the grid – enabling data to play a greater and more interactive role in applications and content
    • Make data interactive
      • Generate UI elements from data
      • Visualize data by generating graphical elements 

    Document platform

    • Enhanced readability, supported by common platform services
    • Formats supporting the different markets and consumption of documents
      • Fixed, flow, adaptive flow
    • Document specific controls
      • Consistent developer and end user experience
    • Container to aggregate multiple renditions, metadata. 

    Desktop Experience

    • Integration of applications with the desktop experience
    • Presenting your data and providing a launch point for your applications
    • Reusing the Explorer Storage User Experience in your applications
    • Presenting peripheral information on the desktop
    • Navigation and standalone applications with common deployment and discoverability models
    • Direct support of AERO models and guidelines 


    • Extending the value of your existing development investment through:
      • Integration with Windows Forms
        • Host Avalon controls in Windows Forms applications
        • Host Windows Forms controls and Forms in Avalon applications
        • Integration ranges from security model to events, properties and databinding
      • Integration with HTML
        • Host Avalon content within a HTML frame
        • Host HTML within an Avalon Frame
      • Integration with Win32
        • Host Avalon controls in hwnd 

    Call to Action

    • Start on the transition to managed code by leveraging Windows Forms for applications being released before Longhorn
  • Bill Gates Keynote Yesterday at PDC 2003! - NOTES

    In the keynote for PDC ... FIRST DAY rockin!


    FROM ME: I feel like Dorothy and have landed in the land of OZ!


    Tons of people for the Bill Gates keynote with giant monitors all over the place. They started with showing us all the HALO PDC video which is a total riot. After that we got a little emotional clip about the history of Windows starting from the beginning.


    PDC - Bill Gates Presentation


    Bill Gates talked about this being a record PDC - more signups than any other PDC. Man, he is starting to age when you see him 20 feet across and making me feel old.


    Summarized from Bill G:

    This PDC is about software that is going to make our lives better and bring computing to a whole new level. People are pessimistic about new technology. Digital devices will be part of our lives now unlike it has been in the past. Focusing on the next wave - .NET XML Web services and WS-I. Better hardware. MSFT R&D budget more than doubled to 6.8 billion. Why are some people are questioning the advancement of technology? Technology decisions are based upon business values - unlike during the past (the dotcom days). New activities: wireless, tablet PC and devices. Issues around spam and security and viruses - those are very prominent in people's mind. We need show that those are not significant problems so people will want to advance on technology. Breaking down the boundaries will drive us forward.


    Trustworthy computing


    Vision of safe and reliable computing


                Fundamental research

                Engineering advances

                Business culture and process changes

                Policy and regulation

    Customer perception > quality = security

    Requires industry wide commitment

    * Passwords will not be good enough


    Securing today’s world


    Windows XP SP2

                Firewall on by default

                Safer email and web browsing

                Enhanced memory protection

                Beta by the end of this year

    * Changes some of the ways we do code protection

    Windows Server 2003 SP1

                Role based security configuration

                Remote access client inspection

                Local inspection on connection

                Beta h1 cy04


    You can send reports back to Microsoft with errors hit and created management systems to manage this. Change how we work with video drivers as we saw lots of errors with video drivers because of this system.

    Track crashes and their freq in the real world

    Debug with crash data report

    Respond to customers with fixes/workarounds


    Hardware innovation



    Riding Moore's Law

    Scale up and out

    64-bit, 64-wway

    Next generation secure computing base



    Wireless networking

    Always on

    Always with you



    CPU- 4-6 GHZ; 2 cores

    Memory: 2+GB

    Disk: 1+TB

    GPU: 3x today

    Net: 1GB, 54M wireless


    Broadband penetration going up and up every year. Personal computer in three years will be a pretty phenomenal device. Hardware won't be the constraint. It is not the microprocessor or the network - it is software. Software that is managing itself and reducing the complexity.


    VIDEO: Behind the technology


    This was a total take on the VH1 series – called ‘Behind the Technolgoy’ – even done with the same voice as the original guy who does the voice on the actual series! Quite cool.



    Beginning with the Altair. Hippies talking about the Altair . Talking real slow. Made comparison between the Altair and the new Macs. Sean Puffy Combs talks about how he loves DOS and his album DOS Forever singing about C prompt. Talking about the Software Pirates movie quite a bit and talked to actor who played Bill Gates. Showed videos of Ballmer screaming and yelling. Talked about Microsoft Bob being ahead of its time. R&D lab showed that Bob worked with monkeys so they are confused why it didn't work with the general public. Marc Andersson said that people used browser for viewing "art". Bill Clinton talking about talking about how many sites there were during his presidency. Tim Russert (Meet the Press) talking about talking to the puppet about it being his fault that the dotcom bubble burst.





    Digital decade - this is the digital decade - listening to music, buying products, etc. Productivity will even be greater in this decade then in the last - even though the hype won't be as great.


    Connected Systems

    Wiring up systems through software



                Advanced Web services

                Workflow and process

                Distributed management

                Ad hoc connections

    Doing interoperability fests, etc.

    Once you can do the connections - you need to define workflows

    Management software has traditionally been its own thing - with Web services, we are not going to do that - we are going to use the mainstream architecture to go beyond what traditional management software did. We will understand what kinds of failures took place. These technologies will have to work with systems that might be disconnected. We will replicate when we can but it will work great even when it is disconnected. Likewise peer to peer is very important - rich messaging architecture that is built in the system will have to support.


    Users want to manage information - mail, other silos - address book is at the application level and not at the process level. Search is different for each application - these are problems.


    Information driving breakthroughs

                Rich search and views

                Unified storage


                Information agent



                End to end scenario focus

                Operating system as versatile renderer

                Content adapts to device and interface


    Experiences breakthroughs

                Speech recognition and synthesis

                Real time communications and phone integration

                Scalable reading experience

                Visually manage 1000s of files, pictures, contacts, songs


    We need to let people manage windows and see a lot more of what is going on with the system.


    Thinking about meetings in the future. For people who are not local. LiveMeeting is the product he is promoting here. So others can watch the meeting later.


    Windows Longhorn

                Deliver on the fundamentals

                Advances for customers

                            Connect your world

                            Information in focus

                            Confidence and control

                Advances for developers

                            Faster and easier development

                            Major new subsystems


    Presentation: Avalon

    Data: WinFS

    Communication: Indigo

    Base Operating System Services: Fundamentals


    Design in clear type and direct x - like capabilities into the platform.

    WinFS is unified storage - XML based.

    Indigo - queuing software, transaction software and builds this all in the platform.




    A guided tour of windows longhorn - Hillel Cooperman - Project Unit Management


    Ctrl-alt del screen was totally different.


    Longhorn has made me totally amazed!!!!!!


    Looking at documents ... sidebar - time - side pictures - RSS feeds. Stack by author. Ink file names. Search through documents rather quickly! Built query right in the top bar.



                win xp

                win server 2003

                msft office

                live communications server 2003



    Incredible opportunities

                PC growth at healthy level this year

                New Motorola phone with .net built right in - also Samsung - in the mobile scenario - 2nd generation of tablets coming along

  • AT PDC!

    I am having the time of my life at PDC! There are so many friends that I have meet here that I seem to always meet again and again. Funny that there are like 8,000 people here, but I keep running into everyone! I plan on posting a lot of the notes that I am taking during the lectures ... I am typing the notes as fast as I can - so there are mistakes and omissions. Enjoy for all those reading outside of LA! Oh ... just bought Alex Homer, Dave Sussman, and Rob Howard's new ASP.NET book! Rockin!
  • Office 2003 and the biggest monitor in the WORLD!!!! (Yeaaaaaah Baby!)

    An interesting side-note about the Microsoft Office 2003 launch in NYC this week: It was held in the Reuters American headquarters building! I think that is pretty dang cool (being a Reuters employee and a Microsoft fan and all ;)!  .... though .... didn't get an invite. Oh well. Maybe next version.

    I mention this cause my last post on multiple monitors made me think of that building of Reuters in Times Square. The coolest thing about this building is that - being in Times Square and all - it has on it the biggest digital monitor in the world! Really. I'm not kidding. Here is a drawing/photo (I can't tell):

    It's the skyscraper on the right (with the bullseye). To make this story even cooler is that this sign runs on Windows! It is also the only sign in Times Square that is driven without any human interaction - it's an XML feed into that sign that runs the entire thing. Quite amazing. You should see it at night. That's all.

  • Applications and multiple monitors

    As my friend Jon Box pointed out in his blog, he questioned some of the reasons of using multiple monitors when working on a computer. The entire discussion started I guess based upon this article. An example of working with two monitors is something like this:

    So the question for others is if we are going to be seeing this? Myself, I think we are really moving to this type of working environment as a generally accepted use rather quickly. This also means that as application developers, we are going to have to build our thick-client applications with an understanding that people are going to want to piece-off bits of the applications to physically separate the visual elements over ANY number of monitors.

    I work for Reuters, the global news and information company, and we have a number of applications that are built specifically for people in the financial space. I recently visited one of our trading floors and you would love how to see how these guys work on the computer. I am not talking about working across two screens .... I am talking about working across anywhere from 4-6 screens. They then have thick-client apps of all kinds opened up on various screens and all these apps are either streaming information to them, popping up IMs, or waiting for specific input from the broker (to make trades). I think about their job and basically how UNPRODUCTIVE it would be on one or even two monitors.

    For the home user, we should start to see this as well with the price of flat screens lowering in price every year. If you could get a dirt-cheap flat panel, wouldn't you get three of them for your computer? I would!

    This means that as application developers, we sometimes have to think about how our applications can break apart in an easy and intuitive manner. We do this already at Reuters for the financial services space and I am sure that others do it as well.

  • First Post!

    Welcome to my Longhorn blog! I don't have much to say at present as I am waiting for PDC (around the corner) before I start expressing my heart and mind. I also want to focus on helping user group leaders get thier first Longhorn meetings going ... so stay tuned my “out to change the world” friends!