<?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>Lichtman Consulting &#187; Learning</title>
	<atom:link href="http://lichtman.ca/category/learning/feed/" rel="self" type="application/rss+xml" />
	<link>http://lichtman.ca</link>
	<description>Consider. Then Build It.</description>
	<lastBuildDate>Mon, 07 May 2012 01:58:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Moving Data to Drupal / Ubercart</title>
		<link>http://lichtman.ca/moving-data-to-drupal-ubercart/</link>
		<comments>http://lichtman.ca/moving-data-to-drupal-ubercart/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 01:31:13 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Learning]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[csv]]></category>
		<category><![CDATA[data conversion]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[nuisance]]></category>
		<category><![CDATA[shopping cart]]></category>
		<category><![CDATA[ubercart]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=361</guid>
		<description><![CDATA[Update (August 2011): We&#8217;re now recommending that people try using the Migrate module (http://drupal.org/project/migrate) first, before trying a custom-coded import solution. Use with Migrate UI, and check their list of required modules carefully (depends on version of Drupal you&#8217;re using). &#8230; <a href="http://lichtman.ca/moving-data-to-drupal-ubercart/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Update (August 2011): We&#8217;re now recommending that people try using the Migrate module (<a href="http://drupal.org/project/migrate">http://drupal.org/project/migrate</a>) first, before trying a custom-coded import solution. Use with Migrate UI, and check their list of required modules carefully (depends on version of Drupal you&#8217;re using). The solution below is for situations that Migrate can&#8217;t handle well, or where you need to do imports that tie into custom modules that have their own data tables. We&#8217;ve also built a similar importer as a Drupal module (its highly customer-specific &#8211; if there&#8217;s demand we can look at generalizing it) which can work well in situations where you need a quick upload and import inside the admin panel with a well-defined data layout (i.e. a CSV product list).</p>
<p><em>The following blog entry describes the solution to an issue encountered by Jeremy and Nathan in moving data from an old website to a new one. Based on a brief search for a solution, it looks like many other people may find a use for the (admittedly rather crude) code that we wrote to solve the problem. We hope this helps!</em></p>
<p>We&#8217;ve recently had to convert data from an old custom-built shopping cart, to a new website based on Drupal and Ubercart. The old website had approximately 5000 products, with a data structure that was completely unlike the one used by Drupal to store data. We initially tried using the Drupal data loader module, but as other people have discovered, it isn&#8217;t necessarily a good fit for loading Ubercart product data, particularly when the products have images, or &#8211; and this is especially the case &#8211; custom data fields.<br />
<strong><br />
You can <a title="Download our Drupal/Ubercart loader script" href="http://lichtman.ca/free-downloads/loader.zip" target="_blank">download a copy of our script</a> here.</strong></p>
<p>In the end, we put together a custom php script to pull data directly from one database to another. The script is fairly crude, but it may be useful to somebody trying to import data into Ubercart from another non-standard system.</p>
<p>As a result, I will link a copy of the script below. Please bear in mind that a) we accept no responsibility  whatsoever for its use (i.e. back up your databases first!!!), and b) while we have documented our assumptions, this is a crude script that is specifically designed for our particular needs. Be that as it may, you may be able to find a use for this.</p>
<p>Additionally, it was a pain just getting a list of the Drupal and Ubertcart tables that needed to be looked at in order to do the data conversion. The list below may be useful to you as well.</p>
<h2>How it works:</h2>
<p>The old shopping cart had two relevant tables: a category listing (hierarchical), and a products table, which included some customer specific fields, as well as a single url to a product photo.</p>
<p>Drupal/Ubercart, on the other hand, uses a large number of tables to represent the same data. This is because products use the same node-based system as the rest of Drupal, in addition to a number of product specific tables.</p>
<p>In addition, product images are dealt with using Drupal&#8217;s file cacheing system, which is relatively complex in nature. All in all, our data goes from two tables to approximately nine (depending on your specific needs) in Drupal.</p>
<p>The script has some handling &#8211; very buggy still &#8211; in place for keeping track of the current position in the old database. This means that you can run the data conversion in small chunks, checking at each point to see how well it is doing. You can also set how many records to convert each time. In order for this to work, a very simple table to track the record pointer needs to be added into the old database.</p>
<p>We did not cover the conversion of product categories, since typically there are a much smaller number of categories than products, and in addition, the Drupal data loader does a reasonably good job of loading them.</p>
<h2>List of tables involved:</h2>
<ul>
<li>node &#8211; in Drupal, everything is a node, including products. Each new product record will need a corresponding node of the correct type.</li>
<li>node_revisions &#8211; this table contains much of the actual textual data (i.e. product description text) involved in displaying the node.</li>
<li>content_type_product &#8211; if you need to create custom fields for your Ubercart products, the data will go here. Our code in this section will probably not map directly to what you&#8217;re working on.</li>
<li>uc_product &#8211; where the product records &#8220;live&#8221;. There will be one record here for each of the product nodes.</li>
<li>uc_product_stock &#8211; contains stock-related data (i.e. how many of the product you have on hand etc) for products.</li>
<li>files &#8211; each product image needs to have a record in this table, which stores the file names and locations &#8211; but does not map these images directly to the product records (you need another table for that!).</li>
<li>content_field_image_cache &#8211; this is the mechanism that ties a product image to the underlying product. We didn&#8217;t really try to work with Drupal&#8217;s actual cache mechanism, so after you have loaded the products, you may want to clear the cache.</li>
<li>term_data &#8211; this is where product category information resides, based on Drupal&#8217;s vocabulary / hierarchy system. We hacked the solution in a fairly inelegant way &#8211; by doing a category name lookup to retrieve the term id.</li>
<li>term_node &#8211; a connection table between a term (i.e. a product category) and a node (in this case the products).</li>
</ul>
<h2>Base assumptions:</h2>
<ul>
<li>We assumed that the old and new websites both have mysql databases.</li>
<li>Both databases will probably have to be on the same server (or at least one of them needs to be externally accessible if that isn&#8217;t the case)</li>
<li>The script should be uploaded and run from the new website&#8217;s location.</li>
<li>We assumed that there is only one product image per product &#8211; although this would be fairly easy to modify.</li>
<li>We manually added our categories to the new website</li>
<li>We manually moved product images across &#8211; there are comments in the script where you could automate this though.</li>
<li>Error checking is extremely rudimentary; if this scripts hits a problem it just stops.</li>
<li>If you hit data conv snags, the fastest way to proceed is to restore your backup database, reset the pointer record, and start over.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/moving-data-to-drupal-ubercart/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>When GPS Gets You Lost</title>
		<link>http://lichtman.ca/when-gps-gets-you-lost/</link>
		<comments>http://lichtman.ca/when-gps-gets-you-lost/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 17:55:16 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Learning]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=329</guid>
		<description><![CDATA[I&#8217;ve been hearing stories for years about excessively literal-minded people getting themselves in terrible trouble by paying too much attention to their GPS units. I also once worked with somebody who would regularly call into the office with the complaint &#8230; <a href="http://lichtman.ca/when-gps-gets-you-lost/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been hearing stories for years about excessively literal-minded people getting themselves in terrible trouble by paying too much attention to their GPS units.</p>
<p>I also once worked with somebody who would regularly call into the office with the complaint that their GPS had succeeded in making them lose their way.</p>
<p>The story reported on Yahoo&#8217;s tech blog here (<a href="http://bit.ly/lEXUH" target="_blank">http://bit.ly/lEXUH</a>) is a pretty good one though.</p>
<p>Almost as good as the guy that went off the autobahn, across a field, and smashed his 7-series BMW into a porta-potty.</p>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/when-gps-gets-you-lost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QR Tags</title>
		<link>http://lichtman.ca/qr-tags/</link>
		<comments>http://lichtman.ca/qr-tags/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 00:34:10 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Barcode]]></category>
		<category><![CDATA[Big in Japan]]></category>
		<category><![CDATA[Mobile phone]]></category>
		<category><![CDATA[QR Code]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=278</guid>
		<description><![CDATA[The odd looking image here isn&#8217;t a Rorschach blot. Its actually a QR code, something that is old news in Japan, but never quite managed to take off in North America. In this particular case, assuming you had a QR &#8230; <a href="http://lichtman.ca/qr-tags/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_279" class="wp-caption alignleft" style="width: 160px"><a href="http://lichtman.ca"><img class="size-thumbnail wp-image-279" title="bf8dlz" src="http://lichtman.ca/wp-content/uploads/2009/08/bf8dlz-150x150.jpg" alt="QR Tag" width="150" height="150" /></a><p class="wp-caption-text">QR Tag</p></div></p>
<p>The odd looking image here isn&#8217;t a <a class="zem_slink" title="Rorschach (comics)" rel="wikipedia" href="http://en.wikipedia.org/wiki/Rorschach_%28comics%29">Rorschach</a> blot.</p>
<p>Its actually a <a class="zem_slink" title="QR Code" rel="wikipedia" href="http://en.wikipedia.org/wiki/QR_Code">QR code</a>, something that is old news in <span class="zem_slink">Japan</span>, but never quite managed to take off in North America.</p>
<p>In this particular case, assuming you had a QR code reader (in Japan apparently most <span class="zem_slink">cell phones</span> do), the image encodes a link back to this website.</p>
<p>If you want one of your own, you can go here to get one: <a title="QR Tag creation website" href="http://www.qrtag.net" target="_blank">http://www.qrtag.net</a>.</p>
<p>Now I just need to figure out how to get my phone to read them&#8230;</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/ceeab6d6-33ad-4279-a9b8-5725ee24a27d/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=ceeab6d6-33ad-4279-a9b8-5725ee24a27d" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/qr-tags/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Website Grader</title>
		<link>http://lichtman.ca/website-grader/</link>
		<comments>http://lichtman.ca/website-grader/#comments</comments>
		<pubDate>Wed, 20 May 2009 20:08:44 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Learning]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Grader.com]]></category>
		<category><![CDATA[HubSpot]]></category>
		<category><![CDATA[internet marketing]]></category>
		<category><![CDATA[Marketing and Advertising]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=207</guid>
		<description><![CDATA[Image via CrunchBase For those of you who aren&#8217;t familiar with it, I suggest taking a look at Grader.com, a tool provided by web marketing gurus HubSpot. Their website grading tool provides a host of useful information that can help &#8230; <a href="http://lichtman.ca/website-grader/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img zemanta-action-dragged" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 182px;">
<dt class="wp-caption-dt"><a href="http://www.crunchbase.com/product/hubspot"><img title="Image representing HubSpot as depicted in Crun..." src="http://www.crunchbase.com/assets/images/resized/0001/3641/13641v1-max-450x450.png" alt="Image representing HubSpot as depicted in Crun..." width="172" height="71" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image via <a href="http://www.crunchbase.com">CrunchBase</a></dd>
</dl>
</div>
</div>
<p>For those of you who aren&#8217;t familiar with it, I suggest taking a look at <a title="Link to Grader - a tool by HubSpot" href="http://grader.com" target="_blank">Grader.com</a>, a tool provided by web marketing gurus <a class="zem_slink" title="HubSpot" rel="homepage" href="http://www.hubspot.com/" target="_blank">HubSpot</a>.</p>
<p>Their website grading tool provides a host of useful information that can help you fine-tune your site.</p>
<p>I&#8217;ve been playing around with their tools for the past few months, and they&#8217;ve been extraordinarily useful in terms of tweaking things to make them more search engine friendly. Also useful is their Twitter profile grader.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/a0a95000-2b14-4905-9ea1-6e1195eaa7c4/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=a0a95000-2b14-4905-9ea1-6e1195eaa7c4" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/website-grader/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Not One Of My Better Moments</title>
		<link>http://lichtman.ca/not-one-of-my-better-moments/</link>
		<comments>http://lichtman.ca/not-one-of-my-better-moments/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 00:57:45 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Learning]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[bravo for backups]]></category>
		<category><![CDATA[dumb]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=197</guid>
		<description><![CDATA[I did something completely idiotic this afternoon. While assisting one of my staff with a problematic installation of some open source software on a server, I decided to clean up certain files that we no longer needed with &#8220;rm -r &#8230; <a href="http://lichtman.ca/not-one-of-my-better-moments/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I did something completely idiotic this afternoon.</p>
<p>While assisting one of my staff with a problematic installation of some open source software on a server, I decided to clean up certain files that we no longer needed with &#8220;rm -r *&#8221;.</p>
<p>Only to discover that I was in the wrong directory.</p>
<p>It didn&#8217;t help that we had been working directly on that computer for several days.</p>
<p>I was saved from losing a week&#8217;s work only by the fact that the backup from the morning was good (you never know with backups). We still lost a few hours of work, but that&#8217;s much better than it could have been.</p>
<p>Moral of the story: a) backup even more regularly than you think necessary, b) keep a local copy of your working files, c) don&#8217;t use &#8220;rm -r *&#8221; unless you&#8217;ve double checked what it will do.</p>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/not-one-of-my-better-moments/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How Not To Get Hacked</title>
		<link>http://lichtman.ca/how-not-to-get-hacked/</link>
		<comments>http://lichtman.ca/how-not-to-get-hacked/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 02:53:38 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[World Wide Web]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=177</guid>
		<description><![CDATA[I just spent a chunk of this afternoon fixing up a friend&#8217;s website which was hacked. The hacker appears to have gained access through a decade old shopping cart (not in use, just sitting in a folder on the site), &#8230; <a href="http://lichtman.ca/how-not-to-get-hacked/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_178" class="wp-caption alignleft" style="width: 160px"><img class="size-thumbnail wp-image-178" title="840814248_f87f9dfdb2" src="http://lichtman.ca/wp-content/uploads/2009/04/840814248_f87f9dfdb2-150x150.jpg" alt="Image courtesy of &quot;gutter&quot; on Flickr. Creative Commons." width="150" height="150" /><p class="wp-caption-text">Image courtesy of &quot;gutter&quot; on Flickr. Creative Commons.</p></div></p>
<p>I just spent a chunk of this afternoon fixing up a friend&#8217;s website which was hacked. The hacker appears to have gained access through a decade old shopping cart (not in use, just sitting in a folder on the site), and then proceeded to insert obfuscated javascript code into every page on the site (several hundred pages, with the code slighly different on each page).</p>
<p>This is the fifth or sixth site I&#8217;ve had to clean up in the past year or so, and its always a painful job &#8211; I&#8217;m pretty good at spotting code that shouldn&#8217;t be in a page, but with a large website it can be hard to be certain that it has been completely fixed. And there&#8217;s no guarantee that the original loophole that was exploited has been removed. Even under the best of circumstances, cleaning up this sort of mess is a painstaking process.</p>
<p>The following is intended for web designers who aren&#8217;t coders &#8211; but who use scripts that they have located on the web. Some intro level programmers might benefit. Experienced web programmers should go directly to the following link and do some review: <a title="Dangerous Bugs List" href="http://cwe.mitre.org/top25/" target="_blank">http://cwe.mitre.org/top25/</a></p>
<p>1. Be very careful about downloading &#8220;free&#8221; scripts off the web. Do yourself a favour and scan the code before using it. If it has been obfuscated, or it looks odd, you probably want to avoid using it. You don&#8217;t need to be a programmer to get a feel for nefarious code.</p>
<p>2. When putting together a website that has any kind of dynamic functionality &#8211; be it javascript, a php script on the back end, or something else &#8211; bear in mind Jeremy&#8217;s Addendum to Murphy&#8217;s Law: Whatever can be hacked, will be hacked. There are a lot of common loopholes that hackers exploit that could be easily avoided by looking at code with a cynical eye and trying to figure out how it can hurt you.</p>
<p>3. Periodically review old websites that you&#8217;ve done. Code that used to be fine may no longer be so safe. Also, as you learn from mistakes, you may notice all kinds of things that are dangerous in your code.</p>
<p>4. Its also really worthwhile to look at the Top 25 Dangerous Bugs list, linked above. A periodic review is in order. Speaking of which, I&#8217;m adding that to my to do list.</p>
<p>5. Verify <span style="text-decoration: underline;"><strong>ALL</strong></span> inputs to a script. If you think you have verified them, get somebody with a cynical bent to test it. If something is up on the web, it is guaranteed that somebody will try some oddball and highly unexpected inputs just to see if they use your script for their own purposes.</p>
<p>6. Remember at the end of the day that there&#8217;s absolutely no such thing as a hacker-proof piece of software or hardware. Make regular backups. Assume you&#8217;re going to need them.</p>
<p>I just want to finish with an anecdote.</p>
<p>I used to operate a small hosting company along with some of my other duties at my former company.</p>
<p>One day, one of our servers started broadcasting vast volumes of spam email, to the point that we had to shut down the outgoing email service.</p>
<p>I spent a few hours reading log files, trying to pinpoint what exactly was happening. I finally narrowed it down to a script that had been uploaded a few days prior on one of the client&#8217;s accounts.</p>
<p>The script was basically a feeble attempt to try and implement a CMS (content management system). Basically the way it worked was that any GET input to the main script was assumed to be the name of an html fragment file, and was included into the script with no verification whatsoever.</p>
<p>If this means nothing to you, you&#8217;ve probably seen websites that have URLs something along these lines: index.php?id=123. The &#8220;id=123&#8243; part can be parsed out by the script as an input. In this case the links looked like this: index.php?page=contact.html.</p>
<p>The script just assumed that contact.html was a piece of HTML code, and included it in.</p>
<p>It didn&#8217;t take long before half the hackers in the world were sending the script stuff like this: index.php?page=path_to_malware_or_spam_script. And our server was running those bits of malware as if they were located locally.</p>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/how-not-to-get-hacked/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How Schools Could Use Social Media</title>
		<link>http://lichtman.ca/how-schools-could-use-social-media/</link>
		<comments>http://lichtman.ca/how-schools-could-use-social-media/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 18:48:52 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Learning]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=122</guid>
		<description><![CDATA[This is #12 on Chris Brogan&#8217;s 100 Blog Topics list, and is part of the 100 Topics Challenge. If I had a dollar for every kid that tries to get me to answer their homework questions on Yahoo! Answers, I &#8230; <a href="http://lichtman.ca/how-schools-could-use-social-media/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>This is #12 on Chris Brogan&#8217;s <a href="http://www.chrisbrogan.com/100-blog-topics-i-hope-you-write/">100 Blog Topics</a> list, and is part of the <a href="http://lichtman.ca/social-media/the-100-blog-topic-challenge">100 Topics Challenge</a>.</em></p>
<p><div id="attachment_130" class="wp-caption alignright" style="width: 106px"><img class="size-full wp-image-130" title="j0439254" src="http://lichtman.ca/wp-content/uploads/2009/02/j0439254.gif" alt="There's an opportunity to incorporate social media into the classroom. Will school boards take it?" width="96" height="96" /><p class="wp-caption-text">There&#39;s an opportunity to incorporate social media into the classroom. Will school boards take it?</p></div></p>
<p>If I had a dollar for every kid that tries to get me to answer their homework questions on Yahoo! Answers, I might have a better than average chance of paying all my bills this month.</p>
<p>Yes, we happen to live in an age where things are changing pretty fast. It still puzzles me that the most common reaction by schools and universities to the social media phenomenon is to try and ban it from the classroom. Hence the proliferation of websites that try to catch cheaters.</p>
<p>If I was running the show, I would try a different tactic: co-opt social media. Make it part of the game. There&#8217;s a great learning opportunity here, and it is being missed &#8211; at least in North America. In Europe, there&#8217;s a heavy push to incorporate e-learning into the classroom (see <a href="http://en.wikipedia.org/wiki/Computer_aided_instruction" target="_blank">http://en.wikipedia.org/wiki/Computer_aided_instruction</a> for some interesting related topics).</p>
<p>Here is how I react when somebody tries to get me to do their homework for them: hey kid, there is an awesome learning opportunity here. I&#8217;m not going to solve the problem for you, but I will try to teach you a few interesting things. Maybe I&#8217;ll rephrase the question for you so you can understand it better. Maybe I&#8217;ll point you in the right direction so that you can discover places online where you can learn more about the problem at hand. Maybe I&#8217;ll give you a few pointers on ways to approach a solution. Sounds more like a tutorial? Self assisted learning opportunity?</p>
<p>One critical factor is that one really needs something like a walled garden &#8211; at least initially, and at least for younger students. If you toss them onto Yahoo Answers and tell them &#8220;good luck kid&#8221;, they&#8217;re going to come back with some interesting (and probably odd) notions about how the world works. For one thing, many of the so-called experts on sites like these, ain&#8217;t. Even on the late, great Askme.com, there were more than a fair share of kooks. Many of the e-learning projects underway (i.e. the Second Life-based project in the UK) are building things around such walled gardens.</p>
<p>If schools &#8211; or maybe school districts &#8211; had a site that only kids and teachers could login to, it could be a powerful tool. You need a critical number of users before something like this becomes useful. I don&#8217;t think one school is sufficient. On the other hand, if the whole world is involved, it may become too unwieldy (and expensive to maintain &#8211; let alone the factor of who owns and manages it).</p>
<p>Let other kids get involved in teaching their peers. After all, teaching something is often the best way to learn it.</p>
<p>Let adult teachers supervise and guide the process. I envision a system that categorizes data by topic, and allows the teacher to put a filter on it &#8211; right now you can learning anything you want about math. Here&#8217;s todays quick lesson and some questions to answer. Here are the resources to learn more. Need help? Here&#8217;s what everyone else in the class is working on? Here&#8217;s who else in the school district can help you? Here&#8217;s what last year&#8217;s class did.</p>
<p>Put in scoring mechanisms so that students can get competitive if they want. Help your fellow student, two points. Get rated for the best question by teach and peers? Bonus points! It would be critical to balance a competitive system so that it doesn&#8217;t leave some students behind, possibly through an opt-out system. Or just let kids see their own score and rank, without access to anyone else&#8217;s.</p>
<p>Build in the day&#8217;s lessons in a way that the students can explore the topic in their own way and at their own pace, but with guides and video tutorials to help them if they get stuck. I know that this kind of learning methodology doesn&#8217;t work for everyone. There has to be a way to incorporate self directed learning into a pedagogical system though.</p>
<p>I wish there had been something like that when I was growing up. Yes, there were computers in the classroom (I got lucky with my schooling). Yes, we learned how to program in Basic and Logo. I also grew up reading Ender&#8217;s Game, and there were definite precursors to e-learning social media in there. The concepts involved here aren&#8217;t new, and the technology involved isn&#8217;t particularly challenging any more. There are even some fairly big companies building pieces of the puzzle &#8211; hence Blackbaud and their myriad competitors (e-learning overall is at least a $50 billion USD per year industry). All something like this needs is a vision, some corporate sponsors, and a lot of courage from school boards.</p>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/how-schools-could-use-social-media/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

