<?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>beAutomated</title>
	<atom:link href="http://www.beautomated.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.beautomated.com</link>
	<description>WordPress Development &#38; Training</description>
	<lastBuildDate>Tue, 31 Jan 2012 20:57:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Hear us on Your Website Engineer Episode 51!</title>
		<link>http://www.beautomated.com/hear-us-on-your-website-engineer-episode-51/</link>
		<comments>http://www.beautomated.com/hear-us-on-your-website-engineer-episode-51/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 18:56:56 +0000</pubDate>
		<dc:creator>Sean Conklin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Podcasts]]></category>

		<guid isPermaLink="false">http://www.beautomated.com/?p=2338</guid>
		<description><![CDATA[Randy and I were return call-in guests on a popular WordPress podcast that aired Nov 23, 2011. Listen to us discuss cloud computing with Dustin Hartzler of Your Website Engineer on [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1371" title="Hear us on Your Website Engineer Episode 51!" src="http://www.beautomated.com/wp-content/uploads/2011/05/hear-us-on-your-website-engineer-episode-24.png" alt="Hear us on Your Website Engineer Episode 51!" width="274" height="101" /><a title="Read about Our Team" href="http://www.beautomated.com/team/">Randy and I</a> were return call-in guests on a popular WordPress podcast that aired Nov 23, 2011. Listen to us discuss cloud computing with <a title="Read about Dustin Hartzler" href="http://yourwebsiteengineer.com/about/">Dustin Hartzler</a> of Your Website Engineer on <a title="Listen to Episode 051 – Cloud Computing Expo" href="http://yourwebsiteengineer.com/051-cloud-computing-expo/">episode 51</a>.</p>
<p><a title="Visit Your Website Engineer" href="http://YourWebsiteEngineer.com/">Your Website Engineer</a> has served many thousands of downloads to the WordPress community and ranks within the top 10 when one searches for the term &#8220;WordPress&#8221; within the Apple iTunes Store. This episode marks Dustin&#8217;s 51st podcast on how to build your own quality website and runs for approximately 30 minutes.</p>
<p>In this episode we discuss our recent blog post <a title="Read Takeaways from Cloud Computing Expo 2011" href="http://www.beautomated.com/takeaways-from-cloud-computing-expo-2011/">Takeaways from Cloud Computing Expo 2011</a>, and report back on cloud computing and cloud application concepts from the recent conference.</p>
<p><span id="more-2338"></span>Thank you for taking the time to read this post. Note that we really appreciate feedback about what we’ve written as well as what topics you’d like us to discuss in future posts so please do leave a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beautomated.com/hear-us-on-your-website-engineer-episode-51/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Takeaways from Cloud Computing Expo 2011</title>
		<link>http://www.beautomated.com/takeaways-from-cloud-computing-expo-2011/</link>
		<comments>http://www.beautomated.com/takeaways-from-cloud-computing-expo-2011/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 03:17:51 +0000</pubDate>
		<dc:creator>Sean Conklin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Tips and HowTos]]></category>

		<guid isPermaLink="false">http://www.beautomated.com/?p=2165</guid>
		<description><![CDATA[Thanks to our wonderful hosting partner, Rackspace, beAutomated received free admission to this year’s Cloud Computing Expo in Santa Clara. I attended for 2 of the 4 days. While this [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-2278" title="Takeaways from Cloud Computing Expo 2011" src="http://www.beautomated.com/wp-content/uploads/2011/11/takeaways-from-cloud-computing-expo-2011.jpg" alt="Takeaways from Cloud Computing Expo 2011" width="274" height="101" />Thanks to our wonderful hosting partner, <a title="Visit Rackspace" href="http://rackspace.com">Rackspace</a>, beAutomated received free admission to this year’s <a title="Visit Cloud Computing Expo" href="http://cloudcomputingexpo.com/">Cloud Computing Expo</a> in Santa Clara. I attended for 2 of the 4 days. While this conference is more enterprise IT focused, there were plenty of small business and software application takeaways.</p>
<p>Before beginning my notes, I wanted to express my delight in gaining confirmation that our niche business of building custom WordPress plugins provides immense value to businesses and organizations of all sizes. Independent Software Vendors (ISVs) like ourselves accumulate years of knowledge that simply get lost within larger IT operations. ISVs provide affordable niche skills to clients who are concerned with turnaround speed. The value of custom core applications for businesses far exceeds anything that the cloud itself can provide, simply due to the nature of cloud software being contextual for a wide audience. Also, automation is considered essential for businesses of all sizes to control operating costs and enable superior, unique functionality that puts users in the driver&#8217;s seat. Finally, because change delivers business value, we&#8217;ll always have work in our industry!</p>
<p><span id="more-2165"></span></p>
<h2>Applications</h2>
<ul>
<li>Money is in core software applications, not in storage or middleware applications.</li>
<li>Service Level Agreements (SLAs) should offer different levels, such as levels 1 through 4.</li>
<li>Successful application stores are noted for being ecosystems for developers and communities.</li>
<li>Businesses and consumers care about functionality rather than the infrastructure elasticity technicians look at.</li>
<li>Consumers want applications on demand, so there is power in self-service portals.</li>
<li>Prepackaged solutions are too rigid. Instead, plan a blueprint (or a wizard) to custom build packages automated in realtime. The package itself becomes irrelevant compared to the manageable, upgradeable instructions that built it.</li>
<li>Change delivers business value, so make updates efficient to allow the most change.</li>
<li>Keep resources organized to answer who, what, when, and where. Source code must have version control, continuous integration, agile development.</li>
<li>Most businesses value speed of delivery above all else.</li>
<li>Core (custom) applications have immense value versus contextual commodity applications (e.g., accounting, and payroll).</li>
<li>Usability requirements are increasing due to mobile apps making things more simple and intuitive.</li>
</ul>
<h2>Cloud Infrastructure, Platform, and Software Services (<a title="Read Infrastructure-as-a-Service (IaaS)" href="http://en.wikipedia.org/wiki/Infrastructure_as_a_service#Infrastructure">IaaS</a>, <a title="Read Platform-as-a-Service (PaaS)" href="http://en.wikipedia.org/wiki/Platform_as_a_service">PaaS</a>, <a title="Read Software-as-a-Service (SaaS)" href="http://en.wikipedia.org/wiki/Software_as_a_service">SaaS</a>)</h2>
<ul>
<li>Server templates are built of (in layered order): drivers, operating systems, middleware, and management interfaces. These templates do not usually have custom apps as part of them, but there are vendors providing tools to build customized templates for mass deployment. Custom template tools have versioning of every software package within the template.</li>
<li>Templates cannot have already excepted licenses or regional settings. Leave that for the deployment teams.</li>
<li>Architecture gets too complex without automation. For example, you are better off getting an address to a destination along with a map instead of somebody’s directions how to get there. Don’t offer a service until you have an automation engine that runs your blueprint.</li>
<li>Focusing on custom blueprints and automation prevents vendor lock-in. Open automation gives choice and portability, raising the level of abstraction.</li>
<li>Rollback is the version control of the production environment. Always have an easy way to reverse updates.</li>
<li>Software-as-a-Service (SaaS) is used by companies to avoid &#8220;the IT beast&#8221; and quickly get access to software, but that still only provides generic commodity software.</li>
<li>Most software inventions take place in noncritical department level applications, then they become needed to deploy elsewhere and get rewritten for compatibility, then scale and become commodities, and finally get outsourced by the time everyone else uses it.</li>
<li>IT often gets asked to &#8220;fix&#8221; SaaS packages and they have to provide a custom layer to address needs.</li>
<li>Corporate IT departments loose knowledge at incredible rates, as they bleed into so many skill sets. Independent Software Vendors (ISVs) can focus on their work and accumulate knowledge with better budgets and flexibility.</li>
</ul>
<h2>Cloud Application Programming Interfaces</h2>
<ul>
<li>APIs expose capabilities to new channels.</li>
<li>APIs leverage the developer communities to build more and expand the reach.</li>
<li>As examples, eBay gets 60% of its activity through APIs, twitter 75%,and salesforce 65%.</li>
<li>APIs enable moving to the cloud by making applications portable.</li>
<li>The best APIs offer clear value, are simple, well documented, supported, secure, atomic, and collaborative.</li>
<li>When evaluating an API, developers typically gauge its activity, test it out, then search for answers to errors they run into by consulting search engines and/or forums.</li>
<li>APIs should get versioned, certify developers for them, offer sandboxing capabilities, and monitor or throttle their traffic to ensure quality.</li>
<li>For an API to be effective, providers must attract, manage, and support developers.</li>
<li>Incorporate multi-vendor functions such as OAuth, OpenID, and Federation to attract a wider developer audience.</li>
<li>Provide realtime notifications of updates or outages via Twitter or other methods.</li>
</ul>
<h2>Business Models</h2>
<ul>
<li>&#8220;You get what you measure.&#8221;</li>
<li>Vendors and providers differ in that the former sells services while the latter usually supplies them.</li>
<li>Model the value propositions of faster, better and cheaper to various options and consider the network connectedness of these value propositions.</li>
<li>Value propositions are a function of markets, operation metrics, and strategies for monetization.</li>
<li>Consider the macro (outer industry) and micro (inner industry) applications of offerings.</li>
<li>Micro concerns are based on operations, growth and contracts.</li>
<li>Macro concerns are based on community, channels, and industries.</li>
<li>Choice of standards drives decision making.</li>
</ul>
<p>Many thanks to all the speakers including <a title="Visit rPath" href="http://www.rpath.com/">Brett Adam</a>, <a title="Visit OutSystems" href="http://www.outsystems.com/">Mike Jones</a>, <a title="Visit UShareSoft" href="http://www.usharesoft.com/">James Weir</a>, <a title="Visit SOA Software" href="http://www.soa.com/">Alistair Farquharson</a>, and <a title="Visit Infrastructure Services, Capgemini" href="http://www.us.capgemini.com/services-and-solutions/infrastructure-services/overview/">Mark Skilton</a>.</p>
<p>Thank you for taking the time to read this post. Note that we really appreciate feedback about what we’ve written as well as what topics you’d like us to discuss in future posts so please do leave a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beautomated.com/takeaways-from-cloud-computing-expo-2011/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introducing beCounted</title>
		<link>http://www.beautomated.com/introducing-becounted/</link>
		<comments>http://www.beautomated.com/introducing-becounted/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 22:04:08 +0000</pubDate>
		<dc:creator>Sean Conklin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.beautomated.com/?p=2104</guid>
		<description><![CDATA[Yesterday we released version 1.0 of beCounted to the WordPress community via the WordPress.org Plugins repository. beCounted creates a multiple item count up widget based on annual statistics showing the number of [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-886" title="Introducing beCounted" src="http://www.beautomated.com/wp-content/uploads/2011/03/hb-plugins.jpg" alt="Introducing beCounted" width="274" height="101" />Yesterday we released version 1.0 of <a title="Get beCounted" href="http://www.beautomated.com/becounted/">beCounted</a> to the WordPress community via the WordPress.org Plugins repository. beCounted creates a multiple item count up widget based on annual statistics showing the number of occurrences since the page was loaded.</p>
<p>The default statistics that come with beCounted are a set of mythological creatures, including dragons, mermaids, unicorns, and zombies. Administrators can add any number of statistics to this counter, can customize all of the styling, and can add a custom credit blurb beneath the counter display with the ability to add hyperlinks.</p>
<p><span id="more-2104"></span>Note: We originally created this WordPress plugin for our client’s website, <a title="Visit Animal Rights: The Abolitionist Approach" href="http://www.abolitionistapproach.com/">Animal Rights: The Abolitionist Approach</a>, calling it the <a title="Get Animal Kill Counter Stats for beCounted" href="http://www.beautomated.com/becounted/animal-kill-counter/">Animal Kill Counter</a>.</p>
<p>Thank you for taking the time to read this post. Note that we really appreciate feedback about what we’ve written as well as what topics you’d like us to discuss in future posts so please do leave a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beautomated.com/introducing-becounted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hear us on Your Website Engineer Episode 48!</title>
		<link>http://www.beautomated.com/hear-us-on-your-website-engineer-episode-48/</link>
		<comments>http://www.beautomated.com/hear-us-on-your-website-engineer-episode-48/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 21:59:49 +0000</pubDate>
		<dc:creator>Sean Conklin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Podcasts]]></category>

		<guid isPermaLink="false">http://www.beautomated.com/?p=2030</guid>
		<description><![CDATA[Randy and I were return call-in guests on a popular WordPress podcast that aired Nov 2, 2011. Listen to us discuss project management with Dustin Hartzler of Your Website Engineer on [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1371" title="Hear us on Your Website Engineer Episode 48!" src="http://www.beautomated.com/wp-content/uploads/2011/05/hear-us-on-your-website-engineer-episode-24.png" alt="Hear us on Your Website Engineer Episode 48!" width="274" height="101" /><a title="Read about Our Team" href="http://www.beautomated.com/team/">Randy and I</a> were return call-in guests on a popular WordPress podcast that aired Nov 2, 2011. Listen to us discuss project management with <a title="Read about Dustin Hartzler" href="http://yourwebsiteengineer.com/about/">Dustin Hartzler</a> of Your Website Engineer on <a title="Listen to Episode 048 – WordPress and Phone Numbers" href="http://yourwebsiteengineer.com/048-wordpress-and-phone-numbers/">episode 48</a>.</p>
<p><a title="Visit Your Website Engineer" href="http://YourWebsiteEngineer.com/">Your Website Engineer</a> has served many thousands of downloads to the WordPress community and ranks within the top 10 when one searches for the term &#8220;WordPress&#8221; within the Apple iTunes Store. This episode marks Dustin&#8217;s 48th podcast on how to build your own quality website and runs for approximately 30 minutes.</p>
<p>In this episode we discuss our recent blog post <a title="Read What's in a Phone Number" href="http://www.beautomated.com/whats-in-a-phone-number/">What&#8217;s in a Phone Number</a>, an explanation of the differences between marketing requirements and engineering specifications for project management.</p>
<p><span id="more-2030"></span>Thank you for taking the time to read this post. Note that we really appreciate feedback about what we’ve written as well as what topics you’d like us to discuss in future posts so please do leave a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beautomated.com/hear-us-on-your-website-engineer-episode-48/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s in a Phone Number?</title>
		<link>http://www.beautomated.com/whats-in-a-phone-number/</link>
		<comments>http://www.beautomated.com/whats-in-a-phone-number/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 22:16:24 +0000</pubDate>
		<dc:creator>Sean Conklin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Tips and HowTos]]></category>

		<guid isPermaLink="false">http://www.beautomated.com/?p=2000</guid>
		<description><![CDATA[Today&#8217;s topic is an example demonstrating the difference between requirements (marketing based) and specifications (engineering based). We have a simple example of one form field, where we&#8217;re adding a telephone [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-2015" title="What's in a Phone Number?" src="http://www.beautomated.com/wp-content/uploads/2011/10/whats-in-a-phone-number.jpg" alt="What's in a Phone Number?" width="274" height="101" />Today&#8217;s topic is an example demonstrating the difference between requirements (marketing based) and specifications (engineering based). We have a simple example of one form field, where we&#8217;re adding a telephone number to the User Profile panel in the WordPress back end. We&#8217;ve often come across requirements like this where what appears to be a simple task becomes a bit more involved once we work on converting our client&#8217;s requirements into engineering specifications adequate for building robust software.</p>
<p>We typically start out with obtaining basic requirements from our prospective clients to understand the scope of their project concept. We want to ensure there is a designer involved, or somebody qualified to make design decisions when they come up. On the back end (wp-admin) we generally stick to the design conventions already there, though there may still be design implications requiring a designer&#8217;s input. Once we have all the requirements on the table and design mockups ready, we then ask questions that move us towards specifications, adequate for estimating cost and timeline for production.</p>
<p><span id="more-2000"></span>As an example of specifications, we could ask the following 10 questions with respect to this single form field&mdash;telephone number&mdash;which certainly could be part of a larger project.</p>
<ol>
<li>Size/width viewable to user</li>
<li>Maximum length (characters) for text entered</li>
<li>Label text (e.g., phone, telephone, phone number, telephone number)</li>
<li>Contextual help information (tooltips)</li>
<li>Formatting requirements (examples)</li>
<li>Possible inclusion of an auto-formatter utility</li>
<li>Validation requirements or behind the scenes conversions</li>
<li>Consideration for numbers that may have extension numbers appended to them</li>
<li>International support on prefixes and format considerations</li>
<li>Breaking into multiple fields, with or without automatic tabbing and autocompletion</li>
</ol>
<p>There are three typical groups of answers to the above questions:</p>
<ol>
<li>Simplicity. Some prospective clients may need their users&#8217; telephone numbers for a human to call, and may not care much about the format users enter. These prospective clients want to make the project as cost effective as well as easy as possible for the end user, regardless of administrative work that may be generated as data accumulates.</li>
<li>Best Practices. Most prospective clients will have us apply some basic validations to ensure the telephone number is valid. For example we could filter for numeric characters with parenthesis, dashes, and spaces allowed, but disallow letters or other characters.</li>
<li>Advanced UI. Other prospective clients may care more about data consistency or user interface and have more advanced requirements. For example, an automated SMS integration may require the telephone number to be formatted consistently in the proper structure. There could also be the need for international prefixes and potentially format recognition and correction validators and feedback mechanisms.</li>
</ol>
<p>So what&#8217;s in a phone number? It&#8217;s as little or as much as you want to make of it. The good news is that with custom plugins <em>you</em> are empowered to make these sorts of decisions!</p>
<p>Taking this small example, one might consider the questions that may arise from their own project concepts. We advise making sure that any developers being interviewed are asking these types of questions, and that they do so before asking for money. These questions often times come up sooner or later, and the later they arise the more difficult it may be to address them as budget and timeline progress.</p>
<p>Stepping back and looking at project management in general, it makes more sense to spend time planning up front and building a small project versus building prematurely. Ask yourself: Is it wise to go to a builder and expect them to plan for you, or could you take on more of the planning yourself, or possibly involve other team members in the planning process? These are good things to consider before beginning development.</p>
<p>Thank you for taking the time to read this post. Note that we really appreciate feedback about what we’ve written as well as what topics you’d like us to discuss in future posts so please do leave a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beautomated.com/whats-in-a-phone-number/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Our Tribute to Steve Jobs</title>
		<link>http://www.beautomated.com/our-tribute-to-steve-jobs/</link>
		<comments>http://www.beautomated.com/our-tribute-to-steve-jobs/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 01:00:21 +0000</pubDate>
		<dc:creator>Sean Conklin</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.beautomated.com/?p=1959</guid>
		<description><![CDATA[Yesterday the technology community lost a hero. Steve Jobs was an iconic leader for marketing and innovation. His legacy remains alive and well at Apple, throughout the industry, and here [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.apple.com/stevejobs/"><img class="alignleft size-full wp-image-1963" title="Our Tribute to Steve Jobs" src="http://www.beautomated.com/wp-content/uploads/2011/10/our-tribute-to-steve-jobs.png" alt="Our Tribute to Steve Jobs" width="274" height="101" /></a>Yesterday the technology community lost a hero. Steve Jobs was an iconic leader for marketing and innovation. His legacy remains alive and well at Apple, throughout the industry, and here at our little start-up business, beAutomated. Steve Jobs&#8217; legacy comes into our operation in a number of ways, including:</p>
<ul>
<li>Commitment to quality and doing things in a future proofed manner.</li>
<li>Being visionary—inventing new approaches, building upon and exceeding requirements.</li>
<li>Doing the things we love and letting the &#8220;dots get connected&#8221; on their own.</li>
<li>Leading the business optimistically on a path to success through hard work.</li>
<li>Perfecting the entire experience within our control.</li>
<li>Influencing the tools that the community uses everyday, thinking big and never giving up.</li>
</ul>
<p>Apple products have been legendary. We use Apple products everyday to do what we do. Steve Jobs will be dearly missed…</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beautomated.com/our-tribute-to-steve-jobs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hear us on Your Website Engineer Episode 44!</title>
		<link>http://www.beautomated.com/hear-us-on-your-website-engineer-episode-44/</link>
		<comments>http://www.beautomated.com/hear-us-on-your-website-engineer-episode-44/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 00:32:04 +0000</pubDate>
		<dc:creator>Sean Conklin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Podcasts]]></category>

		<guid isPermaLink="false">http://www.beautomated.com/?p=1951</guid>
		<description><![CDATA[Randy and I were return call-in guests on a popular WordPress podcast that aired Oct 5, 2011. Listen to us discuss the WordPress API with Dustin Hartzler of Your Website Engineer [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1371" title="Hear us on Your Website Engineer Episode 44!" src="http://www.beautomated.com/wp-content/uploads/2011/05/hear-us-on-your-website-engineer-episode-24.png" alt="Hear us on Your Website Engineer Episode 44!" width="274" height="101" /><a title="Read about Our Team" href="http://www.beautomated.com/team/">Randy and I</a> were return call-in guests on a popular WordPress podcast that aired Oct 5, 2011. Listen to us discuss the WordPress API with <a title="Read about Dustin Hartzler" href="http://yourwebsiteengineer.com/about/">Dustin Hartzler</a> of Your Website Engineer on <a title="Listen to Episode 44 - WordPress Plugin Management" href="http://yourwebsiteengineer.com/044-wordpress-plugin-management/">episode 44</a>.</p>
<p><a title="Visit Your Website Engineer" href="http://YourWebsiteEngineer.com/">Your Website Engineer</a> has served many thousands of downloads to the WordPress community and ranks within the top 10 when one searches for the term &#8220;WordPress&#8221; within the Apple iTunes Store. This episode marks Dustin&#8217;s 44th podcast on how to build your own quality website and runs for approximately 40 minutes.</p>
<p>In this episode we discuss <a title="Read WordPress Plugin Strategy" href="http://www.beautomated.com/plugin-strategy/">WordPress Plugin Strategy</a>, a comprehensive overview of how WordPress is intended to be extended with plugins via the WordPress API.</p>
<p><span id="more-1951"></span>Thank you for taking the time to read this post. Note that we really appreciate feedback about what we’ve written as well as what topics you’d like us to discuss in future posts so please do leave a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beautomated.com/hear-us-on-your-website-engineer-episode-44/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Plugin Strategy</title>
		<link>http://www.beautomated.com/plugin-strategy/</link>
		<comments>http://www.beautomated.com/plugin-strategy/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 22:34:55 +0000</pubDate>
		<dc:creator>Sean Conklin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Tips and HowTos]]></category>

		<guid isPermaLink="false">http://www.beautomated.com/?p=1879</guid>
		<description><![CDATA[In our last blog post, Built To Last, we mentioned the necessity of building into the core of WordPress and never modifying existing plugins, themes, or core files. We wanted to expand [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1928" title="Plugin Strategy" src="http://www.beautomated.com/wp-content/uploads/2011/09/plugin-strategy.jpg" alt="Plugin Strategy" width="274" height="101" />In our last blog post, <a title="Read Built To Last" href="http://www.beautomated.com/built-to-last/">Built To Last</a>, we mentioned the necessity of building into the core of WordPress and never modifying existing plugins, themes, or core files. We wanted to expand on this topic a bit and explain more about these best practices with what we&#8217;re calling &#8220;Plugin Strategy&#8221;.</p>
<p>WordPress was traditionally a blogging platform and has evolved into a full featured Content Management System (CMS). It is even more than that to PHP developers. WordPress serves as a <a title="Read Comparison of Web application frameworks: PHP" href="http://en.wikipedia.org/wiki/Comparison_of_Web_application_frameworks#PHP">PHP framework</a>—providing many tools and resources for developers to design their plugins with.</p>
<p>Despite all that WordPress has to offer developers, many don&#8217;t necessarily take the time to learn what all the core can do. This can mean reinventing the wheel by bringing in performance costing library files that otherwise aren&#8217;t necessary, making custom User Experience (UX) elements that don&#8217;t match WordPress, or creating plugins that are essentially islands to themselves based on how they store data and only mildly hook into WordPress.</p>
<p><span id="more-1879"></span>Let&#8217;s examine the <a title="Read WordPress API's" href="http://codex.wordpress.org/WordPress_API's">WordPress framework</a> to enlighten ourselves on how core developers built the platform to be extended. To begin, here&#8217;s a fairly complete list of current WordPress core API features. These interfaces are built and maintained by the WordPress core team and offered to the WordPress developer community:</p>
<ul>
<li>Administrative user experience (icons, messages, buttons, forms, tables, pagination)</li>
<li><a title="Read Dashboard Widgets API" href="http://codex.wordpress.org/Dashboard_Widgets_API">Administrative Dashboard Widgets</a></li>
<li><a title="Read Taxonomies" href="http://codex.wordpress.org/Taxonomies">Categorization</a> (taxonomy, tags, categories)</li>
<li><a title="Read Conditional Tags" href="http://codex.wordpress.org/Conditional_Tags">Conditional tags</a> (situation checks)</li>
<li><a title="Read Category: WP-Cron Functions" href="http://codex.wordpress.org/Category:WP-Cron_Functions">Cron</a> (time based execution) system</li>
<li><a title="Read 5 Ways to Debug WordPress" href="http://andrewnacin.com/2010/04/23/5-ways-to-debug-wordpress/">Debugging</a> (logging, unit testing)</li>
<li><a title="Read File Header API" href="http://codex.wordpress.org/File_Header_API">File headers</a> (media detection, <a title="Read Post Thumbnails" href="http://codex.wordpress.org/Post_Thumbnails">thumbnails</a>, storage)</li>
<li><a title="Read Plugin API" href="http://codex.wordpress.org/Plugin_API">Hook</a> (<a title="Read Plugin API/Action Reference" href="http://codex.wordpress.org/Plugin_API/Action_Reference">action</a> and <a title="Read Plugin API/Filter Reference" href="http://codex.wordpress.org/Plugin_API/Filter_Reference">filter</a>) system (plugins modify behavior of the page generator)</li>
<li><a title="Read I18n for WordPress Developers" href="http://codex.wordpress.org/I18n_for_WordPress_Developers">Internationalization</a> and Localization (translations)</li>
<li><a title="Read Using Javascript" href="http://codex.wordpress.org/Using_Javascript">JavaScripts</a> (jQuery libraries and AJAX capabilities)</li>
<li><a title="Read Create A Network" href="http://codex.wordpress.org/Create_A_Network">Multisite</a> (networking, sharing users plugins themes across sites)</li>
<li><a title="Read Options API" href="http://codex.wordpress.org/Options_API">Options</a> (general settings storage)</li>
<li>Plugin activation, deactivation, deletion (action triggers)</li>
<li><a title="Read Custom Fields" href="http://codex.wordpress.org/Custom_Fields">Post Metadata</a> (per post/page custom fields, new post types and meta boxes, attachments)</li>
<li><a title="Read Data Validation" href="http://codex.wordpress.org/Data_Validation">Sanitization and Validation</a> (escaping, security)</li>
<li><a title="Read Hardening WordPress" href="http://codex.wordpress.org/Hardening_WordPress">Security</a> (roles, capabilities, nonces, validation, sanitization, db abstraction, sql escaping)</li>
<li><a title="Read Settings API" href="http://codex.wordpress.org/Settings_API">Settings</a> (plugin settings pages)</li>
<li><a title="Read Shortcode API" href="http://codex.wordpress.org/Shortcode_API">Shortcodes</a> (hooks within specific pages or posts)</li>
<li><a title="Read Template Tags" href="http://codex.wordpress.org/Template_Tags">Template tags</a> (theme developers)</li>
<li><a title="Read Transients API" href="http://codex.wordpress.org/Transients_API">Transients</a> (session data)</li>
<li><a title="Read Roles and Capabilities" href="http://codex.wordpress.org/Roles_and_Capabilities">User Metadata</a> (authentication, per user roles, capabilities, profiles, additional fields)</li>
<li><a title="Read Rewrite API" href="http://codex.wordpress.org/Rewrite_API">URL Rewriting</a> (manipulating page controller)</li>
<li><a title="Read Widgets API" href="http://codex.wordpress.org/Widgets_API">Widgets</a> (sidebar items, footer items)</li>
<li><a title="Read HTTP API" href="http://codex.wordpress.org/HTTP_API">Web Services HTTP</a> (API server)</li>
</ul>
<p>The idea of building to the core is to utilize the above APIs as needed for as many purposes as possible, including: data storage, manipulation, and page rendering. In this way, plugins can interact with the site&#8217;s content and with each other as intended by the WordPress core team. A plugin should be thought of as an extension to the core, something that can be enabled or disabled, combined with other plugins, and whose output is compatible with other quality plugins and themes.</p>
<p>Our next building to the core concept is &#8220;no hacking&#8221;. The idea here is to never alter existing plugins, themes, or core files (code). Doing so will break future community contributions, updates, and security fixes trickling down from those project contributors. The plugins that one uses should perform all the necessary functionality within their scope, ideally a single service, and other plugins can be written to add or change most behaviors that WordPress itself offers control over. Thus, there is little reason to even consider modifying an existing plugin, theme, or core file. The cost of doing so will come back to bite in the short term. You&#8217;re better off building to the core with any custom projects you may have, plus for any existing plugins you use stick with only quality projects.</p>
<p>Thank you for taking the time to read this post. Note that we really appreciate feedback about what we’ve written as well as what topics you’d like us to discuss in future posts so please do leave a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beautomated.com/plugin-strategy/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Built To Last</title>
		<link>http://www.beautomated.com/built-to-last/</link>
		<comments>http://www.beautomated.com/built-to-last/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 14:00:13 +0000</pubDate>
		<dc:creator>Sean Conklin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Tips and HowTos]]></category>

		<guid isPermaLink="false">http://www.beautomated.com/?p=1633</guid>
		<description><![CDATA[In October 1972 the new Bay Area Rapid Transit (BART) system experienced what could have been a disastrous failure. An automated sensor that detected the train approaching the terminus station [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1823" title="Built To Last" src="http://www.beautomated.com/wp-content/uploads/2011/09/built-to-last.jpg" alt="Built To Last" width="274" height="101" />In October 1972 the new Bay Area Rapid Transit (BART) system experienced what could have been a disastrous failure. An automated sensor that detected the train approaching the terminus station was supposed to slow the train down in preparation for the stop, however it reversed and sped up the train to 70MPH. The operator couldn&#8217;t prevent the train from running out of elevated track, resulting in the train falling onto the street below. Good thing <a title="Read Computerized commuting for San Francisco, p. 81" href="http://books.google.com/books?id=udQDAAAAMBAJ&amp;lpg=PA78&amp;ots=j_63_G8E25&amp;pg=PA81#v=onepage&amp;q&amp;f=false">this accident</a> was part of a series of test runs with only a few individuals involved. Engineers fixed this and other problems in what was then a <a title="Read Computerized commuting for San Francisco, p. 78" href="http://books.google.com/books?id=udQDAAAAMBAJ&amp;lpg=PA78&amp;ots=j_63_G8E25&amp;pg=PA78#v=onepage&amp;q&amp;f=false">futuristic designed automated system</a> that has since served the public well for nearly 40 years.</p>
<p>Not everything is built to last. Often times quality gives way to budget shortfalls or pressures to produce rapidly. Lackluster quality can in the worst case scenario lead to accidents and even death. Accidents cannot always be avoided, but they can often be prevented by planning well, providing detailed product specifications, building carefully, testing rigorously, and maintaining vigorously. With respect to websites, the areas one generally needs to protect are: image, operations, and valuable customer data. It makes sense to take as many measures as possible to prevent one&#8217;s Internet operations from ever becoming a train wreck!</p>
<p>We recently discussed the topics of WordPress <a title="Read WordPress Security" href="https://www.beautomated.com/wordpress-security/">security</a> and <a title="Read WordPress Website Performance" href="https://www.beautomated.com/wordpress-website-performance/">performance</a> as they relate to plugins. These topics aren&#8217;t necessarily the driving force behind custom plugin development, but they most certainly should be major considerations throughout the product lifecycle as internal and external forces develop. Changes that occur over time include server software developments, web browser developments, database buildup, WordPress core developments, theme and plugin developments, and JavaScript library developments.</p>
<p><span id="more-1633"></span>Today&#8217;s plugin quality topic is interoperability—how well various plugins work together via the core framework of WordPress over time. Software in general becomes outdated rather quickly. More so with open-source community powered software. Depending on the scope of a project, the intended product lifecycle is usually no more than around 5 years. The higher quality the application, the better chance it will have of satisfying expectations and the longer it will last.</p>
<p>In terms of out of the box WordPress plugins, in particular free and unsupported products, we see all sorts of bugs, performance, security and interoperability issues. A <a title="Read What Lurks in the WordPress Plugin Repository?" href="http://wpmu.org/what-lurks-in-the-wordpress-plugin-repository/">recent statistic</a> was released noting that half of the plugins in the WordPress repository aren&#8217;t compatible with WordPress 3.0 or above, and that 85% of the plugins were throwing various PHP notices or warnings. To combat these community plugin quality issues, per a <a title="Read New Policy Coming to WordPress Plugin Repository: Plugins Not Updated in 2 Years Will Be Hidden" href="http://wpmu.org/new-policy-coming-to-wordpress-plugin-repository-plugins-not-updated-in-2-years-will-be-hidden/">recent policy announcement</a> from WordPress maintainers, plugins will automatically expire once their last updated date reaches 2 years old.</p>
<p>Most plugins simply aren&#8217;t built to last more than a year or two. Those short term products do serve a purpose—providing useful functionality at a nominal cost to solve an immediate need, often without much planning, specifications, building, and testing. While the benefits of free apps like WordPress plugins are clear, it is also clear that free and cheap comes with a bigger price—especially when evaluated from the perspective of time.</p>
<p>So here&#8217;s how one builds WordPress plugins to last, despite an ever evolving core:</p>
<ul>
<li><strong>Plan well:</strong> The more you consider upfront, the more you will be prepared for near future business changes. Custom software should not just fill a current niche but also handle growth throughout the near future as well.</li>
<li><strong>Design well:</strong> Most training can be avoided simply by having a sensible and intuitive interface catered to the individual stakeholders. Since the framework is WordPress, make the UI follow common WordPress routines.</li>
<li><strong><a title="Read WordPress Security" href="http://www.beautomated.com/wordpress-security/">Take security seriously</a>:</strong> Security holes can lead to intrusions that result in the stealing or corruption of your valuable data.</li>
<li><strong><a title="Read WordPress Website Performance" href="http://www.beautomated.com/wordpress-website-performance/">Take performance seriously</a>:</strong> Fast performing applications result in happier staff, happier customers, and of course improved efficiency to make management happier as well.</li>
<li><strong>Take interoperability seriously:</strong> Plugins must work with the latest version of WordPress core and must not break current versions of other plugins. If there are problems, find a better plugin, or if the functionality is essential and nothing appropriate exists then have one <a title="Read Custom WordPress Plugins" href="http://www.beautomated.com/custom-wordpress-plugins/">custom built</a>.</li>
<li><strong>Prepare for disasters:</strong> Maintain readily available backups. Ensure your hosting provider has appropriate measures in place and can get you back online in the event of major faults.</li>
<li><strong>Build to the core:</strong> Rely on the documented and supported core API. That is designed to have legacy support for a reasonable period of time, and developments upstream can easily be traced.</li>
<li><strong>No hacking:</strong> Never rely on combining plugins together for a single purpose. Never alter existing plugins because that will break future community contributions and security fixes to that plugin. If there is an existing plugin that meets your needs and doesn&#8217;t intertwine with functionality you are having built, it&#8217;s okay to keep the pre-built plugin running separately.</li>
<li><strong>Keep it in the family:</strong> Be very careful piecing together outside resources or third party code. Vendors can point fingers at one another, fail to deliver as expected, and cause communication and scheduling difficulties. It&#8217;s best to have a single provider be responsible for a standalone product such as a complete WordPress plugin or theme.</li>
</ul>
<p>Thank you for taking the time to read this post. Note that we really appreciate feedback about what we&#8217;ve written as well as what topics you&#8217;d like us to discuss in future posts so please do leave a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beautomated.com/built-to-last/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hear us on Your Website Engineer Episode 39!</title>
		<link>http://www.beautomated.com/hear-us-on-your-website-engineer-episode-39/</link>
		<comments>http://www.beautomated.com/hear-us-on-your-website-engineer-episode-39/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 15:43:46 +0000</pubDate>
		<dc:creator>Sean Conklin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Podcasts]]></category>

		<guid isPermaLink="false">http://www.beautomated.com/?p=1808</guid>
		<description><![CDATA[Randy and I were return call-in guests on a popular WordPress podcast that aired Aug 31, 2011. Listen to us discuss DNS with Dustin Hartzler of Your Website Engineer on episode [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1371" title="Hear us on Your Website Engineer Episode 39!" src="http://www.beautomated.com/wp-content/uploads/2011/05/hear-us-on-your-website-engineer-episode-24.png" alt="Hear us on Your Website Engineer Episode 39!" width="274" height="101" /><a title="Read about Our Team" href="http://www.beautomated.com/team/">Randy and I</a> were return call-in guests on a popular WordPress podcast that aired Aug 31, 2011. Listen to us discuss DNS with <a title="Read about Dustin Hartzler" href="http://yourwebsiteengineer.com/about/">Dustin Hartzler</a> of Your Website Engineer on <a title="Listen to Episode 39 - Understanding Your DNS Servers" href="http://yourwebsiteengineer.com/039-understanding-your-dns-servers/">episode 39</a>.</p>
<p><a title="Visit Your Website Engineer" href="http://YourWebsiteEngineer.com/">Your Website Engineer</a> has served many thousands of downloads to the WordPress community and ranks within the top 10 when one searches for the term &#8220;WordPress&#8221; within the Apple iTunes Store. This episode marks Dustin&#8217;s 39th podcast on how to build your own quality website and runs for approximately 40 minutes.</p>
<p>In this episode we discuss <a title="Understanding DNS for Faster Website Migrations" href="http://www.beautomated.com/understanding-dns-for-faster-website-migrations/">Understanding DNS for Faster Website Migrations</a>, how to best architect your domain name&#8217;s DNS hosting and how to manage the various records that point traffic to your various hosting providers.</p>
<p><span id="more-1808"></span>Thank you for taking the time to read this post. Note that we really appreciate feedback about what we’ve written as well as what topics you’d like us to discuss in future posts so please do leave a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.beautomated.com/hear-us-on-your-website-engineer-episode-39/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

