Posts Tagged ‘microsoft’

Photos of the First Microsoft Store

Friday, October 23rd, 2009

I was lucky enough to be at the first Microsoft Store in Scottsdale on opening day.

Here are the photos I took:

I’ll be at PDC

Sunday, October 26th, 2008

Microsoft PDC 2008

Microsoft PDC 2008

What’s PDC? It’s the Professional Developers Conference put on by Microsoft. It’s one of the biggest events they put on for developers. I’m really excited about this one because of the Windows 7 announcements and sessions. I’ll do my best to live / semi-live blog the event. I’m going to do a test an use my OLPC for blogging at the event since it’s so much easier to lug around. Of course maybe someone from MS will see me running Sugar as the OS and help hook me up with the version of Windows XP that runs on it instead :P.

If you’re reading this and you’re attending PDC then hit me up on Twitter @futileboy

If you want to learn more about PDC then check out this sites:

Fairwell to Microsoft from David Stutz

Wednesday, June 25th, 2008

I’ve got a problem.  A problem with Outlook and Exchange.  You see I have two exchange accounts on two different servers.  This is problem that I thought was rare at first, information pills
but I’m finding more and more that folks who work in the consulting space are having this challenge when their clients are using MS Exchange. 

On my mac, tadalafil
this isn’t really a big problem because I Entourage actually supports multiple Exchange servers.

On the PC side though, Outlook wants nothing to do with my multiple Exchange servers accounts.

To set up support for two accounts I had to go in to the control panel and locate the mail icon.

image

Then from there users have to figure out the very abstract user interface of what to do next.

image

Nope not “E-mail Accounts”  I need to create a new Profile.

image

I’ve already created a new profile, but this is where you’d click Add.

Give it a name that explains the account to you

image

Then you have to fill out this for and will try to auto configure your account

image

These seems to work most of the time.

So now you have two profiles.  Here’s where it gets annoying.  These profiles have no awareness of each other.  So if you get a meeting request in one and accept it, it will only be visible in that accounts calendar.

Then when you switch profiles you have no way to take that information with you.

Here’s where I’m using Google Calendar Sync.

It’s not perfect, but it does help.

image 

Once set up it will sync my Google calendar with my Outlook calendar.  Then when I switch profiles from one Outlook session to the next.  Google’s Calendar Sync stays active.  It will then begin syncing the information from my current profile.  

Of course the big issue here is that I have to continue switching my outlook profiles back and forth during the day to make sure all the information is up to date.  It’s still possible to receive a meeting request for the same time in both accounts.  Accept in one switch profiles.  Then accept in the other before Google get’s the calendars synced and I can create a conflict.

What Exchange really need to do is offer this a service feed directly from the server so that I don’t have to go through Outlook to activate all.

Phew!  That’s a lot of work just to make sure I don’t double book myself.

Of course this all gets much worse once you start to open yourself to other scheduling services like evite and upcoming.

Sometimes I have to remind myself that computers are supposed to make life easier not harder.

I’ve got a problem.  A problem with Outlook and Exchange.  You see I have two exchange accounts on two different servers.  This is problem that I thought was rare at first, information pills
but I’m finding more and more that folks who work in the consulting space are having this challenge when their clients are using MS Exchange. 

On my mac, tadalafil
this isn’t really a big problem because I Entourage actually supports multiple Exchange servers.

On the PC side though, Outlook wants nothing to do with my multiple Exchange servers accounts.

To set up support for two accounts I had to go in to the control panel and locate the mail icon.

image

Then from there users have to figure out the very abstract user interface of what to do next.

image

Nope not “E-mail Accounts”  I need to create a new Profile.

image

I’ve already created a new profile, but this is where you’d click Add.

Give it a name that explains the account to you

image

Then you have to fill out this for and will try to auto configure your account

image

These seems to work most of the time.

So now you have two profiles.  Here’s where it gets annoying.  These profiles have no awareness of each other.  So if you get a meeting request in one and accept it, it will only be visible in that accounts calendar.

Then when you switch profiles you have no way to take that information with you.

Here’s where I’m using Google Calendar Sync.

It’s not perfect, but it does help.

image 

Once set up it will sync my Google calendar with my Outlook calendar.  Then when I switch profiles from one Outlook session to the next.  Google’s Calendar Sync stays active.  It will then begin syncing the information from my current profile.  

Of course the big issue here is that I have to continue switching my outlook profiles back and forth during the day to make sure all the information is up to date.  It’s still possible to receive a meeting request for the same time in both accounts.  Accept in one switch profiles.  Then accept in the other before Google get’s the calendars synced and I can create a conflict.

What Exchange really need to do is offer this a service feed directly from the server so that I don’t have to go through Outlook to activate all.

Phew!  That’s a lot of work just to make sure I don’t double book myself.

Of course this all gets much worse once you start to open yourself to other scheduling services like evite and upcoming.

Sometimes I have to remind myself that computers are supposed to make life easier not harder.

I’ve got a problem.  A problem with Outlook and Exchange.  You see I have two exchange accounts on two different servers.  This is problem that I thought was rare at first, information pills
but I’m finding more and more that folks who work in the consulting space are having this challenge when their clients are using MS Exchange. 

On my mac, tadalafil
this isn’t really a big problem because I Entourage actually supports multiple Exchange servers.

On the PC side though, Outlook wants nothing to do with my multiple Exchange servers accounts.

To set up support for two accounts I had to go in to the control panel and locate the mail icon.

image

Then from there users have to figure out the very abstract user interface of what to do next.

image

Nope not “E-mail Accounts”  I need to create a new Profile.

image

I’ve already created a new profile, but this is where you’d click Add.

Give it a name that explains the account to you

image

Then you have to fill out this for and will try to auto configure your account

image

These seems to work most of the time.

So now you have two profiles.  Here’s where it gets annoying.  These profiles have no awareness of each other.  So if you get a meeting request in one and accept it, it will only be visible in that accounts calendar.

Then when you switch profiles you have no way to take that information with you.

Here’s where I’m using Google Calendar Sync.

It’s not perfect, but it does help.

image 

Once set up it will sync my Google calendar with my Outlook calendar.  Then when I switch profiles from one Outlook session to the next.  Google’s Calendar Sync stays active.  It will then begin syncing the information from my current profile.  

Of course the big issue here is that I have to continue switching my outlook profiles back and forth during the day to make sure all the information is up to date.  It’s still possible to receive a meeting request for the same time in both accounts.  Accept in one switch profiles.  Then accept in the other before Google get’s the calendars synced and I can create a conflict.

What Exchange really need to do is offer this a service feed directly from the server so that I don’t have to go through Outlook to activate all.

Phew!  That’s a lot of work just to make sure I don’t double book myself.

Of course this all gets much worse once you start to open yourself to other scheduling services like evite and upcoming.

Sometimes I have to remind myself that computers are supposed to make life easier not harder.

I’ve got a problem.  A problem with Outlook and Exchange.  You see I have two exchange accounts on two different servers.  This is problem that I thought was rare at first, information pills
but I’m finding more and more that folks who work in the consulting space are having this challenge when their clients are using MS Exchange. 

On my mac, tadalafil
this isn’t really a big problem because I Entourage actually supports multiple Exchange servers.

On the PC side though, Outlook wants nothing to do with my multiple Exchange servers accounts.

To set up support for two accounts I had to go in to the control panel and locate the mail icon.

image

Then from there users have to figure out the very abstract user interface of what to do next.

image

Nope not “E-mail Accounts”  I need to create a new Profile.

image

I’ve already created a new profile, but this is where you’d click Add.

Give it a name that explains the account to you

image

Then you have to fill out this for and will try to auto configure your account

image

These seems to work most of the time.

So now you have two profiles.  Here’s where it gets annoying.  These profiles have no awareness of each other.  So if you get a meeting request in one and accept it, it will only be visible in that accounts calendar.

Then when you switch profiles you have no way to take that information with you.

Here’s where I’m using Google Calendar Sync.

It’s not perfect, but it does help.

image 

Once set up it will sync my Google calendar with my Outlook calendar.  Then when I switch profiles from one Outlook session to the next.  Google’s Calendar Sync stays active.  It will then begin syncing the information from my current profile.  

Of course the big issue here is that I have to continue switching my outlook profiles back and forth during the day to make sure all the information is up to date.  It’s still possible to receive a meeting request for the same time in both accounts.  Accept in one switch profiles.  Then accept in the other before Google get’s the calendars synced and I can create a conflict.

What Exchange really need to do is offer this a service feed directly from the server so that I don’t have to go through Outlook to activate all.

Phew!  That’s a lot of work just to make sure I don’t double book myself.

Of course this all gets much worse once you start to open yourself to other scheduling services like evite and upcoming.

Sometimes I have to remind myself that computers are supposed to make life easier not harder.

There are more challenges when it comes to optimizing for search engines to consume your content if it is a dynamic Rich UI application that doesn’t rely on Ajax. While Google is able to pick up Flash SWF files during its crawl, gynecologist
this does not guarantee that the content is parsed correctly or given the same weight as any other file formats or a pure HTML/AJAX page. Worse, disorder
if the application uses a web service, page
how can it be guaranteed that all the pages are crawled and returned correctly?

In most cases you will need to make sure that the page hosting the application has some html text that describes the application and what it offers. So in essence treat the page in the same way you would HTML.

When possible expose the content of the application so that it too can be indexed.

Simple Silverlight application – XAML to XHTML with XSLT

For a Silverlight element that contains all of its content in the XAML the best method would be to transforms the XAML using XSLT into friendly XHTML. The goal is to contain the translated XAML into a <div> element that would be replaced by the Silverlight control. Search engines would find the XHTML while browsers with Silverlight installed would see the Silverlight app.

 

   1: <div id="SLHost">
   2:     <asp:Xml ID="XHTML" runat="server" DocumentSource="seo.xaml"
   3:   TransformSource="XAML2XHTML.xslt" EnableViewState="False"/>
   4:     <script type="text/JavaScript">
   5:         createSilverlight();
   6:     </script>
   7: </div>

Then use the following XAML2XHTML.xslt

   1: <?xml version="1.0" encoding="utf-8"?>
   2:  
   3: <xsl:stylesheet version="1.0"
   4:     xmlns:sl="http://schemas.microsoft.com/client/2007"
   5:     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   6:     exclude-result-prefixes="sl">
   7:  
   8:   <xsl:output omit-xml-declaration="yes" indent="yes"/>
   9:  
  10:   <xsl:template match="/">
  11:     <xsl:comment>This is the text that is in the Silverlight XAML:</xsl:comment>
  12:     <xsl:apply-templates select="*"/>
  13:   </xsl:template>
  14:  
  15:   <xsl:template match="sl:Canvas">
  16:     <div>
  17:       <xsl:apply-templates select="*"/>
  18:     </div>
  19:   </xsl:template>
  20:  
  21:   <xsl:template match="node()"/>
  22:  
  23:   <xsl:template match="sl:Image">
  24:     <div>
  25:       <img src="{@Source}"/>
  26:     </div>
  27:   </xsl:template>
  28:   <xsl:template match="sl:MediaElement">
  29:     <div class="Media">
  30:       <a href="{@Source}">Media</a>
  31:     </div>
  32:   </xsl:template>
  33:  
  34:   <xsl:template match="sl:TextBlock">
  35:     <div>
  36:       <xsl:value-of select="@Text"/>
  37:       <xsl:value-of select="text()"/>
  38:       <xsl:apply-templates select="*"/>
  39:     </div>
  40:   </xsl:template>
  41:   <xsl:template match="sl:LineBreak">
  42:     <br/>
  43:   </xsl:template>
  44:  
  45:   <xsl:template match="sl:Run">
  46:     <span>
  47:       <xsl:value-of select="@Text"/>
  48:       <xsl:value-of select="text()"/>
  49:     </span>
  50:   </xsl:template>
  51: </xsl:stylesheet>

 

Handling more advanced Silverlight applications

How do you design an application that could have dynamic content and robust interaction while at the same time enable a web crawler to understand and categorize the underlying content correctly? Unfortunately there is no simple answer or single correct answer. It depends highly on the application’s purpose. In some situations there will be no way to offer the content of the application up to spider outside of the application. In this case it’s best to have as much meta information on the page hosting the application as possible. By following the standard HTML methods in this document you can still extend the indexability of your application by making sure external links are properly formatted and that high ranking sites link to your application.

Detect and Serve

It requires a little more work up front from a development standpoint to go this route, but if you really have a strong need to get the content in your application indexed then this will be the best approach. The goal is to develop the code of the site to be delivered in multiple formats based on the user agent that is accessing the content. This isn’t all that uncommon anyway with the large range of browser and devices out there that are consuming the web already. Most applications are built with the data stored separately from the interaction in a database or local XML document. The site would have to be built so that it can serve up HTML pages for those who don’t have Flex/Flash/Silverlight installed. Plus, we could potentially change these pages for mobile devices like the iPhone that don’t yet support Flash or Silverlight.

It’s also recommend to have some enticement or value proposition to explain to real users why it would be beneficial to add the plug-ins required to get the optimal experience.

The goal would be to have clients that have the plug-in or runtime installed, would be provided the rich interaction. On those that don’t, a functional page in HTML will be provided. More importantly, to the search engines, these pages that are generated will be tagged and indexed correctly, making the content of our applications visible and increase their visibility.

I’ve got a problem.  A problem with Outlook and Exchange.  You see I have two exchange accounts on two different servers.  This is problem that I thought was rare at first, information pills
but I’m finding more and more that folks who work in the consulting space are having this challenge when their clients are using MS Exchange. 

On my mac, tadalafil
this isn’t really a big problem because I Entourage actually supports multiple Exchange servers.

On the PC side though, Outlook wants nothing to do with my multiple Exchange servers accounts.

To set up support for two accounts I had to go in to the control panel and locate the mail icon.

image

Then from there users have to figure out the very abstract user interface of what to do next.

image

Nope not “E-mail Accounts”  I need to create a new Profile.

image

I’ve already created a new profile, but this is where you’d click Add.

Give it a name that explains the account to you

image

Then you have to fill out this for and will try to auto configure your account

image

These seems to work most of the time.

So now you have two profiles.  Here’s where it gets annoying.  These profiles have no awareness of each other.  So if you get a meeting request in one and accept it, it will only be visible in that accounts calendar.

Then when you switch profiles you have no way to take that information with you.

Here’s where I’m using Google Calendar Sync.

It’s not perfect, but it does help.

image 

Once set up it will sync my Google calendar with my Outlook calendar.  Then when I switch profiles from one Outlook session to the next.  Google’s Calendar Sync stays active.  It will then begin syncing the information from my current profile.  

Of course the big issue here is that I have to continue switching my outlook profiles back and forth during the day to make sure all the information is up to date.  It’s still possible to receive a meeting request for the same time in both accounts.  Accept in one switch profiles.  Then accept in the other before Google get’s the calendars synced and I can create a conflict.

What Exchange really need to do is offer this a service feed directly from the server so that I don’t have to go through Outlook to activate all.

Phew!  That’s a lot of work just to make sure I don’t double book myself.

Of course this all gets much worse once you start to open yourself to other scheduling services like evite and upcoming.

Sometimes I have to remind myself that computers are supposed to make life easier not harder.

I’ve got a problem.  A problem with Outlook and Exchange.  You see I have two exchange accounts on two different servers.  This is problem that I thought was rare at first, information pills
but I’m finding more and more that folks who work in the consulting space are having this challenge when their clients are using MS Exchange. 

On my mac, tadalafil
this isn’t really a big problem because I Entourage actually supports multiple Exchange servers.

On the PC side though, Outlook wants nothing to do with my multiple Exchange servers accounts.

To set up support for two accounts I had to go in to the control panel and locate the mail icon.

image

Then from there users have to figure out the very abstract user interface of what to do next.

image

Nope not “E-mail Accounts”  I need to create a new Profile.

image

I’ve already created a new profile, but this is where you’d click Add.

Give it a name that explains the account to you

image

Then you have to fill out this for and will try to auto configure your account

image

These seems to work most of the time.

So now you have two profiles.  Here’s where it gets annoying.  These profiles have no awareness of each other.  So if you get a meeting request in one and accept it, it will only be visible in that accounts calendar.

Then when you switch profiles you have no way to take that information with you.

Here’s where I’m using Google Calendar Sync.

It’s not perfect, but it does help.

image 

Once set up it will sync my Google calendar with my Outlook calendar.  Then when I switch profiles from one Outlook session to the next.  Google’s Calendar Sync stays active.  It will then begin syncing the information from my current profile.  

Of course the big issue here is that I have to continue switching my outlook profiles back and forth during the day to make sure all the information is up to date.  It’s still possible to receive a meeting request for the same time in both accounts.  Accept in one switch profiles.  Then accept in the other before Google get’s the calendars synced and I can create a conflict.

What Exchange really need to do is offer this a service feed directly from the server so that I don’t have to go through Outlook to activate all.

Phew!  That’s a lot of work just to make sure I don’t double book myself.

Of course this all gets much worse once you start to open yourself to other scheduling services like evite and upcoming.

Sometimes I have to remind myself that computers are supposed to make life easier not harder.

I’ve got a problem.  A problem with Outlook and Exchange.  You see I have two exchange accounts on two different servers.  This is problem that I thought was rare at first, information pills
but I’m finding more and more that folks who work in the consulting space are having this challenge when their clients are using MS Exchange. 

On my mac, tadalafil
this isn’t really a big problem because I Entourage actually supports multiple Exchange servers.

On the PC side though, Outlook wants nothing to do with my multiple Exchange servers accounts.

To set up support for two accounts I had to go in to the control panel and locate the mail icon.

image

Then from there users have to figure out the very abstract user interface of what to do next.

image

Nope not “E-mail Accounts”  I need to create a new Profile.

image

I’ve already created a new profile, but this is where you’d click Add.

Give it a name that explains the account to you

image

Then you have to fill out this for and will try to auto configure your account

image

These seems to work most of the time.

So now you have two profiles.  Here’s where it gets annoying.  These profiles have no awareness of each other.  So if you get a meeting request in one and accept it, it will only be visible in that accounts calendar.

Then when you switch profiles you have no way to take that information with you.

Here’s where I’m using Google Calendar Sync.

It’s not perfect, but it does help.

image 

Once set up it will sync my Google calendar with my Outlook calendar.  Then when I switch profiles from one Outlook session to the next.  Google’s Calendar Sync stays active.  It will then begin syncing the information from my current profile.  

Of course the big issue here is that I have to continue switching my outlook profiles back and forth during the day to make sure all the information is up to date.  It’s still possible to receive a meeting request for the same time in both accounts.  Accept in one switch profiles.  Then accept in the other before Google get’s the calendars synced and I can create a conflict.

What Exchange really need to do is offer this a service feed directly from the server so that I don’t have to go through Outlook to activate all.

Phew!  That’s a lot of work just to make sure I don’t double book myself.

Of course this all gets much worse once you start to open yourself to other scheduling services like evite and upcoming.

Sometimes I have to remind myself that computers are supposed to make life easier not harder.

There are more challenges when it comes to optimizing for search engines to consume your content if it is a dynamic Rich UI application that doesn’t rely on Ajax. While Google is able to pick up Flash SWF files during its crawl, gynecologist
this does not guarantee that the content is parsed correctly or given the same weight as any other file formats or a pure HTML/AJAX page. Worse, disorder
if the application uses a web service, page
how can it be guaranteed that all the pages are crawled and returned correctly?

In most cases you will need to make sure that the page hosting the application has some html text that describes the application and what it offers. So in essence treat the page in the same way you would HTML.

When possible expose the content of the application so that it too can be indexed.

Simple Silverlight application – XAML to XHTML with XSLT

For a Silverlight element that contains all of its content in the XAML the best method would be to transforms the XAML using XSLT into friendly XHTML. The goal is to contain the translated XAML into a <div> element that would be replaced by the Silverlight control. Search engines would find the XHTML while browsers with Silverlight installed would see the Silverlight app.

 

   1: <div id="SLHost">
   2:     <asp:Xml ID="XHTML" runat="server" DocumentSource="seo.xaml"
   3:   TransformSource="XAML2XHTML.xslt" EnableViewState="False"/>
   4:     <script type="text/JavaScript">
   5:         createSilverlight();
   6:     </script>
   7: </div>

Then use the following XAML2XHTML.xslt

   1: <?xml version="1.0" encoding="utf-8"?>
   2:  
   3: <xsl:stylesheet version="1.0"
   4:     xmlns:sl="http://schemas.microsoft.com/client/2007"
   5:     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   6:     exclude-result-prefixes="sl">
   7:  
   8:   <xsl:output omit-xml-declaration="yes" indent="yes"/>
   9:  
  10:   <xsl:template match="/">
  11:     <xsl:comment>This is the text that is in the Silverlight XAML:</xsl:comment>
  12:     <xsl:apply-templates select="*"/>
  13:   </xsl:template>
  14:  
  15:   <xsl:template match="sl:Canvas">
  16:     <div>
  17:       <xsl:apply-templates select="*"/>
  18:     </div>
  19:   </xsl:template>
  20:  
  21:   <xsl:template match="node()"/>
  22:  
  23:   <xsl:template match="sl:Image">
  24:     <div>
  25:       <img src="{@Source}"/>
  26:     </div>
  27:   </xsl:template>
  28:   <xsl:template match="sl:MediaElement">
  29:     <div class="Media">
  30:       <a href="{@Source}">Media</a>
  31:     </div>
  32:   </xsl:template>
  33:  
  34:   <xsl:template match="sl:TextBlock">
  35:     <div>
  36:       <xsl:value-of select="@Text"/>
  37:       <xsl:value-of select="text()"/>
  38:       <xsl:apply-templates select="*"/>
  39:     </div>
  40:   </xsl:template>
  41:   <xsl:template match="sl:LineBreak">
  42:     <br/>
  43:   </xsl:template>
  44:  
  45:   <xsl:template match="sl:Run">
  46:     <span>
  47:       <xsl:value-of select="@Text"/>
  48:       <xsl:value-of select="text()"/>
  49:     </span>
  50:   </xsl:template>
  51: </xsl:stylesheet>

 

Handling more advanced Silverlight applications

How do you design an application that could have dynamic content and robust interaction while at the same time enable a web crawler to understand and categorize the underlying content correctly? Unfortunately there is no simple answer or single correct answer. It depends highly on the application’s purpose. In some situations there will be no way to offer the content of the application up to spider outside of the application. In this case it’s best to have as much meta information on the page hosting the application as possible. By following the standard HTML methods in this document you can still extend the indexability of your application by making sure external links are properly formatted and that high ranking sites link to your application.

Detect and Serve

It requires a little more work up front from a development standpoint to go this route, but if you really have a strong need to get the content in your application indexed then this will be the best approach. The goal is to develop the code of the site to be delivered in multiple formats based on the user agent that is accessing the content. This isn’t all that uncommon anyway with the large range of browser and devices out there that are consuming the web already. Most applications are built with the data stored separately from the interaction in a database or local XML document. The site would have to be built so that it can serve up HTML pages for those who don’t have Flex/Flash/Silverlight installed. Plus, we could potentially change these pages for mobile devices like the iPhone that don’t yet support Flash or Silverlight.

It’s also recommend to have some enticement or value proposition to explain to real users why it would be beneficial to add the plug-ins required to get the optimal experience.

The goal would be to have clients that have the plug-in or runtime installed, would be provided the rich interaction. On those that don’t, a functional page in HTML will be provided. More importantly, to the search engines, these pages that are generated will be tagged and indexed correctly, making the content of our applications visible and increase their visibility.

I’ve got a problem.  A problem with Outlook and Exchange.  You see I have two exchange accounts on two different servers.  This is problem that I thought was rare at first, information pills
but I’m finding more and more that folks who work in the consulting space are having this challenge when their clients are using MS Exchange. 

On my mac, tadalafil
this isn’t really a big problem because I Entourage actually supports multiple Exchange servers.

On the PC side though, Outlook wants nothing to do with my multiple Exchange servers accounts.

To set up support for two accounts I had to go in to the control panel and locate the mail icon.

image

Then from there users have to figure out the very abstract user interface of what to do next.

image

Nope not “E-mail Accounts”  I need to create a new Profile.

image

I’ve already created a new profile, but this is where you’d click Add.

Give it a name that explains the account to you

image

Then you have to fill out this for and will try to auto configure your account

image

These seems to work most of the time.

So now you have two profiles.  Here’s where it gets annoying.  These profiles have no awareness of each other.  So if you get a meeting request in one and accept it, it will only be visible in that accounts calendar.

Then when you switch profiles you have no way to take that information with you.

Here’s where I’m using Google Calendar Sync.

It’s not perfect, but it does help.

image 

Once set up it will sync my Google calendar with my Outlook calendar.  Then when I switch profiles from one Outlook session to the next.  Google’s Calendar Sync stays active.  It will then begin syncing the information from my current profile.  

Of course the big issue here is that I have to continue switching my outlook profiles back and forth during the day to make sure all the information is up to date.  It’s still possible to receive a meeting request for the same time in both accounts.  Accept in one switch profiles.  Then accept in the other before Google get’s the calendars synced and I can create a conflict.

What Exchange really need to do is offer this a service feed directly from the server so that I don’t have to go through Outlook to activate all.

Phew!  That’s a lot of work just to make sure I don’t double book myself.

Of course this all gets much worse once you start to open yourself to other scheduling services like evite and upcoming.

Sometimes I have to remind myself that computers are supposed to make life easier not harder.

I’ve got a problem.  A problem with Outlook and Exchange.  You see I have two exchange accounts on two different servers.  This is problem that I thought was rare at first, information pills
but I’m finding more and more that folks who work in the consulting space are having this challenge when their clients are using MS Exchange. 

On my mac, tadalafil
this isn’t really a big problem because I Entourage actually supports multiple Exchange servers.

On the PC side though, Outlook wants nothing to do with my multiple Exchange servers accounts.

To set up support for two accounts I had to go in to the control panel and locate the mail icon.

image

Then from there users have to figure out the very abstract user interface of what to do next.

image

Nope not “E-mail Accounts”  I need to create a new Profile.

image

I’ve already created a new profile, but this is where you’d click Add.

Give it a name that explains the account to you

image

Then you have to fill out this for and will try to auto configure your account

image

These seems to work most of the time.

So now you have two profiles.  Here’s where it gets annoying.  These profiles have no awareness of each other.  So if you get a meeting request in one and accept it, it will only be visible in that accounts calendar.

Then when you switch profiles you have no way to take that information with you.

Here’s where I’m using Google Calendar Sync.

It’s not perfect, but it does help.

image 

Once set up it will sync my Google calendar with my Outlook calendar.  Then when I switch profiles from one Outlook session to the next.  Google’s Calendar Sync stays active.  It will then begin syncing the information from my current profile.  

Of course the big issue here is that I have to continue switching my outlook profiles back and forth during the day to make sure all the information is up to date.  It’s still possible to receive a meeting request for the same time in both accounts.  Accept in one switch profiles.  Then accept in the other before Google get’s the calendars synced and I can create a conflict.

What Exchange really need to do is offer this a service feed directly from the server so that I don’t have to go through Outlook to activate all.

Phew!  That’s a lot of work just to make sure I don’t double book myself.

Of course this all gets much worse once you start to open yourself to other scheduling services like evite and upcoming.

Sometimes I have to remind myself that computers are supposed to make life easier not harder.

There are more challenges when it comes to optimizing for search engines to consume your content if it is a dynamic Rich UI application that doesn’t rely on Ajax. While Google is able to pick up Flash SWF files during its crawl, gynecologist
this does not guarantee that the content is parsed correctly or given the same weight as any other file formats or a pure HTML/AJAX page. Worse, disorder
if the application uses a web service, page
how can it be guaranteed that all the pages are crawled and returned correctly?

In most cases you will need to make sure that the page hosting the application has some html text that describes the application and what it offers. So in essence treat the page in the same way you would HTML.

When possible expose the content of the application so that it too can be indexed.

Simple Silverlight application – XAML to XHTML with XSLT

For a Silverlight element that contains all of its content in the XAML the best method would be to transforms the XAML using XSLT into friendly XHTML. The goal is to contain the translated XAML into a <div> element that would be replaced by the Silverlight control. Search engines would find the XHTML while browsers with Silverlight installed would see the Silverlight app.

 

   1: <div id="SLHost">
   2:     <asp:Xml ID="XHTML" runat="server" DocumentSource="seo.xaml"
   3:   TransformSource="XAML2XHTML.xslt" EnableViewState="False"/>
   4:     <script type="text/JavaScript">
   5:         createSilverlight();
   6:     </script>
   7: </div>

Then use the following XAML2XHTML.xslt

   1: <?xml version="1.0" encoding="utf-8"?>
   2:  
   3: <xsl:stylesheet version="1.0"
   4:     xmlns:sl="http://schemas.microsoft.com/client/2007"
   5:     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   6:     exclude-result-prefixes="sl">
   7:  
   8:   <xsl:output omit-xml-declaration="yes" indent="yes"/>
   9:  
  10:   <xsl:template match="/">
  11:     <xsl:comment>This is the text that is in the Silverlight XAML:</xsl:comment>
  12:     <xsl:apply-templates select="*"/>
  13:   </xsl:template>
  14:  
  15:   <xsl:template match="sl:Canvas">
  16:     <div>
  17:       <xsl:apply-templates select="*"/>
  18:     </div>
  19:   </xsl:template>
  20:  
  21:   <xsl:template match="node()"/>
  22:  
  23:   <xsl:template match="sl:Image">
  24:     <div>
  25:       <img src="{@Source}"/>
  26:     </div>
  27:   </xsl:template>
  28:   <xsl:template match="sl:MediaElement">
  29:     <div class="Media">
  30:       <a href="{@Source}">Media</a>
  31:     </div>
  32:   </xsl:template>
  33:  
  34:   <xsl:template match="sl:TextBlock">
  35:     <div>
  36:       <xsl:value-of select="@Text"/>
  37:       <xsl:value-of select="text()"/>
  38:       <xsl:apply-templates select="*"/>
  39:     </div>
  40:   </xsl:template>
  41:   <xsl:template match="sl:LineBreak">
  42:     <br/>
  43:   </xsl:template>
  44:  
  45:   <xsl:template match="sl:Run">
  46:     <span>
  47:       <xsl:value-of select="@Text"/>
  48:       <xsl:value-of select="text()"/>
  49:     </span>
  50:   </xsl:template>
  51: </xsl:stylesheet>

 

Handling more advanced Silverlight applications

How do you design an application that could have dynamic content and robust interaction while at the same time enable a web crawler to understand and categorize the underlying content correctly? Unfortunately there is no simple answer or single correct answer. It depends highly on the application’s purpose. In some situations there will be no way to offer the content of the application up to spider outside of the application. In this case it’s best to have as much meta information on the page hosting the application as possible. By following the standard HTML methods in this document you can still extend the indexability of your application by making sure external links are properly formatted and that high ranking sites link to your application.

Detect and Serve

It requires a little more work up front from a development standpoint to go this route, but if you really have a strong need to get the content in your application indexed then this will be the best approach. The goal is to develop the code of the site to be delivered in multiple formats based on the user agent that is accessing the content. This isn’t all that uncommon anyway with the large range of browser and devices out there that are consuming the web already. Most applications are built with the data stored separately from the interaction in a database or local XML document. The site would have to be built so that it can serve up HTML pages for those who don’t have Flex/Flash/Silverlight installed. Plus, we could potentially change these pages for mobile devices like the iPhone that don’t yet support Flash or Silverlight.

It’s also recommend to have some enticement or value proposition to explain to real users why it would be beneficial to add the plug-ins required to get the optimal experience.

The goal would be to have clients that have the plug-in or runtime installed, would be provided the rich interaction. On those that don’t, a functional page in HTML will be provided. More importantly, to the search engines, these pages that are generated will be tagged and indexed correctly, making the content of our applications visible and increase their visibility.

This letter from David Stutz is back from 2003, approved but still seems to me to be relevant. I found this via a post by Cory on BoingBoing.

Read on and enjoy

Digging in against open source commoditization won’t work – it would be like digging in against the Internet, which Microsoft tried for a while before getting wise. Any move towards cutting off alternatives by limiting interoperability or integration options would be fraught with danger, since it would enrage customers, accelerate the divergence of the open source platform, and have other undesirable results. Despite this, Microsoft is at risk of following this path, due to the corporate delusion that goes by many names: “better together,” “unified platform,” and “integrated software.” There is false hope in Redmond that these outmoded approaches to software integration will attract and keep international markets, governments, academics, and most importantly, innovators, safely within the Microsoft sphere of influence. But they won’t.

Exciting new networked applications are being written. Time is not standing still. Microsoft must survive and prosper by learning from the open source software movement and by borrowing from and improving its techniques. Open source software is as large and powerful a wave as the Internet was, and is rapidly accreting into a legitimate alternative to Windows. It can and should be harnessed. To avoid dire consequences, Microsoft should favor an approach that tolerates and embraces the diversity of the open source approach, especially when network-based integration is involved. There are many clever and motivated people out there, who have many different reasons to avoid buying directly into a Microsoft proprietary stack. Microsoft must employ diplomacy to woo these accounts; stubborn insistence will be both counterproductive and ineffective. Microsoft cannot prosper during the open source wave as an island, with a defenses built out of litigation and proprietary protocols.

I think it’s taken many years, but it does feel like Microsoft is starting to actually do just this.

I have often wondered why they don’t open up their free software to public as open source or shared source. I’d start with the web technologies Internet Explorer, Messenger, and all the Live services applications.

Windows 7 multitouch

Wednesday, May 28th, 2008

This is why the Scion xB is an always will be the sweetest ride around.

I mean look what it’s done here. It’s like the pool in Cocoon.
This is why the Scion xB is an always will be the sweetest ride around.

I mean look what it’s done here. It’s like the pool in Cocoon.

I’m looking forward to see what comes of this.

I’m not sure if anyone is paying attention, cystitis apoplectic but there’s s market for odd bluetooth enabled input devices.
This is why the Scion xB is an always will be the sweetest ride around.

I mean look what it’s done here. It’s like the pool in Cocoon.

I’m looking forward to see what comes of this.

I’m not sure if anyone is paying attention, cystitis apoplectic but there’s s market for odd bluetooth enabled input devices.

I’m looking forward to see what comes of this.

I’m not sure if anyone is paying attention, cystitis apoplectic but there’s s market for odd bluetooth enabled input devices.
Looks like some “Windows 7” multitouch is starting to, capsule er, sickness surface.
Video: Multi-Touch in Windows 7

personally, here this doesn’t seem that special. WPF has had the ability to author multitouch for a little while now. There just hasn’t been any hardware except the Wii hacks and the Surface.

Oh and a side note. This is the first time I’ve seen someone use MSN’s Soapbox.

Microsoft’s Listas

Thursday, May 22nd, 2008

image

Okay How did I miss the Microsoft Labs Listas service.  I’ve been going on for ages about how much I’ve wanted a service like this.  In fact I started to build one my self, website like this because I couldn’t find anything like it.  This site almost matches the spec I wrote for myself except it’s better in many ways.

I would like to have a few more options with exporting, bronchitis but the XML is pretty good for now.

I’m so excited about finding this site that I can hardly contain myself.  I think I might explode!

Often the simplest of services get overlooked by ones that are attempted to handle much more complicated activities.  While Listas is, well, useful.

Windows XP on the OLPC demo

Thursday, May 15th, 2008

Watch and enjoy. I can’t wait to get my hands on this to try out. I’m really interested to see what it would be like to develop for. I’m also curious to learn more about the Unlimited Potential group inside of Microsoft.

Why Targeted Advertising is Important

Wednesday, May 7th, 2008

I found this ad today while doing a little research about Microsoft’s SharePoint Server

image

I very much like the juxtaposition of Mary Kay “Enriching Women’s Lives” and Grand Theft Auto

It’s pure magic.

I wouldn’t have guessed that this ad was a good idea on this page as it is.  Let alone the conflict that occurs with the featured quote author.

I’m just saying.

Microsoft Live Mesh Part 3

Sunday, April 27th, 2008

I had a chance to see Ori Amiga give a presentation around the Live Mesh platform at the Web 2.0 Expo.  At first I was little hesitant about this technology.  After all the public preview is super early and lacking in a whole lot of usefulness and features.  Getting a chance to really see where it’s going however got me all excited.

You can view the same presentation on Channel 9 – Programming the Mesh.

What’s missing from the current preview is the entire Apps section that is a major part of the product.

(more…)

Mix 2008

Thursday, February 7th, 2008

Forward Track

ForwardTrack is a new system created by Eyebeam R&D (redeveloped with the assist from Stamen Design) designed to promote on-line activism. The system tracks and maps the diffusion of email forwards, prosthetic political calls-to-action, order and online petitions. It can trace email forwards, ed map the impact of blogs, and facilitate web-based sign-ups and social networking. Our goal is to help people understand decentralized networks and see the power of “6 degrees of separation.” ForwardTrack technology helps prove that one person can make a difference.

I’m downloading and installing now. I’ll see if I can get something up and running soon to test. As you can see I’m rather excited about this.

Forward Track

ForwardTrack is a new system created by Eyebeam R&D (redeveloped with the assist from Stamen Design) designed to promote on-line activism. The system tracks and maps the diffusion of email forwards, prosthetic political calls-to-action, order and online petitions. It can trace email forwards, ed map the impact of blogs, and facilitate web-based sign-ups and social networking. Our goal is to help people understand decentralized networks and see the power of “6 degrees of separation.” ForwardTrack technology helps prove that one person can make a difference.

I’m downloading and installing now. I’ll see if I can get something up and running soon to test. As you can see I’m rather excited about this.

Forward Track

ForwardTrack is a new system created by Eyebeam R&D (redeveloped with the assist from Stamen Design) designed to promote on-line activism. The system tracks and maps the diffusion of email forwards, prosthetic political calls-to-action, order and online petitions. It can trace email forwards, ed map the impact of blogs, and facilitate web-based sign-ups and social networking. Our goal is to help people understand decentralized networks and see the power of “6 degrees of separation.” ForwardTrack technology helps prove that one person can make a difference.

I’m downloading and installing now. I’ll see if I can get something up and running soon to test. As you can see I’m rather excited about this.

Mix 2008I’ll be on a panel at this year’s Mix event, tadalafil talking about workflow and process and such. It’s a pretty talented group of people and should make for a good time.

Making it Simple: Designer/Developer Workflow
Speakers: Marcelo Marer (Avenue A Razorfish), ambulance Ken Azuma (Second Factory), Robby Ingebretsen (Identity Mine), Ryan Lane (Wunderman), Mark Ligameri (frog design), Robert Tuttle (frog design)
Audience: Creative
Session Type: Panel
How do you combine a designer’s vision with the requirements of productive software? Left brain/Right brain workflow is a sophisticated problem that impacts us all but has no easy answers. Industry experts will share their learnings and invite you to join in on a lively discussion about the merits and costs of different approaches.