<?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>News and Notes</title>
	<atom:link href="http://www.open.ac.uk/blogs/brasherblog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.open.ac.uk/blogs/brasherblog</link>
	<description>about stuff I have been doing, or will be doing</description>
	<lastBuildDate>Sun, 13 Jan 2013 11:18:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Cloud storage options for sharing SVG (and other ) files</title>
		<link>http://www.open.ac.uk/blogs/brasherblog/?p=745</link>
		<comments>http://www.open.ac.uk/blogs/brasherblog/?p=745#comments</comments>
		<pubDate>Fri, 11 Jan 2013 11:22:08 +0000</pubDate>
		<dc:creator>a.j.brasher</dc:creator>
				<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://www.open.ac.uk/blogs/brasherblog/?p=745</guid>
		<description><![CDATA[I&#8217;ve been looking at a few cloud storage providers, with a view to seeing which one(s) might be best (in terrms of usablity of client interface , and openess of access to files and data ) for sharing SVG files &#8230; <a href="http://www.open.ac.uk/blogs/brasherblog/?p=745">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been looking at a few cloud storage providers, with a view to seeing which one(s) might be best (in terrms of usablity of client interface , and openess of  access to files and data ) for sharing SVG files which reference and use Javascript. The motive is to find a provider which is easy to use both for the end user, and for <a href="https://twitter.com/nfreear">Nick Freear</a>&#8216;s <a href="http://embed.open.ac.uk/">oEmbed service</a>.</p>
<p>Until recently I had beeen using Dropbox, but it now produces a &#8216;share link&#8217; usig https (e.g. <a href="https://www.dropbox.com/s/kjnmthom7qny129/sdfds.svg">https://www.dropbox.com/s/kjnmthom7qny129/sdfds.svg</a> ) instead of the http link it used to. This seems to be because DropBox have changed the way users can share files (see <a href="https://www.dropbox.com/help/16/en">https://www.dropbox.com/help/16/en</a>), forcing folk to visit the shared page, then download the file that has been shared. I.e. it&#8217;s a two click process rather than the one click process that was possible with the public folder.  Also the download link (e.g.  https://dl.dropbox.com/s/kjnmthom7qny129/sdfds.svg?dl=1) does waht it says i./e. downloads the file to your machine, whereas what I want is to allow people to view it online (you can do this by thaking the ?dl=1 off the end of the URL  to produce  <a href="https://dl.dropbox.com/s/kjnmthom7qny129/sdfds.svg">https://dl.dropbox.com/s/kjnmthom7qny129/sdfds.svg</a> but that&#8217;s a step too far for easy sharing for  me (and, I guess,   other users ).</p>
<p>So I&#8217;ve begun to look at other options. The one that looks appealing so far is  <a href="https://one.ubuntu.com/">Ubuntu one</a>.  Ubuntu one has clients for Windows, Mac, Android, iOS, and a web interface so might be the best sollution since DropBox now seems to have stopped allowing folk to share files in a  truly open fashion.<br />
I have also looked at  a couple of other options so far, i.e. <a href="http://www.wuala.com">Wuala</a> and <a href="drive.google.com">Google drive</a> (Docs as was). Google drive will not disply a SVG file (&#8220;Sorry, we are unable to generate a view of the document at this time. Please try again later&#8221; &#8211; <a href="https://docs.google.com/file/d/0B433yeYVgtlaRTJTS3lTeW1UdTQ/edit">https://docs.google.com/file/d/0B433yeYVgtlaRTJTS3lTeW1UdTQ/edit</a>).<br />
For Wuala there are similar problems to DropBox in that the default share link forces a download e.g. <a href="http://content.wuala.com/contents/andrew_x/Documents/CompendiumLD/sdfds.svg?dl=1">http://content.wuala.com/contents/andrew_x/Documents/CompendiumLD/sdfds.svg?dl=1</a>, though as with Dropbox this can be avoded through editing the link Wuala generates and removing the ?dl=1 parameter: <a href="http://content.wuala.com/contents/andrew_x/Documents/CompendiumLD/sdfds.svg">http://content.wuala.com/contents/andrew_x/Documents/CompendiumLD/sdfds.svg</a>.</p>
<p>So, at the moment, Ubuntu One is my preferred option (thanks&#8217;s to Nick for prompting me to take a look at it). Here&#8217;s an example:</p>
<div style="width:380px;height:350px"><object  data="http://ubuntuone.com/53La8LLAt0OAO8xv54CmYB" width="100%" height="100%" type="image/svg+xml">
<p style="border-style:solid;border-color:#8275FD;background-color:#FFFFDD; text-align:center;stroke-width:0.2em;" ><strong>Please note</strong><br/><em>Your browser can not display SVG so you will not see the interactive CompendiumLD map that should be shown here</em>.<br/><br/> To see the interactive map, please use a browser which displays SVG, e.g. Chrome, Firefox, Opera, Safari or Internet Explorer 9 and above.<br/><strong>Thank you</strong>.</p>
<p></object></div>
]]></content:encoded>
			<wfw:commentRss>http://www.open.ac.uk/blogs/brasherblog/?feed=rss2&#038;p=745</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Temporary embed test</title>
		<link>http://www.open.ac.uk/blogs/brasherblog/?p=740</link>
		<comments>http://www.open.ac.uk/blogs/brasherblog/?p=740#comments</comments>
		<pubDate>Wed, 24 Oct 2012 08:24:08 +0000</pubDate>
		<dc:creator>a.j.brasher</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.open.ac.uk/blogs/brasherblog/?p=740</guid>
		<description><![CDATA[Another embedding test. Please noteYour browser can not display SVG so you will not see the interactive CompendiumLD map that should be shown here. To see the interactive map, please use a browser which displays SVG, e.g. Chrome, Firefox, Opera, &#8230; <a href="http://www.open.ac.uk/blogs/brasherblog/?p=740">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Another embedding test.</p>
<div style="width:374px;height:350px"><object  data="http://dl.dropbox.com/u/9130126/CompendiumLD/test8.svg" width="100%" height="100%" type="image/svg+xml">
<p style="border-style:solid;border-color:#8275FD;background-color:#FFFFDD; text-align:center;stroke-width:0.2em;" ><strong>Please note</strong><br/><em>Your browser can not display SVG so you will not see the interactive CompendiumLD map that should be shown here</em>.<br/><br/> To see the interactive map, please use a browser which displays SVG, e.g. Chrome, Firefox, Opera, Safari or Internet Explorer 9 and above.<br/><strong>Thank you</strong>.</p>
<p></object></div>
]]></content:encoded>
			<wfw:commentRss>http://www.open.ac.uk/blogs/brasherblog/?feed=rss2&#038;p=740</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Test of embedding SVG</title>
		<link>http://www.open.ac.uk/blogs/brasherblog/?p=714</link>
		<comments>http://www.open.ac.uk/blogs/brasherblog/?p=714#comments</comments>
		<pubDate>Wed, 25 Jul 2012 12:37:44 +0000</pubDate>
		<dc:creator>a.j.brasher</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://www.open.ac.uk/blogs/brasherblog/?p=714</guid>
		<description><![CDATA[Test of ways of embedding to keep whole image visible in embedded window across different browsers (following on from previous post). New way using div to specify height and width (as suggested by Christoph Henkelmann and Erik Dahlström): Your browser &#8230; <a href="http://www.open.ac.uk/blogs/brasherblog/?p=714">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Test of ways of embedding to keep whole image visible in embedded window across different browsers (following on from <a href="http://www.open.ac.uk/blogs/brasherblog/?p=656">previous post</a>).<br />
New way using div to specify height and width (as <a href="http://henkelmann.eu/2010/12/16/display_svg_image_same_size_in_decent_browsers">suggested by Christoph Henkelmann</a> and <a href="http://stackoverflow.com/questions/8596816/svg-is-a-scrollable-object-in-safari?rq=1">Erik Dahlström</a>):</p>
<div style="width:449px;height:350px">
<object  data="http://dl.dropbox.com/u/9130126/CompendiumLD/mini-svg-example-v1.svg" width="100%" height="100%" type="image/svg+xml"><br/>Your browser can not display SVG. Browsers which display SVG include Chrome, Firefox, Opera, Safari and Internet Explorer 9.<br/></object>
</div>
<p>Old way (still not sure why this does not work in Safari i.e. I can&#8217;t see a relevant bug report so perhaps my coding is wrong)<br />
<object  data="http://dl.dropbox.com/u/9130126/CompendiumLD/mini-svg-example.svg 	" width="449" height="350" type="image/svg+xml"><br/>Your browser can not display SVG. Browsers which display SVG include Chrome, Firefox, Opera, Safari and Internet Explorer 9.<br/></object><br />
Old way with px specified instead of assumed as units of the object tag:<br />
<object  data="http://dl.dropbox.com/u/9130126/CompendiumLD/mini-svg-example.svg 	" width="449px" height="350px" type="image/svg+xml"><br/>Your browser can not display SVG. Browsers which display SVG include Chrome, Firefox, Opera, Safari and Internet Explorer 9.<br/></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.open.ac.uk/blogs/brasherblog/?feed=rss2&#038;p=714</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Saving and sharing design maps in a browser friendly format</title>
		<link>http://www.open.ac.uk/blogs/brasherblog/?p=656</link>
		<comments>http://www.open.ac.uk/blogs/brasherblog/?p=656#comments</comments>
		<pubDate>Wed, 25 Jul 2012 10:35:28 +0000</pubDate>
		<dc:creator>a.j.brasher</dc:creator>
				<category><![CDATA[compendium]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[visualisation]]></category>

		<guid isPermaLink="false">http://www.open.ac.uk/blogs/brasherblog/?p=656</guid>
		<description><![CDATA[This is an update on work towards exporting learning designs in the SVG format (W3C SVG Working Group, 2011b), and sharing them via e-mail, or by uploading the SVG file to a web site. It builds on earlier posts, and &#8230; <a href="http://www.open.ac.uk/blogs/brasherblog/?p=656">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is an update on work towards exporting learning designs in the SVG format (W3C SVG Working Group, 2011b), and sharing them via e-mail, or by uploading the SVG file to a web site. It builds on <a href="http://www.open.ac.uk/blogs/brasherblog/?tag=svg">earlier posts</a>, and includes some of the points I have made in those, but in  more coherent way. This &#8216;save as SVG&#8217; functionality will be included in the next release of <a href="http://compendiumld.open.ac.uk">CompendiumLD</a>.<br />
I describe the motivation for this work, include a few notes about SVG technology , describe the SVG code structure for design maps, describe how linked resources aree handled in CompendiumLD’s  SVG output, and give an <a href="#example">interactive example</a>. There&#8217;s also some details about the SVG code structure for the View Pane; these are included in case for those wo might want to manipulate the images.</p>
<h2>Motivation</h2>
<p>The motivation for this is to improve the way that CompendiumLD maps can be shared, by</p>
<ol>
<li>Reducing the effort required by users to share interactive maps<br />
Users can save an SVG file from CompendiumLD. By copying this single file to their own web site, or to a file sharing service such as Dropbox , or by e-mailing the file, an interactive version of nested designs and maps make be shared with other people. The only technical requirement to view and interact with the SVG is a recent browser.</li>
<li>Facilitating the embedding of maps in web pages<br />
The SVG files produced by CompendiumLD include a link which pops-up HTML code, which if copied and pasted into a web page, will embed the interactive SVG map in that page (see section ‘<a href="#svg-structure-pic">SVG code structure for design maps</a>’ for an image showing the position of the  embed link), and the <a href="#example">interactive example</a>.</li>
<li>Using a file format that other applications can work with<br />
SVG files may be edited by desktop applications such as CorelDraw or Adobe Illustrator, web applications such as SVG-Edit, and there are several code libraries for developing web applications which include facilities for SVG manipulation.</li>
</ol>
<h2>SVG technology</h2>
<p>The technology I have used is the W3C’s Scalable Vector Graphics (SVG) format. SVG seemed an obvious place to start because it is a format designed for 2 dimensional graphics, and almost all browsers now display SVG content, and numerous other applications can open and edit SVG files (including some web based tools).</p>
<p>This quote from the W3C’s site summaries some of the power that SVG offers</p>
<blockquote><p>“SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. ……..SVG drawings can be interactive and dynamic”  (<a href="   http://www.w3.org/TR/SVG/intro.html#AboutSVG">W3C SVG Working Group, 2011b</a>).</p></blockquote>
<p>SVG also supports supporting zooming, panning and scripting and other functionality that encouraged us explore it in relation to interactive maps of learning activities. This exploration has resulted in the definition of an SVG file structure for encoding learning design maps. As SVG is a very flexible format, images with the same visual appearance and interactivity may be achieved encoded using many different SVG elements and structures. Because of this, I have put some thought into the structure of SVG code that CompendiumLD produces, as this  will facilitate its extension and use as, for example, the basis for a browser based learning design editor.</p>
<h2>SVG code structure for design maps</h2>
<p>This structure is presented as a set of guidelines for encoding design maps in SVG. As the same visual appearance can be achieved using many variations in SVG coding, these guidelines have been developed with the aim of delivering high quality in the rendered image, coupled with a desire to split code specifying the semantics of the map content from code specifying the maps visual appearance and interactivity. Reasons for wanting to achieve this split of semantics from appearance include</p>
<ul>
<li>to facilitate the changes in node and link appearance, e.g. changes to node stencils and changes made interactively</li>
<li>to make text in the maps searchable</li>
<li>to provide a framework for development of a browser based editor.</li>
</ul>
<p>Note that these are guidelines, not a formal DTD or schema: CompendiumLD generates SVG content that both conforms to the <a href="http://www.w3.org/TR/SVG/svgdtd.html">W3C SVG DTD</a> and that follows our guidelines.</p>
<p>The structure of a SVG interactive image that CompendiumLD generates is composed of six components. Four of these components are generated by CompendiumLD when then user selects the SVG export option. These components represent the map data and are stored in the SVG file that CompendiumLD generates; three of these four components are panes which make up the window which the user interacts with, the other is a set of definitions of icons and other graphic elements. The remaining two components are referenced by the SVG file, but are stored externally, on the CompendiumLD website . One of these components contains the CSS styles that control the look of the SVG image, the other the Javascript code which implements the interactive behaviour of the image. The six components are:</p>
<ol>
<li><strong>A series of definitions of graphic elements including the node icons</strong> (theses are contained within the SVG file)<br />
Each icon is defined as a group  of SVG elements in the  section at the beginning of the SVG file. Although the SVG specification allows icon definitions implemented in a  element to exist in an external file, only the Firefox and Opera browsers currently support this feature. For this reason Ihave included them in the main file, although it would be advantageous if they could be external.</li>
<li><strong>Code which specifies the contents of the maps in the “View Pane”</strong> (also contained within the SVG file).<br />
This includes SVG code to specify where particular nodes should be positioned on the SVG canvas, the text and other adornments for each node, and inks between nodes. All the elements in this component are contained within an SVG group  element, which is called the ViewPane group (see <a href="#svg-structure-pic">picture of structure</a> ).</li>
<li><strong>Code which specifies the content of a navigation pane</strong> (also contained within the SVG file).<br />
If the CompendiumLD design or map being exported contains sub-maps, it is a hierarchy of maps within maps. The navigation pane allows the user to navigate between the map levels (see <a href="#svg-structure-pic">picture of structure</a>).</li>
<li><strong>Code which specifies the content of a help pane</strong> (also contained within the SVG file).<br />
The help pane (see <a href="#svg-structure-pic">picture of structure</a> ) contains links to documentation about CompendiumLD, to embed code for the design or map, to download the map, and to show the map full screen</li>
<li><strong>Styling information for nodes and links</strong> (contained within a CSS file linked to from the SVG file)<br />
The SVG file generated by CompendiumLD contains a link to an external CSS file located on the CompendiumLD web site. This CSS file contains definitions of styles for text and graphic elements that are included in the view pane, help pane and navigation pane.</li>
<li><strong>Scripts specifying interactivity</strong> (contained within a Javascript file linked to from the SVG file)<br />
The SVG file generated by CompendiumLD contains a link to a Javascript file which implements the behaviour of the elements that are included in the view pane, help pane and navigation pane.</li>
</ol>
<p><a name="svg-structure-pic">The structure is shown in the image below.</a></p>
<dl id="attachment_681" class="wp-caption alignnone" style="width: 709px;">
<dt class="wp-caption-dt"><a href="http://www.open.ac.uk/blogs/brasherblog/wp-content/uploads/2012/07/svg-structure-v1.png"><img class="size-full wp-image-681" title="The structure of the panes within a CompendiumLD SVG interactive map window" src="http://www.open.ac.uk/blogs/brasherblog/wp-content/uploads/2012/07/svg-structure-v1.png" alt="Schematic showing the structure of the panes within a CompendiumLD SVG interactive map window" width="699" height="481" /></a></dt>
<dd class="wp-caption-dd">The structure of the panes within a CompendiumLD SVG interactive map window</dd>
</dl>
<h2>Handling linked resources in CompendiumLD’s SVG output</h2>
<p>Resources such as Word documents, PDFs, and other file types may be included in CompendiumLD maps. Typically, the user drags and drops the file of interest from their file manager or finder window onto the CompendiumLD working area. CompendiumLD then creates an icon representing the file, and stores a link to the file so that if the user double clicks on the icon the file is opened in the relevant application (e.g. Word for .doc files, PowerPoint for .ppt files etc.).<br />
However, if the user creates an SVG file and shares that either via e-mail or via the web, any links to local files on the users machine will not work. We therefore recommend that if aim is to share designs with embedded resources that the resources are stored in the cloud. Note that this does not require the resources to be publically accessible, they can still be protected by passwords and visible only to a limited audience. By taking this approach, the control of access to resources in a map can be handled on a resource by resource basis,; the security and privacy of each resource will depend on where it is located on the web. At one extreme on a designer might link only to open educational resources so all the resources will be freely accessible to anyone using the map. At the other extreme, all the resources may be password protected, e.g. in an institutional VLE.</p>
<h2>Details about the SVG code structure for the View Pane</h2>
<p>The View Pane is encoded as a SVG group element  with an identifier “ViewPane”. Each map is encoded as a child group of this View Pane group. The visibility of a map is controlled by its “display” attribute. Initially the top level map is visible, so the value of the display attribute for this map is set to “inline” whilst the value of the display attribute for all other maps in the file is set to “none”.</p>
<p>Each “mapview” group can contain group elements which represent nodes and links. Each node group has a class attribute the value of which is set to the node type e.g. “reference”, &#8220;position&#8221;, “activity”, “map” etc.</p>
<h2><a name="example">Example</a></h2>
<p>The embedded image shown here was generated using the latest beta version of CompendiumLD.  Just move your mouse over it, and click away. Note that on an ipad, you can only click through to lower level maps via the naviagtion panel (it&#8217;s on the to do list to fix this).</p>
<div style="width:449px;height:350px">
<object  data="http://dl.dropbox.com/u/9130126/CompendiumLD/mini-svg-example-v1.svg" width="100%" height="100%" type="image/svg+xml"><br/>Your browser can not display SVG. Browsers which display SVG include Chrome, Firefox, Opera, Safari and Internet Explorer 9.<br/></object>
</div>
<p>Using my initial embed code there was an issue with the appearance of the image in Safari in that it the image appeared at full zoom within the embedded window, which meeant that the full image is not visible (<a href="http://www.open.ac.uk/blogs/brasherblog/?p=714">this post illustrates the problem</a>). This was only critical on the iPad&#8217;s iOS interface becuase on the iOS version of Safari you can not scroll up and down or left and right, whereas you can with Mac OS and Windows  versions of Safari. Thanks to Christoph Henkelmann for a <a href="http://henkelmann.eu/2010/12/16/display_svg_image_same_size_in_decent_browsers">nice set of instructions</a> on how to achieve this.</p>
<h2>Still to do</h2>
<ul>
<li>add onTouch event handlers so the maps works on iPads and other tablets.</li>
<li>Other features to be aded as tsting progresses</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.open.ac.uk/blogs/brasherblog/?feed=rss2&#038;p=656</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Capturing events on  group elements in SVG</title>
		<link>http://www.open.ac.uk/blogs/brasherblog/?p=599</link>
		<comments>http://www.open.ac.uk/blogs/brasherblog/?p=599#comments</comments>
		<pubDate>Fri, 20 Jan 2012 15:58:20 +0000</pubDate>
		<dc:creator>a.j.brasher</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://www.open.ac.uk/blogs/brasherblog/?p=599</guid>
		<description><![CDATA[I&#8217;ve had some trouble with the SVG versions of CompendiumLD maps I&#8217;m (still) developing this week. The problem was occurring when I tried extracting data from a mouse click event, for mouse clicks on a CompendiumLD icon. It seems that &#8230; <a href="http://www.open.ac.uk/blogs/brasherblog/?p=599">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had some trouble with the SVG versions of CompendiumLD maps I&#8217;m (still) developing this week. The problem was occurring when I tried extracting data from a mouse click event, for mouse clicks on a CompendiumLD icon. It seems that because the icon is defined as a SVG group element (&lt;g&gt;) that the target of the event (i.e the click) is interpreted by some browser&#8217;s Javascript engine as being the group as a whole, and by others as being the specific SVG element within the group upon which the click actually occurred.</p>
<p>In my code, the &#8216;onclick&#8217; attribute is attached to a &lt;use&gt; element, so I naiively assumed it would pick up any clicks on whatever the the &lt;use&gt; referred to as a whole. In this case, the &lt;use&gt; referred to the CompendiumLD icon definition. This is a SVG group &lt;g&gt; containing lots of other SVG elements</p>
<p>Teg Lansdell (and Jonathan Fine) helped me solve the problem by pointing me towards the &#8216;<a href="http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html#target">evt.target and evt.currentTarget</a>&#8216; section in the &#8216;<a href="http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html#JavaScript">Dynamic SVG and JavaScript</a>&#8216; of W3C&#8217;s working draft &#8216;<a title="An SVG Primer for Today's Browsers" href="http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html">An SVG Primer for Today&#8217;s Browsers</a>&#8216;. Here are the relevant paragraphs (the &#8230;. indicates that I&#8217;ve cut some text out):</p>
<p>&#8220;Likewise, we may assign an event handler to the entire group as in &lt;g onclick=&#8221;doIt()&#8221;&gt;. This generally works well, unless we try to identify the group itself that was clicked on. That is because even though an event handler is assigned to the group, the target of the event ends up being the specific element within the group that actually received the event&#8221;.</p>
<p>&#8220;The answer to the above issue lies with evt.currentTarget. Its purpose,&#8230;&#8230;.. is to find the superordinate object containing evt.target, specifically the group or other container to which the event listener has been assigned&#8221;.</p>
<p>I ran into problems because I used Firefox 9.0.1  for my initial tests, and it returns the &lt;use&gt; element for both currentTarget and target However, Chrome (and Safari) return the &lt;use&gt; element for currentTarget, but an &#8216;SVGElementInstance&#8217; for &#8216;target&#8217;. Now in the &#8216;<a href="http://www.w3.org/TR/SVG/struct.html">Document Structure</a>&#8216; section of the <a href="http://www.w3.org/TR/SVG/Overview.html">SVG 1.1 (Second Edition)&#8217; W3C recommendation</a> it <a href="http://www.w3.org/TR/SVG/struct.html#InterfaceSVGElementInstance">says</a> &#8220;For each <a href="http://www.w3.org/TR/SVG/struct.html#UseElement">‘use’</a> element, the SVG DOM maintains a shadow tree (the  &#8220;instance tree&#8221;) of objects of type <a href="http://www.w3.org/TR/SVG/struct.html#InterfaceSVGElementInstance">SVGElementInstance</a>&#8220;. In then goes on to explain how group elements are handled, using this example</p>
<p>&#8220;If the <a href="http://www.w3.org/TR/SVG/struct.html#UseElement">‘use’</a> element references a <a href="http://www.w3.org/TR/SVG/struct.html#GElement">‘g’</a> which contains two  <a href="http://www.w3.org/TR/SVG/shapes.html#RectElement">‘rect’</a> elements, then the instance tree contains three  <a href="http://www.w3.org/TR/SVG/struct.html#InterfaceSVGElementInstance">SVGElementInstance</a> objects, a root <a href="http://www.w3.org/TR/SVG/struct.html#InterfaceSVGElementInstance">SVGElementInstance</a> object  whose <a href="http://www.w3.org/TR/SVG/struct.html#__svg__SVGElementInstance__correspondingElement">correspondingElement</a> is the <a href="http://www.w3.org/TR/SVG/struct.html#InterfaceSVGGElement">SVGGElement</a> object for the  <a href="http://www.w3.org/TR/SVG/struct.html#GElement">‘g’</a>, and then two child <a href="http://www.w3.org/TR/SVG/struct.html#InterfaceSVGElementInstance">SVGElementInstance</a> objects, each of  which has its <a href="http://www.w3.org/TR/SVG/struct.html#__svg__SVGElementInstance__correspondingElement">correspondingElement</a> that is an <a href="http://www.w3.org/TR/SVG/shapes.html#InterfaceSVGRectElement">SVGRectElement</a> object&#8221;.</p>
<p>To get the &#8216;real&#8217; element related to a SVGElementinstance, use the &#8216;correspondingElement&#8217; property, eg.</p>
<p><code>actualElement = svgElementInstance.correspondingElement;</code></p>
<p>In conclusion, I&#8217;m going to use the &#8216;currentTarget&#8217; for this particular bit of code in the expectation (and hope)  that it will work across most modrn browsers. A quick check of Safari, Chrome, Firefox and IE9 shows that it appears to for those browsers.</p>
<p>However, I&#8217;m perturbed that Firefox seems to be processing the SVG and Javascript differently, and incorrectly?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.open.ac.uk/blogs/brasherblog/?feed=rss2&#038;p=599</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learning outcomes, concepts and media</title>
		<link>http://www.open.ac.uk/blogs/brasherblog/?p=576</link>
		<comments>http://www.open.ac.uk/blogs/brasherblog/?p=576#comments</comments>
		<pubDate>Thu, 25 Aug 2011 12:41:58 +0000</pubDate>
		<dc:creator>a.j.brasher</dc:creator>
				<category><![CDATA[compendium]]></category>
		<category><![CDATA[learning design]]></category>
		<category><![CDATA[b2s]]></category>

		<guid isPermaLink="false">http://www.open.ac.uk/blogs/brasherblog/?p=576</guid>
		<description><![CDATA[Some quick notes about mapping relationshops between learning activitites, the media through which activities can be delivered, the concepts that  the activities are intended to teach, and the learning outcomes that are presented to students. 1 A picture showing the &#8230; <a href="http://www.open.ac.uk/blogs/brasherblog/?p=576">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Some quick notes about mapping relationshops between learning activitites, the media through which activities can be delivered, the concepts that  the activities are intended to teach, and the learning outcomes that are presented to students.</p>
<p>1 A picture showing the relationships between the learning outcomes for chapter 3 of the Y162 course book, and those for the draft online version (nb. this picture was for a draft online version as of late July 2011).</p>
<p><a href="http://www.open.ac.uk/blogs/brasherblog/wp-content/uploads/2011/08/Y162-print-v-online.jpg"><img class="alignnone size-medium wp-image-575" title="Y162-print-v-online" src="http://www.open.ac.uk/blogs/brasherblog/wp-content/uploads/2011/08/Y162-print-v-online-300x279.jpg" alt="" width="300" height="279" /></a></p>
<p>2 A picture showing relationships between some concepts that the course is intended to teach students, with the learning outcomes that are presented to students.</p>
<p><a href="http://www.open.ac.uk/blogs/brasherblog/wp-content/uploads/2011/08/y162-outcomes-to-concepts.jpg"><img class="alignnone size-medium wp-image-580" title="y162-outcomes-to-concepts" src="http://www.open.ac.uk/blogs/brasherblog/wp-content/uploads/2011/08/y162-outcomes-to-concepts-300x272.jpg" alt="" width="300" height="272" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.open.ac.uk/blogs/brasherblog/?feed=rss2&#038;p=576</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Learning: Bridge to Success – reflections after meeting with Gary and Guy</title>
		<link>http://www.open.ac.uk/blogs/brasherblog/?p=513</link>
		<comments>http://www.open.ac.uk/blogs/brasherblog/?p=513#comments</comments>
		<pubDate>Wed, 11 May 2011 16:44:17 +0000</pubDate>
		<dc:creator>a.j.brasher</dc:creator>
				<category><![CDATA[learning design]]></category>
		<category><![CDATA[b2s]]></category>
		<category><![CDATA[oer]]></category>

		<guid isPermaLink="false">http://www.open.ac.uk/blogs/brasherblog/?p=513</guid>
		<description><![CDATA[The module Y162 “Starting with Maths” &#8216; requires use of a scientific calculator. The course material includes a guide to the TI-30XA calculator which explains how to use it in the context of the module. Here is a picture of &#8230; <a href="http://www.open.ac.uk/blogs/brasherblog/?p=513">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The module <a href="http://www3.open.ac.uk/study/undergraduate/course/y162.htm">Y162 “Starting with Maths”</a> &#8216; requires use of a scientific calculator. The course material includes a guide to the  TI-30XA calculator which explains how to use it in the context of the module. Here is a picture of the course materials, just after I&#8217;d opened the package as delivered to students.<br />
<img src="http://www.open.ac.uk/blogs/brasherblog/wp-content/uploads/2011/05/student-materials-1.jpg" alt="The Y162 course materials, just opened after delivery" width="706" height="648" /><br />
If we&#8217;re opening up Y162, I think we&#8217;re going to need to provide alternatives to this specific calculator, including an online equivalent such as this one from <a href="http://web2.0calc.com/">Web2.0calc.com</a>.</p>
<p><iframe width="590" height="390" src="http://embed.web2.0calc.com/?" scrolling="no" style="border: 1px solid silver; "> </iframe></p>
<p><a href="http://web2.0calc.com/">Web 2.0 scientific calculator</a></p>
<p>The &#8216;Starting with Maths&#8217; text book contains 17 mentions of the word &#8216;tutor&#8217; in its 7 chapters.  The first 8 of these occur within the first chapter, and all emphasise that the student should ask their tutor for help if they&#8221;re having difficulty understanding any of the concepts. For example</p>
<blockquote><p>&#8220;If you are still puzzled by it, try discussing the problem with someone else or your tutor&#8221;.</p></blockquote>
<p>The strategy of discussing difficult concepts, skills, or methods is emphasised throughout the book.  When this material is transformed into an open educational resource, how could this tutorial support be prvided?  On OpenLearn <a href="http://openlearn.open.ac.uk/course/category.php?id=20">Learning clubs</a> and  forums (e.g. the <a href="http://openlearn.open.ac.uk/mod/forumng/view.php?id=396253">Maths &amp; stats forum</a>) allow learners to connect with other learnerrs.  For the the American Universities involved in this project, is there another way that learners can get support? I note taht the only one of the 7 chapters which does not refer to a tutor is chapter 6 &#8216;Working with data&#8217;: I wonder if there&#8217;s anything particularly different about the material in this chapter?</p>
<p>During our meeting Guy sketched options for the content development process as we talked:</p>
<p><img src="http://www.open.ac.uk/blogs/brasherblog/wp-content/uploads/2011/05/meeting-11052011.png" alt="Guy's sketch showing options for the content development process " /></p>
<p>One  important decisiosn that needs to be taken  quickly is who will do the editing/content preparation for the first release. Options include an OU media person, or some one from the US college(s). There are pros and cons for both, and hopefully whichever is choosen there&#8217;ll be some info and skills exchange that takes place during the content preparation process. To move things forward,<br />
a meeting including both tech and management folk from all involved parties (inc OU) will be set up for next week</p>
]]></content:encoded>
			<wfw:commentRss>http://www.open.ac.uk/blogs/brasherblog/?feed=rss2&#038;p=513</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Learning: Bridge to Success &#8211; notes from first meeting</title>
		<link>http://www.open.ac.uk/blogs/brasherblog/?p=500</link>
		<comments>http://www.open.ac.uk/blogs/brasherblog/?p=500#comments</comments>
		<pubDate>Tue, 10 May 2011 16:12:12 +0000</pubDate>
		<dc:creator>a.j.brasher</dc:creator>
				<category><![CDATA[openlearn]]></category>
		<category><![CDATA[b2s]]></category>
		<category><![CDATA[oer]]></category>

		<guid isPermaLink="false">http://www.open.ac.uk/blogs/brasherblog/?p=500</guid>
		<description><![CDATA[I&#8217;m starting to work on  the &#8220;Open Learning: Bridge to Success&#8221; (B2S) project, and had my first meeting with Gary (project manager) and Patrick (OU lead) today. These  are my notes. (Thanks to bignoseduglyguy for this picture entitled &#8220;Da VInci &#8230; <a href="http://www.open.ac.uk/blogs/brasherblog/?p=500">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m starting to work on  the &#8220;<a href="http://kn.open.ac.uk/public/document.cfm?docid=13438">Open Learning: Bridge to Success</a>&#8221; (B2S) project, and had my first meeting with <a href="http://iet.open.ac.uk/people/g.j.elliott-cirigottis">Gary</a> (project manager) and <a href="http://iet.open.ac.uk/people/p.mcandrew">Patrick</a> (OU lead) today. These  are my notes.</p>
<p><a title="Da VInci Arched Bridge - success! by bignoseduglyguy, on Flickr" href="http://www.flickr.com/photos/59999295@N00/4059770017/"><img src="http://farm3.static.flickr.com/2649/4059770017_014423c09d_m.jpg" alt="Da VInci Arched Bridge - success!" width="240" height="180" /></a> (Thanks to bignoseduglyguy for this picture entitled  &#8220;Da VInci Arched Bridge &#8211; success!&#8221;).</p>
<p>My role in the initial stages is to look at the design of the material, to work towards a structure or template for OERs for the project,  and to understand and design the user experience we should be aiming for.  This could should?) involve enhancing existing material rather than creating stuff from scratch. The material structure or template could include intro, learning outcmes, activities, practice material. There is aslo a need for pre and post-assessment, but these might be better delivered as seperate OERs.</p>
<p>The units we&#8217;ll be adapting include Y165 &#8220;Learning to change&#8221; and Y162 &#8220;Starting with Maths&#8221;.  Both Y165 and Y162 are in the process of being released as an OER. It&#8217;s an openings module, intended to build learners confidence, before they move on to other study with the OU. It includes very little algebra, so for the purposes of B2S it might be necessary to add in smome material  that deals with algebra, e.g. from M125 or via OERs originating from  other sources.  There&#8217;s an OU &#8216;Design team&#8217; for the project which includes Guy Barret (lead tech developer from LTS) and Hilary Holmes (senior lecture from MCT, author onM125?). Guy is managing the B2S area of the <a href="http://openlearn.open.ac.uk/">OpenLearn</a> site (that should be labspace? &#8211; need to check).</p>
<p>IET&#8217;s role in prroject (and hence mine) includes</p>
<ul>
<li>making it work!</li>
<li>evaluating, gathering evidence, working it if/how it can be repeatted</li>
</ul>
<p>Elipda&#8217;s offered to contribute to the researchj methodology, Simon will bring in his knowldege from the OpenEd project.</p>
<p>Issues &#8211; units eg. £ vs $, metric measures.</p>
<p>Bear in mind [points made by  Dave Pritchard at the OCW conference (as <a href="http://cloudworks.ac.uk/cloud/view/5433">blogged by Parick</a>) and summarised by Patrick: teachers love to teach theory, people love to learn practice. Bear this in mind when developing openings  materials!</p>
<p>Deadline to get stuff <strong>up live inLabspace  is 1st September 2011</strong>.</p>
<p>Labspace will get the RAP updates but with a delay (not sure how long a delay).</p>
<p>Over the next couplke of weeks I need to work with Guy, towrds a template (am confused by this term).</p>
<p>Ormond Simpson is involved &#8211; hee help develop Learning to learn and Learning to change modules,  as an external consultant on Y165.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.open.ac.uk/blogs/brasherblog/?feed=rss2&#038;p=500</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Coding Compendium / CompendiumLD links and transclusions in SVG</title>
		<link>http://www.open.ac.uk/blogs/brasherblog/?p=467</link>
		<comments>http://www.open.ac.uk/blogs/brasherblog/?p=467#comments</comments>
		<pubDate>Fri, 08 Apr 2011 15:59:34 +0000</pubDate>
		<dc:creator>a.j.brasher</dc:creator>
				<category><![CDATA[compendium]]></category>
		<category><![CDATA[learning design]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[visualisation]]></category>

		<guid isPermaLink="false">http://www.open.ac.uk/blogs/brasherblog/?p=467</guid>
		<description><![CDATA[This post follows on from my last one, adding some thoughts about the way Compendium links can be encoded in SVG, a way that permits the links to be straight lines or any sor of arc or curve. There&#8217;s also &#8230; <a href="http://www.open.ac.uk/blogs/brasherblog/?p=467">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This post follows on from my <a href="http://www.open.ac.uk/blogs/brasherblog/?p=192">last one</a>, adding some thoughts about the way Compendium links can be encoded in SVG, a way that permits the links to be straight lines or any sor of arc or curve. There&#8217;s also a bit more scripting: a first go at handling links to <a href="http://en.wikipedia.org/wiki/Transclusion">transclusions</a> of a node. This post includes <a href="#linkcode">svg code for the links</a> and an <a href="#exampleMap">example image</a>. </p>
<h2><a name="linkcode"></a>Link Code</h2>
<p>Here is the code used to draw the link between the activity and learning outcome nodes:</p>
<div style="border:thin solid #000000">
<p style="color:#006600">&lt;!&#8211; Link  actvity  and learning outcome &#8211;&gt;</p>
<p>&lt;g id=&#8221;link1&#8243; class=&#8221;link&#8221;&gt;</p>
<p style="color:#006600">&lt;!&#8211; Use title to describe the link or human consumption, in the manner that the link label is used in Compendium and CompendiumLD. The  desc element used to store the from and to nodes &#8211;&gt;</p>
<p style="padding:0px 0px 0px 1em;">&lt;title&gt;Link between learning outcome and activity&lt;/title&gt;</p>
<p style="color:#006600">&lt;!&#8211; Use the &lt;desc&gt; element to specify the ids of the from and to nodes; could also state the node labels.   &#8211;&gt; </p>
<p style="padding:0px 0px 0px 1em;">&lt;desc&gt;Link from node activity1 to node learningoutcomrome1&lt;/desc&gt; </p>
<p style="padding:0px 0px 0px 1em;"> &lt;line x1=&#8221;240&#8243; y1=&#8221;116&#8243; x2=&#8221;93&#8243; y2=&#8221;116&#8243; class=&#8221;link&#8221; marker-end=&#8221;url(#mArrow)&#8221;/&gt;</p>
<p>&lt;/g&gt;</p>
<p style="color:#006600">&lt;!&#8211; End of link &#8211;&gt;</p>
</div>
<p>The link is coded as a group (&lt;g&gt;) of elements, includinga title and a description.  In this example, the rendering of the link graphic (i.e. the arrow between the nodes) is coded as a &lt;line&gt; element. However, it could be coded as a &lt;path&gt;: SVG paths can be any arbitrary line, arc or curve. The  &lt;desc&gt; element holds the ids of the nodes that the link connects between that could be used by both people and algoriths processing the map code. The &lt;title&gt; element is a title intended primarily for human consumption. This group of elements is identified as being a &#8216;link&#8217; by the class atribute i.e.  the code: <br /> &lt;g id=&#8221;link1&#8243; class=&#8221;link&#8221;&gt;.</p>
<h2><a name="transclusions"></a>Displaying transclusions</h2>
<p>The &#8217;2&#8242; at the bottom right hand orner of the learning ourcome node indicates that this node appears in 2 maps; it is transcluded to 2 maps. If you hover your mouse over the &#8217;2&#8242; , you wuill see the titles of the  two maps that this node appears in.   One is &#8216;This map&#8217;, the is a link to the other map that the same node appears in.</p>
<p><a name="exampleMap"></a><br />
	<object style="border-style:solid;border-width:1em" data="http://www.basher-sounds.co.uk/ou/svg/code/map-all-in.svg" width="350" height="300" type="image/svg+xml"><br />
Your browser can not display SVG. Browsers which display SVG include Chrome, Firefox, Opera, Safari and the beta version of Internet Explorer 9. I suggest you try one of these to view the examples.<br />
</object> </p>
<div style="border:thin solid #000000; font:0.8em times;padding:0px 0px 0px 0em; margin:0em;">
<p style="padding:0px 0px 0px 0em;margin:0em;">
<div style="font-style:italic;border:thin solid #000000;padding:0px 0px 0px 0em; margin:0em;">
<div style="font-weight:bold">Embed this map</div>
<p>  (copy the code below and paste it into your web site (note this does not seem to work for some WordPress blogs, not sure why, perhaps a plugin is needed?):</p></div>
<p>
    &lt;object style=&quot;border-style:solid;border-width:1em&quot; data=&quot;http://compendiumld.open.ac.uk/documentation/examples/SVG/simple/map-all-in.svg&quot; width=&quot;350&quot; height=&quot;300&quot; type=&quot;image/svg+xml&quot;&gt; <br />
    Your browser can not display SVG. Browsers which display SVG include Chrome, Firefox, Opera, Safari and Internet Explorer 9.<br />
&lt;/object&gt;</p>
</div>
<p> I&#8217;ll add some notes about the coding of the transclusions later.</p>
<p>Finally, a note to myself. To   make these SVG maps it editable in Inkscape, the CSS  style information must be embedded in the file, not linked externally.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.open.ac.uk/blogs/brasherblog/?feed=rss2&#038;p=467</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Design visualisation and mapping for the web using SVG</title>
		<link>http://www.open.ac.uk/blogs/brasherblog/?p=192</link>
		<comments>http://www.open.ac.uk/blogs/brasherblog/?p=192#comments</comments>
		<pubDate>Wed, 09 Feb 2011 16:26:54 +0000</pubDate>
		<dc:creator>a.j.brasher</dc:creator>
				<category><![CDATA[compendium]]></category>
		<category><![CDATA[learning design]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[visualisation]]></category>

		<guid isPermaLink="false">http://www.open.ac.uk/blogs/brasherblog/?p=192</guid>
		<description><![CDATA[This post is about a way to share the visual representations of learning activities in particular, and visual representations of linked ideas in general (go straight to an example). This general category of &#8216;visual representation of linked ideas&#8217; includes any &#8230; <a href="http://www.open.ac.uk/blogs/brasherblog/?p=192">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This post is about  a way to share the visual representations of learning activities in particular, and  visual representations of linked ideas in general (<a href="#example">go straight to an example</a>).</p>
<p>This general category  of  &#8216;visual representation of linked ideas&#8217; includes any sort of  concept map (including maps produced by <a href="http://compendium.open.ac.uk">Compendium</a> the application on  which <a href="http://compendiumld.open.ac.uk">CompendiumLD </a>is based). The examples I give are  CompendiumLD maps because CompendiumLD is the application I&#8217;ve been working on, but I have made some notes about how the ideas I present are applicable to other applications.</p>
<p>The post is broken into chunks: <a href="#motivation">motivation</a>, an <a href="#example">example</a>, some notes about the <a href="#coding">coding</a>, a bit about <a href="#miniPreviews">mini previews</a> of maps, and some thoughts on <a href="#opportunities">opportunities, possibilities and prerequisites</a>.</p>
<h2><a name="motivation"></a>Motivation</h2>
<p>The motivation for this is to  improve the way that CompendiumLD maps can be shared, by</p>
<ol>
<li>facilitating the embedding of maps in web pages</li>
<li>using a file format that other applications can work with.</li>
</ol>
<p>The technology I&#8217;ve used is the W3C&#8217;s  <a href="http://www.w3.org/TR/SVG/">Scaleable Vector Graphics</a> (SVG) format. SVG  seemed an obvious place to start because it is a format designed for 2 dimensional graphics, and  almost all browsers now display SVG content, and numerous other applications can open and edit  SVG files (including some web based tools).</p>
<p>This quote from the W3C&#8217;s site summaries some of the power that SVG offers &#8220;SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. &#8230;&#8230;..SVG drawings can be interactive and dynamic&#8221; (<a href="http://www.w3.org/TR/SVG/intro.html#AboutSVG">about SVG</a>). It supports supporting zooming, panning and scripting and a whole host of other  functionality that encouraged me to explore it in relation to maps of learning activities.</p>
<h2><a name="example"></a>Example</h2>
<p>Here is an example of a CompendiumLD activity map coded in SVG and embedded into the page using the HTML &lt;object&gt; tag.  Note that you will need a browser that can display SVG to see this (fyi I&#8217;ve jotted some notes about <a href="#svgSupportNotes">SVG support in browsers and other applications</a>).</p>
<p><a name="exampleMap"></a><br />
<object style="border-style:solid;border-width:1em" data="http://compendiumld.open.ac.uk/documentation/examples/SVG/simple/map-all-in.svg" width="350" height="300" type="image/svg+xml"><br />
Your browser can not display SVG. Browsers which display SVG include Chrome, Firefox, Opera, Safari and the beta version of Internet Explorer 9. I suggest you try one of these to view the examples.<br />
</object></p>
<div style="border: thin solid #000000; font: 0.8em times; padding: 0px 0px 0px 0em; margin: 0em;">
<p style="padding: 0px 0px 0px 0em; margin: 0em;">
<div style="font-style: italic; border: thin solid #000000; padding: 0px 0px 0px 0em; margin: 0em;">
<div style="font-weight: bold;">Embed this map</div>
<p>(copy the code below and paste it into your web site (note this does not seem to work for some WordPress blogs, not sure why, perhaps a plugin is needed?):</p>
<p>
    &lt;object style=&quot;border-style:solid;border-width:1em&quot; data=&quot;http://compendiumld.open.ac.uk/documentation/examples/SVG/simple/map-all-in.svg&quot; width=&quot;350&quot; height=&quot;300&quot; type=&quot;image/svg+xml&quot;&gt; </p>
</div>
</div>
<p>This example is very basic. It contains just two nodes and one link to keep the SVG code simple as I have written it  by hand as a way of exploring the features that SVG offers, and to think about the way that CompendiumLD nodes and links could be encoded in SVG. There is no  reason why these SVG renderings could not be generated by an application such as CompendiumLD <em>if</em> or <em>when</em> it is decided that this would be a useful thing to do (e.g. by the <a href="http://ouldi.open.ac.uk">OULDI</a> and/or other projects).</p>
<p>This map features two nodes from the OULDI <a href="http://compendiumld.open.ac.uk/documentation/version1.0/QuickRefGuides/stencilsAndNodes/#ldStencil">learning design stencil</a>, an activity <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="13" height="13" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://compendiumld.open.ac.uk/icons/vector/activity.svg" /><embed type="application/x-shockwave-flash" width="13" height="13" src="http://compendiumld.open.ac.uk/icons/vector/activity.svg"></embed></object><br />
and a learning outcome <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="13" height="13" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://compendiumld.open.ac.uk/icons/vector/learning_outcome.svg" /><embed type="application/x-shockwave-flash" width="13" height="13" src="http://compendiumld.open.ac.uk/icons/vector/learning_outcome.svg"></embed></object><br />
, connected by a link. If you hover your mouse over the asterisk (*) in the <a href="#exampleMap">example</a> a window should pop up displaying further details about the learning activity. If you click on the learning activity node you will see a map of the learning activity itself within the same window fragment. You can also see how the maps will appear when displayed at high or low levels of magnification by zooming in or out (e.g.  use ctrl ++ to zoom in , ctrl &#8212; to zoom out). One of the things I&#8217;m thinking about doing is to pop up and mini preview of a map nodes contents when you hover the mouse over the node, allowing you to glimpse its contents before deciding whether to click and explore it in  detail (<a href="#miniPreviews">more on mini previews</a>).</p>
<p>CompendiumLD and Compendium already offer ways to share map data (via the Compendium XML format or SQL), and interactive  (but not editable) web  renderings of maps (see <a href="http://compendiumld.open.ac.uk/documentation/examples/middle-east-role-play/">&#8216;Middle east role play&#8217; example</a>, or <a href="http://compendiumld.open.ac.uk/documentation/examples/">other examples</a>).  When coding the SVG version of the CompendiumLD maps I have tried to keep  the <strong>code related to the semantics of the  map separate from  code which describes the visual style</strong> One of the ways SVG facilitates this is by enabling the look of elements to be specified via CSS. This is work in progress, and I  have not been entirely successful so far, but here is an explanation of my coding and thinking.</p>
<p>By the way, I can see there&#8217;s an issue with the text layout when this example is rendered by the Chrome browser in that the first line of text for the task node is left aligned with node, rather than being centred on node. I&#8217;m not sure why this has occurred, could be my SVG or CSS, could be the Chrome&#8217;s rendering engine,  it looks fine in other browsers. I will investigate.</p>
<h2><a name="coding"></a>Coding</h2>
<p>The SVG rendering I have created consist of <a name="fourComponents"></a>four components</p>
<ol>
<li><strong>A series of definitions stating what the nodes should look like</strong> (<em>theses are contained within the SVG file</em>)<br />
Each icon is defined as a group &lt;g&gt; of SVG elements in the &lt;defs&gt; section at the beginning of the SVG file.</li>
<li><strong>Code which specifies the contents of the map</strong> (<em>also contained within the SVG file</em>).<br />
This includes where particular  nodes should be positioned on the SVG canvas,  the text and other adornments for each node, links between nodes. I could have used XML from other namespaces (e.g. the Compendium XML DTD) to include Compendium specific information. I have avoided doing this with the intention that all the information that Compendium or CompendiumLD needs can be encoded using SVG, meaning that a user (e.g. a programmer)  only needs to understand SVG to make use of the file. <em style="color: #ff0000;">This decision  needs further thought as I progress with these experiments!</em></li>
<li><strong>Styling information for nodes and links</strong> (<em>contained within a CSS file linked to from the SVG file</em>)</li>
<li><strong>Scripts specifying interactivity</strong> (<em>contained within a Javascript file linked to from the SVG file</em>)</li>
</ol>
<p>Here is a fragment of  code from the first SVG file shown in the <a href="#example">example</a> i.e. this  <a href="http://compendiumld.open.ac.uk/documentation/examples/SVG/simple/map-all-in.svg">SVG code</a>, annotated to further explain my thinking, and it shows <em>some</em> of the things I&#8217;m not sure about.</p>
<div style="border: thin solid #000000;">
<p style="color: #006600;">&lt;!&#8211; In the actual file <a href="http://compendiumld.open.ac.uk/documentation/examples/SVG/simple/map-all-in.svg">SVG code</a>, the code up to here is the &lt;defs&gt; which specify how each node icon should look &#8211;&gt;</p>
<p style="color: #006600;">&lt;!&#8211; START OF USE of the definitions to lay out the map &#8211;&gt;</p>
<p style="color: #006600;">&lt;!&#8211; Start of an activity node.<br />
The activity node is a group (&lt;g&gt;) of elements which includes a reference to the icon specified in the &lt;defs&gt; section of the file.<br />
The class attribute specifies the type of node<br />
i.e. for CompendiumLD it could specify any of the node types defined <a href="http://compendiumld.open.ac.uk/documentation/version1.0/QuickRefGuides/stencilsAndNodes/">here</a>, so instead of &#8220;activity&#8221; it could be &#8220;task&#8221; or &#8220;role&#8221; etc.<br />
The id attribute is a unique identifier for the node (as is generated by CompendiumLD).<br />
&#8211;&gt;</p>
<p><a name="activityClass"></a>&lt;g id=&#8221;activity1&#8243; class=&#8221;activity&#8221;&gt;</p>
<p><span style="color: #006600;">&lt;!&#8211; The SVG spec states that the desc and title elements are not displayed on visual media ( <a href="http://www.w3.org/TR/SVG/struct.html#DescriptionAndTitleElements">‘desc’ and ‘title’ elements, SVG spec</a>).<br />
I have included them to potentially improve the accessibility of the map. &#8211;&gt;</span></p>
<p style="padding: 0px 0px 0px 1em;">&lt;title&gt;Activity to develop the learners&#8217; analytical skills&lt;/title&gt;</p>
<p style="padding: 0px 0px 0px 1em;">&lt;desc class=&#8221;nodeDetails&#8221;&gt;In this activity learners analyse their own organisation&#8217;s practices through the lens of a theory they will have recently studied&lt;/desc&gt;</p>
<p style="color: #006600;">&lt;!&#8211; Create a hyperlink from the icon to the map that this icon node represents.    &#8211;&gt;</p>
<p style="padding: 0px 0px 0px 1em;">&lt;a xlink:href=&#8221;mapactivity1.svg&#8221;&gt;</p>
<p style="color: #006600;">&lt;!&#8211; Place the activity icon specified in the &lt;defs&gt; section on the canvas using x and y co-ordinates; these co-ordinates could be generated by CompendiumLD.<br />
The id attribute is a unique identifier for this particular use of the activity icon. Since putting this identifier in I am not now sure if it is necessary!<br />
The onmouseover attribute specifies a script which will be executed when a user hovers their mouse over the icon. This is a placeholder: I have not<br />
implemented the show_map(evt) function yet so it does nothing at the moment.<br />
&#8211;&gt;</p>
<p style="padding: 0px 0px 0px 2em;">&lt;use xlink:href=&#8221;#activity&#8221; x=&#8221;240&#8243; y=&#8221;100&#8243; width=&#8221;32&#8243; height=&#8221;32&#8243; id=&#8221;activity1icon&#8221; onmouseover=&#8221;show_map(evt)&#8221;/&gt;</p>
<p style="padding: 0px 0px 0px 1em;">&lt;/a&gt;</p>
<p style="color: #006600;">&lt;!&#8211; The node text is contained within a  &lt;text&gt; element.  Laying out the text on several lines is achieve using  &lt;tspan&gt; to position fragments of the text. Again these co-ordinates could be generated by CompendiumLD&#8211;&gt;</p>
<p style="padding: 0px 0px 0px 1em;">&lt;text x=&#8221;256&#8243; y=&#8221;143&#8243; class=&#8221;nodelabel&#8221;&gt;Activity to develop</p>
<p style="padding: 0px 0px 0px 2em;">&lt;tspan x=&#8221;256&#8243; y=&#8221;157&#8243; class=&#8221;nodelabel&#8221;&gt;the learners&#8217; analytical&lt;/tspan&gt;</p>
<p style="padding: 0px 0px 0px 2em;">&lt;tspan x=&#8221;256&#8243; y=&#8221;171&#8243; class=&#8221;nodelabel&#8221;&gt;skills&lt;/tspan&gt;</p>
<p style="padding: 0px 0px 0px 1em;">&lt;/text&gt;</p>
<p style="color: #006600;">&lt;!&#8211; The group with class &#8216;details is the &#8216;details&#8217; indicator. This has an onmouseover event handler show_details(evt).<br />
This javascript function displays the &#8216;details&#8217; text contained in the &lt;desc&gt; tag. <em>Note to self</em>: because the node details in<br />
Compendium and CompendiumLD can be many pages long, the details should be stored in another structure, e.g., in<br />
a (group of?) text<br />
element. However, this &lt;desc&gt; tag will do for this initial experiment.&#8211;&gt;</p>
<p>&lt;g class=&#8221;details&#8221; onmouseover=&#8221;show_details(evt)&#8221;&gt;</p>
<p>&lt;text x=&#8221;274&#8243; y=&#8221;110&#8243; class=&#8221;text-anchor:middle;&#8221;&gt;*&lt;/text&gt;</p>
<p>&lt;/g&gt;</p>
<p>&lt;/g&gt;</p>
<p style="color: #006600;">&lt;!&#8211; End of  activity node &#8211;&gt;</p>
<p style="color: #006600;">&lt;!&#8211; Start of learning outcome node  &#8211;&gt;</p>
<p><a name="learningoutcomeClass"></a>&lt;g id=&#8221;learningoutcome1&#8243; class=&#8221;learningoutcome&#8221;&gt;<br />
&lt;title&gt;Learning outcome: Develop analytical skills&lt;/title&gt;<br />
&lt;use xlink:href=&#8221;#lo&#8221; x=&#8221;62&#8243; y=&#8221;100&#8243; id=&#8221;lo1icon&#8221;/&gt;<br />
&lt;text x=&#8221;77&#8243; y=&#8221;143&#8243; class=&#8221;nodelabel&#8221;&gt;Develop analytical<br />
&lt;tspan x=&#8221;77&#8243; y=&#8221;157&#8243; class=&#8221;nodelabel&#8221;&gt;skills<br />
&lt;/tspan&gt;&lt;/text&gt;<br />
&lt;/g&gt;</p>
<p style="color: #006600;">&lt;!&#8211; End of learning outcome node &#8211;&gt;</p>
<p style="color: #006600;">&lt;!&#8211; Link  activity  and learning outcome<br />
The link should be a group element, but I have not got round to thinking about how to include the label and other components.&#8211;&gt;</p>
<p>&lt;line x1=&#8221;240&#8243; y1=&#8221;116&#8243; x2=&#8221;93&#8243; y2=&#8221;116&#8243; class=&#8221;link&#8221; marker-end=&#8221;url(#mArrow)&#8221;/&gt;</p>
<p style="color: #006600;">&lt;!&#8211; End of link &#8211;&gt;</p>
</div>
<p>The idea which I think is applicable to other idea and concept mapping applications is the use of group elements and class attributes to hold the semantic information about specific components of a map. In the way I have used it in the code fragment above, the class attribute  enables scripts to find the data related to specific concepts (e.g. activities or learning outcomes) in the case of CompendiumLD maps, because the relevant information is an a group element (&lt;g&gt;) with its class attribute set to &#8216;activity&#8217; (see the code for the <a href="#activityClass">activity group</a> or for the <a href="#learningoutcomeClass">learning outcome group</a>).</p>
<h2 style="font: Arial, Helvetica, sans-serif, 16px;"><a name="miniPreviews"></a>Mini previews</h2>
<p>A few paragraphs back I mentioned the idea of mini previews i.e. miniature versions of maps that pop up when a user hovers their mouse over a map node. Here is an example of the kind of mini preview that could be generated for a relatively large and complex map (here&#8217;s the <a href="http://compendiumld.open.ac.uk/documentation/examples/SVG/svg-role-play.svg">full size map</a>).</p>
<p><object style="border-style: solid; border-width: 1em;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="275" height="213" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://compendiumld.open.ac.uk/documentation/examples/SVG/svg-role-play-co-ords-small-v1.svg" /><embed style="border-style: solid; border-width: 1em;" type="application/x-shockwave-flash" width="275" height="213" src="http://compendiumld.open.ac.uk/documentation/examples/SVG/svg-role-play-co-ords-small-v1.svg"></embed></object></p>
<p>I generated this from CompendiumLD using  Apache&#8217;s Java SVG toolkit, <a href="http://xmlgraphics.apache.org/batik/">Batik</a> in an <a href="http://cloudworks.ac.uk/cloud/view/4161">initial experiment</a> I did in July 2010. The SVG produced by Batik looks fine when rendered by a user agent such as a browser,  but it&#8217;s structure is not, e.g. the groupings it produced do not map to CompendiumLD&#8217;s semantics i.e. the nodes and links. However, to generate the SVG of this I took the simplest route I could which is essentially &#8216;painting&#8217; the map as SVG using Batik. Further investigation is required to exploit Batik&#8217;s capabilities given that it seems to <a href="http://www.codedread.com/svg-support.php">support most of SVG 1.1</a>.</p>
<h2><a name="opportunities"></a>Opportunities, possibilities and prerequisites</h2>
<p>The SVG format is designed for describing 2-D graphics, so any linked-node style of map should be realisable using SVG, including things like curved links which are introduced in <a href="http://compendium.open.ac.uk/institute/download/download.htm">Compendium 2.0 beta</a> and of course raster images can be included in SVG (all the nodes in the <a href="#miniPreview">mini preview example</a> are raster images). And of course, SVG can be edited using a variety of tools, albeit general purpose SVG tools may not preserve the semantic attributes in a CompendiumLD SVG file, but would at least allow people to use an off the shelf (or web) tool that they&#8217;re familiar with. General purpose graphic design apps that can manipulate SVG will not offer all the functions that Compendium or CompendiumLD do (e.g. transclusions), but will  offer a way for people to manipulate maps without having to install or learn how to use Compendium/CompendiumLD.</p>
<p>As my examples show, once a SVG rendering of a map (or a set of nested maps) exists, it is possible to embed it into a web page at different sizes, and to do user friendly stuff like small versions within the page and full screen versions, similar to the way that Slideshare slideshows and Youtube videos may be be embedded. However, the examples I&#8217;ve produced so far are  either hand written with &#8216;good&#8217; semantic structure (<a href="#example">example</a>) or program generated with little or no semantic structure (<a href="#miniPreview">mini preview example</a>). So, if this SVG approach is to be used, the first step needed is some more work on the structure of the SVG  to make sure most user reqs are covered, probably via a mixture of hand coding and prototype program generation of example maps to get feedback on (the same goes for the CSS styling, scripts, and SVG definitions i.e. work on these <a href="#fourComponents">four components</a>). Note, this <a href="http://keith-wood.name/svgRef.html">jQuery SVG plugin</a> might be useful for the scripting.</p>
<p>Then there needs to be a way of making SVG versions of maps available, so that there is a source to be embedded. A relatively quick way would be to build on the shared MySql database already provided by Compendium and CompendiumLD (see <a href="http://compendium.open.ac.uk/institute/support/collab-compendium.html">Collaborative Compendium</a>). This approach would require Java coding to automatically generate the SVG for each map, but use Compendium/CompendiumLD as the editing tool. I&#8217;m not sure, but a format like <a href="http://www.oembed.com/">oEmbed</a> might be useful to facilitate the embedding of nested SVG maps (more thought, playing around, and chats with <a href="http://freear.org.uk/">Nick</a> who has used oEmbed, needed).</p>
<p><strong>Now some very brief thoughts about options requiring more effort</strong> e.g. a browser based editor. Use HTML5 (build on <a href="http://code.google.com/p/svg-edit/">SVG edit code base</a>?). Such an editor could &#8216;save&#8217; locally to browser database, &#8216;publish&#8217; to web site.</p>
<h2><a name="svgSupportNotes"></a>Notes about SVG support in browsers and other applications</h2>
<p>The only current desktop browser that does not display SVG is Internet Explorer, but that will change when version 9 is released (<a href="http://www.codedread.com/svg-support.php">summary of browser &amp; plugin&#8217;s SVG capability as of 30/8/2101</a>). If you are using IE9, make sure the brwoser mode and document mode are set to &#8216;IE9&#8242; other wise you will not see the examples!</p>
<p>Note added on 15/9/2011 <a href="http://tech.groups.yahoo.com/group/svg-developers/message/65025">from SVG-developers mailing list</a>:</p>
<pre>"I think IE9 demands that you use a standards based DOCTYPE in the html in order
for iframe, object, embed etc to support SVG content".</pre>
<p>For mobile devices, Apple&#8217;s iOS browser already handles SVG, and SVG support is here or coming for other mobile platforms (it&#8217;s <a href="http://googlesystem.blogspot.com/2011/02/android-honeycombs-browser-supports-svg.html">coming in Android v3.0</a>, and via   <a href="http://www.techrepublic.com/blog/smartphones/your-mobile-browsing-experience-is-better-thanks-to-webkit/718">Webkit</a> for other platforms e.g. Blackberry, Symbian etc).</p>
<p>Desktop applications that can edit SVG include</p>
<ul>
<li><a href="http://inkscape.org/">Inkscape</a> (open source)<br />
well worth a try if you haven&#8217;t already imho, and also</li>
<li>Adobe Illustrator</li>
<li>CorelDraw.</li>
</ul>
<p>Web based tools include <a href="http://code.google.com/p/svg-edit/">SVG edit</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.open.ac.uk/blogs/brasherblog/?feed=rss2&#038;p=192</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>