The keynote for the SharePoint 2008 conference can be found here http://wm.istreamplanet.com/customers/ms/100_microsoft_080303.asx sponsored this year by my chums at WorkShare.
Its well worth checking out Bill’s last day about 15 mins in.
The keynote for the SharePoint 2008 conference can be found here http://wm.istreamplanet.com/customers/ms/100_microsoft_080303.asx sponsored this year by my chums at WorkShare.
Its well worth checking out Bill’s last day about 15 mins in.
I was just saving a document i had written in Word as an HTML file and I could not believe how big it became with verbose declarations, so I just tried a quick test. I created a new file and typed 3 lines of text comprising 54 characters, then I saved as web page ….
The resulting file is 24,947 bytes with as you would expect 24,947 characters in 552 lines of code!
Its truly amazing how much code is inserted around my 54 characters of text complete with information about the registered user and orgainisation and author. Look at this block which is actually commented out in the doc but still there absorbing space;
<!–[if gte mso 9]><xml>
<o:DocumentProperties>
<o:Author>Tim Carmichael</o:Author>
<o:Template>Normal</o:Template>
<o:LastAuthor>Tim Carmichael</o:LastAuthor>
<o:Revision>1</o:Revision>
<o:TotalTime>8</o:TotalTime>
<o:Created>2007-10-11T20:47:00Z</o:Created>
<o:LastSaved>2007-10-11T20:55:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Words>9</o:Words>
<o:Characters>57</o:Characters>
<o:Company>altaVENTE</o:Company>
<o:Lines>1</o:Lines>
<o:Paragraphs>1</o:Paragraphs>
<o:CharactersWithSpaces>65</o:CharactersWithSpaces>
<o:Version>12.00</o:Version>
</o:DocumentProperties>
</xml><![endif]–>
Obviously this info is useful from a document management perspective but useless at runtime and potentially embarassing if you didn’t want someone to know this info and they just used VIEW SOURCE in IE.
So be aware when you ’save as web’ from Word (or other Office 12 apps) about what is getting saved in your file…
Gosh Darn-it, just when something useful comes along you find it has a missing wheel. VSTO or more properly Visual Studio Tools for Office is a conceptually great idea to help make all the functionality of Office apps like Word or Excel usable as if they were native components in Visual Studio. So far, so good because the previous mechanism of using COM and COM shims was never very satisfactory or seamless.
Unfortunately, nothing comes without a downside and the first downside is that VSTO doesn’t support Office apps pre-version 11.0 (Office 2003). Ok, at first that seems workable since thats 4 years ago and surely people would have upgraded by now, until you discover that that has some big exceptions, proved by me identiying corporate customers still using Office 97 (on NT 4.0!).
The second gotcha is that VSTO is really very compatible between Office 11 and 12 (Office 2007), with 12 having shedloads more functionality and different interfaces, which becomes evident when you doscver that each version needs a different PIA (Primary Interop Assembly) which can’t be mixed.
This is a big downside for an ISV like me. So what can I do ? Well not much, apparently there are some bodges to get some common codebase but in reality we are left to write conditional code and essentially write two versions like this;
private void My_Addin(object sender, System.EventArgs e)
{
if (this.Application.Version == “11.0″)
{
// Office 2003-specific code.
}
else
{
// Office 2007-specific code.
}
}
This is inconvenient and there’s no guarantee (in fact far from it) that I won’t need a third condition for Office 14.0 next year (there’s no Office 13.0 for superstitious reasons). So how does this make me feel? it makes me feel we should just stick with COM shims because then we can support older versions, but then we lose new functionality like the Ribbon (or do it lower level) or stick with VSTO and make Office 12 our preferred target. No surprise which one MS want us to do! Gosh Darn-it, life is never easy.

The answer has to be yes. Anyone who knows me will be aware of my obsession with making my apps smaller and more optimized, its a legacy of memory constrained systems I grew up with computers like the 1K ZX80 and Apple ][ and CP/M systems with 64K RAM. I can’t stand software bloat, and it shows in altaVENTE apps with our players and viewers are generally about ~300KB in size even though they do amazing things.
So, imagine my disbelief today when I was told that adding a Vista compatible set of icons would double the average size of our players! That is software bloat gone mad!
Of course the reason for this is the support for all sizes of gorgeous Vista icons right up to 256 x 256. I love these icons but because we need to place them as resources in our apps they just bloat them completely. I wouldn’t mind if we could ship the icons as a separate file if the user wanted them, and keep them out of the EXE, but we can’t, as Explorer relies on being able to enumerate the icon from the EXE…
So, the solution ? Well, my plan is to go to an 8-bit grayscale icon, which can still look gorgeous, but is svelte as well. Less is more if you know what I mean. We’ll do some prototype and post them for feedback soon.
… Microsoft keynote that demos something fantastic using one line of code I’d be rich! This time it was the turn of TechEd 2007 where we were shown a single line of code added to Outlook using Beta 1 of Visual Studio 2008 (Orcas) and VSTO which highlighted an incoming mail from a salesperson which then allowed you to link to Sharepoint and analyze their sales figures.
All very impressive, but as usual, hides the hundreds if not thousands of lines of code which had to be written on the backend which made the one line of code relevant to the demo.
Of course the impact is there but as usual the reality is far more mundane and complex. I mean if it wasn’t then ‘The Last One’ (TLO) would have made programmers redundant years ago. For those who don’t remember, TLO (circa 1982) would generate a program from a simple business spec, generating thousands of lines of GWBASIC code which would be the answer to your business problem. Of course not only was it too lofty and aspiration, but the code never worked anyway… not like our PowerPoint compiler! (http://www.altaVENTE.com)
Well today is the day. A new day. No, not another Star Wars episode, but the rather glitzy monicker for the cumulative Microsoft launches going on today. Here in the UK its being referred to under the EVO (Exchange, Vista, Office) tag. http://msnewday.com/