<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://community.devexpress.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ctodx</title><link>http://community.devexpress.com/blogs/ctodx/default.aspx</link><description>Discussions, news and rants from the CTO of Developer Express, Julian M Bucknall</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 SP1 (Build: 30415.43)</generator><item><title>DevExpress Newsletter 5: Message from the CTO</title><link>http://community.devexpress.com/blogs/ctodx/archive/2009/07/01/devexpress-newsletter-5-message-from-the-cto.aspx</link><pubDate>Wed, 01 Jul 2009 18:33:33 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:267315</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>14</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=267315</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2009/07/01/devexpress-newsletter-5-message-from-the-cto.aspx#comments</comments><description>&lt;p&gt;Here&amp;#39;s the Message from the CTO from the fifth DevExpress Newsletter:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Being first or being best...&lt;/p&gt;    &lt;p&gt;It&amp;#39;s a problem to be sure. You&amp;#39;re working on a software solution for some new problem space. You know your competitors are working on similar solutions. What do you do: produce the best solution you possibly can, or release something quickly, but not quite as high quality or not quite as full-featured, just to be first?&lt;/p&gt;    &lt;p&gt;On the one hand, you&amp;#39;re First. People will buy and then perhaps get &amp;quot;locked in&amp;quot; to your solution. You have the opportunity to do some of that dreaded marketing, but you also have the problem of persuading people that the problem space is worth solving.&lt;/p&gt;    &lt;p&gt;On the other hand, you have the opportunity to see what the first guy is doing, and how it falls short. You can modify your development to target the shortcomings. Maybe it&amp;#39;s performance, maybe it&amp;#39;s ease-of-use, maybe it&amp;#39;s data import/export, or reliability or stability. No matter what, you have the ability to be more measured in your release. It&amp;#39;s not guaranteed that you&amp;#39;ll be able to persuade customers to buy yours or switch, but you&amp;#39;ll have a better chance should the problem space be worth solving.&lt;/p&gt;    &lt;p&gt;Over the years DevExpress have been in the former camp and sometimes in the latter. With our WPF controls, we&amp;#39;re firmly in the latter: we wanted to understand what people wanted (and whether the market was there) and we&amp;#39;re almost ready to issue our first release. So expect better performance, improved ease-of-use, a more intuitive API, and all the other good things.&lt;/p&gt;    &lt;p&gt;Next time, maybe we&amp;#39;ll be first, and best...&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;It&amp;#39;s the dichotomy we all face when writing software for sale. I&amp;#39;m reminded of it with the iPhone App Store, which is a place you can see this First vs. Best natural selection going on all the time. So long as the stuff you want to buy isn&amp;#39;t &amp;quot;Duke Nukem Forever&amp;quot;...&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=267315" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Sneak peek: Not only 2D funnel charts but 3D ones too</title><link>http://community.devexpress.com/blogs/ctodx/archive/2009/06/23/sneak-peek-not-only-2d-funnel-charts-but-3d-ones-too.aspx</link><pubDate>Tue, 23 Jun 2009 23:14:52 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:266275</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=266275</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2009/06/23/sneak-peek-not-only-2d-funnel-charts-but-3d-ones-too.aspx#comments</comments><description>&lt;p&gt;One of a series of posts on the new functionality that&amp;#39;ll appear in DXperience v2009 vol 2. This is all pre-beta stuff. The beta will be released to DXperience Enterprise and Universal customers at the beginning of July.&lt;/p&gt;  &lt;p&gt;Ha! Didn&amp;#39;t take long. Our chart guys decided to make the funnel chart &lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2009/05/29/sneak-peek-funnel-charts-in-xtracharts-v2009-vol-2-asp-net-winforms.aspx"&gt;described here&lt;/a&gt; into a 3D one as well:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/image_4F1FAA8F.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="3D Funnel chart" border="0" alt="3D Funnel chart" src="http://community.devexpress.com/blogs/ctodx/image_thumb_683B04C7.png" width="608" height="480" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Love the rendering of an &amp;quot;interior&amp;quot; to the funnel.&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=266275" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraCharts/default.aspx">XtraCharts</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Charting/default.aspx">Charting</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2009.2/default.aspx">v2009.2</category></item><item><title>Sneak peek: Scale breaks in WinForms and web charts</title><link>http://community.devexpress.com/blogs/ctodx/archive/2009/06/23/sneak-peek-scale-breaks-in-winforms-and-web-charts.aspx</link><pubDate>Tue, 23 Jun 2009 23:01:17 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:266273</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=266273</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2009/06/23/sneak-peek-scale-breaks-in-winforms-and-web-charts.aspx#comments</comments><description>&lt;p&gt;One of a series of posts on the new functionality that&amp;#39;ll appear in DXperience v2009 vol 2. This is all pre-beta stuff. The beta will be released to DXperience Enterprise and Universal customers at the beginning of July.&lt;/p&gt;  &lt;p&gt;This particular new feature has been requested for a while and is essential for bar charts or line charts where the point coordinates for the Y-axis vary widely (or maybe wildly). &lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/image_37C19C3D.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="Scale breaks in XtraCharts" border="0" alt="Scale breaks in XtraCharts" src="http://community.devexpress.com/blogs/ctodx/image_thumb_151D5DC2.png" width="608" height="480" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Certainly you can use logarithmic scales to bring the coordinates into control or into view, but the interpretation of and relationships between the data points become a little more difficult. Scale breaks divide up the axis in to disjoint &amp;quot;bands&amp;quot;, so that you can still get some understanding of how the data differs. Note that there can still be some difficulty, but it&amp;#39;s a different quality than from trying to interpret logs. &lt;/p&gt;  &lt;p&gt;Of course, using neither logs or scale breaks means that the &amp;quot;large&amp;quot; data overpowers the &amp;quot;small&amp;quot; data, which could be, in itself, difficult to interpret (imagine the above chart as a normal bar chart: the bar for Jupiter would be 30 times the height of that of the inner four planets, dominating the chart, and it would be then hard to understand the relationship between the inner four&amp;#39;s data).&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=266273" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraCharts/default.aspx">XtraCharts</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Charting/default.aspx">Charting</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2009.2/default.aspx">v2009.2</category></item><item><title>From the DevExpress Labs: Early preview of ASP.NET MVC grid</title><link>http://community.devexpress.com/blogs/ctodx/archive/2009/06/19/from-the-devexpress-labs-early-preview-of-asp-net-mvc-grid.aspx</link><pubDate>Fri, 19 Jun 2009 16:44:42 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:265842</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>14</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=265842</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2009/06/19/from-the-devexpress-labs-early-preview-of-asp-net-mvc-grid.aspx#comments</comments><description>&lt;p&gt;We can&amp;#39;t help it. We love grids. We love new technology. So the opportunity to marry them together is irresistible. Here&amp;#39;s a very early preview of what could become a new product, although I emphasize there is a very long way to go. So don&amp;#39;t ask about release dates or betas just yet, just enjoy.&lt;/p&gt;  &lt;p&gt;We were slightly dissatisfied with the &amp;quot;force your ASP.NET controls to work in ASP.NET MVC&amp;quot; solution and wondered if there was a way to write a &amp;quot;native&amp;quot; control for ASP.NET MVC. You know the patter by now: MVC gives you full control over your HTML and CSS, etc, and ASP.NET controls tend to be &amp;quot;heavy&amp;quot; in that kind of environment. So, a team went off and did some experiments and wrote some code.&lt;/p&gt;  &lt;p&gt;Here&amp;#39;s a screenshot of the resulting control:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/image_7B8EA4E7.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://community.devexpress.com/blogs/ctodx/image_thumb_6EB44EC9.png" width="640" height="252" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;First off, it&amp;#39;s read-only; no editing of data yet. But, nevertheless, it&amp;#39;s fully interactive: click on the column headers to sort by those headers, drag a header to rearrange the columns:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://community.devexpress.com/blogs/ctodx/image_1EFB2380.png" width="423" height="157" /&gt; &lt;/p&gt;  &lt;p&gt;As you can see by the navigation links bottom right, the grid is paged.&lt;/p&gt;  &lt;p&gt;And the &lt;em&gt;pièce de résistance&lt;/em&gt;: a snapshot of the HTML behind it:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/image_455D06CB.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://community.devexpress.com/blogs/ctodx/image_thumb_22B8C850.png" width="529" height="482" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Is that clean or what? Some nifty REST links, and it&amp;#39;s all ready for that extra touch of custom CSS.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;At present there&amp;#39;s quite a bit of code that needs to be written to get this up-and-running, and, as this is likely to change, I won&amp;#39;t go into any details here. But, note that MVC, in comparison to the traditional ASP.NET, will always require you to write some code. It&amp;#39;s that whole &amp;quot;getting full control&amp;quot; thing again.&lt;/p&gt;  &lt;p&gt;But, despite all that, a brilliant bit of work from our ASP.NET MVC team. Thanks, guys.&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=265842" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category></item><item><title>VCL 2009 roadmap</title><link>http://community.devexpress.com/blogs/ctodx/archive/2009/06/17/vcl-2009-roadmap.aspx</link><pubDate>Wed, 17 Jun 2009 23:32:18 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:265507</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>30</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=265507</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2009/06/17/vcl-2009-roadmap.aspx#comments</comments><description>&lt;p&gt;Despite the replies I&amp;#39;ve posted in forum posts over the past few months about our VCL roadmap, they&amp;#39;re proving hard to find. Indeed, I couldn&amp;#39;t find my previous answers myself and I wrote them. Sigh. Someone needs to teach me how to add searchable keywords...&lt;/p&gt;  &lt;p&gt;Anyway, a quick recap of the 2009 roadmap for VCL customers is in order:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ExpressQuantumTreeList v5 is almost done.&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Will be released in Build 44 in a few days. &lt;/li&gt;      &lt;li&gt;Details on new features here: &lt;a href="http://community.devexpress.com/blogs/theprogressbar/archive/2009/06/05/expressquantumtreelist-5-new-features.aspx"&gt;ExpressQuantumTreeList 5 – New Features&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;ExpressLayout Control v2 &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;First beta will be released in Build 44&lt;/li&gt;      &lt;li&gt;List of features will be published with Build 44 (I&amp;#39;ll publish them in a blog post then)&lt;/li&gt;      &lt;li&gt;Aiming for an August release&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;ExpressPrinting System v4 &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Beta in August&lt;/li&gt;      &lt;li&gt;Release in September/October&lt;/li&gt;      &lt;li&gt;Features include:&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;PDF support&lt;/li&gt;        &lt;li&gt;Separate the ReportLink packages into design and runtime parts&lt;/li&gt;        &lt;li&gt;Skinnable dialogs to bring visual consistency in skinned applications&lt;/li&gt;        &lt;li&gt;Add the capability to display the Print Preview dialog using the Ribbon style (to bring visual consistency in Ribbon style applications)&lt;/li&gt;        &lt;li&gt;Add the capability to print TcxLabel controls&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;ExpressQuantumGrid v7&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Beta in Q4 perhaps.&lt;/li&gt;      &lt;li&gt;Release late in the year, maybe next year&lt;/li&gt;      &lt;li&gt;No official details on features yet&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=265507" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/VCL/default.aspx">VCL</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/roadmap/default.aspx">roadmap</category></item><item><title>SD Times 100 Award</title><link>http://community.devexpress.com/blogs/ctodx/archive/2009/06/17/sd-times-100-award.aspx</link><pubDate>Wed, 17 Jun 2009 23:08:31 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:265504</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=265504</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2009/06/17/sd-times-100-award.aspx#comments</comments><description>&lt;p&gt;SD Times has just announced the winners for their 2009 SD Times 100 awards, the 100 companies that have influenced and innovated the most in our industry. Actually that&amp;#39;s not quite right: although they&amp;#39;ve just published the list on their website, last week they &amp;quot;leaked&amp;quot; the awards ahead of time by tweeting them on Twitter.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.sdtimes.com/ZEICHICK_S_TAKE_AND_THE_WINNERS_ARE_/By_ALAN_ZEICHICK/33553"&gt;&lt;img style="border-bottom:0px;border-left:0px;margin:0px 0px 0px 15px;display:inline;border-top:0px;border-right:0px;" title="SD Times 2009 award" border="0" alt="SD Times 2009 award" align="right" src="http://community.devexpress.com/blogs/ctodx/image_75B16415.png" width="120" height="124" /&gt;&lt;/a&gt; For the third year in a row, DevExpress was given one of the awards in the Components and Libraries section. W00t! I must say it&amp;#39;s always good to be recognized as one of the &amp;quot;companies that have stayed on top of the latest platforms and protocols&amp;quot;. It&amp;#39;s a tough job, but someone&amp;#39;s got to do it.&lt;/p&gt;  &lt;p&gt;Thanks Alan and David and all of the other editors for the recognition!&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=265504" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/awards/default.aspx">awards</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/SDTimes/default.aspx">SDTimes</category></item><item><title>Graph databases</title><link>http://community.devexpress.com/blogs/ctodx/archive/2009/06/17/graph-databases.aspx</link><pubDate>Wed, 17 Jun 2009 22:40:21 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:265502</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=265502</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2009/06/17/graph-databases.aspx#comments</comments><description>&lt;p&gt;There&amp;#39;s a new database concept in town devised especially to store a traditional computer science data structure: a graph or a network. This type of database is called a &lt;em&gt;graph database&lt;/em&gt; or, sometimes, a &lt;em&gt;key/value database&lt;/em&gt;. They&amp;#39;ve come to the fore recently because of an extremely good open source implementation in Java called &lt;a href="http://neo4j.org/"&gt;Neo4j&lt;/a&gt;, released a couple of months ago. There&amp;#39;s none that I can find for .NET yet, although I suppose some enterprising C# dev may be converting Neo4j &lt;em&gt;à la&lt;/em&gt; NHibernate.&lt;/p&gt;  &lt;p&gt;If you&amp;#39;ve done much database work, you&amp;#39;ll know that although relational databases work extremely well for what we may describe as traditional data, data for which we know the attributes ahead of time and that naturally falls into what you might call a tabular form, rows and columns. Customers, orders, order lines and so on so forth. (I know, I know, a gross over-generalization.) In essence because the data has such structure (or because we&amp;#39;ve been able to impose such a structure on it) modern RDBMSs have optimized the heck out of themselves and out of SQL. We achieved simplicity of abstraction, robustness of implementation, great performance with these database servers, however there&amp;#39;s still one area where the story is not quite so simple: scalability (we tend to throw faster hardware at our database server, not necessarily more servers).&lt;/p&gt;  &lt;p&gt;Although RDBMSs have given us a lot of benefits and a great abstraction for many years, they&amp;#39;ve become a jack-of-all-trades type solution rather than being the best at everything. The example I&amp;#39;ve given so far is scalability: with an RDBMS we add more disks, replace the processor with a faster one, and so on, when the access load starts to bite. Because of the inherent complexity of the whole RDBMS it&amp;#39;s really hard to add another server. There&amp;#39;s whole decisions about partitioning the database in the most efficient manner and other types of problems. If you are running a large web site or are running many heavily-loaded web services, a single database server will be your bottleneck.&lt;/p&gt;  &lt;p&gt;Another problem with relational database systems is the &amp;quot;baking in&amp;quot; of initial design decisions. How many times have you run into the issue of &amp;quot;oops, we forgot this attribute for this data type&amp;quot; and then have to rebuild your schema to accommodate it? Easy enough during development of the first version, but ruddy hard in version 3.0 when the schema is &amp;quot;bedded down&amp;quot; and you are really loath to change it. I&amp;#39;m sure we&amp;#39;ve all done the &amp;quot;add this special code to the Description field to store this attribute&amp;quot; hack.&amp;#160; &lt;/p&gt;  &lt;p&gt;Yet another problem is the fact that, in order to try and mitigate the above issue perhaps, you add many columns to your records and end up with a &lt;em&gt;sparse table,&lt;/em&gt; where not every record stores the same data and so columns have little data in them, maybe just values for a few records only.&lt;/p&gt;  &lt;p&gt;Finally -- and I&amp;#39;m not trying to nail down the coffin lid here, just pointing out issues with the relational model -- we have what might be called the social media issue or the six degrees of separation problem. More and more of our data forms a network or a graph. In computer science a graph is a set of nodes and edges, the latter being the links between the nodes. A simple binary tree is a graph, a very simple one where the edges only go between a parent and its children. Imagine a graph that describes the interstate system in the US: we have cities as nodes, and then the edges are the various highways. We can attach attributes to the nodes and we can attach attributes to the interstates. Sometimes those attributes will be the same for all nodes (for example, population, area) and for all edges (distance), but there may be other attributes that do not apply to all cities (name of main island would apply to New York, but not Denver). Another example of such a model is Twitter, where the nodes are people on the service and the edges are defined by the &amp;quot;follows&amp;quot; relation. (In fact, here the edge is &lt;em&gt;directed&lt;/em&gt;, the link has a direction, an arrow. I may be following you, but it doesn&amp;#39;t mean you are following me back.) Persisting this kind of network model is not geared to a relational database, especially when you want to ask questions like &amp;quot;Am I following someone who is following Joe Blow?&amp;quot;.&lt;/p&gt;  &lt;p&gt;Whether a node or an edge, you are modeling key/value pairs. Each entity in your model has a key (so you can find it again) and a value (which can be a whole list of properties, themselves key/value pairs).&amp;#160; &lt;/p&gt;  &lt;p&gt;The various cloud implementations have been pointing the way for a while: if you store database-type data in the cloud, you basically give up a wonderful traditional (academic?) normalized relational schema and go for something more on the wild side. individual tables that you load with data and query the heck out of (Azure uses LINQ, for example). No relations between tables (unless you code that in, in some fashion). Amazon&amp;#39;s SimpleDB works in the same fashion: you create a data set, insert a bunch of data (the &amp;quot;records&amp;quot; do not have to have the same attributes or structure), and then query the heck out of it. In both these cloud examples, you do not have to predefine your data structure or worry about indexes or keys; in essence, the items you insert have associated properties that are defined when the item is added and the cloud engine takes care of everything else (including, hurrah, spreading your data across several servers both for scalability and for redundancy). Sometimes, even, the data you store has to be string values only; sometimes you get access to other primitives like ints, booleans, and lists.&lt;/p&gt;  &lt;p&gt;A graph database, then, is a special persistence engine for storing key/value data. If you like, it&amp;#39;s a persistent hash table or dictionary (shameless plug: I described a persistent hash table in my 2001 book &lt;a href="http://www.lulu.com/content/435417"&gt;Tomes of Delphi, Algorithms and Data Structures&lt;/a&gt;). Because of its association with cloud computing, its API tends to be REST-based (it&amp;#39;s a web service after all).&amp;#160; It has a query system that allows you to easily query the data, but it&amp;#39;s nowhere near as powerful as SQL. It doesn&amp;#39;t require a fixed schema, which can be good in some ways (you can extend the attributes you store easily), but bad in others (optimizing a schema for efficient access is impossible without one). It maps very easily to an object-relational model in your code, in particular there&amp;#39;s no need for any kind of object-relational mapping framework.&lt;/p&gt;  &lt;p&gt;All is not sunshine and roses, however. In throwing away the RDBMS, you&amp;#39;re also throwing away things like data integrity and data robustness, especially integrity enforced by the database schema. As I noted above, by planning a schema, you have a better chance of being able to optimize it (setting up indexes, and so on, based on the application&amp;#39;s needs) rather than rely on the graph engine&amp;#39;s own auto-optimization code. Also there&amp;#39;s no standardization between graph databases yet, unlike, say, SQL.&lt;/p&gt;  &lt;p&gt;Despite all that, Neo4j and the various cloud computing services are pointing the way to graph databases becoming more prevalent in certain situations. Things are starting to look very interesting on the persistence front.&lt;/p&gt;  &lt;p&gt;(Some extra reading: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.readwriteweb.com/archives/is_the_relational_database_doomed.php"&gt;Is the Relational Database Doomed?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores/"&gt;Anti-RDBMS: A list of distributed key-value stores&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://aws.amazon.com/simpledb/"&gt;Amazon SimpleDB&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://download.microsoft.com/download/e/4/3/e43bb484-3b52-4fa8-a9f9-ec60a32954bc/Azure_Services_Platform.pdf"&gt;Introducing the Azure Services Platform&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://dist.neo4j.org/neo-technology-introduction.pdf"&gt;Neo Technology Introduction&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Enjoy.)&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=265502" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Future+directions/default.aspx">Future directions</category></item><item><title>DevExpress Newsletter 4: Message from the CTO</title><link>http://community.devexpress.com/blogs/ctodx/archive/2009/06/17/devexpress-newsletter-4-message-from-the-cto.aspx</link><pubDate>Wed, 17 Jun 2009 19:01:00 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:265327</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>12</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=265327</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2009/06/17/devexpress-newsletter-4-message-from-the-cto.aspx#comments</comments><description>&lt;p&gt;Here&amp;#39;s the Message from the CTO from the fourth DevExpress Newsletter:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;We&amp;#39;re developers, right? We are gods in the machine, our world is black and white, binary ones and zeros are our meat and drink. As such, we see through marketing blurb in a trice. Us click on AdSense links or read ads in MSDN Magazine? Never! Ergo, it&amp;#39;s not worth spending money on, right?&lt;/p&gt;    &lt;p&gt;Actually it is. Any company that wants to grow (by definition, that&amp;#39;s all of them) has to spend time, resources, and money on getting the word out to entice new customers to purchase. There&amp;#39;s always attrition, so you must find new customers. There&amp;#39;s cold calling (yuk) or there&amp;#39;s advertising and marketing. The alternative — sitting back and hoping you get noticed or talked about — is way riskier.&lt;/p&gt;    &lt;p&gt;We, of course, want to bring you (and excite you with) new products and functionality, and to do that we have to get new customers. To do that, we advertise, we purchase AdSense, we go to big events like TechEd and support local user groups when we can, we fiddle with SEO strategies, we produce this newsletter. In short, we try to get our brand noticed.&lt;/p&gt;    &lt;p&gt;Marketing, no matter what we may think of it personally, is vital for a company&amp;#39;s survival.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Provocative? I know many customers disparage our marketing in the sense that they believe we should be plowing back that money into R&amp;amp;D instead (&amp;quot;the products will sell themselves&amp;quot; usually with a following clause, &amp;quot;if only you had X, so mobilize the team and start writing it&amp;quot;). Also, marketing is not just magazine ads or web banners or conferences or sponsorship. It&amp;#39;s also our evangelism efforts, for another example (blogging, twittering, answering phones and talking to customers, and so on). So, what do you think?&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=265327" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Sneak peek: Automatic date-time scales for charts (WinForms and ASP.NET)</title><link>http://community.devexpress.com/blogs/ctodx/archive/2009/06/12/sneak-peek-automatic-date-time-scales-for-charts-winforms-and-asp-net.aspx</link><pubDate>Fri, 12 Jun 2009 21:22:14 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:264985</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=264985</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2009/06/12/sneak-peek-automatic-date-time-scales-for-charts-winforms-and-asp-net.aspx#comments</comments><description>&lt;p&gt;One of a series of posts on the new functionality that&amp;#39;ll appear in DXperience v2009 vol 2. This is all pre-beta stuff, it&amp;#39;ll probably be something like the end of the month before the beta is ready.&lt;/p&gt;  &lt;p&gt;This new feature is cool (not that the others weren&amp;#39;t of course). It lets the chart decide how best to display a date-time scale based in the input series data and automatically specify the DateTimeMeasurementUnit and DateTimeGridAlignment properties to give the optimal display for the space constraints of the chart. Give the chart more room and the date-time scale will automatically change to a finer resolution of the data. &lt;/p&gt;  &lt;p&gt;Pictures are worth more than words. Here&amp;#39;s a bar chart showing some data by year.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/image_171048AD.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="Chart by year" border="0" alt="Chart by year" src="http://community.devexpress.com/blogs/ctodx/image_thumb_3C2D9319.png" width="240" height="162" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If I resize the window to give the chart more room, suddenly it&amp;#39;ll decide that it can display the data by month instead.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/image_69427FE7.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="Chart by month" border="0" alt="Chart by month" src="http://community.devexpress.com/blogs/ctodx/image_thumb_191D21A9.png" width="299" height="162" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This feature means that you don&amp;#39;t have to decide &lt;em&gt;a priori&lt;/em&gt; which date-time scale to use, or to provide an option for the end-user to switch scales. XtraCharts will do the heavy lifting.&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=264985" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraCharts/default.aspx">XtraCharts</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Charting/default.aspx">Charting</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2009.2/default.aspx">v2009.2</category></item><item><title>Sneak peek EXTRA: Hit testing in ASP.NET charts too</title><link>http://community.devexpress.com/blogs/ctodx/archive/2009/06/12/sneak-peek-extra-hit-testing-in-asp-net-charts-too.aspx</link><pubDate>Fri, 12 Jun 2009 21:01:08 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:264982</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=264982</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2009/06/12/sneak-peek-extra-hit-testing-in-asp-net-charts-too.aspx#comments</comments><description>&lt;p&gt;I feel like one of those newspaper boys on the streets in those old black-and-white newsreels: &amp;quot;Extra, extra, read all about it!&amp;quot;&lt;/p&gt;  &lt;p&gt;Damon, the team lead on the XtraCharts team, informs me that the &lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2009/06/10/sneak-peek-hit-testing-in-xtracharts-v2009-vol-2-winforms-charts.aspx"&gt;new hit-testing support&lt;/a&gt; works on web charts too. So, if you are using the ASP.NET side of XtraCharts, you will have hit-test events triggered on the diagram, the panes, the series, the data points, the axes, the titles, the labels, the legends, and so on.&lt;/p&gt;  &lt;p&gt;Phew. &lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=264982" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraCharts/default.aspx">XtraCharts</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Charting/default.aspx">Charting</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2009.2/default.aspx">v2009.2</category></item><item><title>Sneak peek: Custom draw axis labels in XtraCharts v2009 vol 2 (WinForms and ASP.NET charting)</title><link>http://community.devexpress.com/blogs/ctodx/archive/2009/06/10/sneak-peek-custom-draw-axis-labels-in-xtracharts-v2009-vol-2-winforms-and-asp-net-charting.aspx</link><pubDate>Wed, 10 Jun 2009 20:17:32 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:264720</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=264720</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2009/06/10/sneak-peek-custom-draw-axis-labels-in-xtracharts-v2009-vol-2-winforms-and-asp-net-charting.aspx#comments</comments><description>&lt;p&gt;One of a series of posts on the new functionality that&amp;#39;ll appear in DXperience v2009 vol 2. This is all pre-beta stuff, it&amp;#39;ll probably be something like the end of the month before the beta is ready.&lt;/p&gt;  &lt;p&gt;In this post, a quick look at the feature that allows you to custom draw the axis labels for your chart so, instead of accepting the default text that XtraCharts provides, you can jazz it up to suit the data or the chart you are displaying. For example, in this screenshot from the demo, the Y axis axis labels are drawn to size to indicate the values, and also negative labels are shown in red and positive ones in green.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/image_429135E2.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="Custom draw axis labels" border="0" alt="Custom draw axis labels" src="http://community.devexpress.com/blogs/ctodx/image_thumb_20592A5C.png" width="400" height="315" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=264720" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraCharts/default.aspx">XtraCharts</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Charting/default.aspx">Charting</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2009.2/default.aspx">v2009.2</category></item><item><title>Sneak peek: Hit testing in XtraCharts v2009 vol 2 (WinForms charts)</title><link>http://community.devexpress.com/blogs/ctodx/archive/2009/06/10/sneak-peek-hit-testing-in-xtracharts-v2009-vol-2-winforms-charts.aspx</link><pubDate>Wed, 10 Jun 2009 20:08:34 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:264719</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=264719</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2009/06/10/sneak-peek-hit-testing-in-xtracharts-v2009-vol-2-winforms-charts.aspx#comments</comments><description>&lt;p&gt;One of a series of posts on the new functionality that&amp;#39;ll appear in DXperience v2009 vol 2. This is all pre-beta stuff, it&amp;#39;ll probably be something like the end of the month before the beta is ready.&lt;/p&gt;  &lt;p&gt;In this post, we&amp;#39;ll look at a new feature for charting in Windows Forms: hit testing. This is the ability to ascertain what&amp;#39;s under the mouse cursor without having to do something like click, so it&amp;#39;s a mouse over or hover type event. With XtraCharts, we&amp;#39;ve gone the whole hog: you can literally hover over any element in the chart and your event handler will be called with information about what that element is. In the demo for this feature, we merely float a tooltip with the requisite information:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/image_0407C3F4.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="Hit testing in XtraCharts" border="0" alt="Hit testing in XtraCharts" src="http://community.devexpress.com/blogs/ctodx/image_thumb_6E5D6589.png" width="400" height="315" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;We fire off events (and the corresponding data) for the diagram, the panes, the series, the data points, the axes, the titles, the labels, the legends, and so on.&lt;/p&gt;  &lt;p&gt;Using this hit testing event, you can now more easily show additional information about your data points on the chart, for example, and reduce the &amp;quot;noise&amp;quot; in the chart itself by removing the series labels. &lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=264719" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraCharts/default.aspx">XtraCharts</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Charting/default.aspx">Charting</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2009.2/default.aspx">v2009.2</category></item><item><title>DevExpress Newsletter 3: Message from the CTO</title><link>http://community.devexpress.com/blogs/ctodx/archive/2009/06/03/devexpress-newsletter-3-message-from-the-cto.aspx</link><pubDate>Wed, 03 Jun 2009 23:00:00 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:263381</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>30</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=263381</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2009/06/03/devexpress-newsletter-3-message-from-the-cto.aspx#comments</comments><description>&lt;p&gt;Here&amp;#39;s the Message from the CTO from the third DevExpress newsletter:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;One of the banes of our industry is that there is no real, universally accepted, professional certification. As a consequence, we bandy around terms like expertise, craftsmanship, pragmatism, and the like, to try and elevate what we do to a level where we can call ourselves professionals.&lt;/p&gt;    &lt;p&gt;However, I think there&amp;#39;s one area we don&amp;#39;t try very hard to be craftsmen: in general, we don&amp;#39;t purchase our own tools. The tools for a professional developer run the gamut from the hardware we use (our PCs, in essence, but it can also cover buying our own keyboards and mice), to the extra software we use to create the applications.&lt;/p&gt;    &lt;p&gt;I&amp;#39;ve been a proponent of buying my own PCs for years (I get what&lt;i&gt; &lt;/i&gt;&lt;i&gt;I&lt;/i&gt; want, not what the company decides), but I&amp;#39;m also a fan of purchasing my own software. If X helps me do my job better and faster, but the company balks at it, then I&amp;#39;ll just go ahead and buy it. It&amp;#39;s all part of being a craftsman: you make sure you have the toolset that makes you professional. Plus, you can take it with you to your next position and you have continuity.&lt;/p&gt;    &lt;p&gt;Take your career into your own hands: spend some money on yourself.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Any comments? What do you think?&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=263381" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Sneak peek: Regression lines in XtraCharts v2009 vol 2 (ASP.NET / WinForms)</title><link>http://community.devexpress.com/blogs/ctodx/archive/2009/05/30/sneak-peek-regression-lines-in-xtracharts-v2009-vol-2-asp-net-winforms.aspx</link><pubDate>Sun, 31 May 2009 01:15:44 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:263380</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=263380</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2009/05/30/sneak-peek-regression-lines-in-xtracharts-v2009-vol-2-asp-net-winforms.aspx#comments</comments><description>&lt;p&gt;One of a series of posts on the new functionality that&amp;#39;ll appear in DXperience v2009 vol 2. This is all pre-beta stuff, we&amp;#39;re probably something like a month from beta.&lt;/p&gt;  &lt;p&gt;In this post, we&amp;#39;ll look at the new regression line support that coming up in the next major release of XtraCharts.&lt;/p&gt;  &lt;p&gt;If you do any kind of statistical analysis of some data, you would at some point plot the data on a chart and try and determine whether the data suggests some kind of simple function between the variables of the data (in general, there are one or more independent variables, and a single dependent variable whose values depend on the values of the other variables).&lt;/p&gt;  &lt;p&gt;The simplest function to look for is a line. You plot the data points such that the X-axis is the independent variable and the Y-axis represents the dependant variable, and if the points are roughly collinear, odds are that there is a linear relationship between the variables (that is, the variables are related by an equation &lt;em&gt;y&lt;/em&gt; = a + b&lt;em&gt;x&lt;/em&gt;, for some a and b).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/image_40703C4B.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="Regressionline in XtraCharts" border="0" alt="Regressionline in XtraCharts" src="http://community.devexpress.com/blogs/ctodx/image_thumb_1E3830C5.png" width="480" height="380" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;Linear regression analysis involves determining the underlying equation through a method called &lt;em&gt;least squares&lt;/em&gt;. With this method, we minimize the error terms (if you like, how far away each data point is from the underlying linear function) by minimizing the sum of the squares of the errors. (The squaring of the terms removes the problem of dealing with negative error terms.) To calculate the equation of the line using the least squares method is relatively simple; indeed many calculators provide such a function.&lt;/p&gt;  &lt;p&gt;XtraCharts now provides this linear regression and will plot the line on a point chart, as shown. You can also determine the equation of the line.&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=263380" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraCharts/default.aspx">XtraCharts</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Charting/default.aspx">Charting</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2009.2/default.aspx">v2009.2</category></item><item><title>Sneak peek: Scatter line charts in XtraCharts v2009 vol 2 (ASP.NET / WinForms)</title><link>http://community.devexpress.com/blogs/ctodx/archive/2009/05/30/sneak-peek-scatter-line-charts-in-xtracharts-v2009-vol-2-asp-net-winforms.aspx</link><pubDate>Sun, 31 May 2009 00:44:03 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:263378</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=263378</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2009/05/30/sneak-peek-scatter-line-charts-in-xtracharts-v2009-vol-2-asp-net-winforms.aspx#comments</comments><description>&lt;p&gt;One of a series of posts on the new functionality that&amp;#39;ll appear in DXperience v2009 vol 2. This is all pre-beta stuff, we&amp;#39;re probably something like a month from beta.&lt;/p&gt;  &lt;p&gt;This time, we&amp;#39;ll look at the new &lt;em&gt;scatter line charts&lt;/em&gt; in XtraCharts, again available in both WinForms and ASP.NET. The name, at least in relation to XtraCharts, is perhaps a bit of a misnomer, since scatter line charts are merely &lt;em&gt;scatter charts&lt;/em&gt; with lines between the points. However XtraCharts doesn&amp;#39;t contain any of these so-called scatter charts, instead, it calls them &lt;em&gt;point charts&lt;/em&gt;, which are the same thing. &lt;/p&gt;  &lt;p&gt;XtraCharts does have line charts already, so what&amp;#39;s the difference between those and this new-fangled type?&lt;/p&gt;  &lt;p&gt;The difference is subtle: line charts use an X-axis which is a &lt;em&gt;category&lt;/em&gt; or perhaps a date range. The important thing is that the X-axis has no numerical information for the chart, it&amp;#39;s simply a set of values. The category information from the series is spread evenly across the X-axis. Now, if your X-axis data is increasing with equal intervals between the values, it can look as if the chart is assigning meaning to the X-axis values, but in reality it&amp;#39;s not.&lt;/p&gt;  &lt;p&gt;A scatter chart (or, in XtraCharts, a point chart; and Excel sometimes refers to them as XY charts) is your common or garden mathematical graph, like we all drew at school. You want to graph &lt;em&gt;y&lt;/em&gt; = &lt;em&gt;x&lt;/em&gt;&lt;sup&gt;2&lt;/sup&gt;? No problem, supply a series of (&lt;em&gt;x&lt;/em&gt;, &lt;em&gt;y&lt;/em&gt;) coordinates, and XtraCharts will plot them as you&amp;#39;d expect, with full meaning to the &lt;em&gt;x&lt;/em&gt; values. You don&amp;#39;t have to have all your &lt;em&gt;x&lt;/em&gt; values at equal intervals, for example. A scatter line graph just draws lines in between the points on such an XY chart.&lt;/p&gt;  &lt;p&gt;Here&amp;#39;s an interesting graph: the &lt;em&gt;&lt;a href="http://mathworld.wolfram.com/FoliumofDescartes.html"&gt;Cartesian Folium&lt;/a&gt;&lt;/em&gt;, drawn as a scatter line chart in XtraCharts:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/image_1E8C63A1.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="Cartesian Folium as scatter line from XtraCharts" border="0" alt="Cartesian Folium as scatter line from XtraCharts" src="http://community.devexpress.com/blogs/ctodx/image_thumb_2798EF22.png" width="480" height="380" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;I tell you the charting devs we have have some hidden talents and knowledge. I&amp;#39;d never heard of this particular graph or function before and I&amp;#39;ve got a degree in mathematics. The equation of it is&lt;/p&gt;  &lt;p&gt;&lt;em&gt;x&lt;/em&gt;&lt;sup&gt;3&lt;/sup&gt; - 3&lt;em&gt;a&lt;/em&gt;&lt;em&gt;x&lt;/em&gt;&lt;em&gt;y&lt;/em&gt; + &lt;em&gt;y&lt;/em&gt;&lt;sup&gt;3&lt;/sup&gt; = 0&lt;/p&gt;  &lt;p&gt;for some constant &lt;em&gt;a&lt;/em&gt;. René Descartes was the first to look at it and discuss it (hence the name), but thought the loop repeated in all four quadrants (hence its other name: &lt;em&gt;fleur de jasmin&lt;/em&gt;, a jasmin flower having 4 petals).&lt;/p&gt;  &lt;p&gt;Anyway, a scatter line chart in XtraCharts is merely a standard graph of a function from mathematics, physics, or engineering.&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=263378" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraCharts/default.aspx">XtraCharts</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Charting/default.aspx">Charting</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2009.2/default.aspx">v2009.2</category></item></channel></rss>