Archive for June, 2008

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.

SEO for Silverlight

Tuesday, June 24th, 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.

Google Calendar Sync

Monday, June 23rd, 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.

Summer Reading list from Roy Christopher

Monday, June 23rd, 2008

Roy Christopher has posted his annual Summer Reading List.  Lots of tasty treats for your mind.

How to get around Seattle

Thursday, June 19th, 2008

Very nice introduction to web services with ASP.NET video.

[blipit id=”375615″]

This was perfect for what I’m working on today.

Very nice introduction to web services with ASP.NET video.

[blipit id=”375615″]

This was perfect for what I’m working on today.

Very nice introduction to web services with ASP.NET video.

[blipit id=”375615″]

This was perfect for what I’m working on today.

If you live in Seattle you know this is a car town.  It’s nearly impossible to get to some points without the use of car.  It’s sort of sad really that a young city that appears to be full of environmentally conscious  people haven’t done more to make this city have better mass transit options.

I found this nice list of non-car ways to get around town.  Since it was buried in a random word document I thought I would share it here.  I’d give credit to the original author, about it but I don’t know who they are.

Seattle’s Bicycle Master Plan

Find everything you want to know about efforts to make Seattle the most bicycle-friendly city in the country.

Seattle Bike Maps

Before you hit the road, hygiene hit the computer – and check out the city’s best bicycle routes.

Seattle Pedestrian Master Plan

Walking is the most efficient, affordable and environmentally friendly form of transportation. Find out how Seattle’s becoming the most walkable city in the nation.

Ride Share

A convenient carpool is your ticket to the HOV lanes, so you can get where you’re going faster. In four easy steps you’ll get your carpool up and running.

Seattle Monorail

Check out the country’s first full-scale commercial monorail system for trips between Seattle Center, Lower Queen Anne and Downtown.

Seattle Streetcar

Since its opening, the streetcar has become an integral part of Seattle’s Center City transportation system, connecting the Downtown Retail Core, Denny Triangle and South Lake Union areas.

Transportation Connection

The Transportation Connection is your one stop shop for alternatives to driving and parking in downtown Seattle.

Seattle Metro Bus Trip Planner

Trip Planner helps you get where you’re going with information and schedules for all public transit in King, Pierce, and Snohomish counties.

Walk Score

Type any address to get its Walk Score – a measure of the walkability of the surrounding neighborhood, courtesy of Front Seat Management.

Zipcar

Owning a car is expense, so try Zipcar – the nation’s largest car-sharing service. Just complete an online application, receive your Zipcard and you can begin driving right away.

Bike Buddy

Meet up with a bike mentor to review equipment, map a route or join you for a test ride.

Sound Transit

Trip maps, ride alerts, schedules and project updates on the region’s transit system. This summer, check out Sounder Commuter rail and Tacoma Link Light Rail. Soon Link light rail service from Seatac to downtown Seattle will be available

Washington State Ferries

Come take a ride on the nation’s largest ferry system. Enjoy some of the best views of city – from Elliott Bay.

Elliott Bay Water Taxi

Water taxi service between Pier 55 and the Seacrest Dock in West Seattle takes about 12 minutes. Buses are synched to take you to Alki Beach.

Calling Web Services Asynchronously with ASP.NET

Tuesday, June 17th, 2008

Very nice introduction to web services with ASP.NET video.

[blipit id=”375615″]

This was perfect for what I’m working on today.

Daily video

Tuesday, June 17th, 2008

Wordle me

Monday, June 16th, 2008

I’ve always said I was half designer half developer and my del.icio.us tags seems to show that thanks to Wordle

Programming the Phoenix Mars Lander

Tuesday, June 10th, 2008

183567main_pia09942-516I found out about an article about programming the Phoenix Mars Lander from the Phoenix’s twitter today.  First off I have to say that I’m really enjoying the twitter feed from the lander team.  I think it’s fantastic that it’s written in the first person from the probe’s point of view.  It really has helped create a personal connection for me with the robot.  Which of course sounds like I’ve gone crazy.

If you use twitter you should follow the Phoenix.

There’s an article up on ComputerWorld about the software development effort involved with controlling the Phoenix.

30 engineers and programmers at NASA who are tasked with writing and testing 1, clinic 000 to 1, life 500 lines of software code and then beaming it about 170 million miles away — every day.

This type of project is the sort of things many developers dream about.  Writing code for a robot that’s on another planet, is pretty brag worthy in developer circles.

“Space is a harsh environment, and sometimes they just go into safe mode, It’s a minor problem.” – Matthew Robinson, robotic arm flight software engineer

Keep up the amazing work.

The Internets is brokes

Friday, June 6th, 2008

183567main_pia09942-516I found out about an article about programming the Phoenix Mars Lander from the Phoenix’s twitter today.  First off I have to say that I’m really enjoying the twitter feed from the lander team.  I think it’s fantastic that it’s written in the first person from the probe’s point of view.  It really has helped create a personal connection for me with the robot.  Which of course sounds like I’ve gone crazy.

If you use twitter you should follow the Phoenix.

There’s an article up on ComputerWorld about the software development effort involved with controlling the Phoenix.

30 engineers and programmers at NASA who are tasked with writing and testing 1, clinic 000 to 1, life 500 lines of software code and then beaming it about 170 million miles away — every day.

This type of project is the sort of things many developers dream about.  Writing code for a robot that’s on another planet, is pretty brag worthy in developer circles.

“Space is a harsh environment, and sometimes they just go into safe mode, It’s a minor problem.” – Matthew Robinson, robotic arm flight software engineer

Keep up the amazing work.

183567main_pia09942-516I found out about an article about programming the Phoenix Mars Lander from the Phoenix’s twitter today.  First off I have to say that I’m really enjoying the twitter feed from the lander team.  I think it’s fantastic that it’s written in the first person from the probe’s point of view.  It really has helped create a personal connection for me with the robot.  Which of course sounds like I’ve gone crazy.

If you use twitter you should follow the Phoenix.

There’s an article up on ComputerWorld about the software development effort involved with controlling the Phoenix.

30 engineers and programmers at NASA who are tasked with writing and testing 1, clinic 000 to 1, life 500 lines of software code and then beaming it about 170 million miles away — every day.

This type of project is the sort of things many developers dream about.  Writing code for a robot that’s on another planet, is pretty brag worthy in developer circles.

“Space is a harsh environment, and sometimes they just go into safe mode, It’s a minor problem.” – Matthew Robinson, robotic arm flight software engineer

Keep up the amazing work.

183567main_pia09942-516I found out about an article about programming the Phoenix Mars Lander from the Phoenix’s twitter today.  First off I have to say that I’m really enjoying the twitter feed from the lander team.  I think it’s fantastic that it’s written in the first person from the probe’s point of view.  It really has helped create a personal connection for me with the robot.  Which of course sounds like I’ve gone crazy.

If you use twitter you should follow the Phoenix.

There’s an article up on ComputerWorld about the software development effort involved with controlling the Phoenix.

30 engineers and programmers at NASA who are tasked with writing and testing 1, clinic 000 to 1, life 500 lines of software code and then beaming it about 170 million miles away — every day.

This type of project is the sort of things many developers dream about.  Writing code for a robot that’s on another planet, is pretty brag worthy in developer circles.

“Space is a harsh environment, and sometimes they just go into safe mode, It’s a minor problem.” – Matthew Robinson, robotic arm flight software engineer

Keep up the amazing work.

183567main_pia09942-516I found out about an article about programming the Phoenix Mars Lander from the Phoenix’s twitter today.  First off I have to say that I’m really enjoying the twitter feed from the lander team.  I think it’s fantastic that it’s written in the first person from the probe’s point of view.  It really has helped create a personal connection for me with the robot.  Which of course sounds like I’ve gone crazy.

If you use twitter you should follow the Phoenix.

There’s an article up on ComputerWorld about the software development effort involved with controlling the Phoenix.

30 engineers and programmers at NASA who are tasked with writing and testing 1, clinic 000 to 1, life 500 lines of software code and then beaming it about 170 million miles away — every day.

This type of project is the sort of things many developers dream about.  Writing code for a robot that’s on another planet, is pretty brag worthy in developer circles.

“Space is a harsh environment, and sometimes they just go into safe mode, It’s a minor problem.” – Matthew Robinson, robotic arm flight software engineer

Keep up the amazing work.

imageMan all sorts of stuff seems to be acting up lately.  First Twitter, anabolics
then Brightkite, and now even Amazon all seem to be acting unstable.  Has there been a boom in Internet usage that no one excepted or are their different reasons for each thing.

I know Twitter wasn’t really built to take on the huge and rapid growth they’ve had.  That being said I’m still a loyal customer and I’ll wait it out.  Oh, and Twitter, if you want to put some ads on their or offer a premium paid service, I would totally be cool with that.

What’s the cost effective solution for a new web service company to handle rapid growth?  How can start-up avoid the dreaded Friendster failure?

What did Digg do to make sure they didn’t get crushed under the growth of their user base?

I’m interested to hear what has cause today’s Amazon outage.  They have a ridiculous redundant system in place designed to handle all sorts of failures.  One thing is for sure I would hate to be in Jeff Bezos’ office at the moment.  I’m sure it’s not pretty at all.

Of course I blame MediaDefender for all this mess.