<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>Codesta Weblog</title>
    
    <link rel="alternate" type="text/html" href="http://blog.codesta.com/codesta_weblog/" />
    <id>tag:typepad.com,2003:weblog-1384344</id>
    <updated>2009-08-27T08:27:49-07:00</updated>
    
    <generator uri="http://www.typepad.com/">TypePad</generator>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/CodestaWeblog" /><feedburner:info uri="codestaweblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry>
        <title>Seven iPhone Development Rules of Thumb</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodestaWeblog/~3/kpfE_-ZI3cs/7-iphone-development-rules-of-thumb.html" />
        <link rel="replies" type="text/html" href="http://blog.codesta.com/codesta_weblog/2009/08/7-iphone-development-rules-of-thumb.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e39338b2e488340120a56cc2c8970c</id>
        <published>2009-08-27T08:27:49-07:00</published>
        <updated>2009-08-27T12:57:01-07:00</updated>
        <summary>I've been an Apple developer since it was called NeXT and found the following rules of thumb helpful when introducing new people to Apple development. 1. Read the introductory documentation. Build a simple application. Read the documentation again. The Apple development environment is very different from other application development environments. There is going to be some ramp up time. This isn't like learning .NET after you learned Java. Expect to throw away your first couple of applications. 2. Don't buck the system. This is a general theme in the Apple world. If you do things the Apple way, life is pretty easy. If you try to do things the MFC/.NET/Java way... it will be very hard. Apple heavily uses the...</summary>
        <author>
            <name>Robert Osborne</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        <category scheme="http://sixapart.com/ns/types#tag" term="Apple" />
        <category scheme="http://sixapart.com/ns/types#tag" term="Developer" />
        <category scheme="http://sixapart.com/ns/types#tag" term="Development" />
        <category scheme="http://sixapart.com/ns/types#tag" term="HIG" />
        <category scheme="http://sixapart.com/ns/types#tag" term="Human Interface Guide" />
        <category scheme="http://sixapart.com/ns/types#tag" term="iPhone" />
        <category scheme="http://sixapart.com/ns/types#tag" term="NeXT" />
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.codesta.com/codesta_weblog/"><div xmlns="http://www.w3.org/1999/xhtml"><div>I've been <a href="http://developer.apple.com/" target="_blank" title="Apple Developer Connection">an Apple developer</a> since it was called NeXT and found the following rules of thumb helpful when introducing new people to <a href="http://www.apple.com/" target="_blank" title="Apple Computer">Apple development</a>.</div>
<div>
<h4><strong>1. Read the introductory documentation.  Build a simple application.  Read the documentation again.</strong></h4></div>
<div>The Apple development environment is very different from other application development environments. There is going to be some ramp up time. This <a href="http://www.microsoft.com/net/" target="_blank" title="Microsoft .NET">isn't like learning .NET</a> after you <a href="http://www.java.com/en/" target="_blank" title="Java and You">learned Java</a>.</div><br />
<div>Expect to throw away your first couple of applications.</div>
<div>
<h4><strong>2. Don't buck the system.</strong></h4></div>
<div>This is a general theme in the Apple world. If you do things the Apple way, life is pretty easy. If you try to do things the MFC/.NET/Java way... it will be very hard.</div><br />
<div>Apple heavily uses the delegate pattern. Don't fight it. <a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller" target="_blank" title="MVC Overview from Wikipedia">Apple's view of MVC</a> is a little odd. Adapt.</div>
<div>
<h4><strong>3. If it seems hard, you're probably doing it wrong.</strong></h4></div>
<div>The Apple developer forums are full of people tracking down difficult problems that are solved by simply doing it in a slightly different way. Not all of these are cases of RTFM, sometimes it's just a trick that all the experienced developers know and you just need to ask.</div><br />
<div>If something seems harder than it should, head for Google or Bing sooner rather than later!</div>
<div>
<h4><strong>4. Respect "Apple doesn't want you to do this".</strong></h4></div>
<div>Apple makes customization of most things easy and customization of things it doesn't really want you mucking with very hard. This has been the case since <a href="http://www.apple.com/macosx/" target="_blank" title="Mac OS X">Mac OS X</a> was <a href="http://en.wikipedia.org/wiki/Nextstep" target="_blank" title="NeXTStep Backgound on Wikipedia">NeXTStep</a> and cell phones were the size of a brick.</div><br />
<div>Apple has stringent rules on <a href="http://developer.apple.com/documentation/userexperience/Conceptual/AppleHIGuidelines/XHIGIntro/XHIGIntro.html" target="_blank" title="Apple Human Interface Guide (HIG)">iPhone apps</a>. Apple wants you to do things a certain way, so just go with the program. Or develop for <a href="http://www.android.com/" target="_blank" title="Android Open Source Home">Android</a>/<a href="http://www.blackberry.com/" target="_blank" title="Home of the Blackberry">Blackberry</a>/<a href="http://www.palm.com/us/products/phones/pre/" target="_blank" title="Palm Pre ">Pre</a>.</div>
<div>
<h4><strong>5. Understand retain, copy, release and autorelease.</strong></h4></div>
<div>Really, really understand them. You need to know at a visceral level when to retain or copy, when to release and when to autorelease.</div><br />
<div>If you run into a retain/release imbalance, stop and think about it until you understand where you went wrong. Don't just start inserting retains and releases until the problem goes away. If you really think about these every time it won't be too long before you never create them again.</div>
<div>
<h4><strong>6. Learn the difference between should, will and did methods.</strong></h4></div>
<div>Create a simple delegate example and log when every method is called. Read the documentation before and after you think you understand how this all works.</div>
<div>
<h4><strong>7. Don't ignore warnings.</strong></h4></div>
<div>Warnings are often telling you that your code doesn't do what you think it is  doing. Or that things don't work the way you think they do. </div><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/CodestaWeblog/~4/kpfE_-ZI3cs" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.codesta.com/codesta_weblog/2009/08/7-iphone-development-rules-of-thumb.html</feedburner:origLink></entry>
    <entry>
        <title>Beyond Pathauto</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodestaWeblog/~3/PMRwiK7klgw/part-2-extending-drupals-url-aliasing-facility-.html" />
        <link rel="replies" type="text/html" href="http://blog.codesta.com/codesta_weblog/2009/07/part-2-extending-drupals-url-aliasing-facility-.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-62589887</id>
        <published>2009-07-06T07:51:00-07:00</published>
        <updated>2009-08-27T12:45:33-07:00</updated>
        <summary>The Pathauto module is the Drupal supplied solution to automatically create URL aliases based on the title of a node. You can adjust this in the Pathauto configuration following some basic patterns, but sometimes this is not enough. Drupal has another mechanism with which you can create custom URL’s for each node. One just has to edit the node, find the “URL path settings” fieldset, and add an alias to that node. If you have a website that publishes a lot of content, doing this manually will become tedious, error prone, and even impractical. We had a requirement on a recent project where there were Drupal nodes that had to be accessible from a URL that was not possible to...</summary>
        <author>
            <name>Chris Trela</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        <category scheme="http://sixapart.com/ns/types#tag" term="AutoPath" />
        <category scheme="http://sixapart.com/ns/types#tag" term="CCK" />
        <category scheme="http://sixapart.com/ns/types#tag" term="CMS" />
        <category scheme="http://sixapart.com/ns/types#tag" term="Content Management System" />
        <category scheme="http://sixapart.com/ns/types#tag" term="Content Types" />
        <category scheme="http://sixapart.com/ns/types#tag" term="Drupal" />
        <category scheme="http://sixapart.com/ns/types#tag" term="Pathauto" />
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.codesta.com/codesta_weblog/"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://drupal.org/project/pathauto" target="_blank" title="PathAuto Module Homepage">The Pathauto module</a> is the <a href="http://drupal.org/" target="_blank" title="Home of All Things Drupal...">Drupal</a> supplied solution to automatically create URL aliases based on the title of a node. You can adjust this in the Pathauto configuration following some basic patterns, but sometimes this is not enough.</p>
<p>Drupal has another mechanism with which you can create custom URL’s for each node. One just has to edit the node, find the “URL path settings” fieldset, and add an alias to that node. If you have a website that publishes a lot of content, doing this manually will become tedious, error prone, and even impractical.</p>
<p>We had a requirement on a recent project where there were Drupal nodes that had to be accessible from a URL that was not possible to automatically generate with the Pathauto module. Our custom content type stored data for a media review that was one of several types: a video game review, movie review, book review and so on. For <a href="http://http://en.wikipedia.org/wiki/Search_engine_optimization" target="_blank" title="Wikipedia Info on SEO">SEO purposes</a>, we needed to generate a URL based on the review type and its title, for example a game would have the URL games/game-title, a movie would have movies/movie-title. The problem with the Pathauto module was that it could only categorize a content type with one type of URL pattern so all reviews could be stored in games/game-title or movies/movie-title, but not both. Using a custom Drupal module allows you the flexibility to create different URL alias patterns based on your own rules and data. Here is how:</p>
<p><strong>Step 1: Configure Pathauto</strong></p>
<ul>
<li>Go to the Pathauto configuration page at "/admin/settings/pathauto". 
<li>Click on the "Node Path Settings" field set. 
<li>Find the Label "Pattern for all <your content="CONTENT" type="TYPE">Page", then set the "pattern" for that content type. </your>
<li>For now we just need to add the "[title]" pattern in the text box.  </li>
</li></li></li></ul>
<p><strong>Step 2: Create a Module:</strong></p>
<p>We need to create a module that is the same name as the <a href="http://drupal.org/project/cck" target="_blank" title="CCK Introduction">CCK content type</a> you have existing in your system. In our case we would create a module named Review.module. (Please <a href="http://drupal.org/handbooks" target="_blank" title="Drupal Docs Home">see Drupal documentation</a> for how to add modules).</p>
<p><strong>Step 3: Override the Hook Nodeapi:</strong></p>
<p>What we will do in the module is hijack this pattern and add what we want to it.<br />In the review.info module you will need to add a dependency with the <a href="http://drupal.org/node/37228" target="_blank" title="AutoPath Module Info">AutoPath module</a> to ensure that it is turned on for this to work (Please see Drupal documentation for how to add module dependencies).</p>
<p>Next edit the review.module file and add the following code.</p>
<p>// This allows us to use the functions defined in the <br />// autopath module.<br />require_once '../modules/contrib/pathauto/pathauto.module';</p>
<p>//Now all we need to do is to overload the node_api hook<br /><br />function review_nodeapi (&amp;$node, $op, $a3 = NULL, $a4 = NULL){<br /><br />  $is_inserting = FALSE;<br />  if ($node-&gt;type == 'review') {<br />if ($op ==  'insert'){<br />  $is_inserting = TRUE;<br />}</p>
<p>// Preparing the array for the URL alias insertion    <br />$placeholders = pathauto_get_placeholders('node', $node);</p>
<p>// Detect what type it is, and modify the title<br />// the Pathauto module must be enabled for this to work.<br />// $node-&gt;node_type stores the type of review <br />//  (‘game’,’music’, ‘movie’)<br />$node_type = $node-&gt;node_type;</p>
<p>// pathauto_cleanstring removes all spaces and special <br />// characters from the title in preparation of url format.<br />$cleantitle = pathauto_cleanstring($node-&gt;title, FALSE);</p>
<p>// The url that will be created:  <br />$cleantitle = ‘reviews/’ . $node_type . '/'. $cleantitle;</p>
<p>// Place it in the array in the 15, 16 position <br />// (this indicates it is a alias for a node)<br />$placeholders['values'][15] = $cleantitle;<br />$placeholders['values'][16] = $cleantitle;<br />if ($is_inserting) {<br />  pathauto_create_alias('node', 'insert', $placeholders, <br />"node/" .$node-&gt;nid,  $node-&gt;nid, $node-&gt;type);<br />} else  {<br />  pathauto_create_alias('node', 'update', $placeholders, <br />"node/" .$node-&gt;nid,  $node-&gt;nid, $node-&gt;type);<br />}<br />  } // end if node-&gt;type = ‘review’<br />} // end node_api hook</p>
<p>Now any time you add a review it will have a url alias that consists of www.yoursite.com/reviews/[review-type]/[title-of-review]’</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/CodestaWeblog/~4/PMRwiK7klgw" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.codesta.com/codesta_weblog/2009/07/part-2-extending-drupals-url-aliasing-facility-.html</feedburner:origLink></entry>
    <entry>
        <title>Drupal: Easing Content Type Proliferation</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodestaWeblog/~3/Ud5xKIqUnwM/drupal-making-one-content-type-seem-like-many.html" />
        <link rel="replies" type="text/html" href="http://blog.codesta.com/codesta_weblog/2009/06/drupal-making-one-content-type-seem-like-many.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-62590523</id>
        <published>2009-06-17T13:30:29-07:00</published>
        <updated>2009-06-17T13:29:46-07:00</updated>
        <summary>In this blog post we will show you how to allow content editors to edit similar but different "pages" in Drupal, all based on a shared content type without confusion, by hiding the unnecessary form elements. There can be times when you wish to create several similar content types that only differ slightly from one another (perhaps by a field or two). Let’s take a website that posts environmental warnings on different types of pollution as an example. The site could report air pollution, water pollution and ground pollution warnings. One option is to create 3 separate content types, one for each type of pollution. Air pollution may have an air quality index field, while ground pollution may have a...</summary>
        <author>
            <name>Chris Trela</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.codesta.com/codesta_weblog/"><div xmlns="http://www.w3.org/1999/xhtml"><p style="font-size: 13px; font-family: Arial;">In this blog post we will show you how to allow content editors to edit similar but <a href="http://drupal.org/" target="_blank" title="Drupal Project Home">different "pages" in Drupal</a>, all based on a shared content type without confusion, by hiding the unnecessary form elements.</p><p style="font-size: 13px; font-family: Arial;">There can be times when you wish to create several similar content types that only differ slightly from one another (perhaps by a field or two). Let’s take a website that posts environmental warnings on different types of pollution as an example. The site could report air pollution, water pollution and ground pollution warnings. One option is to create 3 separate content types, one for each type of pollution. Air pollution may have an air quality index field, while ground pollution may have a field that shows how it affects the property value of nearby buildings. The point here is that most of the fields for all 3 content types are the same. Discovery Date, Detail Review, Severity, and so on. An alternative implementation is to use one content type called Pollution and a field in that content type named ‘Pollution_type’. This field in the content type would allow us the flexibility to know what type of pollution we are dealing with.</p><p style="font-size: 13px; font-family: Arial;">The problem comes when an environmental investigator wishes to add a new air pollution warning. They will see <a href="http://drupal.org/" target="_blank" title="Drupal Project Home">a Drupal form</a> with a ground pollution area field, land value field and all the other fields which are not related to the air pollution type. This can make the user interface crowded with unrelated fields, and unusable. So how can we have one content type and one form which adapts to the type of pollution a user has selected?  </p><p style="font-size: 13px; font-family: Arial;">Sim<span style="font-size: 13px; font-family: Arial;">ple. </span></p><p style="font-size: 13px; font-family: Arial;">By overriding the <strong><em>node_form.tpl</em></strong> file in the themes directory for the ‘<em>pollution</em>’ node type, we can take full control of the appearance of our form. We can then <a href="http://en.wikipedia.org/wiki/JavaScript" target="_blank" title="JavaScript Primer at Wikipedia">add some JavaScript</a>, or <a href="http://jquery.com/" target="_blank" title="JQuery, Write Less, Do More...">better yet JQuery</a>, which will hide and show elements bas<span style="font-size: 12px; font-family: Arial;">ed on which review type the user has chosen.</span></p><p style="font-size: 12px; font-family: Arial;"><strong><strong><h4><span style="font-size: 15px; font-family: Arial;">Step 1: Set Up CCK Fields</span><br /></h4></strong></strong></p><p style="font-size: 12px; font-family: Arial;">To set this example up we need <a href="http://drupal.org/project/cck" target="_blank" title="Drupal CCK Project Home">a simple CCK content type</a> with the following fields (<a href="http://drupal.org/handbooks" target="_blank" title="Drupal Handbooks">please see Drupal documentation</a> about how to<span style="font-size: 13px; font-family: Arial;"> create CCK fields):</span></p><p style="font-size: 13px; font-family: Arial;">Review_ type : drop down with default fields: ( 1 – air, 2 – ground, 3 – water)<br />hazard_time (text box)<br />area_affected (text box)<br />warning_date (date)<br />warning_details (text area)</p><p style="font-size: 13px; font-family: Arial;">etc ...<strong><strong><strong><strong><h4><span style="font-size: 15px; font-family: Arial;">Step 2: Override the Node Form for the Review Content Type</span><br /></h4></strong></strong></strong></strong></p><p style="font-size: 13px; font-family: Arial;">To do so you need to create a function in the <em>template.php</em> file (which will be found in your themes directory). The name of the function will need to take on the following form:</p><p><em>phptemplate_[content_type]_node_form()</em> <span style="font-size: 13px; font-family: Arial;">and in our case the function will look like the following:</span></p>
<blockquote>
<p><code>
</code></p><pre><p>function phptemplate_pollution_node_form($form) {<br />    drupal_add_js('sites/all/modules/js/pollution.js');  <br /><br />    // Add JQuery to act on the form<br />    // load the review_node_form.tpl.php file to render this <br />    //form.   <br />    return _phptemplate_callback('pollution_node_form',<br />    array('form' =&gt; $form));  <br />}</p></pre>

</blockquote>
<p style="font-size: 13px; font-family: Arial;">The reason why this works is because when Drupal processes the form for a particular node that has been queued up to render, it will search through the <em>template.php</em> file for a function in the form of<span style="font-style: italic;"> </span><em>phtemplate_[content_type]_node_form</em>: If it finds one it will then load and render the form returned by this func<span style="font-size: 13px; font-family: Arial;">tion.</span></p><p style="font-size: 13px; font-family: Arial;"><strong><strong><strong><strong><h4><span style="font-size: 15px; font-family: Arial;">Step 3: Render a Custom Form</span><br /></h4></strong></strong></strong></strong></p><p style="font-size: 13px; font-family: Arial;">In the themes directory you need to create the form theme function that is returned by the function in the <em>template.php</em> function. In our example this would be<em> pollution_node_form.tpl.php</em></p><p style="font-size: 13px; font-family: Arial;">Now in the <em>pollution_node_form.tpl.php</em> file we create the HTML and attributes we need to render the form. This includes any tags and classes that will help us when we use JQuery to hide and show the form.</p><pre>&lt;?php&gt;</pre>

<blockquote>
<p><code>
</code></p><pre><p>&lt;legend&gt; Type And Title &lt;/legend&gt;</p><p>&lt;?php echo drupal_render($form['field_pollution_type']); ?&gt;<br />    &lt;?php echo drupal_render($form['title']); ?&gt;<br />&lt;div id=’warning’&gt;<br />    &lt;?php echo drupal_render($form['field_warning]); ?&gt;<br />&lt;/div&gt;<br />&lt;div id= 'land_pollute_field’&gt;<br />    &lt;?php echo drupal_render($form['field_land_area_affected<br />]); ?&gt;<br />&lt;/div&gt;<br />&lt;div id= ‘air_pollute_field’&gt;<br />    &lt;?php echo drupal_render($form['field_direction_of_<br />movement]); ?&gt;<br />&lt;/div&gt;</p><p>// render other field from the CCK content type ..</p><p>&lt;?php&gt;</p><p>    // Unset form elements that you don’t want rendered<br />        unset($form['attachments']);<br />        unset($form['menu']);<br />    …<br />     // Render the rest of the form …<br />        echo drupal_render($form);</p><p>?&gt;</p></pre>

</blockquote>
<p style="font-size: 13px; font-family: Arial;">Now to get the JQuery to connect with the HTML id’s of each separate div we add the following JQuery file to the JavaScipt file referred to in Step 2. In our example the file should be named <em>warning.js</em> and be in the <em>/themes/yourtheme/js</em> directory.</p>
<blockquote>
<p><code>
</code></p><pre><p>$(document).ready( function() {</p><p>    // Need to initialize on page load which fields are shown on the page.<br />    $("#land_pollute_field").css("display","block");<br />    $("#water_pollute_field").css("display","none");<br />    $("#air_pollute_field").css("display","none");</p><p><br />    var choice = $("#edit-field-pollution-type").val();  <br />// You will need to find the ‘id’ of the dropdown list <br />    switch(choice) {</p><p>        case “land":</p><p>            $("#land_pollute_field").css("display","block");<br />            $("#water_pollute_field").css("display","none");<br />            $("#air_pollute_field").css("display","none");</p><p><br />        break;<br />        case "air": <br />            <br />            $("#water_pollute_field").css("display","none");<br />            $("#land_pollute_field").css("display","none");<br />            $("#air_pollute_field").css("display","block");</p><p><br />        break;<br />        case "water":</p><p>            $("#land_pollute_field").css("display","none");<br />            $("#water_pollute_field").css("display","block");<br />            $("#air_pollute_field").css("display","none");</p><p>        break;<br />});<span style="font-family: Arial;"><br /><span style="font-family: monospace;" /></span></p></pre></blockquote><pre><p><span style="font-size: 13px; font-family: Arial;">From here its easy to expand the form and manipulate the layout as needed.</span><br /><span style="font-family: Arial;"><span style="font-family: monospace;" /></span></p></pre><blockquote>

</blockquote><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/CodestaWeblog/~4/Ud5xKIqUnwM" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.codesta.com/codesta_weblog/2009/06/drupal-making-one-content-type-seem-like-many.html</feedburner:origLink></entry>
    <entry>
        <title>Canada 3.0 - Defining Canada's Digital Future</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodestaWeblog/~3/bIqYFbNm6AE/canada-30-defining-canadas-digital-future.html" />
        <link rel="replies" type="text/html" href="http://blog.codesta.com/codesta_weblog/2009/06/canada-30-defining-canadas-digital-future.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-67556251</id>
        <published>2009-06-04T07:14:04-07:00</published>
        <updated>2009-06-04T07:13:24-07:00</updated>
        <summary>A few months ago at Communitech's Techworking breakfast, I had the opportunity to see Tom Jenkins, Executive Chairman, and CSO of Open Text share a little about Open Text's Enterprise Content Management Solutions, and how they are working with clients to manage their digital assets. Jenkins also discussed the Canada 3.0 Forum that will be held in Stratford, Ontario on June 8th &amp; 9th. My initial reaction was "3.0? Really?". Many are still trying to figure out 2.0 as others have moved on and begun to argue 3.0... Is 3.0 the semantic web, a mobile web, or digital media? While others argue that technology is moving so quickly right now it is impossible to wrap up in a tidy little...</summary>
        <author>
            <name>Dan Bowman</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Conferences, Events and Associations" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Film" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Games" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Music" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Sports" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.codesta.com/codesta_weblog/"><div xmlns="http://www.w3.org/1999/xhtml"><p>A few months ago at Communitech's Techworking breakfast, I had the opportunity to see <a href="http://www.opentext.com/2/global/company/company-directors" target="_blank" title="Tom Jenkins Open Text Bio">Tom Jenkins, Executive Chairman, and CSO of Open Text</a> share a little about Open Text's Enterprise Content Management Solutions, and how they are working with clients to manage their digital assets.  </p><p>Jenkins also discussed the <a href="http://canada30.uwaterloo.ca/" target="_blank" title="Canada 3.0 Conference">Canada 3.0 Forum that will be held in Stratford, Ontario on June 8th &amp; 9th</a>.  My initial reaction was "3.0?  Really?". Many are still trying to figure out 2.0 as others have moved on and begun to argue 3.0... Is 3.0 the semantic web, a mobile web, or digital media? While others argue that technology is moving so quickly right now it is impossible to wrap up in a tidy little box and name it. Regardless of where you stand, <a href="http://www.readwriteweb.com/archives/something_new_in_2009.php" target="_blank" title="Richard McManus' Take on 3.0">Richard McManus' post provides some great insight</a> with additional thoughts on 3.0.  </p><p>Independent of which direction 3.0 goes, Canada cannot afford to sit by and wait for its definition. We must find a way to ensure that digital innovation continues, accelerates, and succeeds in our country.  Canada 3.0 is an opportunity to bring the public and private sector together to discuss the future of the web and act now to help shape Canada's digital media strategy.</p><p>With speakers from the private sector such as <a href="http://www.rim.net/newsroom/media/executive/index.shtml" target="_blank" title="RIM Executive Bios">RIM Co-CEO's Mike Lazaridis &amp; Jim Balsillie</a>, Tom Jenkins, <a href="http://newsrelease.uwaterloo.ca/news.php?id=5072" target="_blank" title="Ian Wilson, Strategic Advisor Stratford Institute">Ian Wilson</a>, <a href="http://www.crtc.gc.ca/Eng/about/vfinckenstein.htm" target="_blank" title="Konrad von Finckenstein CRTC Bio">Konrad W. von Finckenstein</a> of the CRTC, and <a href="http://www.premier.gov.on.ca/home/index.php" target="_blank" title="Premier of Ontario Dalton McGuinty">the Honourable Dalton McGuinty</a>, in additon to stream speakers <a href="http://community.akoha.com/about/" target="_blank" title="Austin Hill Akoha Bio">Austin Hill of Akoha</a>, <a href="http://www.globalive.com/?page_id=60" target="_blank" title="Anthony Lacavera Corporate Bio">Anthony Lacavera of Globalive</a>, <a href="http://www.microsoft.com/canada/media/bios/bio-mark_relph.mspx" target="_blank" title="Mark Relph Microsoft Bio">Mark Relph of Microsoft</a>, <a href="http://www.ocad.ca/about_ocad/administration/presidents_office/presidents_message.htm" target="_blank" title="Sara Diamond OCAD Bio">Sara Diamond of OCAD</a>, and <a href="http://www.openminds.ca/flash/index.htm" target="_blank" title="Arlene Dickinson Bio">Alrene Dickinson of Venture Communications</a> and <a href="http://www.cbc.ca/dragonsden/thedragons.html" target="_blank" title="Arlene Dickinson Dragon's Den Summary">Dragon's Den fame</a>, <a href="http://canada30.uwaterloo.ca/speakers/index.html" target="_blank" title="Canada 3.0 Speakers">Canada 3.0 will have a strong cross-representation from government, industry, and education all together</a>.</p><p>Codesta is proud to sponsor Canada 3.0 to help foster this discussion and help act on its ideas for the future of the web.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/CodestaWeblog/~4/bIqYFbNm6AE" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.codesta.com/codesta_weblog/2009/06/canada-30-defining-canadas-digital-future.html</feedburner:origLink></entry>
    <entry>
        <title>A Wrap on Communitech's Tech Leadership Conference</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodestaWeblog/~3/PDcrDAUYupU/a-wrap-on-communitechs-tech-leadership-conference.html" />
        <link rel="replies" type="text/html" href="http://blog.codesta.com/codesta_weblog/2009/05/a-wrap-on-communitechs-tech-leadership-conference.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-67062425</id>
        <published>2009-05-28T10:02:28-07:00</published>
        <updated>2009-05-28T10:01:56-07:00</updated>
        <summary>This past Thursday, Pat and I attended Communitech's Tech Leadership Conference, where we were a Silver Sponsor, and came away with a lot of great ideas. Jeremy Gutsche, founder of Trendhunter started the day with a very entertaining talk on innovation. Some key points were have a methodology on how you innovate - break out your steps. I would add that not only is it important to do this, but ensure that your team can talk about your methodology with people outside your company. Seth Godin focused on the concept of ideas that spread win. It makes me wonder if too many companies and individuals are complicating things by trying to be all things to all people. This idea was...</summary>
        <author>
            <name>Dan Bowman</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Conferences, Events and Associations" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.codesta.com/codesta_weblog/"><div xmlns="http://www.w3.org/1999/xhtml"><p>This past Thursday, Pat and I attended <a href="http://www.communitech.ca/en/special_events/" target="_blank" title="Communitech 2009 Tech Leadership Conference">Communitech's Tech Leadership Conference</a>, where we were a Silver Sponsor, and came away with a lot of great ideas. <a href="http://www.jeremygutsche.com/" target="_blank" title="Jeremy Gutsche">Jeremy Gutsche</a>, <a href="http://www.trendhunter.com/" target="_blank" title="TrendHunter.com">founder of Trendhunter</a> started the day with a very entertaining talk on innovation. Some key points were have a methodology on how you innovate - break out your steps. I would add that not only is it important to do this, but ensure that your team can talk about your methodology with people outside your company.</p><p><a href="http://sethgodin.typepad.com/" target="_blank" title="Seth Godin's Blog">Seth Godin focused on the concept of ideas that spread win</a>. It makes me wonder if too many companies and individuals are complicating things by trying to be all things to all people. This idea was echo'd at <a href="http://www.meshu.ca/speakers-2009/#april-dunford" target="_blank" title="April Dunford MeshU Bio">April Dunford's session at meshU</a> earlier this year which Pat attended. Godin stressed the need to be remarkable, and tell a story that connects and engages your customers. They will spread the word. <a href="http://cdn2.tomsshoes.com/default28.htm" target="_blank" title="Toms Shoes Story">One needs to look no further than TOMS Shoes for a remarkable, compelling story</a>. Buy a pair of shoes, and TOMS donates a pair to a child in need.</p><p>In between these sessions Pat and I split up to attend various sessions
in the morning and afternoon. Some highlights - <a href="http://www.freshbooks.com/our-team.php#mike" target="_blank" title="Mike McDerment, CEO of Freshbooks">Mike McDerment, CEO of
Freshbooks, clad in shorts and a t-shirt</a> presenting with <a href="http://agoracom.com/about" target="_blank" title="Agoracom About Us">George Tsiolis of AGORACOM</a>. How is moving back in to
your parents house and having five friends come over every day to
work out of the basement a great example of bootstrapping? One word... Dedication! <a href="http://www.christiedigital.com/AMEN/Corporate/MediaCenter/FactSheet/ChristieFactSheet.htm" target="_blank" title="Christie Digital Fact Sheet">Gerry Remers, COO of
Christie Digital - where I think the only limit to 3D will soon be our
imagination</a>. Lastly, <a href="http://www.markevanstech.com/about/" target="_blank" title="Mark Evans Bio">Mark Evans' Deep Dive on Social Media Tools</a> was very informative showing how applications like <a href="http://mrtweet.net/" target="_blank" title="Mr Tweet Home">Mr. Tweet</a>, and <a href="http://www.commoncraft.com/" target="_blank" title="Common Craft Home">Common Craft</a> help you <a href="http://twitter.com/" target="_blank" title="Twitter">use tools like Twitter more effectively</a>. This may be another sign of success in that people are building tools for tools.</p><p><a href="http://paul.kedrosky.com/" target="_blank" title="Paul Kedrosky Home">Paul Kedrosky wrapped up the day talking about the new normal</a> in the company. What is the new normal? For Startups it is finding customers and revenue before putting your efforts into venture capital.  Self-funding through revenue is a challenge, but as an owner, you have more options to explore ways to grow, and the confidence to say, "No," to investors who don't match your philosophy.</p><p>All told, a great day followed by an opportunity to mix afterwards over cocktails and appetizers.  Congratulations to Communitech on a successful day.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/CodestaWeblog/~4/PDcrDAUYupU" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.codesta.com/codesta_weblog/2009/05/a-wrap-on-communitechs-tech-leadership-conference.html</feedburner:origLink></entry>
 
</feed><!-- ph=1 --><!-- nhm:from_kauri -->
