SELECTED BLOG POSTS

Using SAMR to navigate technological change – Only Dead Fish

One of my favourite frameworks for helping to understand and navigate technological change is the acronym SAMR, which stands for Substitution, Augmentation, Modification and Redefinition. SAMR originates from the education sector, and was created by Dr. Ruben Puentedura as a way for instructors to understand how they could best integrate new technology and tools into their work. It has four levels which relate to the potential for how technology can be applied to enhance learning

read more

Using SAMR to navigate technological change – Only Dead Fish

One of my favourite frameworks for helping to understand and navigate technological change is the acronym SAMR, which stands for Substitution, Augmentation, Modification and Redefinition. SAMR originates from the education sector, and was created by Dr. Ruben Puentedura as a way for instructors to understand how they could best integrate new technology and tools into their work. It has four levels which relate to the potential for how technology can be applied to enhance learning

read more

Prepare for talking AI documents and the AI factory

Academic entrepreneurs discuss the near future wave of generative AI and its impact on the enterprise

AI is maturing and ready to tackle the distinct challenges of vertical markets and business lines, so say two leading academics turned technology entrepreneurs. For digital leaders, now is the moment to identify the right ways to deploy and even build AI into their organizations to gain competitive advantage and change ways of working and business models. 

Dr Chris Brauer and Dr John Bates are helming technology companies that take their research and ideas and turn them into products and services. I sat down with both to discuss their views and companies.

read more

Takeaways on successful AI, generative AI projects | Constellation Research Inc.

Enterprise artificial intelligence projects–generative AI, agentic and everything in between–will often depend on old-school IT management techniques. Here’s a look at some of the takeaways from successful AI projects from a panel at Constellation Research’s Connected Enterprise. It’s all about value and use cases. Laurie Wheeler, Chief Operating Officer, Information

read more

Weekly inspiration & insights:

Get curated links and latest news. Sent every Thursday.

<style>#_form_1_{font-size: 14px; line-height: 1.6; font-family: "Open Sans", Arial, sans-serif; margin: 0;}#_form_1_ *{outline: 0;}._form_hide{display: none; visibility: hidden;}._form_show{display: block; visibility: visible;}#_form_1_._form-top{top: 0;}#_form_1_._form-bottom{bottom: 0;}#_form_1_._form-left{left: 0;}#_form_1_._form-right{right: 0;}#_form_1_ input[type="text"], #_form_1_ input[type="date"], #_form_1_ textarea{padding-left: 15px; height: 50px; border-radius: 3px!important; border: none!important; padding: 14px 4%; color: #666 !important; font-size: 16px; background-color: #fff; font-weight: 400; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}#_form_1_ textarea{resize: none;}#_form_1_ ._submit{-webkit-appearance: none; cursor: pointer; font-family: "Open Sans", Arial, sans-serif; font-size: 20px; font-weight: 600; text-align: center; background: transparent !important; border: 2px solid !important; -moz-border-radius: 3px !important; -webkit-border-radius: 3px !important; border-radius: 3px !important; color: #fff !important; padding: 0.3em 1em; width: 100%; transform: all 0.2s; line-height: 1.7em!important;}#_form_1_ ._close-icon{cursor: pointer; background-image: url('https://d226aj4ao1t61q.cloudfront.net/esfkyjh1u_forms-close-dark.png'); background-repeat: no-repeat; background-size: 14.2px 14.2px; position: absolute; display: block; top: 11px; right: 9px; overflow: hidden; width: 16.2px; height: 16.2px;}#_form_1_ ._close-icon:before{position: relative;}#_form_1_ ._form-body{margin-bottom: 30px;}#_form_1_ ._form-image-left{width: 150px; float: left;}#_form_1_ ._form-content-right{margin-left: 164px;}#_form_1_ ._form-label, #_form_1_ ._form_element ._form-label{font-weight: bold; margin-bottom: 5px; display: block;}#_form_1_ ._form_element{position: relative; margin-bottom: 10px; font-size: 0; max-width: 100%;}#_form_1_ ._form_element *{font-size: 14px;}#_form_1_ ._form_element._clear{clear: both; width: 100%; float: none;}#_form_1_ ._form_element._clear:after{clear: left;}#_form_1_ ._form_element input[type="text"], #_form_1_ ._form_element input[type="date"], #_form_1_ ._form_element select, #_form_1_ ._form_element textarea:not(.g-recaptcha-response){display: block; width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}#_form_1_ ._field-wrapper{position: relative;}#_form_1_ ._inline-style{float: left;}#_form_1_ ._inline-style input[type="text"]{width: 150px;}#_form_1_ ._inline-style:not(._clear)+._inline-style:not(._clear){margin-left: 20px;}#_form_1_ ._form_element img._form-image{max-width: 100%;}#_form_1_ ._clear-element{clear: left;}#_form_1_ ._full_width{width: 100%;}#_form_1_ ._form_full_field{display: block; width: 100%; margin-bottom: 10px;}#_form_1_ input[type="text"]._has_error, #_form_1_ textarea._has_error{border: #f37c7b 1px solid;}#_form_1_ input[type="checkbox"]._has_error{outline: #f37c7b 1px solid;}#_form_1_ ._error{display: block; position: absolute; font-size: 13px; z-index: 10000001;}#_form_1_ ._error._above{padding-bottom: 4px; top: -41px; right: 0;}#_form_1_ ._error._below{padding-top: 4px; top: 100%; right: 0;}#_form_1_ ._error._above ._error-arrow{bottom: 0; right: 15px; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid #f37c7b;}#_form_1_ ._error._below ._error-arrow{top: 0; right: 15px; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 5px solid #f37c7b;}#_form_1_ ._error-inner{padding: 8px 12px; background-color: #f37c7b; font-size: 13px; font-family: "Open Sans", Arial, sans-serif; color: #fff; text-align: center; text-decoration: none; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;}#_form_1_ ._error-inner._form_error{margin-bottom: 5px; text-align: left;}#_form_1_ ._button-wrapper ._error-inner._form_error{position: static;}#_form_1_ ._error-inner._no_arrow{margin-bottom: 10px;}#_form_1_ ._error-arrow{position: absolute; width: 0; height: 0;}#_form_1_ ._error-html{margin-bottom: 10px;}.pika-single{z-index: 10000001 !important;}@media all and (min-width:320px) and (max-width:667px){::-webkit-scrollbar{display: none;}#_form_1_{margin: 0; width: 100%; min-width: 100%; max-width: 100%; box-sizing: border-box;}#_form_1_ *{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; font-size: 1em;}#_form_1_ ._form-content{margin: 0; width: 100%;}#_form_1_ ._form-inner{display: block; min-width: 100%;}#_form_1_ ._form-title, #_form_1_ ._inline-style{margin-top: 0; margin-right: 0; margin-left: 0;}#_form_1_ ._form-title{font-size: 1.2em;}#_form_1_ ._form_element{margin: 0 0 20px; padding: 0; width: 100%;}#_form_1_ ._form-element, #_form_1_ ._inline-style, #_form_1_ input[type="text"], #_form_1_ label, #_form_1_ p, #_form_1_ textarea:not(.g-recaptcha-response){float: none; display: block; width: 100%;}#_form_1_ ._row, #_form_1_ p, #_form_1_ label{margin-bottom: 0.7em;}#_form_1_ ._form-image{max-width: 100%; height: auto !important;}#_form_1_ input[type="text"]{padding-left: 10px; padding-right: 10px; font-size: 16px !important; line-height: 1.3em; -webkit-appearance: none;}#_form_1_ input[type="radio"], #_form_1_ input[type="checkbox"]{display: inline-block; width: 1.3em; height: 1.3em; font-size: 1em; margin: 0 0.3em 0 0; vertical-align: baseline;}#_form_1_ button[type="submit"]{padding: 15px; font-size: 1.5em;}#_form_1_ ._inline-style{margin: 20px 0 0 !important;}}#_form_1_{position: relative; text-align: left; margin: 0 auto; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; *zoom: 1; background: transparent !important; border: 0px solid #b0b0b0 !important; -moz-border-radius: 0px !important; -webkit-border-radius: 0px !important; border-radius: 0px !important; color: #fff !important;}#_form_1_ ._form-title{font-size: 22px; line-height: 22px; font-weight: 600; margin-bottom: 0;}#_form_1_:before, #_form_1_:after{content: " "; display: table;}#_form_1_:after{clear: both;}#_form_1_._inline-style{width: auto; display: inline-block;}#_form_1_._inline-style input[type="text"], #_form_1_._inline-style input[type="date"]{padding: 10px 12px;}#_form_1_._inline-style button._inline-style{position: relative; top: 27px;}#_form_1_._inline-style p{margin: 0;}#_form_1_._inline-style ._button-wrapper{position: relative; margin: 27px 12.5px 0 20px;}#_form_1_ ._form-thank-you{position: relative; left: 0; right: 0; text-align: center; font-size: 18px;}@media all and (min-width:320px) and (max-width:667px){#_form_1_._inline-form._inline-style ._inline-style._button-wrapper{margin-top: 20px !important; margin-left: 0 !important;}}</style><form method="POST" action="https://postshift.activehosted.com/proc.php" id="_form_1_" class="_form _form_1 _inline-form _dark" novalidate> <input type="hidden" name="u" value="1"/> <input type="hidden" name="f" value="1"/> <input type="hidden" name="s"/> <input type="hidden" name="c" value="0"/> <input type="hidden" name="m" value="0"/> <input type="hidden" name="act" value="sub"/> <input type="hidden" name="v" value="2"/> <div class="_form-content"> <div class="_form_element _x14316515 _full_width _clear" > <div class="_form-title"> </div></div><div class="_form_element _x56263518 _full_width " > <label class="_form-label"> </label> <div class="_field-wrapper"> <input type="text" name="email" placeholder="Email Address*" required/> </div></div><div class="_button-wrapper _full_width"> <button id="_form_1_submit" class="_submit" type="submit"> Sign Me Up </button> </div><div class="_clear-element"> </div></div><div class="_form-thank-you" style="display:none;"> </div></form><script type="text/javascript">window.cfields=[];window._show_thank_you=function(id, message, trackcmp_url){var form=document.getElementById('_form_' + id + '_'), thank_you=form.querySelector('._form-thank-you'); form.querySelector('._form-content').style.display='none'; thank_you.innerHTML=message; thank_you.style.display='block'; if (typeof(trackcmp_url) !='undefined' && trackcmp_url){// Site tracking URL to use after inline form submission. _load_script(trackcmp_url);}if (typeof window._form_callback !=='undefined') window._form_callback(id);};window._show_error=function(id, message, html){var form=document.getElementById('_form_' + id + '_'), err=document.createElement('div'), button=form.querySelector('button'), old_error=form.querySelector('._form_error'); if (old_error) old_error.parentNode.removeChild(old_error); err.innerHTML=message; err.className='_error-inner _form_error _no_arrow'; var wrapper=document.createElement('div'); wrapper.className='_form-inner'; wrapper.appendChild(err); button.parentNode.insertBefore(wrapper, button); document.querySelector('[id^="_form"][id$="_submit"]').disabled=false; if (html){var div=document.createElement('div'); div.className='_error-html'; div.innerHTML=html; err.appendChild(div);}};window._load_script=function(url, callback){var head=document.querySelector('head'), script=document.createElement('script'), r=false; script.type='text/javascript'; script.charset='utf-8'; script.src=url; if (callback){script.onload=script.onreadystatechange=function(){if (!r && (!this.readyState || this.readyState=='complete')){r=true; callback();}};}head.appendChild(script);};(function(){if (window.location.search.search("excludeform") !==-1) return false; var getCookie=function(name){var match=document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)')); return match ? match[2] : null;}var setCookie=function(name, value){var now=new Date(); var time=now.getTime(); var expireTime=time + 1000 * 60 * 60 * 24 * 365; now.setTime(expireTime); document.cookie=name + '=' + value + '; expires=' + now + ';path=/';}var addEvent=function(element, event, func){if (element.addEventListener){element.addEventListener(event, func);}else{var oldFunc=element['on' + event]; element['on' + event]=function(){oldFunc.apply(this, arguments); func.apply(this, arguments);};}}var _removed=false; var form_to_submit=document.getElementById('_form_1_'); var allInputs=form_to_submit.querySelectorAll('input, select, textarea'), tooltips=[], submitted=false; var getUrlParam=function(name){var regexStr='[\?&]' + name + '=([^&#]*)'; var results=new RegExp(regexStr, 'i').exec(window.location.href); return results !=undefined ? decodeURIComponent(results[1]) : false;}; for (var i=0; i < allInputs.length; i++){var regexStr="field\\[(\\d+)\\]"; var results=new RegExp(regexStr).exec(allInputs[i].name); if (results !=undefined){allInputs[i].dataset.name=window.cfields[results[1]];}else{allInputs[i].dataset.name=allInputs[i].name;}var fieldVal=getUrlParam(allInputs[i].dataset.name); if (fieldVal){if (allInputs[i].type=="radio" || allInputs[i].type=="checkbox"){if (allInputs[i].value==fieldVal){allInputs[i].checked=true;}}else{allInputs[i].value=fieldVal;}}}var remove_tooltips=function(){for (var i=0; i < tooltips.length; i++){tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);}tooltips=[];}; var remove_tooltip=function(elem){for (var i=0; i < tooltips.length; i++){if (tooltips[i].elem===elem){tooltips[i].tip.parentNode.removeChild(tooltips[i].tip); tooltips.splice(i, 1); return;}}}; var create_tooltip=function(elem, text){var tooltip=document.createElement('div'), arrow=document.createElement('div'), inner=document.createElement('div'), new_tooltip={}; if (elem.type !='radio' && elem.type !='checkbox'){tooltip.className='_error'; arrow.className='_error-arrow'; inner.className='_error-inner'; inner.innerHTML=text; tooltip.appendChild(arrow); tooltip.appendChild(inner); elem.parentNode.appendChild(tooltip);}else{tooltip.className='_error-inner _no_arrow'; tooltip.innerHTML=text; elem.parentNode.insertBefore(tooltip, elem); new_tooltip.no_arrow=true;}new_tooltip.tip=tooltip; new_tooltip.elem=elem; tooltips.push(new_tooltip); return new_tooltip;}; var resize_tooltip=function(tooltip){var rect=tooltip.elem.getBoundingClientRect(); var doc=document.documentElement, scrollPosition=rect.top - ((window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)); if (scrollPosition < 40){tooltip.tip.className=tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _below';}else{tooltip.tip.className=tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _above';}}; var resize_tooltips=function(){if (_removed) return; for (var i=0; i < tooltips.length; i++){if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);}}; var validate_field=function(elem, remove){var tooltip=null, value=elem.value, no_error=true; remove ? remove_tooltip(elem) : false; if (elem.type !='checkbox') elem.className=elem.className.replace(/ ?_has_error ?/g, ''); if (elem.getAttribute('required') !==null){if (elem.type=='radio' || (elem.type=='checkbox' && /any/.test(elem.className))){var elems=form_to_submit.elements[elem.name]; no_error=false; for (var i=0; i < elems.length; i++){if (elems[i].checked) no_error=true;}if (!no_error){tooltip=create_tooltip(elem, "Please select an option.");}}else if (elem.type=='checkbox'){var elems=form_to_submit.elements[elem.name], found=false, err=[]; no_error=true; for (var i=0; i < elems.length; i++){if (elems[i].getAttribute('required')===null) continue; if (!found && elems[i] !==elem) return true; found=true; elems[i].className=elems[i].className.replace(/ ?_has_error ?/g, ''); if (!elems[i].checked){no_error=false; elems[i].className=elems[i].className + ' _has_error'; err.push("Checking %s is required".replace("%s", elems[i].value));}}if (!no_error){tooltip=create_tooltip(elem, err.join('<br/>'));}}else if (elem.tagName=='SELECT'){var selected=true; if (elem.multiple){selected=false; for (var i=0; i < elem.options.length; i++){if (elem.options[i].selected){selected=true; break;}}}else{for (var i=0; i < elem.options.length; i++){if (elem.options[i].selected && !elem.options[i].value){selected=false;}}}if (!selected){no_error=false; tooltip=create_tooltip(elem, "Please select an option.");}}else if (value===undefined || value===null || value===''){elem.className=elem.className + ' _has_error'; no_error=false; tooltip=create_tooltip(elem, "This field is required.");}}if (no_error && elem.name=='email'){if (!value.match(/^[\+_a-z0-9-'&=]+(\.[\+_a-z0-9-']+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i)){elem.className=elem.className + ' _has_error'; no_error=false; tooltip=create_tooltip(elem, "Enter a valid email address.");}}if (no_error && /date_field/.test(elem.className)){if (!value.match(/^\d\d\d\d-\d\d-\d\d$/)){elem.className=elem.className + ' _has_error'; no_error=false; tooltip=create_tooltip(elem, "Enter a valid date.");}}tooltip ? resize_tooltip(tooltip) : false; return no_error;}; var needs_validate=function(el){return el.name=='email' || el.getAttribute('required') !==null;}; var validate_form=function(e){var err=form_to_submit.querySelector('._form_error'), no_error=true; if (!submitted){submitted=true; for (var i=0, len=allInputs.length; i < len; i++){var input=allInputs[i]; if (needs_validate(input)){if (input.type=='text'){addEvent(input, 'blur', function(){this.value=this.value.trim(); validate_field(this, true);}); addEvent(input, 'input', function(){validate_field(this, true);});}else if (input.type=='radio' || input.type=='checkbox'){(function(el){var radios=form_to_submit.elements[el.name]; for (var i=0; i < radios.length; i++){addEvent(radios[i], 'click', function(){validate_field(el, true);});}})(input);}else if (input.tagName=='SELECT'){addEvent(input, 'change', function(){validate_field(input, true);});}}}}remove_tooltips(); for (var i=0, len=allInputs.length; i < len; i++){var elem=allInputs[i]; if (needs_validate(elem)){elem.value=elem.value.trim(); validate_field(elem) ? true : no_error=false;}}if (!no_error && e){e.preventDefault();}resize_tooltips(); return no_error;}; addEvent(window, 'resize', resize_tooltips); addEvent(window, 'scroll', resize_tooltips); window._old_serialize=null; if (typeof serialize !=='undefined') window._old_serialize=window.serialize; _load_script("//d3rxaij56vjege.cloudfront.net/form-serialize/0.3/serialize.min.js", function(){window._form_serialize=window.serialize; if (window._old_serialize) window.serialize=window._old_serialize;}); var form_submit=function(e){e.preventDefault(); if (validate_form()){// use this trick to get the submit button & disable it using plain javascript document.querySelector('[id^="_form"][id$="_submit"]').disabled=true; var serialized=_form_serialize(document.getElementById('_form_1_')); var err=form_to_submit.querySelector('._form_error'); err ? err.parentNode.removeChild(err) : false; _load_script('https://postshift.activehosted.com/proc.php?' + serialized + '&jsonp=true');}return false;}; addEvent(form_to_submit, 'submit', form_submit);})();</script>