EdTechDev

developing educational technology

New Books on Teaching, HTML5

I can’t really provide reviews for these books, I haven’t read most of them yet (they are just lying in my 10 year old amazon saved items queue), but I thought I’d share the list for future reference:

Some new Books on Teaching, Learning, Education, Faculty Development

New Books on HTML5, Canvas, Javascript

Some of these aren’t out just yet

New Books in Psychology, Technology, Design, Embodied Cognition

August 8, 2011 Posted by | edtech, education, embodiment, html5, teaching, technology, theory | Comments Off

ContentNotEditable: What the “death” of the mouse and keyboard means for content creators

First let me start with some disclaimers to try to make sure this post is not misinterpreted: I am not arguing that the mouse and keyboard are really dead or that the lack of a mouse on tablets is a bad thing.  I am not arguing that the ipad or similar devices are awful for education or content creation.  I am just thinking about how to make them even better in these areas, and conceptual and technological roadblocks in the way.  Some of the criticisms of the ipad as a content consumption device (here, here), have been addressed with the ipad 2 and other new android tablets with their inclusion of cameras and input ports, and some tablets are even coming out with a stylus, like the HTC Flyer.

But imagine any creative person – creating a 3d character for a game, drawing a picture, composing a music score, creating a graphically rich document or presentation, etc.  They likely have something in their hand, or their hands are busy doing something.  When that involves interacting with a computer they are likely clicking the mouse to drag something around or edit text, for example, or using a stylus on a digitizer surface (like a wacom) for drawing, or typing away on a keyboard.

These input devices are all essentially gone on new tablets and smartphones.  You can still type (slower) on virtual keyboards, and you can click like a mouse with your finger (tap).

An example of the impact of this is rich text editing, like with a word or openoffice or google docs document.  Many browser-based wysiwyg editing tools, which are used virtually everywhere, such as in moodle (which uses the TinyMCE editor) or drupal, no longer work when you access them from an ipad or iphone or android device (or other mobile platforms like blackberry or palm webos).  Even the newest “HTML5″ editors, such as Aloha Editor, pop up an error message if you try to access them from a mobile device.  Other browser-based editing and drawing tools also no longer work on these new platforms, or you have to draw with your fingers.  Most of Google’s and others’ tools like Google Presentation do not work on mobile platforms.  Really, just imagine most any software people use on a desktop to create stuff – like office, or the flash ide, or gimp/photoshop, blender 3d, etc.  Even when programming, which really is just typing in plain text, we usually prefer to use IDEs that popup suggestions and corrections to help us out.  For many of our desktop apps its hard to even imagine them working on a tablet or phone.

The rich text editing tools in browsers like TinyMCE or CKEditor primarily rely on the contenteditable HTML attribute to support editing.  Add that attribute to an HTML element, and the contents of that element become editable inside the web browser.  It works in all browsers, including old Internet Explorer versions. It doesn’t really work well or even at all on mobile browsers though (see hereherehere, here).

Newer versions of android, webkit, and mobile firefox have been slowly improving their support for contenteditable, and maybe they will eventually “fix” the issue, but I’m not sure that this will be fixed through engineering alone.  Some code editors like codemirror 2 and the ace editor are trying out workarounds like using a hidden textfield that captures key presses.  Codemirror 2 works on an ipad somewhat, the ace editor does not.  It remains to be seen if a similar trick might work for a rich text editor (it’s tricky enough just to do it for plain text).  And like I said, the HTC Flyer and other tablets (esp. those being designed for medical and other professionals) are starting to include a stylus, and it remains to be seen if that will catch on (it didn’t before with older tablets).  Others are coming out with dual screen tablets, where the second touchscreen can work like a touchpad on a laptop or nintendo ds, but that also may not catch on.

Another more general alternative strategy to this issue of tablets having no mouse or other input devices other than the touchscreen and the camera (which can be used for gestural or other input), might be to conceptually rethink how to support multimedia creation on these mobile platforms.  Perhaps we should drop the notion of “documents” or “pages”.  After all, you don’t think of a flash widget as a page or document.  You don’t think of a game as a set of pages or documents.  And Apple and other developers have already created apps for some specialized types of content creation and creativity, such as musical instrument simulators and so forth.

So, this may be a pre-paradigmatic moment where we’ll see what catches on: will we try to perfectly “emulate” the mouse and stylus and its supported interactions via other means such as gestures, or will new and unique types of interactions continue to catch on (like multitouch stuff).  Probably a combination of both, but so far the camera is hardly being used at all for input, other than recording videos or taking pictures.  And some may dismiss the idea of a stylus ever catching on again, but Apple has occasionally made “mistakes” before (the first mac didn’t have a floppy drive, for example), and others have been successful in incorporating a stylus, like the Nintendo DS, which my little boy continually loses :)

March 3, 2011 Posted by | android, computers, development, edtech, html5, opensource, software | 2 Comments

Some Exciting New HTML5/Javascript Projects

This an update of sorts on some things happening in the HTML5/Javascript world.  First, here are some previous posts on this topic, to catch you up to speed:

Some Exciting New HTML5/Javascript and Related Projects

Here are some interesting new software projects and libraries and tools I’ve run across since my previous HTML5 post:

January 14, 2011 Posted by | development, html5, java, opensource, programming | 2 Comments

Android Tips, Open Source, Educational Apps

Like I mentioned in the previous post, the CES show next week promises to reveal a slew of new android tablets and phones, so we’ll see what is announced (and what is actually released).

Here are some android tips & resources I’ve run across in the past year:

Some free educational apps:

Some free games:

  • angry birds, of course
  • minisquadron
  • hungry shark
  • falling ball
  • sliceit
  • hit the penguin
  • air attack
  • hyperspace
  • my paper airplane
  • toss it
  • winds of steel
  • flying high

December 30, 2010 Posted by | android, children, opensource, technology | 1 Comment

Upcoming Android Tablets – Wait and See

For a couple of projects, I’m looking into tablets that students can use for taking notes and so forth.  There are finally some android tablets out already or coming out this month.  This google doc I created has some notes on upcoming android tablets, including prices and features.  The Archos 101, for example, is comparable to the ipad but half the price.  My conclusion at the moment however is to wait a bit longer until we hear more about the next versions of the android OS (2.3, 3.0), which will run much better on tablets.  There seem to be issues with android 2.2 and tablets.  We should hear more about android 2.3 and 3.0 very soon, and as the NVIDIA CEO says (the Nvidia Tegra dual-core processor is used in most next generation android tablets coming out), there are lots of android tablets coming out.

Android tablets do seem to be a major focus of hardware development now:

“This isn’t a fad. Everybody’s building tablets because it’s just so important. Car companies are working on tablets, consumer electronics companies are working on tablets, computer companies are working on tablets, and communications companies are working on tablets. The medical industry is working on tablets,” he said during the earnings conference call. “I don’t remember in the history of computing [when] a singular device is being worked on by all of the industry.”

November 12, 2010 Posted by | android, technology | Comments Off

Recent Course & Workshop Resources: HTML5, Drupal, Distance Education

Here are some web sites for courses I’m currently teaching or recently taught:

At the AECT conference last week I gave a workshop on using Drupal to create web applications – here’s a Drupal Cheat Sheet I made for it.  And here are slides for a talk on embodied cognition and instructional design.

November 3, 2010 Posted by | conferences, development, drupal, edtech, embodiment, teaching, technology | Comments Off

Review of Rushkoff’s Program or Be Programmed

Since at least the invention of BASIC and Logo in the 1960s, people, such as Seymour Papert, have made an argument that anyone can and should learn to how to program, and even make their own software applications.  The argument is that we should think of it as a new literacy, a 4th “R” of sorts – computational thinking, or multimedia authoring, or just simply, programming.  For me, it’s about knowing more than just how to make a powerpoint presentation or a web page, for example, and learning how to make an interactive animation or game or simulation and so forth.  I’ve blogged about it before (Programming: The New Literacy) and wrote a chapter on the topic (Toward a Nation of Educoders).

The most recent work in this area is a short book by Douglas Rushkoff titled Program or Be Programmed, and it was originally a short talk (here’s the video, along with a newer video made after the book).

So I went into the book expecting to agree with most of the points.  I’ve only gotten through the beginning pages so far and I do agree with many points, but there are also some problematic ones, especially relating to Rushkoff’s ideas about education and learning (which is not the focus of the book), and philosophy of technology.

Quotes

First here are some quotes from the early part of the book to get an idea, including some relating to education:

p.7 “When human beings acquired language, we learned not justhow to listen but how to speak. When we gained literacy, we learned not just how to read but how to write. And as we move into an increasingly digital reality, we must learn not just howto use programs but how to make them.  In the emerging, highly programmed landscape ahead,you will either create the software or you will be the software.  It’s really that simple: Program, or be programmed. Choose theformer, and you gain access to the control panel of civilization.”

p.8 “the people programmingthem take on an increasingly important role in shaping our world and how it works”

pp. 12-13 “The Axial Age invention of the twenty-two-letteralphabet did not lead to a society of literate Israelite readers,but a society of hearers, who would gather in the town squareto listen to the Torah scroll read to them by a rabbi. Yes, it wasbetter than being ignorant slaves, but it was a result far short ofthe medium’s real potential.Likewise, the invention of the printing press in theRenaissance led not to a society of writers but one of readers”

p. 13 “Computers and networks finally offer us the ability towrite. And we do write with them on our websites, blogs,and social networks. But the underlying capability of thecomputer era is actually programming—which almost none of us knows how to do.”

So far so good.  Now on education:

p. 15 “elementary school boards adopt “laptop” curriculums lessbecause they believe that they’ll teach better than because they fear their students will miss out on something if theydon’t.”

This sounds like the same argument Larry Cuban made before (see this post), that schools only get educational technology and software to be “hip” and “with the times.”

Thoughts

The book seems to not be based on any research-guided understanding of how people learn.  It’s very centered on a model of a disembodied brain controlling our behavior (see my previous post on embodied cognition), and he also seems to share Nicholas Carr’s assertion that technologies like Google are making us stupid:

“Our brains adapt to different situations.”  “The outsourcing of our memory to machines expands the amount of data to which we have access, but degrades our brain’s own ability to remember things.”

A recent article surveyed numerous scholars and the majority of them thought Nicholas Carr was wrong – Google and similar tools are helping make us smarter.

He also completely buys into the digital natives vs. digital immigrants idea (refuted by many), including the idea that the brains of digital natives are “wired” differently:

p.32 “A brain learning on computers ends up wired differently than a brain learning on textbooks.”

Rushkoff argues that technology is a part of us and an extension of us, and yet he somehow simultaneously argues that we shouldn’t stay connected with technology:

p. 37 “She is already violating the first command by maintaining an “always on” relationship to her devices and networks.“

Rushkoff keeps mentioning the Torah and religion over and over again, and the role of technologies/media in shaping religion (sort of an extreme version of Eric Havelock’s Preface to Plato and others’ ideas I guess (like most of these types of books & journalism, there are little to no citations).

He is also probably of the belief that online education is inherently inferior to face to face education (which is not the case, see these meta-analyses and other potential misconceptions about learning and technology):

pp.41-42 “But those back-and-forth exchanges are occurring at a distance. They are better than nothing—particularly for people in unique situations—but they are not a replacement for real interaction.”

Basically, I’ve seen this type of book so many times I can’t count.  It’s a book about some new X, from the perspective of some person who has never done X, doesn’t like X, or was born long before X.  X might be video games, it might be open education, it might be embodied cognition, distance learning, educational technology, open access research and scholarship, web 2.0, etc.

October 14, 2010 Posted by | computers, edtech, education, learning sciences, programming, technology, theory | Comments Off

Review of Shapiro’s Embodied Cognition

I’m giving a talk at AECT in a couple of weeks on embodied cognition and education, as well as working on some related writings (and here are slides from my previous AERA talk on the subject).  One related book I recently picked up is Embodied Cognition by Lawrence Shapiro.  It’s a brand new book, and I’ve seen some positive reviews of it.  It’s supposed to be a balanced perspective on embodied cognition research and theory.

But I flipped to the few pages on sensorimotor contingency theory (Noe, O’Regan), and Shapiro repeatedly says that a problem for the theory is that it can’t show that a brain in a vat doesn’t have sensory experiences (the “Argument from Envatment”).
I think even a 3 year old can tell you that a brain in a vat doesn’t have sensory experiences, no more than a head of lettuce.

This is a clear case of paradigm shifts.  Shapiro is trying to talk about one paradigm from the perspective of another, older one (what he asserts is “standard cognitive science”).  And according to Shapiro, it is the burden of the new paradigm to “distinguish itself” from the old one and “prove” itself.  Take for example his assertion that “the burden that the sensorimotor theory of perception carries is to show that the brain alone is not constitutive of perceptual experience.”  He most frequently cites work by Adams and Aizawa, who wrote a book critical of embodied cognition.
That’s not how paradigm shifts work (see Kuhn’s Structure of Scientific Revolutions from 1962).  We shift to a new paradigm when the old one starts sounding ridiculous (brains in vats), or when the new paradigm is more useful or more parsimonious, or more consistent in its framework and so forth.
Shapiro’s book takes the traditional point of view on cognition, and of a computer-like, disembodied brain (he himself calls this “standard cognitive science”), and analyzes embodied cognition theories from that viewpoint.
He keeps using the term “knowledge”, for example, as something in the head that has nothing to do with action or physical experience or the environment.  For example a fully paralyzed person is only capable of having “knowledge”, not actually “doing” anything embodied.  I think paralyzed people can still try to do things (phantom limb, etc.), and they know how to do things (not to mention they can actually still do many things such as move their eyes and so forth).  You can call their attempted actions a mental simulation if you like, but FMR studies show that mental simulation activates the same brain regions as the real actions.

October 14, 2010 Posted by | embodiment, theory | 1 Comment

A Snapshot of the HTML5/Javascript Universe

This is a follow-up to “What’s the Platform of the Future for Developing Interactive Graphical Educational Software?“, which I argued is HTML5, especially since java applets and flash don’t work or aren’t well supported on mobile and emerging tablet platforms (like the ipad and android tablets).  I’m lumping many things under the “HTML5″ moniker, including the HTML5 Canvas element, WebGL for 3D, and various Javascript and CSS frameworks and libraries, even though most of the latter weren’t designed for HTML5 in particular.

Here’s a taste of the current tools and frameworks out there for developers interested in learning more about this platform.  Probably the first thing you have to decide though, is are you more interested in running your HTML5 app on mobile phones and tablets (iPhone and iPad’s iOS, Android, and to some extent Blackberry and Palm), or in a regular desktop browser (Firefox, Chrome, Safari, IE…), or both?  Some tools for mobile web app development are listed below.

Keeping Up with the HTML5/Javascript/CSS Universe

First, here are some places to keep up with this rapidly evolving field:

General Javascript Application Frameworks & UI Toolkits

  • JQuery – most popular and almost universal javascript framework.  It lets you ‘select’ elements in the DOM to operate on, in a very functional way. See numerous jquery tutorials, books and plugins and jquery.ui.  Has a little mobile support (touch/swipe).
  • YUI – very java-like user interface toolkit from Yahoo, very complete and accessible.  They have started adding mobile support (touch/swipe/etc).
  • See this comparison of javascript frameworks for others such as Sproutcore, Dojo, qooxdoo, mootools, etc.  Some other frameworks listed on that page actually involve coding in Java (or another language) which is converted to javascript, such as GWT and pyjamas.
  • JS Optimizers – to compress/obfuscate and combine into one file your js code see Google Closure Compiler, YUI Compressor, JSMIN
  • Mobile application frameworks – these frameworks are specifically for creating mobile applications (iphone/ipad/android) using javascript/html5, although usually that doesn’t include the canvas yet, and also unfortunately most of their demos work ONLY on mobile platforms, not on the desktop.  The main problem is that on the desktop with a mouse you can click and drag and drop, whereas on mobile/tablets with no mouse you touch and swipe and so forth instead. One decision you also need to make is, do you want to access native elements of the mobile platform (like camera, tilt sensor, etc.).  If so, see the first two options (PhoneGap and Appcelerator).  The latter options often work with PhoneGap, too.
    • PhoneGap – has an open source permissive license. They support Blackberry and Palm and Symbian and so forth, as well as iOS and Android.  They create a native webview wrapper for your HTML5 app, so that you can access native things such as the camera or sensors.
    • Titanium from Appcelerator – also has an open source permissive license, for fast, native mobile apps developed with javascript/html5 that can access native sensors and so forth, too.  See their kitchen sink demo and other demos.
    • Sencha Touch – built off of ExtJS and JQTouch – any app you develop with it either needs to be GPL or else you have to pay for a commercial license from them.  Can work with PhoneGap, they have some nice demos, esp. for the iPad.
    • Ansca Mobile – Corona SDK, better for game development, commercial license.
    • appMobi – commercial, too, I believe
    • Rhomobile – you actually develop in Ruby and it converts it to a javascript/html5 mobile app

HTML5 Canvas & Javascript Drawing / SVG Libraries

There are hundreds of html5 canvas demos out there if you search around.  Again, unfortunately many canvas demos do not work as well on mobile or tablet platforms, or lack interaction support (drag or swipe or whatever).  The harmony demo listed below is one exception.  Android 2.2 will incorporate a much faster v8 javascript engine from google, and future versions of the webkit browser used by most mobile/tablet devices will hopefully add support for 3D with webgl, too.  See the WebGL / game development stuff in a later section below.

Alternate Languages/Parsers/Class systems for Javascript/CSS/HTML

As I mentioned in the previous post, one potential downside of the HTML5 platform (at least from a beginner’s perspective), is that you are stuck with the javascript language (as well as HTML and CSS).  Well, that’s not always the case now.  There are alternate languages that compile to javascript (like coffeescript) or css (like Sass and Compass) or even HTML (like HAML).  Javascript, in a sense, is the new C.  Many of the types of tools we used to mainly see in Java-land are also now available in javascript, such as parser generators.

  • Coffeescript – alternate language that compiles to javascript.  It is still mostly like javascript, but adds some things that make your code much more concise.
  • Sass and Compass – alternative to CSS – adds some smarter features to CSS like variables and so forth
  • HAML – alternate to HTML, not as popular perhaps, or as needed as the above two, since there are 2000 HTML WYSIWYG editors out there.
  • Javascript parser generators – if you want to create your own DSL or language:
    • jison – used by coffeescript
    • PEG.js
    • canopy – ties you to his ruby-like JS.Class library
    • ANTLR‘s javascript target – not so lightweight, but has a lot of advanced functionality and features, such as being able to create better error messages
  • Actionscript to javascript – see Jangaroo and Gordon
  • If you want a more ruby or java-like class system (inheritance, traits, mixins, design by contract,etc.) to use rather than javascript’s built-in prototype object system, see:

Server-Side Javascript

Javascript is no longer a language that only runs in the browser.  It has become a first class language for the server / desktop, too.   Just run “node myscript.js” for example like you would any other kind of script on a server or linux box.  Coffeescript works with node.js on the server or desktop, too.

  • node.js – Uses Google’s fast V8 javascript runtime.
  • narwhal – an alternative to node.js
  • CommonJS – a standard library for javascript, mainly meant for the server-side at this point.  node.js and narwhal implement commonjs.
  • npm – a package manager for node.js, similar to gem for ruby
  • I’m still waiting to see a drupal-like content management system built all in javascript.
  • Jake – a build tool for javascript (like make, rake, etc.)
  • WebSockets – a new HTML5 feature that allows for better persistent server-client connections.  You’ll find some demos around of multiplayer games and web pages that use websockets, and on github there are node.js websocket server examples.  You need the Chrome browser or Safari or  Firefox 4 beta.
  • ExpressJS – server-side web application framework

Javascript Game Development, 3D & Physics Engines

Further evidence that javascript is the real deal, you can do 3D and interactive games with it.  To run the WebGL stuff you’ll need a recent build of the Chrome (or Chromium) browser or Firefox, see the Learning WebGL FAQ section.

Browser-based Development Environments

  • See my earlier post Browser-Based IDEs, but also these:
  • jsdo.it – Has built-in support for javascript libraries such as processing, jquery, etc., and you can share/fork/rate code.  jsFiddle is a similar tool.
  • http://sketchpad.cc/ along with hascanvas and others work with processingjs for creating animations
  • I mentioned it in the previous post, but the bespin editor continues to evolve and improve.  It now supports code completion using jsctags.
  • GUI Designers – really nothing out there that is finished and free and open source (see Ext Designer for a commercial option), other than of course free WYSIWYG HTML designers, but see these rough demos:
    • Opus-js – see the composer demo
    • Blok – rough demo for Joose, runs on google app engine

August 1, 2010 Posted by | android, development, html5, opensource, programming, software, Uncategorized | 4 Comments

Does educational technology exist to make schools “hip” and placate taxpayers?

Larry Cuban argues that we only have new technologies in classrooms in order to placate (mostly non-parental) taxpayers and politicians, so that schools can seem “modern” and “with it.”  Computers and so forth are just there as a status symbol, just like an ipod/iphone, or a nice car or dress (he actually used those analogies).  I’m not really buying the argument.  First, are schools awash in new technologies?  When you visit your local school, does it seem “modern” and “with it”?  9 times out 10, I’d say not exactly, with richer private schools being the usual exception.

If this argument is correct, then why are technologies only being bought for schools now?  Why not 50 years ago, 100 years ago?  There were never TVs in every classroom, and 100 years ago there were no calls for “1 horse per child” or “1 locomotive per school” even though horses were just as much a ‘status symbol’ as computers and cell phones are supposedly today.

What’s the difference now?  What’s different about computers (and interactive whiteboards, etc.)? Maybe it’s because teachers want it, students want it, parents want it, etc.   That’s not ‘resource dependence’ (satisfying taxpayers) at all.  In fact, the more something is likely to be a status symbol, the *less* likely teachers want it in the classroom, because it distracts from learning (such as iphones, etc.).  It was when computers and laptops became a commodity, an everyday phenomenon, that they started to grow more present in the classroom.

July 11, 2010 Posted by | computers, edtech, education, teaching, technology, Uncategorized | 1 Comment

Follow

Get every new post delivered to your Inbox.