<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lowe Software &#187; Software Development</title>
	<atom:link href="http://blog.lowesoftware.com/category/software-development/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.lowesoftware.com</link>
	<description>Alex Lowe on software, technology, and startups.</description>
	<lastBuildDate>Wed, 16 Jun 2010 14:40:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=563</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Entice, Educate, Engage &#8211; The Three E’s of Marketing and Presentation</title>
		<link>http://blog.lowesoftware.com/software-development/entice-educate-engage-the-three-e%e2%80%99s-of-marketing-and-presentation</link>
		<comments>http://blog.lowesoftware.com/software-development/entice-educate-engage-the-three-e%e2%80%99s-of-marketing-and-presentation#comments</comments>
		<pubDate>Mon, 19 Nov 2007 17:12:25 +0000</pubDate>
		<dc:creator>Alex Lowe</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.lowesoftware.com/software-development/entice-educate-engage-the-three-e%e2%80%99s-of-marketing-and-presentation</guid>
		<description><![CDATA[A mental strategy for marketing and presentation. This article will focus on how you develop software, web sites, press releases, pamphlets, or marketing copy. Basically, anything you present to the world and want to draw users into.
When offering a new application, a new web site, a new service offering, or anything else you want to [...]]]></description>
			<content:encoded><![CDATA[<p>A mental strategy for marketing and presentation. This article will focus on how you develop software, web sites, press releases, pamphlets, or marketing copy. Basically, anything you present to the world and want to draw users into.</p>
<p>When offering a new application, a new web site, a new service offering, or anything else you want to drive users to there are three concepts to remember, fortunately they all start with the letter &#8220;E.&#8221;</p>
<ol>
<li><strong>Entice</strong>
<ul>
<li>First you must entice the user to check your offering out. There&#8217;s a lot of ways to do this, think of what works best for you. Offer something for free, coupons, a trial, an interesting tag-line, stellar graphics, pose a question, point out that you can fix a problem in the users life. The enticement has to be short, sweet, and to the point. You have to hook the users attention and you only have a few seconds to do it here.</li>
</ul>
</li>
<li><strong>Educate</strong>
<ul>
<li>So you&#8217;ve done a great job enticing the user, the next step is to educate your audience about what you&#8217;re offering. You have more time to do this, but don&#8217;t take more than 30 seconds up to a few minutes of the users time. The nature of your offering and audience will dictate how much user attention span you have here.
<p>If you have an offering that is compelling, solves a problem, and is scarce you&#8217;ll have more opportunity to talk to the user. If you have an offering that is in a saturated market place you&#8217;ll have less attention span.Don&#8217;t go overboard here, give the benefits and value proposition to the user as concisely as possible. List your features and benefits, provide cost information, testimonials, quotes, or links to further information such as white papers or case studies.</li>
</ul>
</li>
<li><strong>Engage</strong>
<ul>
<li>If you&#8217;ve gotten the user this far and your offering is compelling you&#8217;ve done a great job. Now&#8217;s the time to make a call to action. Sign up now, order here, do something, talk to a representative, get a free trial, try the demo. This is where you want to engage your user to an action. Let them explore your offering and learn more.
<p>Ask the user to make an investment of themselves, even if it&#8217;s only a few minutes of their time.Remember to continually engage the user. Give the user opportunities to try different things, learn different aspects, and interact. At this point the user probably wants your offering and they&#8217;re making sure it&#8217;s something they can actually use. The more engaging your offering the more the user will invest. A positive investment of time and research in your offering will give the user an emotional connection to go with you.</li>
</ul>
</li>
</ol>
<p>These may seem common sense, I think they are. But it&#8217;s the type of thing to keep in mind when writing code or writing copy. If any &#8220;E&#8221; is weak you&#8217;ll lessen your chance of closing the deal and gaining the user. And, of course, having a great offering is the prerequisite to all of this!</p>
<p>Good luck with your ventures!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lowesoftware.com/software-development/entice-educate-engage-the-three-e%e2%80%99s-of-marketing-and-presentation/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing &#8220;The application failed to initialize properly (0xc0000135)&#8221;</title>
		<link>http://blog.lowesoftware.com/software-development/fixing-the-application-failed-to-initialize-properly-0xc0000135</link>
		<comments>http://blog.lowesoftware.com/software-development/fixing-the-application-failed-to-initialize-properly-0xc0000135#comments</comments>
		<pubDate>Wed, 01 Aug 2007 12:12:16 +0000</pubDate>
		<dc:creator>Alex Lowe</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.lowesoftware.com/software-development/fixing-the-application-failed-to-initialize-properly-0xc0000135</guid>
		<description><![CDATA[When attempting to run Microsoft .Net based applications, like many of those available from http://www.lowesoftware.com, you may get the following error on startup:
The application failed to initialize properly (0xc0000135) 
The cause of this error is that the Microsoft .Net framework is not installed or is damaged in some way. Therefore applications will fail to launch. 
To [...]]]></description>
			<content:encoded><![CDATA[<p><span class="pn-normal">When attempting to run Microsoft .Net based applications, like many of those available from <a href="http://www.lowesoftware.com/">http://www.lowesoftware.com</a>, you may get the following error on startup:</span></p>
<blockquote><p><span class="pn-normal"><strong><em>The application failed to initialize properly (0xc0000135)</em></strong></span><span class="pn-normal"> </span></p></blockquote>
<p><span class="pn-normal"></span><span class="pn-normal">The cause of this error is that the Microsoft .Net framework is not installed or is damaged in some way. </span><span class="pn-normal">Therefore applications will fail to launch.</span><span class="pn-normal"> </span></p>
<p><span class="pn-normal"></span><span class="pn-normal">To fix this error you can run Windows Update and find the Microsoft .Net framework update to install. Alternatively, you can download the Microsoft .Net Framework directly from Microsoft.</p>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=262D25E3-F589-4842-8157-034D1E7CF3A3&amp;displaylang=en">Microsoft .Net 1.1</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&amp;DisplayLang=en">Microsoft .Net 2.0</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=10CC340B-F857-4A14-83F5-25634C3BF043&amp;displaylang=en">Microsoft .Net 3.0</a></li>
</ul>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lowesoftware.com/software-development/fixing-the-application-failed-to-initialize-properly-0xc0000135/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The Top Three Priorities for Software Development</title>
		<link>http://blog.lowesoftware.com/software-development/the-top-three-priorities-for-software-development</link>
		<comments>http://blog.lowesoftware.com/software-development/the-top-three-priorities-for-software-development#comments</comments>
		<pubDate>Tue, 31 Jul 2007 13:02:02 +0000</pubDate>
		<dc:creator>Alex Lowe</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.lowesoftware.com/software-development/the-top-three-priorities-for-software-development</guid>
		<description><![CDATA[Across industries, across platforms, across technologies, and across users there are three fundamental priorities that should always take the number one, two, and three positions in any software development effort. The three priorities being security, reliability, and maintainability. 
These three notions are at the top of my list with every project I begin. They are [...]]]></description>
			<content:encoded><![CDATA[<p><span class="pn-normal">Across industries, across platforms, across technologies, and across users there are <strong>three fundamental priorities</strong> that should always take the number one, two, and three positions in any software development effort. The three priorities being <strong>security, reliability, and maintainability</strong>. </span></p>
<p><span class="pn-normal">These three notions are at the top of my list with every project I begin. They are the montra that I repeat to my teams and to myself all the time. Over many years developing small and large software packages for many industries and many user bases no project can be successful without first meeting these three criterion. And I&#8217;ve seen many projects fail for shifting other priorities into this top tier.</span></p>
<p><span class="pn-normal">There are always business driven goals to take into account while developing software such as speed to market, usability, scalability, portability, globalization, etc. But the security, reliability, and interoperability of applications must be addressed before any other requirements can be met. </span></p>
<p><span class="pn-normal"></span><span class="pn-normal"><strong>What do the priorities mean?</strong></span></p>
<p><span class="pn-normal"></span><span class="pn-normal"><strong>Security</strong> is the gurantee that the application will first do no harm. This is number one in any software package. Security of data, of systems, of unauthorized access are the most important baseline needs of any software application. Ensuring that even if the application sucks, crashes, is difficult to use that at least it will not compromize internal or external data and systems is paramount.</span><span class="pn-normal"> </span></p>
<p><span class="pn-normal"></span><span class="pn-normal"><strong>Reliability</strong> is the number two priority when developing a software product. The product must be available all the time, without lockups or crashes, unexpected behaviors, and down time. An application may be difficult to use, it may lack features, but if its dependable and predictable then users and businesses can depend on what they have got.</span><span class="pn-normal"> </span><span class="pn-normal"><strong>Maintainability </strong>is a priority that you may wonder why it makes an appearance so high on the list. Maintainability means something very specific to me. It means that software is being built by creating blocks that are assembled and not goliath systems. By following good OOP, SOA, and componentized development it ensures that the developed software is flexible to keep up with the always chaning landscape of technology and customer requirements. Componentization is the foundation of nearly all other requirements such as scalability, portability, globalization, etc. <a href="http://blog.lowesoftware.com/software-development/productized-software-components">Productized components</a> is a way to achieve this.</p>
<p>By keeping these concepts in mind to design, build, and test a secure and reliable componentized foundation I gurantee you&#8217;ll see more success in your software development efforts ongoing.</p>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lowesoftware.com/software-development/the-top-three-priorities-for-software-development/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Innovative Interfaces and Usability</title>
		<link>http://blog.lowesoftware.com/software-development/innovative-interfaces-and-usability</link>
		<comments>http://blog.lowesoftware.com/software-development/innovative-interfaces-and-usability#comments</comments>
		<pubDate>Fri, 27 Jul 2007 15:21:29 +0000</pubDate>
		<dc:creator>Alex Lowe</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.lowesoftware.com/software-development/innovative-interfaces-and-usability</guid>
		<description><![CDATA[You use computers and digital devices all the time. Maybe you even write software for these devices. Software is complex and provides a myriad of features to users. While featureset and data increases, device sizes are shrinking. With scarcity of input and output methods, an increase in software features and information, and construction done by [...]]]></description>
			<content:encoded><![CDATA[<p>You use computers and digital devices all the time. Maybe you even write software for these devices. Software is complex and provides a myriad of features to users. While featureset and data increases, device sizes are shrinking. With scarcity of input and output methods, an increase in software features and information, and construction done by engineers what are we to do?</p>
<p>Along with recommending a couple books, <a href="http://www.amazon.com/gp/product/0465067107?ie=UTF8&amp;tag=alexloweonsof-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0465067107">The Design of Everyday Things</a><img border="0" width="1" src="http://www.assoc-amazon.com/e/ir?t=alexloweonsof-20&amp;l=as2&amp;o=1&amp;a=0465067107" height="1" style="margin: 0px; border: medium none" /> by Donald A. Norman and <a href="http://www.amazon.com/gp/product/0672326140?ie=UTF8&amp;tag=alexloweonsof-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0672326140">The Inmates Are Running the Asylum</a><img border="0" width="1" src="http://www.assoc-amazon.com/e/ir?t=alexloweonsof-20&amp;l=as2&amp;o=1&amp;a=0672326140" height="1" style="margin: 0px; border: medium none" /> by Alan Cooper I&#8217;ve compiled links to some interesting ideas for interacting with our digital devices. Hopefully they will provide some inspiration to what you build. Devices need to become easier to use.</p>
<p><strong>No Mouse Clicks</strong></p>
<p><a href="http://www.dontclick.it/">dontclick.it</a> is a web application with an interesting design feature. It provides no buttons for click. All actions are initated with gestures of the mouse. Of course, the gesture interface is being touted by <a href="http://www.apple.com">Apple and the iPhone</a> right now but this example takes it to the next degree.</p>
<p><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/nobuttons.png" title="Buttonless Interface"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/nobuttons.png" title="Buttonless Interface"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/nobuttons.png" title="Buttonless Interface"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/nobuttons.png" title="Buttonless Interface"></a></p>
<p style="text-align: center"><img border="0" src="http://blog.lowesoftware.com/wp-content/uploads/2007/07/nobuttons.png" alt="Buttonless Interface" title="Buttonless Interface" /></p>
<p><strong>Spatial Computer Interface</strong></p>
<p>Back in 1999, Microsoft Research worked on a project called <a href="http://research.microsoft.com/adapt/taskgallery/pages/design.htm">The TaskGallery</a>. This is a project that introduces the concept of grouping Windows into tasks, using rooms, pictures, and walls rather than a desktop, and a 3d orientation for it all. Remember it&#8217;s from 1999 so the graphics aren&#8217;t that great. It has some compelling concepts when it comes to window and document management.</p>
<p><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/focus_context.gif" title="The TaskGallery Interface"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/focus_context.gif" title="The TaskGallery Interface"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/focus_context.gif" title="The TaskGallery Interface"></a></p>
<p style="text-align: center"><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/focus_context.gif"><img border="0" src="http://blog.lowesoftware.com/wp-content/uploads/2007/07/focus_context.thumbnail.gif" alt="The TaskGallery Interface" title="The TaskGallery Interface" /></a><br />
<em><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/focus_context.gif">Click for an animated view.</a></em></p>
<p><strong>Quikwriting</strong></p>
<p>Ken Perlin, someone I admire for the creation of Perlin noise, has a number of computer science experiments. One of those is <a href="http://mrl.nyu.edu/~perlin/experiments/quikwriting/">Quikwriting</a>. Quikwriting allows you to make pen gestures quickly to select letters from regions of a pad. Potentially good for mobile devices as the in-between of handwriting recognition and a keypad.</p>
<p><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/quikwriting.gif" title="Quikwriting Example Interface"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/quikwriting.gif" title="Quikwriting Example Interface"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/quikwriting.gif" title="Quikwriting Example Interface"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/quikwriting.gif" title="Quikwriting Example Interface"></a></p>
<p style="text-align: center"><img border="0" src="http://blog.lowesoftware.com/wp-content/uploads/2007/07/quikwriting.gif" alt="Quikwriting Example Interface" title="Quikwriting Example Interface" /></p>
<p> <strong>Zooming Interfaces</strong></p>
<p>Ken Perlin also has some tools available for the concept of zooming interfaces. These interfaces display heierarchical data and provide the ability to drill down the heierarchy by zooming into graphical representations of the system. Perlin has implemented these interface demos for a few applications.</p>
<p><a href="http://mrl.nyu.edu/~perlin/experiments/zoom/SiteTour.html"></a><a href="http://mrl.nyu.edu/~perlin/experiments/zoom/SiteTour.html"></a><a href="http://mrl.nyu.edu/~perlin/experiments/zoom/SiteTour.html"></p>
<p style="text-align: center"><img border="0" src="http://blog.lowesoftware.com/wp-content/uploads/2007/07/zoominterface.png" alt="A Zooming Navigation Interface" title="A Zooming Navigation Interface" /><em><br />
<a href="http://mrl.nyu.edu/~perlin/experiments/zoom/SiteTour.html">For General Computing and Web Browsing.</a></em></p>
<p></a><a href="http://mrl.nyu.edu/~perlin/experiments/pocketweb/"></a></p>
<p style="text-align: center"><img border="0" src="http://blog.lowesoftware.com/wp-content/uploads/2007/07/zoominterfacephone.png" alt="Zooming Interface on a Phone" title="Zooming Interface on a Phone" /><br />
<a href="http://mrl.nyu.edu/~perlin/experiments/pocketweb/"><em>For interfacing with a mobile phone.</em></a></p>
<p align="left">You can view more examples of zooming interfaces at <a href="http://mrl.nyu.edu/~perlin/">Ken Perlin&#8217;s homepage</a>.</p>
<p><strong>GroupBar</strong></p>
<p><a href="http://research.microsoft.com/vibe/projects/groupbar.aspx">GroupBar</a> is a Window management alternative developed by <a href="http://research.microsoft.com">Microsoft Research</a>. It is an obviously simple but unique way for managing Windows. You can download and install it as an alternative to the start bar. I definately could see uses for MDI (multiple document interface) applications such as Visual Studio, where there are often many windows open concurrently.</p>
<p><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/gbcc.gif" title="GroupBar from Microsoft Research"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/gbcc.gif" title="GroupBar from Microsoft Research"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/gbcc.gif" title="GroupBar from Microsoft Research"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/gbcc.gif" title="GroupBar from Microsoft Research"></a></p>
<p style="text-align: center"><img border="0" src="http://blog.lowesoftware.com/wp-content/uploads/2007/07/gbcc.gif" alt="GroupBar from Microsoft Research" title="GroupBar from Microsoft Research" /></p>
<p><strong>Surface Computing</strong></p>
<p>Along with the gestures we mentioned above is a new form factor. The table top and surface computing. Microsoft has release a product, called <a href="http://www.microsoft.com/surface/">Surface</a>. Here is an <a href="http://on10.net/blogs/larry/first-look-microsoft-surfacing-computing/">in depth sit down demo</a> as well as a <a href="http://www.youtube.com/watch?v=Cog8b8ojji0">teaser commercial</a>. There is also a <a href="http://gizmodo.com/gadgets/touch-me/linux-mpx-multi+touch-table-may-become-free-diy-microsoft-surface-one-day-278613.php">Linux version</a> in development.</p>
<p>Surface computing is an interesting concept and introduces a new form factor. It provides multiple touches, the ability to recognize real object set on it, a host of gesture based inputs, and new metaphors for computing.</p>
<p style="text-align: center"><img border="0" src="http://blog.lowesoftware.com/wp-content/uploads/2007/07/microsoftsurface.png" alt="Microsoft Surface Computer" title="Microsoft Surface Computer" /></p>
<p><strong>Mobile Browsing</strong></p>
<p>While not completely innovative I thought it was worth inclusion because mobile computing is a huge growth area and something you need to be aware of. </p>
<p><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/iphone.png" title="iPhone"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/iphone.png" title="iPhone"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/iphone.png" title="iPhone"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/iphone.png" title="iPhone"></a></p>
<p style="text-align: center"><img border="0" src="http://blog.lowesoftware.com/wp-content/uploads/2007/07/iphone.png" alt="iPhone" title="iPhone" /></p>
<p>Browsing the web on a mobile phone is a pain. The screen is too small and content never looks right and navigation stinks. This is being addressed by Microsoft with Deepfish and Apple with the iPhone. Providing zooming, scrolling, multi touch, and other mechanisms to interface with the phone, these are technologies that are going to make mobile browsing much more functional and pleasurable.</p>
<p><strong>Jurassic Park</strong></p>
<p>And just for fun, the Jurassic Park interface. You know, the one that annoying girl was using to interface with the Unix machine. Hey, it&#8217;s 3d!</p>
<p><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/jurassicpark.png" title="Jurassic Park Unix"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/jurassicpark.png" title="Jurassic Park Unix"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/jurassicpark.png" title="Jurassic Park Unix"></a><a href="http://blog.lowesoftware.com/wp-content/uploads/2007/07/jurassicpark.png" title="Jurassic Park Unix"></a></p>
<p style="text-align: center"><img border="0" src="http://blog.lowesoftware.com/wp-content/uploads/2007/07/jurassicpark.thumbnail.png" alt="Jurassic Park Unix" title="Jurassic Park Unix" /></p>
<p><strong>Conclusion</strong></p>
<p>There are numerous ideas out there for new interfaces to software and computers. While consistency can be important, providing an enhanced interface can shorten the learning curve and increase productivity ongoing. Keep the user in mind, hire interactivity designers, and don&#8217;t be lazy about the software you design or write. Taking time to build a good use interface now will save countless man hours for people.</p>
<p>If you have any design ideas or links, please add them to the comments. You can continue your research into <a href="http://en.wikipedia.org/wiki/Interaction_design">Interaction Design on Wikipedia</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lowesoftware.com/software-development/innovative-interfaces-and-usability/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Types of Software Developers, What Are You?</title>
		<link>http://blog.lowesoftware.com/software-development/types-of-software-developers-what-are-you</link>
		<comments>http://blog.lowesoftware.com/software-development/types-of-software-developers-what-are-you#comments</comments>
		<pubDate>Tue, 24 Jul 2007 13:33:23 +0000</pubDate>
		<dc:creator>Alex Lowe</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.lowesoftware.com/software-development/types-of-software-developers-what-are-you</guid>
		<description><![CDATA[What kind of software developer are you? There are many types of developers out there, they serve different functions in the development lifecycle, have different skillsets, and have different job titles. Here&#8217;s a list of non-job-title types of software developers. What are you and where do you want to be? 
Architects – Architects have a difficult job, they [...]]]></description>
			<content:encoded><![CDATA[<p>What kind of software developer are you? There are many types of developers out there, they serve different functions in the development lifecycle, have different skillsets, and have different job titles. Here&#8217;s a list of non-job-title types of software developers. What are you and where do you want to be? </p>
<p><strong><em>Architects </em></strong>– Architects have a difficult job, they are the ones that resolve the creative, application, business, and technology needs. Architects take thethe problem and deconstruct it to the most optimum pieces. Architects provide plans for the other developers. They are able cross disciplines and vision the code.</p>
<p><strong><em>Implementers </em></strong>– Implementers are developers with less creative or algorithm development skill. These developers take the components, APIs, and pre-written modules from the Architects and create the final product. Implementers put the pieces of the puzzle together. Implementers work best working with specification manuals and third party development APIs.</p>
<p><strong><em>Discoverers </em></strong>– Discoverers are developers that test and experiment with things to come up with ideas. These are the developers that hunt and find. They are the ones that have lesser capabilities of developing quality solutions, especially to complex problems. For example they will see an API call and come up with a niche idea to implement that call. These developers solve small puzzles and can be related to a more &#8220;procedural&#8221; programmer.</p>
<p><strong><em>Thinker </em></strong>– The thinker is a little bit of a discoverer and an implementer. The thinker creates algorithms but not to the level of the Inventor. Thinkers create algorithms that are simpler&#8230; to solve simpler problems. Thinkers work best at optimizing and streamlining code. Thinkers are similar to implementers; the exception being they do not require as much definition in the pieces of the puzzle. Thinkers are capable of developing pieces when the components given to him do not fit optimally (if at all).</p>
<p><strong><em>Inventors </em></strong>– Inventors are developers that think outside the context of APIs. They think about concepts and ideas, they think in theory, they are computer scientists. They are the ones that come up with encryption, compression, image processing, and other interesting algorithms that enable the discoverers to find the niche applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lowesoftware.com/software-development/types-of-software-developers-what-are-you/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Code Longevity: Development Efficiency and Code Fluidity</title>
		<link>http://blog.lowesoftware.com/software-development/code-longevity-development-efficiency-and-code-fluidity</link>
		<comments>http://blog.lowesoftware.com/software-development/code-longevity-development-efficiency-and-code-fluidity#comments</comments>
		<pubDate>Mon, 23 Jul 2007 20:38:22 +0000</pubDate>
		<dc:creator>Alex Lowe</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.lowesoftware.com/general/code-longevity-development-efficiency-and-code-fluidity</guid>
		<description><![CDATA[The goals of your development team is centralized around producing a feature-rich, secure, scalable, robust suite of software that can be sold out of the box to customers.
In order to accomplish that task development teams need to restructure how they look at projects. I’m proposing a new term called Code Longevity. Code Longevity means thinking [...]]]></description>
			<content:encoded><![CDATA[<p>The goals of your development team is centralized around producing a feature-rich, secure, scalable, robust suite of software that can be sold out of the box to customers.</p>
<p>In order to accomplish that task development teams need to restructure how they look at projects. I’m proposing a new term called Code Longevity. Code Longevity means thinking about software development in terms of fluidness; how easy is the source code to change, adapt, and be repaired over time. Code Longevity requires code modularity, code documentation, standardization of code styles, and a flexible architecture. Successful software is not static, it is a living entity that grows and evolves through time</p>
<p>The software management team must anticipate the future applications of the product and realizing that building generic interfaces will allow the software to adapt to unknown directions the software may evolve. No software evolution cycles can be perfectly predicted due to outside variables therefore the software must be designed in the general case even though it may take more time to initially develop. After the time has been taken to create the general case of the software then the evolutionary line can make sharper, more agile changes in direction as there is minimal development necessary.</p>
<p>By modularizing our approach to software and creating a core asset collection of core components we are in a sense productizing our software source code. The core assets now act as component products, where developers can create extremely advanced application software without knowledge of the inner workings of the core assets. A developer can think about implementation and logic flow for their particular development goal rather than have to think about building the supporting tools (APIs and software libraries) that will make the goal feasible.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lowesoftware.com/software-development/code-longevity-development-efficiency-and-code-fluidity/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Shut Me In: On Switching Barriers</title>
		<link>http://blog.lowesoftware.com/software-development/dont-shut-me-in-on-switching-barriers</link>
		<comments>http://blog.lowesoftware.com/software-development/dont-shut-me-in-on-switching-barriers#comments</comments>
		<pubDate>Fri, 20 Jul 2007 01:44:37 +0000</pubDate>
		<dc:creator>Alex Lowe</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Startup Ventures]]></category>
		<category><![CDATA[Technology Culture]]></category>

		<guid isPermaLink="false">http://blog.lowesoftware.com/software-development/dont-shut-me-in-on-switching-barriers</guid>
		<description><![CDATA[This is a philosophical discussion. In fact, switching barriers are one of the points that are argued during the open vs. closed information debate. Open-ness encourages trial of products and services while closed-ness encourages brand loyalty. As developers and entrepreneurs we have to look at out our philosophical view on information (our software, products, and [...]]]></description>
			<content:encoded><![CDATA[<p>This is a philosophical discussion. In fact, <a href="http://en.wikipedia.org/wiki/Switching_barriers">switching barriers</a> are one of the points that are argued during the open vs. closed information debate. Open-ness encourages trial of products and services while closed-ness encourages brand loyalty. As developers and entrepreneurs we have to look at out our philosophical view on information (our software, products, and services) and come to resolution with our business goals.</p>
<p>I was inspired by <a href="http://blog.lowesoftware.com/general/why-i-dislike-apple-and-linux-not-really-and-like-microsoft-really#comments">a comment</a> I got on <a href="http://blog.lowesoftware.com/general/why-i-dislike-apple-and-linux-not-really-and-like-microsoft-really">my post about Microsoft, Linux, and being professionally pidgeon-holed</a>. The commenter brought up the point of &#8220;lock-in&#8221; when using Microsoft.</p>
<p>I agreed, and responded that people, like myself, are willing to be &#8220;locked-in&#8221; if the product or service provides some value, real or imagined. For example, look at the recent iPhone distaste about the AT&amp;T contract. Look at the iPod and DRM. Look at your car and any modifications you purchase. Look at your gym membership. Though they create artificial ways of locking you in, all those products and services continue to flourish!<br />
Corporations look to lock you in and create switching barriers to keep you loyal. They do it with termination fees (such as gym memberships), with investments in proprietary equipment (such as digital gadgets), by holding your data hostage (such as iPod/iTunes).</p>
<p>As entrepreneurs and developers we need to make these decisions all the time, do we use proprietary protocols or open standards? Do we use a third party proprietary software because it&#8217;s cheaper and faster? Do we follow our philosophical views and stay away from closed software and standards? Do we make it difficult for customers to switch?</p>
<p>Switching barriers are an important part of the competitive landscape. Look for barriers that you can create and figure out how to break down the barriers of your competition. Think hard when developing your business or your software, what barriers are you willing to create? What barriers will your customers tolerate?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lowesoftware.com/software-development/dont-shut-me-in-on-switching-barriers/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Developers Toolkit for C# and .Net</title>
		<link>http://blog.lowesoftware.com/software-development/a-developers-toolkit-for-c-and-net</link>
		<comments>http://blog.lowesoftware.com/software-development/a-developers-toolkit-for-c-and-net#comments</comments>
		<pubDate>Mon, 16 Jul 2007 15:45:31 +0000</pubDate>
		<dc:creator>Alex Lowe</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.lowesoftware.com/general/a-developers-toolkit-for-c-and-net</guid>
		<description><![CDATA[A developer, no matter how skilled, is dependent on the tools at his disposal. There are numerous free tools to aid in .Net development; from source control to debugging to documentation and profiling. Here, I&#8217;ve compiled a complete list of tools that I&#8217;ve used for years that cover the entire development lifecycle.
C# and .Net are a powerful [...]]]></description>
			<content:encoded><![CDATA[<p>A developer, no matter how skilled, is dependent on the tools at his disposal. There are numerous free tools to aid in .Net development; from source control to debugging to documentation and profiling. Here, I&#8217;ve compiled a complete list of tools that I&#8217;ve used for years that cover the entire development lifecycle.</p>
<p>C# and .Net are a powerful language and platform for developing software. The high levels of abstraction, garbage collection, architecture, and runtime provide an amazing platform for writing high quality software. It&#8217;s a great start, but it&#8217;s not enough.</p>
<p>In the end, quality software comes down to developer skill and organization. This article will provide some links to free tools that every .Net developer should have on hand in order to write high quality software. If you don&#8217;t know what a tool does, I encourage you to explore it, you may learn something new about source control, test driven development, profiling, continual integration, or debugging that you didn&#8217;t know before.</p>
<p>What follows is a best of breed toolkit that I use personally and professionally almost every day. All the tools are freely available for download online (with the exception of the full Visual Studio 2005 suite).</p>
<p><strong>IDE</strong><br />
<a href="http://msdn2.microsoft.com/en-us/vstudio/aa973782.aspx">Visual Studio 2005</a>(Not Free) &#8211; In my opinion it&#8217;s the best IDE in the world. Supports many languages, integrated web server, code completion, refactoring tools, debugger, etc. etc. etc&#8230; it&#8217;s a pleasure to use. Just make sure you have a quick system, all the fancy features can take come CPU cycles and memory.</p>
<p><a href="http://msdn.microsoft.com/vstudio/express/">Visual Studio 2005 Express Edition</a> (Free) &#8211; If you are getting started you don&#8217;t need to buy the fully Visual Studio package yet, Visual Studio 2005 Express Edition is free and let&#8217;s you do just about everything you can do in the full package.</p>
<p><strong>Profiling Tools</strong><br />
<a href="http://www.microsoft.com/downloads/details.aspx?familyid=a362781c-3870-43be-8926-862b40aa0cd0&amp;displaylang=en">CLR Profiler for .Net 2.0</a> &#8211; &#8220;<span>The CLR Profiler includes a number of very useful views of the allocation profile, including a histogram of allocated types, allocation and call graphs, a time line showing GCs of various generations and the resulting state of the managed heap after those collections, and a call tree showing per-method allocations and assembly loads.&#8221;</span></p>
<p><span><strong>Debugging<br />
</strong><a href="http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx">Windbg</a> &#8211; This is <strong><em>the</em></strong> debugger for Windows from Microsoft. It&#8217;s command line driven, difficult to use, and give you exposure to everything. And, there are symbols and tools for .Net. Some tutorials to get started: <a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2006/10/25/8930.aspx">.Net Framework Source Code and Debugging</a> and <a href="http://www.codeproject.com/debug/windbg_part1.asp">A Windbg Tutorial</a>.</span></p>
<p><strong>Code Analysis Tools<br />
</strong><a href="http://www.aisto.com/roeder/dotnet/">Reflector for .Net</a>- &#8220;Reflector is the class browser, explorer, analyzer and documentation viewer for .NET. Reflector allows to easily view, navigate, search, decompile and analyze .NET assemblies in C#, Visual Basic and IL.&#8221; This one is especially helpful for getting insight into third party .Net libraries that you may be using in your projects.</p>
<p><a href="http://www.anticipatingminds.com/content/products/devMetrics/devMetrics.aspx">DevMetrics by Anticipating Minds</a>- This is a closed source but free tool for running basic analysis on your .Net projects. The application installs as a plugin to the Visual Studio environment as well as provides a console utility. The tool will provide you a breakdown of lines of code, cyclomatic complexity, and other metrics by solution, project, file, and object.</p>
<p><strong>Unit Testing Tools<br />
</strong><a href="http://www.nunit.org/">NUnit</a>- NUnit is a tool for developing, maintaining, and running unit tests. By using NUnit to write test procedures (say, versus a console application) you can maintain tests for regression testing, easily execute all or a subset of tests, and get reports of results. Take a day to read the short documentation, I found it fit very well into my development pattern.</p>
<p><strong>Documentation Tools<br />
</strong><a href="http://ndoc.sourceforge.net/">NDoc Code Documentation Generator for .Net</a>- NDoc is a great tool for developing documentation files in various formats including HTML Help. If you are familiar with .Net development you&#8217;ll know about the meta tags that are available when commenting code. The Microsoft compiler provides a flag to execute all of your in-code comments into an XML file. NDoc takes this XML file and makes it a user friendly readable and distributable format. By thoroughly documenting your code (as you should) NDoc will compile a valuable documentation file for future developers, testers, and other team members.</p>
<p><strong>Compliance Tools<br />
</strong><a href="http://www.gotdotnet.com/team/fxcop/">FxCop</a>- &#8220;FxCop is a code analysis tool that checks .NET managed code assemblies for conformance to the Microsoft .NET Framework Design Guidelines.&#8221; FxCop is a very in depth tool for analyzing source code for compliance. It was built by Microsoft for internal use to ensure uniform coding styles and standards across the company.</p>
<p><strong>Build Tools<br />
</strong><a href="http://nant.sourceforge.net/">nAnt</a>- &#8220;NAnt is a free .NET build tool.&#8221; nAnt provides the ability to automate the complete build process. From integrating with source control for branching or tagging. To building the project. To copying files. To version control. Use nAnt to ensure all the steps to bring your software from code to test to delivery are consistent and complete.</p>
<p><strong>Contiuous Integration Tools<br />
</strong><a href="http://cruisecontrol.sourceforge.net/">CruiseControl</a>- &#8220;CruiseControl is a framework for a continuous build process. It includes, but is not limited to, plugins for email notification, Ant, and various source control tools. A web interface is provided to view the details of the current and previous builds.&#8221; Use CruiseControl especially if you have multiple developers checking in changes to ensure that your projects build successfully and pass unit tests all the time.</p>
<p><strong>Source Control Tools</strong><br />
<a href="http://subversion.tigris.org/">Subversion</a> and <a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a>- Subversion is an open source CVS replacement that many in the community find superior. TortoiseSVN is a great Windows client that provides Windows Explorer integration for managing your repositories. I&#8217;ve used SVN professionally and recommend it.</p>
<p><a href="http://www.march-hare.com/cvspro/?lang=EN&amp;complete=1#free">CVS</a> and <a href="http://www.tortoisecvs.org/">TortoiseCVS</a>- CVS is a popular and free source control system. TortoiseCVS provides Windows Explorer integration for repository management. This is the system I use at home and you&#8217;ll find most projects on the web use CVS as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lowesoftware.com/software-development/a-developers-toolkit-for-c-and-net/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Productized Software Components</title>
		<link>http://blog.lowesoftware.com/software-development/productized-software-components</link>
		<comments>http://blog.lowesoftware.com/software-development/productized-software-components#comments</comments>
		<pubDate>Tue, 10 Jul 2007 22:52:05 +0000</pubDate>
		<dc:creator>Alex Lowe</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.lowesoftware.com/software-development/productized-software-components</guid>
		<description><![CDATA[First, let me give some context for when and why I wrote this article. This is an article I wrote in early 2001 as I began to take over executive responsibilities in a small software company. The startup was comprised of three developers where there was much turnover of contractors and employees within software development [...]]]></description>
			<content:encoded><![CDATA[<p>First, let me give some context for when and why I wrote this article. This is an article I wrote in early 2001 as I began to take over executive responsibilities in a small software company. The startup was comprised of three developers where there was much turnover of contractors and employees within software development for team member four and beyond.</p>
<p>As a primary developer/architect as well as a team leader and company partner I developed a strategy that I called productized components. This is a strategy I used to manage scalability of a churning team while maintaining security and an ability for new developers to rapidly understand existing software resources. It also provided a clear delineation for us to find new revenue streams by selling components of our product suite to other development groups and IT departments.</p>
<p>This article is raw, as I&#8217;ve left it basically unedited from its initial draft writing six years ago. Please excuse what I consider poor writing and overlook that for some tidbits of ideas that I think are valid.</p>
<p><strong>What is a component product?</strong></p>
<p>The term component product refers to one or more binary components that perform a specific task or related set of tasks. This is a discreet, black box object that is generic enough to be moved without modification from one application to another. The product part of this concept means that after completion, the component will rarely, if ever, require viewing or changing of its internals.</p>
<p>A fully productized component is not just the compiled binary. It also includes full documentation of the interface and any applicable information about how it works internally. Documentation includes proper use, optimization techniques, a description of the external interface, and examples.</p>
<p>Component products (or any component for that matter) must be perfect. This means the control must handle all error conditions, must be optimized to the fullest, all behavior must be known and consistent, all return codes must be accurate, it must have no bugs.</p>
<p>While this article does not discuss source level componentization, all developers in good practice should develop in a componentized, object oriented manner with regard for design patterns. Source level components should be used to compose binary level product components.</p>
<p><strong>Why companies should develop component products internally?</strong></p>
<p>This system also provides security and scalability to your software department in that contract workers do not have an inside look at the most important part of the software. Instead all they have access to are exposed interfaces of the core-productized components. The core software remains protected from theft or change. Only the binary components will be accessible to parties under lower levels of trust. Couple this with a binary licensing system and your core technology remains secure. If you binaries are stolen it will only work if your license is taken, which means your corporate name and licensing information remains with the binary.</p>
<p><strong>How to build a productized component</strong></p>
<p>For a component to be successful there are certain requirements that must be met:</p>
<ul>1. Advanced planning<br />
2. Ability to stand alone<br />
3. Proper documentation<br />
4. Consistent behavior<br />
5. Virtually no bugs!</ul>
<p>Benefits of components:</p>
<ul>1. Reuse of legacy code<br />
2. Internal security<br />
3. Manageability<br />
4. Upgradability</ul>
<p>Core components, and actually any component for that matter, must be perfect. This means the control must handle all error conditions, must be optimized to the fullest, all behavior must be known and documented, all return codes must be accurate, it must have no bugs.This seems like a tall order, and of course it is rare that software of any sort of true magnitude has no bugs. But in the componentized model the components must be small enough that they can be developed so they are near perfect.</p>
<p>This is a must because components are used in binary form; other developers cannot debug them and fix them. If a developer is using a series of components to create something bigger, it is expected and a must that if any bugs or inefficiencies arise it must be a given to the developer that the bug occurs in the code integrating the components and not the components themselves.</p>
<p>If a component is being implemented as the documentation describes then it should behave consistently, without hiccup, without surprise. If the component does contain an error then it is a nightmare for the developer integrating the component. It is difficult to determine that the component is at fault because of the trust given to the component and the mindset of the developer that black box controls should work, period.</p>
<p>It is important to spend most time debugging, testing, and assuring that components behave consistently and as documented. There must be no surprises. If a component is written poorly it’s a given that the application using the component will be poor.</p>
<p>I cannot repeat this enough: components, especially core, productized components, must be perfect because it is difficult for an integrating developer to identify the problem if it is in the component and not it’s implementation. There is no source available so the only recourse for the integrating developer is inefficient: to contact the supporter/developer of the component for cooperative debugging.</p>
<p>So test, test, and test again. Have multiple developers outside of the group who developed the component to review it, have them look for optimizations, bugs, logic flaws, memory leaks, and anything else that’s worth fixing. Sometimes new eyes can see the obvious things that the original developers eyes are used to seeing. Many times the reviewing developers will have different and more efficient approaches due to more experience or more knowledge of an API or something of that sort. It is very important to get many eyes on the code to look for improvement points and to always test, test, test after any change has been made.</p>
<p><strong>What type of programmers build and use productized components</strong></p>
<p>When it comes to the management of manpower productized components can provide a much clearer delineation of work than otherwise possible. With a productized component approach there are at least two categories of workers. First, the high skilled personnel who design, implement, and maintain the core productized components. The second category is the lower skilled labor that can use the productized components to build additions to the application.</p>
<p><strong>The cons of productized components</strong></p>
<p>Productized components take a longer to implement and must be developed by higher skilled developers. While the completion of a task can be done by a certain level programmer the ability to architect a generic implementation in the form of a reusable component requires a skilled, experienced developer.</p>
<p>The process of developing the component also takes more time than simply completing the task. The component must be thoroughly researched, be well implemented, and be tested even more than a solution. A component must be perfect for all cases and not just for the case of the specific implementation.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lowesoftware.com/software-development/productized-software-components/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Computing Intelligence, A Personal Project</title>
		<link>http://blog.lowesoftware.com/software-development/computing-intelligence-a-summary-of-what-im-up-to</link>
		<comments>http://blog.lowesoftware.com/software-development/computing-intelligence-a-summary-of-what-im-up-to#comments</comments>
		<pubDate>Wed, 04 Jul 2007 20:55:00 +0000</pubDate>
		<dc:creator>Alex Lowe</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.lowesoftware.com/?p=4</guid>
		<description><![CDATA[I&#8217;ve started a new project&#8230; in fact I&#8217;m coming back to an old project in a new way. Computing intelligence&#8230; whether its&#8217; artificial, business, or minimal intelligence.
Early in my self education the concept of AI and passing the Turing test were high in my mind. I prototyped an application called Lisa which would perform basic [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve started a new project&#8230; in fact I&#8217;m coming back to an old project in a new way. Computing intelligence&#8230; whether its&#8217; artificial, business, or minimal intelligence.</p>
<p>Early in my self education the concept of AI and passing the Turing test were high in my mind. I prototyped an application called Lisa which would perform basic chat functions on a limited knowledge set that was given a priori. Lisa could not assimilate data auto-magically.</p>
<p>My goal is to shoot high, to create a unified model of human memory that can have set math performed on it (union, intersection, etc.), has levels of degredation for physical memory limitations, has temporal knowledge, and that can be expanded.</p>
<p>This time will hopefully be different than the last, this time my significant other, Moniece Gothard, is collaborating with me. She is a psychology graduate with an emphasis in bio-psychology. She&#8217;s incredibly smart and insightful (not just bias talking here) and has provided incredible insights and collaboration with me. Thanks, babe!</p>
<p>This memory structure layer is simply a storage mechanism with optional additional processing to move &#8220;memories&#8221; between temporal storage layers, contextual layers, and archival layers.</p>
<p>In the future, a processing and interpreter can be built to suit needs of data analysis (pattern recognition, forecasting, etc), business intelligence, and human-like interaction.</p>
<p>While the aim is a human-like interaction, I hope that if I fall short there will be at least a strong general purpose memory mechanism that will be powerful for all intelligent computing applications.</p>
<p>So, the high level details on the memory structure implementation. The base of it is an n-linked fuzzy list using a subject, predicate, object, degree quadruple to define each link. These structures can be queried for different data views, have set math performed on them, and ultimately be used for temporal and static storage&#8230; with the assistance of a memory processor that will handle filtering, archival, deletion, and summarization of data to variable degrees.</p>
<p>The hope is that this general purpose storage mechanism will conceptually work in the general case and be able to provide more querying or data analysis information such as pattern recognition, forcasting, answering queries, and finding both obvious and non-obvious relationships.</p>
<p>Keep tuned for more information, and if you have interest in collaborating on the project, leave a comment or shoot me an email.</p>
<p> <a href="http://www.lowesoftware.com/">http://www.lowesoftware.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lowesoftware.com/software-development/computing-intelligence-a-summary-of-what-im-up-to/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

