June 6, 2013
Paths to Transformation: Putting SAMR and the Horizon Report to Work
The slides for my presentation at the 2013 NMC Summer Conference are now online:
May 30, 2013
21st Century Literacies: A Look Through a Technology Lens
The slides for my Friday workshop in Canberra at the 2013 AIS ICT Management and Leadership Conference are now online:
May 29, 2013
Paths to Technology Integration: SAMR & TPCK in Context
The slides for my keynote presentation in Canberra at the 2013 AIS ICT Management and Leadership Conference are now online:
Putting the Horizon Report to Work
The slides for my Thursday workshop in Canberra at the 2013 AIS ICT Management and Leadership Conference are now online:
The NMC Horizon EdTech Weekly App for smartphones and tablets can be found at the following links:
SAMR: Moving from Enhancement to Transformation
The slides for my Wednesday workshop in Canberra at the 2013 AIS ICT Management and Leadership Conference are now online:
May 27, 2013
Taking Mobile Mountain
An interesting phenomenon that has accompanied the rise of mobile devices is a rethinking and revitalized exploration of key elements of human interface design. Many people have misread this as a "dumbing down" of apps, due to the lower availability of computational power on smartphones and tablets; this is definitely not the case. An iPad today is as powerful as the computers I ran Final Cut Pro, Photoshop, and Mathematica on not that long ago. Given this, the real question is not what can an app do, but rather what should it do. It is easy to avoid tough decisions about what features to include on desktop and laptop machines - just keep on doing what you've been doing all along, even if it never worked all that well to begin with. The new opportunities and usage environments afforded by mobile devices mean that making the same choices will at best miss possibilities for leaps forward, at worst seriously interfere with the usability of the device. Navigating endless hierarchical menus plus associated dialog boxes is already a waste of time on traditional devices; on mobile devices it becomes an impossible task.
Fortunately, several developers have risen to the challenge of carefully selecting the 80% of features that are crucial to the execution of a task, then framing them in the context of an interface that makes them accessible and evident. Automation of secondary aspects of a task also plays a key role here: we gain little from our use of technology if digital busywork replaces its paper counterpart. Those of us that work in education can learn from studying these new approaches, including the fact that many of these apps stress elegant design and enjoyable experiences. If we want our students to create more frequently and across a wider range of disciplines with mobile devices than they have with more traditional computing tools - and I would strongly argue that this should be one of our goals - then providing them tools that are a pleasure to use is a key component of this strategy. Here are three apps that exemplify particular approaches - with apologies to Brian Eno, I'll refer to each as a variation on Taking Tiger Mountain (By Strategy):
Taking Mobile Mountain (By Simplicity)
Far too many traditional software tools are laden with features that only 20% of the users will need 20% of the time, making the crucial feature set hard to find, needlessly complex, and slow to use. By contrast, focusing on a minimal feature set that 80% of the users will want 80% of the time, and automating the rest, can lead to agile and powerful results. Haiku Deck exemplifies this beautifully in the presentation software domain. Your task is to focus on the content you wish to convey and the images that will best illustrate it - and Haiku Deck takes care of the rest. Would you like to set pages and pages of text on a single slide in 6-point Comic Sans, just so you can see your audience weep? Sorry - you'll have to look elsewhere - Haiku Deck's design smarts won't allow that. On the other hand, would you like to have Creative Commons images easily located for illustration, with authorship credited properly and automatically? Haiku Deck will happily handle this. It is important to distinguish this approach from the "wizards" found in many traditional apps (see the late and not-so-lamented Clippy for an example): the latter are a half-hearted attempt to cover up complexity with inadequate default options.
Also see: iA Writer, an app that focuses on the barebones essentials that writers need for their craft - it's what I use to write these blog posts (and pretty much everything else) these days.
Taking Mobile Mountain (By Abstraction)
Another approach is to focus on the idea behind the toolset for a task you might want to accomplish, and abstract its key features, distilling it into a conceptually refined form. Painting and drawing apps are popular on the iPad, and many of them take an approach to natural media simulation that is derived from Painter, the granddaddy of the field. These apps provide a huge set of parameters for tweaking media, brush, and canvas simulations, controlled by correspondingly large numbers of palettes, sliders, and choosers. But what if you instead took a step back, and tried to create an idealized pen, watercolor wash, marker, etc. with a single set of settings and likewise idealized behaviors? The result would be akin to Paper by FiftyThree. No watercolor brush ever behaved like the one in Paper - but the idea of a watercolor brush might. The color mixer in Paper does not model realistically what would happen in a physical paint pot - but it does correspond to a logical abstraction from the process that is also very different from a traditional color picker. The programming team has added features very slowly to Paper - a magnifying loupe only made it into the app after it had been out for over a year - but each feature is carefully crafted to retain the overall approach and balance.
Also see: GarageBand - it was good on desktops and laptops, and adding touch to it made it even better. Again, no physical instrument ever behaved quite like this - but watch your students play with it, and understand some fundamentals of music faster than they ever did before.
Taking Mobile Mountain (By Dense Focus)
A third option is to pack an application densely with every feature you could want to accomplish a well defined task - and no more. For instance, suppose you or your students wished to produce videos à la Khan Academy, but with greater ease and visual flair. Make a list of all the features that you would need for this specific task, and how you would use them. Odds are very good that your list would be a close match to the feature set of Explain Everything. This is not a coincidence: the app programming team has been particularly responsive to feedback provided by users (including, as related by Jennie Magiera, 4th grade students), and has used this information intelligently. The app is finely tuned to mobile use, and rich with targeted features, which make it much more than a simple copycat of traditional presentation or screencasting software.
For another example of this approach, see: iSpartan, a tool for molecular modeling that competes well with most of its desktop peers - and is a lot more fun to use.
It is important to realize that not all worthwhile apps need follow one of these approaches. For instance, in my own work I also use the iWork suite, which is designed along traditional office suite lines, but has an interface that is nicely adapted for mobile use; Autodesk SketchBook Pro, which implements a complex and highly customizable approach to natural media sketching; and Korg's iPolysix synthesizer, which lovingly recreates every detail of its physical counterpart. I would have no problem recommending any of these more traditional apps for use by schools - but I also think we do our students a disservice if we do not weigh how new apps, with new mobile-optimized approaches can introduce new workflows that are better suited to achieving new and ambitious educational goals.
May 17, 2013
Sketching In Code - Part 2: The Toolkit
Part 1 of this post talked about the whys of teaching programming on mobile devices - now it's time to get our hands dirty. In choosing the iPad apps that make up this list, several criteria were particularly important:
- The apps had to have an editing interface that is well suited for mobile use. This means specialized keyboard layouts, good touch interfaces for common tasks, window layouts that are designed for tablet screens.
- The code generated by the apps also had to make good use of the iPad's mobile features (e.g. the touch interface, camera, accelerometer, GPS, etc.) Additionally, the code also had to be able to access and use a broad range of media (e.g. photos, video, audio, etc.) on the device.
- The programming language had to be clear, reasonably popular in the computer science community, and easy to learn. In particular, it had to allow beginners to do something interesting right away by modifying basic code examples.
- There had to be an option available for code to be used to generate standalone apps, so that the results of student or teacher work could be shared with anyone with an iPad.
- Finally, a very desirable, if not strictly necessary feature was for the app to also run on the iPhone or iPod Touch: while the smaller screen is less suited to extensive code writing than the iPad's, quick-and-dirty mini programs that answer a specific on-the-fly question turn out to be surprisingly useful - and a great way to learn.
Three apps did an excellent job of satisfying these requirements to reasonable, if varying degrees. They are:
An incredibly powerful programming environment, designed from top to bottom for the iPad. The language used is Lua, which is both compact and easy to learn; additionally, Lua has become quite popular as a scripting language in other apps, which increases its usefulness. The interface is well designed for mobile use, with a code oriented custom keyboard, and touch oriented pickers and templates. Graphics are particularly strong in Codea, with an excellent interface for 3D work. iPad mobile features are reasonably supported, and code is easily exported for standalone compilation in Xcode. One shortcoming: while apps can be compiled for the iPhone (or iPod Touch), there is currently no iPhone Codea app.
35 lines of code, readily adapted from the tutorial apps, generate this image processing edge detector, capable of recording both photos and videos. Add an $8 microscope lens like in this paper, or build this simple adapter for an existing microscope, and you have a setup capable of doing some serious science with your students.
While Lua is a very nice programming language, it is not my absolute favorite when it comes time to delve deeper into the beauty and power of computer science. That honor goes to Python, an elegant programming language, with good computer science components and practices baked into its structure. It is reasonably easy to learn for beginners, while also actively used for serious research across a broad range of disciplines. There are several implementations of Python on iOS, but my current favorite is Pythonista. Its interface is well-designed, although not quite as efficiently as Codea's. Mobile features are also not quite as good as Codea's, but still more than powerful enough. As with Codea, standalone apps can be readily generated. The built-in Python engine runs code swiftly and efficiently, and includes the Python Imaging Library (PIL) for powerful image processing. The main limitation of this version of Python is that some third-party libraries - notably NumPy and SciPy - have not been ported yet. This can hamper its use for some heavy duty computational tasks, particularly in the sciences.
Taking an example from the social sciences, any serious discussion of electoral systems with students should include tools for measuring voting power, such as the Banzhaf power index. This index, while simple to explain, can prove time-consuming to compute. My Python code makes short work of analyzing even the trickiest setups on the iPad.
While the two previous alternatives make good use of the mobility features of the iPad, the undisputed champion in using the iPad's sensors, as well as in connecting it to external devices and visualizing and analyzing the resulting data, is techBASIC. BASIC is less "modern" in its design than Python or Lua, but is still a good beginner's programming language, particularly in versions such as this one that implement the best of Kemeny and Kurtz' design principles. Since BASIC has been around for a long time, there's a wealth of free code libraries available for it. The coding interface is serviceable, if less developed than Codea's. techBASIC code can be compiled into standalone apps, but there's a catch here: you have to pay a separate one-time fee for the required libraries.
After a few minutes of studying the supplied sample code, I was able to write this app that could be used by students to study the physics of roller coasters on their iPad. Disclaimer: I did not ride a roller coaster while testing this app, just my desk chair.
Honorable Mention: Snap!
For many beginners, particularly young students, visual programming languages that require little to no typing provide a particularly powerful introduction to the tools of the craft. Scratch is one very popular implementation of this approach, but it does not run on the iPad. However, an enhanced clone developed by a team at UC Berkeley, Snap!, does. In my testing it performed well - all the Scratch code I input ran smoothly. Additionally, the features added by UCB to the original Scratch set mean that more advanced programming topics can be tackled with Snap! than with Scratch. Snap! currently only runs in the browser and requires a network connection, and does not make use of any special iPad features, but despite these limitations deserves serious consideration as a first intro to programming for students.
The "Basic Breakout" tutorial demo from my Game and Learn series, running in Snap!
May 15, 2013
Oh What A Tangled Web We Weave: Interactive Storytelling Using Twine
The slides for my presentation at the 10th Annual MLTI Student Conference are now online:
April 30, 2013
Sketching In Code - Part 1: A Rationale
There's been quite a bit of discussion lately about whether programming should form part of the standard K12 curriculum. My own personal view is that yes, it should - but not necessarily for the reasons that are being proposed. As with math, writing, the arts, history - pretty much everything that we teach, come to think of it - there are (at least) three good reasons to teach programming:
- It gives kids a powerful tool to make things. What kind of things? You name it - one child might choose to make a game; another, a funky musical instrument. A third might choose to create an applet to understand math, while a fourth might gather and analyze data to better understand their world. Not to mention modeling proposed economic solutions for their community's needs, and scrutinizing patterns in the speeches of politicians to see whether they respond to the virtues of these solutions, or the winds of public opinion...
- It also provides a valuable tool for thinking. The skills and methods embodied in the design of algorithms and their translation into code - generally known under the rubric of computational thinking - are powerful conceptual tools that can inform and shape thinking in other arenas. At the same time, they can provide a salutary check on overblown expectations. For instance, there is much to be said for the potential of what has sometimes been called the uses of "big data" - but without a decent background in algorithmic thinking, it is also far too easy to be taken in by snake oil vendors that have hitched a ride on a legitimate development.
- It introduces children to the beauty and pleasure of research and creation in computer science. This is an important - and far too frequently neglected - reason to teach programming. This is no different than what happens when we teach math or English: if we just teach the mechanics of algebra or essay-writing, say, without giving students at least a taste of the beauty of pattern or the power of communication of the medium, we are shortchanging our students, and potentially doing harm by creating a quasi-bureaucratic impression of these topics.
It is clear that the "write one boring Hello World program after another" approach is very far from what I would recommend. Instead, I suggest that the topic be taught in such a way that every child can apply it immediately in an area of their interest. And for people who might say that "first you need the basics before you can make anything" all I can reply is: sorry, but you're not doing it right. It is in fact possible with modern tools to jump-start students in creation right away, while developing a framework of concepts and skills that allow for rigorous and deep development. Come to think of it, that's been possible for quite some time - after all, the reason I learned to program by punching cards in FORTRAN IV many moons ago was because I had some questions that I couldn't answer with a slide rule, pencil, and paper, and once I got those questions out of the way, I turned my attention to more formal computer science.
As with many other areas, the beauty of the mobile device as lively sketchbook in programming is that it allows users to quickly write snippets of code anytime, anyplace, in response to passing curiosity, phenomena in the world, or ongoing inquiry. Students stand to gain much more from writing code frequently and spontaneously than from waiting until they find themselves in traditional coding scenarios on a more sporadic basis. For best results, the toolset has to be agile: complex languages with involved compile sequences and slow turnaround are a poor fit here. Fortunately, several tools have sprung up which are an excellent match for these requirements. In my next blog post I'll discuss several such tools for the iPad, together with the features that make them great.
April 26, 2013
SAMR: Beyond the Basics
The slides for my presentation in Umeå are now online:
April 17, 2013
SAMR: Context and Examples
The slides for my presentation at SETT 2013 in Stockholm can be downloaded here:
April 16, 2013
Achieving Ambitious Goals with the iPad in Special Education
The slides for my presentation in Sollentuna at the SKIKT 2013 meetings are now online:
April 15, 2013
SAMR: Getting To Transformation
The slides for the two-day workshop at De la Gardiegymnasiet in Lidköping are here:
April 13, 2013
SAMR, In Context
The slides for my presentations in Nynäshamn, Skara, Karlskrona, Luleå, and Gävle are now online:
March 20, 2013
SAMR and TPCK: An Introduction
The slides from my presentation in Brunswick, Maine at the MICDL sessions are now online:
March 12, 2013
CoSN 2013: Two Presentations
The slides for my CoSN 2013 spotlight session and closing plenary are now online:
February 28, 2013
Thinking About Waves
The slides for my session on using the iPad in the context of an elementary school science unit on waves are now online:
January 30, 2013
LIN Education - BETT 2013 Sessions
The slides from my presentations at the 2013 LIN Education BETT sessions are now online:
January 29, 2013
Technology In Education: A Leadership Perspective
The slides for my presentation at the January 29 Apple Executive Briefing Event in London are now online:
January 7, 2013
Technology In Education: A Brief Introduction
I have published on YouTube a short introductory video on technology in education that I created for the Kalmarsunds Gymnasieförbund. For anyone looking for a quick introduction to SAMR and the other models I use in my work, this might be the place to start:
November 15, 2012
Follow the River: Designing Robust iPad Flows
The slides from my presentation in Auburn at the LL2012 Conference - Leveraging Learning: the iPad in Primary Grades are now online:Dr. Damian Bebell and I presented jointly are also available: