<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0">
    <title>TeamDesk Blog</title>
    
    <link rel="alternate" type="text/html" href="http://blog.teamdesk.net/" />
    <id>tag:typepad.com,2003:weblog-1401889</id>
    <updated>2009-07-06T08:57:03-05:00</updated>
    <subtitle>Current and future thoughts and behind-the-scene information</subtitle>
    <generator uri="http://www.typepad.com/">TypePad</generator>
    <link rel="self" href="http://feeds.feedburner.com/teamdesk" type="application/atom+xml" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">teamdesk</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><entry>
        <title>Alert System</title>
        <link rel="alternate" type="text/html" href="http://blog.teamdesk.net/2009/07/alert-system.html" />
        <link rel="replies" type="text/html" href="http://blog.teamdesk.net/2009/07/alert-system.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54ee895e98834011570d3a7aa970c</id>
        <published>2009-07-06T08:57:03-05:00</published>
        <updated>2009-07-06T08:58:43-05:00</updated>
        <summary>In this release we are introducing News &amp; Alerts system. This feature will allow us to keep administrators and regular users informed about new TeamDesk updates, announcements and maintenance alerts. Check the menu at the top of the page. There...</summary>
        <author>
            <name>Kirill Bondar</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="What's New" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.teamdesk.net/">
<div xmlns="http://www.w3.org/1999/xhtml"><p>In this release we are introducing News &amp; Alerts system.</p>
<p>This feature will allow us to keep administrators and regular users informed about new TeamDesk updates, announcements and maintenance alerts.</p>
<p><img alt="Alerts" border="0" src="http://foresoft.typepad.com/.a/6a00e54ee895e98834011571c87b49970b-800wi" title="Alerts" /></p>
<p>Check the menu at the top of the page. There is a new item that displays count of unread messages &amp; alerts. When it is displayed white on red, there is at least one unread high priority message in the list.</p></div>
</content>


    </entry>
    <entry>
        <title>New way to handle NULLs and divisions by zero</title>
        <link rel="alternate" type="text/html" href="http://blog.teamdesk.net/2009/06/handle-nulls-and-div-by-zero.html" />
        <link rel="replies" type="text/html" href="http://blog.teamdesk.net/2009/06/handle-nulls-and-div-by-zero.html" thr:count="1" thr:updated="2009-06-18T11:19:02-05:00" />
        <id>tag:typepad.com,2003:post-67952125</id>
        <published>2009-06-10T13:51:29-05:00</published>
        <updated>2009-06-10T13:44:15-05:00</updated>
        <summary>...that's what we were working on over past couple of months. When performing numeric calculations TeamDesk used to distinguish between NULL (that's when user left input field blank) and zero. NULL is a special value that does not compare to...</summary>
        <author>
            <name>Kirill Bondar</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="What's New" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.teamdesk.net/">
<div xmlns="http://www.w3.org/1999/xhtml"><p style="FONT-FAMILY: Verdana">...that's what we were working on over past couple of months.</p>
<p>When performing numeric calculations TeamDesk used to distinguish between NULL (that's when user left input field blank) and zero. NULL is a special value that does not compare to anything and requires special form of check for it. Moreover result of any arithmetical operation with NULL is also NULL and here we received a lot of questions like "I'm using the formula [A]+[B]+[C] and the result is blank value, why?" The answer is simple: A (or B or C) is blank. Ok, but for non-techie user it's a bit hard to understand.</p>
<p>We had an option that control NULL behavior during the calculations, called "Blank as zero" that substituted NULL values with zeros during the calculations but this option was often turned off.</p>
<p>Another reoccurring problem was the division by zero error. It's not a secret we are performing calculations using underlying database engine (namely, Microsoft SQL Server) and when first division by zero is encountered, it stops data extraction immediately returning the error message. Unfortunately, without any kind of location information. So user ended up with "Division by zero" message on screen with small chance to guess the formula that caused the error to fix it.</p>
<p>Finally we decided to address both problems at once.</p>
<p />

<p>For new TeamDesk applications <strong>numerical NULL values are always handled like zeros</strong>. Period. As the result, the formula can not result to NULL, since you can not produce it performing arithmetical operations. This behavior is quite similar to the spreadsheet calculations. Lookups, summaries and functions that convert from non-numeric types to numeric result to zero on blank input.</p>
<p>Division by zero now generate <strong style="COLOR: #800000">DIV/0 </strong>designator to the cell where error occurred. All subsequent calculations on such a value will also produce DIV/0. As a bonus, we are also generating <strong style="COLOR: #800000">ERR</strong> message for the formulas that do not compile.</p>
<p style="TEXT-ALIGN: center"><a href="http://foresoft.typepad.com/.a/6a00e54ee895e98834011570ee7ac3970b-pi" style="DISPLAY: inline"><img alt="Divzero" border="0" class="at-xid-6a00e54ee895e98834011570ee7ac3970b " src="http://foresoft.typepad.com/.a/6a00e54ee895e98834011570ee7ac3970b-800wi" title="Divzero" /></a></p>
<p>For those of you who are curious how it's done and how it affects the performance, keep in mind that a) you can not produce NULL with TeamDesk formulas and b) any database-level arithmetical operation with NULL produce NULL. So, now, in calculations we are using NULL as a designator of division by zero error. You may have achieve the same result before, but you had to keep in mind all those checks for NULLs and zeroes and now TeamDesk does all this for you automatically. We hope you will like it.</p>
<p>Since TeamDesk's duration type is similar to numeric all said above applies to durations as well.</p>
<p>Below is the list of changes we did to implement these features:</p>
<p>Numerical versions of <span style="FONT-FAMILY: Courier New">Nz(), IsNull(), NullIf()</span> functions are dropped as their arguments can't calculate to NULL.</p>
<p>Functions and operators, converting/calculating from other types to numeric will return zero on NULL input. These are <span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes">ToNumber(), Len(), Day(), DayOfWeek(), DayOfYear(), Month(), Quarter(), Year(), Hour(), Minute(), Second() </span>and subtraction operators <span style="FONT-FAMILY: Courier New">date - date, time - time, timestamp - timestamp.</span></p>
<p><span style="FONT-FAMILY: Courier New">Sum(a, b, c) </span>is left for compatibility but identical to <span style="FONT-FAMILY: Courier New">a + b + c.</span></p>
<p><span style="FONT-FAMILY: Courier New">If() and Case() </span><span>functions resulting to numeric and with omitted <else> arguments will return 0 instead of NULL.</else></span></p>
<p>Numeric summary columns will result to 0 when there are no records to calculate on.</p>
<p>Please note that new applications created from scratch and from templates in application library use new logic by default.</p>
<p>For now, existing applications continue to use old logic. Any copy made from such app will use old logic as well.</p>
<p>While our ultimate goal is to get rid of old code, we undestand that this change heavily affects the compatibility and migration to the new logic will need careful review and will take some time. We are planning to announce formula analysis tools to ease the migration in a next few days.</p></div>
</content>


    </entry>
    <entry>
        <title>Coghead Import Tool: Release Notes</title>
        <link rel="alternate" type="text/html" href="http://blog.teamdesk.net/2009/02/coghead-import-relnotes.html" />
        <link rel="replies" type="text/html" href="http://blog.teamdesk.net/2009/02/coghead-import-relnotes.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-63324181</id>
        <published>2009-02-27T09:06:00-06:00</published>
        <updated>2009-03-11T09:15:26-05:00</updated>
        <summary>03-11-2009 Minor update: fixed restoration from schema-only backups added support for decimal data type 02-27-2009 An update was released today. Here is the list of changes: Previous all-or-nothing transactional model has been deprecated. The tool still stops on first error...</summary>
        <author>
            <name>Kirill Bondar</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="What's New" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.teamdesk.net/">
<div xmlns="http://www.w3.org/1999/xhtml"><p><strong>03-11-2009</strong></p>
<p>Minor update: </p>
<ul>
<li>fixed restoration from schema-only backups</li>
<li>added support for decimal data type</li>
</ul>
<p><strong>02-27-2009</strong></p>
<p>An update was released today. Here is the list of changes:</p>
<ul>
<li>Previous all-or-nothing transactional model has been deprecated. The tool still stops on first error when parsing the data model, however the data import pass now logs all errors to the application dashboard. It would be faster to correct few data errors by hand rather than wait for tool's update;</li>
<li>Attachment files are now imported;</li>
<li>Added support for multi-application backup files. As TeamDesk does not support links between applications, everything is imported into a single app;</li>
<li>Calculated values and aggregates are mapped to formula types to ease the transition; The formula still needs to be rewritten manually;</li>
<li>Coghead groups are displayed as collapsible sections in the form. As sections in TeamDesk do not nest, nested groups may generate empty sections - they should be removed manually;</li>
<li>Now we are trying to create column's name from widget's label. Duplicate names are resolved by adding numeric suffix to a name;</li>
<li>For the links, the lookup field is generated for the display value.</li>
</ul>
<br />
<p><strong>02-25-2009</strong></p>
<p>First beta version of Coghead Import Tool was released.</p>
<p>Due to differences in the Coghead and TeamDesk architectures, parsing Coghead backup to create TeamDesk application that works identically is almost impossible task, so we have concentrated mainly on importing the data model and the data.</p>
<p>Coghead does not limit the length of the strings. TeamDesk, rather, provides two separate types: Text, with limited length, and Multi-line Text. The length of the text in the latter is not limited. While importing, we are looking at the widget associated with the field. If it is a multiline input box or rich-text widget, we are importing to Multi-line text. </p>
<p>Coghead uses hierarchical storage for the groups. TeamDesk uses table model. Coghead groups are imported into separate table named Table:Group linked to the main table.</p>
<p>For calculated fields and aggregates the formula is not translated: the formula language, Coghead uses is absolutely different from TeamDesk and writing the translator will take a lot of time. Values from these columns are imported, the formulas are placed in the column description. After the import these columns can be eventually converted to TeamDesk counterparts: Formulas and Summaries.<strong> (changed)</strong></p>
<p>Coghead's links provide display property. TeamDesk separates the value to display via Lookup columns. Display property is ignored when importing the link. <strong>(fixed)</strong></p>
<p>Importing of grids (linked lists) is not supported, though they may be re-created in TeamDesk through relationships and views.</p>
<p>Attachment fields are created, yet files are not imported. This will be fixed in the next version of the tool. <strong>(fixed)</strong></p>
<p>The tool will evolve. If it does not do something right now, it does not mean it will never do it. Check back periodically, we'll update this article when new features will be available.<br /> </p></div>
</content>


    </entry>
    <entry>
        <title>Coghead migration program</title>
        <link rel="alternate" type="text/html" href="http://blog.teamdesk.net/2009/02/coghead-migration-program.html" />
        <link rel="replies" type="text/html" href="http://blog.teamdesk.net/2009/02/coghead-migration-program.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-63063203</id>
        <published>2009-02-19T10:42:45-06:00</published>
        <updated>2009-02-19T10:43:43-06:00</updated>
        <summary>Top story of the day: Coghead said that it is shutting down "due to the impact of economic challenges." Well, we are ready to offer help to Coghead customers with migration of their applications and the data to TeamDesk. Please...</summary>
        <author>
            <name>Kirill Bondar</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="What's New" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.teamdesk.net/">
<div xmlns="http://www.w3.org/1999/xhtml"><p>Top story of the day: <em>Coghead</em> said that it is shutting down "due to the impact of economic challenges."</p>
<p>Well, we are ready to offer help to Coghead customers with migration of their applications and the data to TeamDesk.</p>
<p>Please check our <a href="http://www.teamdesk.net/coghead.html" target="_blank" title="Migrate from Coghead to TeamDesk">migration program</a>, or simply contact <a href="mailto:support@teamdesk.net" title="Contact TeamDesk support">TeamDesk support</a>.</p></div>
</content>


    </entry>
    <entry>
        <title>Visualizing relationships</title>
        <link rel="alternate" type="text/html" href="http://blog.teamdesk.net/2008/12/visualizing-relationships.html" />
        <link rel="replies" type="text/html" href="http://blog.teamdesk.net/2008/12/visualizing-relationships.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-60357498</id>
        <published>2008-12-23T12:01:09-06:00</published>
        <updated>2008-12-23T12:01:09-06:00</updated>
        <summary>Once you have more than one table in your TeamDesk application, the relationships become its core functionality. They allow you to pull and calculate the information from related tables. To display the relationships TeamDesk provides two lists. One, accessible from...</summary>
        <author>
            <name>Kirill Bondar</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Behind the Scenes" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.teamdesk.net/">
<div xmlns="http://www.w3.org/1999/xhtml"><p>Once you have more than one table in your <a href="http://www.teamdesk.net/" target="_blank">TeamDesk</a> application, the relationships become its core functionality. They allow you to pull and calculate the information from related tables.</p>
<p>To display the relationships TeamDesk provides two lists. One, accessible from the left side bar displays all relations in your application. And when you select the table and click on Manage Relations link on a main page, the list is filtered to display only the relations from and to selected table.</p>
<p>Good, but what's next? We tried to display essential relationship information in its name: table names, a key and reference columns. But there are much more; what are match conditions? which lookups and summaries are created on the relation? which view is used to display the details?</p>
<p />

<p>This information is not displayed on the list; in order to browse you should select the relation and go to relationship information page. Click, click, click... that is what we want to get rid of.</p>
<p>See the screenshot from TeamDesk Idea Exchange application</p>
<p><a href="http://foresoft.typepad.com/.a/6a00e54ee895e988340105368eec37970b-pi" style="DISPLAY: inline"><img alt="Newrel" border="0" class="at-xid-6a00e54ee895e988340105368eec37970b " src="http://foresoft.typepad.com/.a/6a00e54ee895e988340105368eec37970b-800wi" title="Newrel" /></a>  </p>
<p>Here, we try to display all the information you may need from the relations in a <em>current table</em> context.</p>
<p><strong>References</strong> section displays the list of master tables (one-side) the selected table (many-side) is connected to as groups. Under the group, lookup columns are listed. The relationship description is now human readable: Ideas table references Categories table via Category field. From there you may edit relation's settings (Edit button), delete it (Delete Button) or add new lookup column without going inside.</p>
<p><strong>Selections</strong> section displays the list of detail tables (many-side) for the selected table (one-side). Match conditions, detail views and complete information from summary columns are at your fingertips as well.</p>
<p>We found the new list much more convenient than the old one. To see it in action, navigate to Setup, select the table, on the main page click Manage Relation link in the Table section. Then append the string "&amp;new=" (without quotes) to the URL, try it and tell us what do you think.</p></div>
</content>


    </entry>
    <entry>
        <title>Dynamic calculation feature</title>
        <link rel="alternate" type="text/html" href="http://blog.teamdesk.net/2008/11/dynamic-calculation-feature.html" />
        <link rel="replies" type="text/html" href="http://blog.teamdesk.net/2008/11/dynamic-calculation-feature.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-57995954</id>
        <published>2008-11-04T08:58:01-06:00</published>
        <updated>2008-11-04T08:58:01-06:00</updated>
        <summary>New TeamDesk dynamic calculation feature mixes the best from both column and formula worlds. Have you ever encountered the situation when the certain value is usually calculated from other values, but in some cases you need to enter it manually?...</summary>
        <author>
            <name>Kirill Bondar</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="What's New" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.teamdesk.net/">
<div xmlns="http://www.w3.org/1999/xhtml"><p>New <a href="http://www.teamdesk.net">TeamDesk</a> dynamic calculation feature mixes the best from both column and formula worlds.</p>
<p>Have you ever encountered the situation when the certain value is usually calculated from other values, but in some cases you need to enter it manually?</p>
<p>In TeamDesk you are usually did it with three columns: a formula or lookup to calculate the value, a column to store manual override and another formula to check if there is a value in a column to use it, or to use calculated one.</p>
<p>Now it's all quite simple. Default Value formula has been extended to accept the use of other columns and works not only when new record is created, but also when any column used in the formula changes its value. To reflect added functionality we have renamed Default Value to Default/Calculate.</p>
<p>See it in action:</p>
<p style="text-align: center">
<object height="344" style="MARGIN: 0px auto" width="425"><param name="movie" value="http://www.youtube.com/v/30m0EuVfwCs" />
  <embed height="344" src="http://www.youtube.com/v/30m0EuVfwCs" type="application/x-shockwave-flash" width="425" /> </object></p>
<p>Here, we are editing Invoice Detail table. When product is selected, its catalog price is copied to item's price column. Discount, as well as total is dynamically updated. Now we lower item's price. Again, the discount and total are recalculated. And what if we change items' quantity? Recalculated. Change discount percentage? Recalculated. And finaly we change the discount value - the total is updated.</p>
<p>Let's list some common usage scenarios:</p>
<p>PROBLEM: When Status changes to Completed fill Date Completed with current date.</p>
<p>SOLUTION: Use Case([Status], "Completed", Today()) formula for Date Completed default/calculate value.</p>
<p>PROBLEM: The price should never change for the invoice item even if the catalog price changes at later date in related Product table.</p>
<p>SOLUTION: Create Price column in the Invoice Details table and use Product's Price lookup as its default/calculate value.</p></div>
</content>


    </entry>
    <entry>
        <title>API breaking change</title>
        <link rel="alternate" type="text/html" href="http://blog.teamdesk.net/2008/11/api-breaking-change.html" />
        <link rel="replies" type="text/html" href="http://blog.teamdesk.net/2008/11/api-breaking-change.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-57987610</id>
        <published>2008-11-04T04:51:41-06:00</published>
        <updated>2008-11-04T04:51:41-06:00</updated>
        <summary>As a part of the preparation to enrolling new calculation feature, we've made breaking change in the TeamDesk API. Before, passing NULL as the column value to the Create() function was the sign to API to use default column value....</summary>
        <author>
            <name>Kirill Bondar</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="What's New" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.teamdesk.net/">
<div xmlns="http://www.w3.org/1999/xhtml"><p>As a part of the preparation to enrolling new calculation feature, we've made breaking change in the <a href="http://www.teamdesk.net">TeamDesk</a> API.</p>
<p>Before, passing NULL as the column value to the Create() function was the sign to API to use default column value.</p>
<p>As now we need to distinguish between column's NULL and column's default, passing NULL now means NULL value, while omiting the column from the XML uses default value.</p>
<p>Following scenario is affected by the change:</p>
<p><code><pre style="FONT-SIZE: 10pt"><span style="COLOR: #008000">/// Get empty DataTable with all columns</span>
DataTable dt = ToDataTable(api.Query("SELECT TOP 0 * FROM [Contacts]"));
DataRow dr = dt.NewRow();
dr["First Name"] = "John";
dr["Last Name"] = "Doe";
dt.Rows.Add(dr);
api.Create("Contacts", FromDataTable(dt));</pre></code></p>
<p>In old API version the new row will be initialized with default value during the Create() call. In a new version, Create() call will fail with a "Cannot insert empty value into column "Id" message.</p>
<p>To overcome the problem, request the columns you plan to pass the values for. The easiest way to do it is to rewrite the code to get empty data table via Retrieve() call:</p>
<p><code><pre style="FONT-SIZE: 10pt">string[] columnList = new string[] { "First Name", "Last Name" };
<span style="COLOR: #008000">/// Get empty DataTable with selected columns</span>
DataTable dt = ToDataTable(api.<span style="COLOR: #0080ff">Retrieve</span>("Contacts", columnList, new int[] {0});
DataRow dr = dt.NewRow();
dr["First Name"] = "John";
dr["Last Name"] = "Doe";
dt.Rows.Add(dr);
api.Create("Contacts", FromDataTable(dt));</pre></code></p>
<p>Please update your code.</p></div>
</content>


    </entry>
    <entry>
        <title>An architect of your success </title>
        <link rel="alternate" type="text/html" href="http://blog.teamdesk.net/2008/10/teamdesk-the-architect-of-your-success.html" />
        <link rel="replies" type="text/html" href="http://blog.teamdesk.net/2008/10/teamdesk-the-architect-of-your-success.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-57610949</id>
        <published>2008-10-27T11:00:35-05:00</published>
        <updated>2008-10-27T11:00:35-05:00</updated>
        <summary>When our customers tell us that thank to TeamDesk they manage to save considerable amounts of money and have higher business rates, we can’t help but share the case. "The estimating software I have developed with TeamDesk is more flexible,...</summary>
        <author>
            <name>Anna Vovk</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Client Stories" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.teamdesk.net/">
<div xmlns="http://www.w3.org/1999/xhtml"><p>When our customers tell us that thank to TeamDesk they manage to save considerable amounts of money and have higher business rates, we can’t help but share the case. </p>
<p><em>"The estimating software I have developed with TeamDesk is more flexible, and allows for more customization creating "cost assemblies" than 95% of the software available. I like it better than the $15,000 estimating software I was using for 4 years at my last firm. Most estimators I know, love their spreadsheets. Once you use TeamDesk, you will never go back."</em></p>
<p><a href="http://www.teamdesk.net/casestudies.html?id=24">(read the full story)</a></p>
<p>We really proud ourselves on helping our users to reach better results and work more efficiently. It is really exiting to know that after using spreadsheet for years somebody can totally change his preferences.</p></div>
</content>


    </entry>
    <entry>
        <title>Browsers Moving to Standards</title>
        <link rel="alternate" type="text/html" href="http://blog.teamdesk.net/2008/09/browsers-moving.html" />
        <link rel="replies" type="text/html" href="http://blog.teamdesk.net/2008/09/browsers-moving.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-55367042</id>
        <published>2008-09-09T11:04:06-05:00</published>
        <updated>2008-09-09T11:04:06-05:00</updated>
        <summary>When Google announced they plan to release the new browser, our first thought was: what's the hell! Another browser, more compatibility problems. Luckily for us and our users, Google Chrome is based on the WebKit, the engine behind Safari we...</summary>
        <author>
            <name>Kirill Bondar</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Behind the Scenes" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.teamdesk.net/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;When Google announced they plan to release the new browser, our first thought was: what's the hell! Another browser, more compatibility problems. Luckily for us and our users, Google Chrome is based on the WebKit, the engine behind Safari we support from very beginning.&lt;/p&gt;

&lt;p&gt;Used to TeamDesk? Here is the screenshot from Google Chrome. Find ten differences :)&lt;/p&gt;

&lt;p&gt;&lt;a href="http://foresoft.typepad.com/photos/uncategorized/2008/09/09/chrome.gif"&gt;&lt;img title="Chrome" class="image-full" alt="Chrome" src="http://foresoft.typepad.com/photos/uncategorized/2008/09/09/chrome.gif" border="0" complete="true" complete="true" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Another big player, Microsoft, also released new beta version of Internet Explorer 8 last month. They promise it will be super-standard compatible, faster and stable. Unfortunately, the page successfully rendered by all up-to-date browsers including IE7, does not render properly with IE8 as it draws one tab per line in &amp;quot;standards mode&amp;quot;. It looks like it is the only problem though, and we'll apply all of our skills to find out who’s fault is it.&lt;/p&gt;

&lt;p&gt;If you are wondering whether TeamDesk is ready for web standards, the answer is &amp;quot;yes&amp;quot;.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://foresoft.typepad.com/photos/uncategorized/2008/09/09/chrome.gif"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
</content>


    </entry>
    <entry>
        <title>Help is updated</title>
        <link rel="alternate" type="text/html" href="http://blog.teamdesk.net/2008/09/help-is-updated.html" />
        <link rel="replies" type="text/html" href="http://blog.teamdesk.net/2008/09/help-is-updated.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-55315172</id>
        <published>2008-09-08T13:42:06-05:00</published>
        <updated>2008-09-08T13:42:06-05:00</updated>
        <summary>... to describe recently added TeamDesk functionality such as workflow rules. Enjoy!</summary>
        <author>
            <name>Kirill Bondar</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="What's New" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.teamdesk.net/">
<div xmlns="http://www.w3.org/1999/xhtml"><p>... to describe recently added TeamDesk functionality such as <a href="http://www.teamdesk.net/help/#11">workflow rules</a>. Enjoy!</p></div>
</content>


    </entry>
 
</feed><!-- ph=1 --><!-- nhm:dynamic-ssi -->
