October 2008 - Posts
So what's new with windows 7 ?
Ribbon User Interface
Jump Lists
Libraries
Multi-Touch, Ink, Speech
DirectX family
Fundamentals:
Decrease: MEM, I/O, Power
Increase: Speed, Responsiveness, Scale
You can boot from VHD !!!
Multi mon now works also if you use remote desktop !!! e.g. you remote connect to a machine and will have dual mon support if youhave dual mon.
Call to Actions: Developer for 64-Bit ! Evaluate new apis in windows 7

PDC08 keynote is about to begin !
Hopefully it will be better then yesterday... Live blogging will start soon...
Ray ozzy just started the second day Keynote

Today's keynote is about the UI, the experience... the client platform, os.. apps
Ray talks about joining the web & the client pc worlds.
Windows 7 - Best platform experience and innovation
Internet Explorer 8, Silverlight 2 - Making web apps offline, installable...
Starting the shows...
Steven Sinofsky - Windows 7
The new windows explorer
New improvements with the network sharing wizard
The new media player, you can send music to devices... photos to photo pictures etc...
Device stage shows everything i can do with the device
Connecting to a printer will switch automatically from the home printer to the work printer.
Now its very easy to change your desktop.
Showing the HP multitouch !!!
Now to windows 7 and Windows Live Essentials & Services

PDC08 keynote is about to begin !
Hopefully it will be better then yesterday... Live blogging will start soon...
Ray ozzy just started the second day Keynote

Today's keynote is about the UI, the experience... the client platform, os.. apps
Ray talks about joining the web & the client pc worlds.
Windows 7 - Best platform experience and innovation
Internet Explorer 8, Silverlight 2 - Making web apps offline, installable...
Starting the shows...
Steven Sinofsky - Windows 7
The new windows explorer
New improvements with the network sharing wizard

Presenter : Misha Shneerson - Senior SDE - Microsoft
Agenda - Its all about COM interop
Solution - Type Embedding
Solution - Type Equivalence
Putting it all together - Loose type coupling and extensibility
Improvements in event handling for COM objects
Deployment of PIA (Primary interop assemblies) is a big issue.
SAy you have an Interop solution with office - Usercode assembly size (50kb) the interop assembly interop.excel.dll for example is 1.2MB
The problem is installation... we need to install office 2007 PIA redist - 6.3MB
Today: In order to deploy 50k we need to install 6.3MB !
If we are targeting office 14 we need to install office 14 PIA redist 6,3MB+...
COM Interop - There are some efficiency in interop assemblies - event support.
Managed to Managed - there might be file missing prob... as version do not match
Type Embedding - Get rid of interop assemblies to be embeded into the process
CLR 4.0 feature
Both C# & VB can pass ref to assembly via /link like /ref the compiler will look at the type and embed this type, all the information is now embeded into the assembly.
A new property in the prop managed of VS for assembly that we have ref which is Embed Interop = true
If we open the assembly in ildasm there will be 2 namespace the application one and an Microsoft.Office.Interop.Excel namespace the second one will include the types that have been pulled.
you will notice a _VtblGap1_X stubs the X is the number of slots to skip as the table due to the pull. (Methods not being embeded stack out by vtable gaps)
Limitation of what can be embeded:
only metadata - not il !
Interfaces must have comimport, guid attributes
we can embed delegates
we can embed simple structs
we can embed enums
but not classes or static methods !
Type Equivalence - Very easy to write addins with it ! - helps build a loosely coupled apps !
CLR 4.0
Interface with the same guid are treated by the LR as equivalent types
Casts to an equivalent interface
CLR looks for Typeidentifier attribute to be presented on one for the interfaces
How does it work ? The clr walk the chain find the equivalence, very the signatures to see that they are matching and if they are the call with go through. (The CLR check that you are not doing unsafe calls)
Is it not heavy ? first time yes but the next time it will be cached.
When you write adding for com based app you can write against any version of host primary interop assembly - you embed local types using the /ink compiler switch
If you try to work against office 2007 and then try to work with the adding in office 2003 - the vtables are different so you will get an access violation exception.
Addins for managed hosts
apis are published as interfaces into "programmability" assembly.
Add-ins embed theses interfaces at compile time.
Is type safety a concern ?
it is possible to construct an interface that is type equivalent to another interface but which is completely incompatible with that interface.
casts to such an interface will succeed
The next version of the clr when you add a ref to interop assembly the embed switch will be automatically added
Samples will be available at Misha's blog
Its night right now in LA, I've arrived to LA in the morning (7:45) after 15hr of direct flight...(it was a hard flight as i could not get an upgrade to business nor an exit seat...)
Two hours after I landed I've register to the Together@PDC , special event that was held for a specific group of attendees...so after some networking & lunch break we went to have some activities :-)
I choose to do the a two hours horse riding to the Hollywood sign at the top of LA.


During the Together@PDC we also received our first pdc freebies:
A locker for the laptop
and
A USB Hampshire (The faster that you type the faster he will run) - my doughtier would probably enjoy him very much back at home :-)
So now everything is ready to get some sleep after two days and be ready for the real thing !
The PDC KEYNOTES. (more on that tomorrow)
Well I'm just on my way to the PDC... my session list is ready... the rest of the material too
The iPhone is full with 6gm of music and some games...
Now i also have the ppt of Glenn's MEF session so i even have some PDC stuff to read on my 15 hours direct flight to LA.
Yep some guys have long long long long flight to get to LA.
For anyone who is interested I'll keep on updating my blog and my twitter (http://twitter.com/ohadi) with details from the event.
So see you there !

More Posts