Developing Interactive, Scalable HTML5 Apps on the Cheap: Serverless, Unhosted, No Backend, BAAS, PAAS, Oh My
But one problem in particular has been my biggest hurdle, which I discuss more here: the cost of scalable hosting. With “old-fashioned” desktop apps or single-user applets or web animations or games, you can fire and forget it. Develop your app or site, slap it up on the web, and people download it or visit it and use it. Static web hosting is practically free (like this WordPress blog). However, if you want social features, persistence (database), or other things like that, you need to have a database or other backend at minimum, and it needs to be able to scale. I’ve always had my hopes up for Drupal - it is still my favorite go-to solution for social but non-interactive web applications, and several folks are using Drupal as a backend for HTML5 or mobile apps, but it is not so easy or so cheap to scale up. A lighter weight alternative to Drupal, perhaps built on node.js and MongoDB, has not yet emerged.
The Serverless, Unhosted, No Backend Options
Anyway, so, one hurdle to developing interactive educational HTML5 applications on the web is the cost of scalability. Web hosting is cheap (or even free) at the beginning, but can quickly spiral out of control and sometimes lock you into a proprietary platform (like google appengine). I could get a grant, but what about when the funding runs out? I could beg for money by posting my ugly mug at the top of every page like Jimmy Wales did on Wikipedia, but I’m not a sadist. I’m not a venture capitalist/entrepreneur, and unfortunately, I’m not at a university that supports or provides web application hosting (I used to be able to just run apps off the computer under my desk as an undergrad, grad, and professor, or by running cheap virtual private servers for as little as $15/year when scaling up wasn’t much of a concern).
Here are some sites that describe lower-cost, open source, and scalable cloud hosting solutions, by either letting visitors host their own data (in their browser’s local cache, or on dropbox or google drive or another site), or by using a cheaper backend-as-a-service that your front-end connects to. [Really, none of these (except WebP2P) are completely "serverless", and many do not eliminate the costs, either, but it is progress.] Various terms have been used for some of these concepts: serverless, no backend, unhosted, and there are also new and cheaper cloud hosting services that provide a backend-as-a-service (BAAS) or a platform-as-a-service (PAAS).
- No Backend – “a new approach to build data driven apps without thinking backend.” See the solutions and examples listed.
- Unhosted – “freedom from web 2.0′s monopoly platforms” – came before the “No Backend” movement and looks to be completely open source and not tied to one third-party platform. Their site also lists various tools and example apps that let users control their own data.
- Nimbusbase is an interesting option that uses Google Drive or Dropbox to store your user’s data.
- And here’s a sample PouchDB & CouchDB-based conference scheduling app that also works offline. (Just as some have stated a mantra that we should develop HTML5 applications “mobile first“, some have also stated that we should try to develop with “offline first” support, too, and to that I would also add “accessibility first“)
- WebP2P (peer-to-peer) is an effort that builds on top of WebRTC (real-time communication) to allow for truly serverless web apps – apps that connect from browser to browser. It is still very new, and only supported by bleeding edge versions of Chrome and Firefox (although there is a WebRTC datachannel polyfill to fill in some of the functionality for other browsers). See the WebP2P mailing list and WebRCT Google+ page for more info and examples.
- ShareIt, based on DirtyShare, is a proof of concept that allows you to share files from your browser
- PeerJS wraps the WebRTC implementation to provide a complete, configurable, and easy-to-use peer-to-peer data API.
- Open Peer is another WebRTC-based P2P Protocol & Specification
- GrimWire is a RESTful Browser OS that does Peer-to-peer over WebRTC. It is built on the Local framework, which allows you to securely run user applications on the page using Web Workers.
- KadOH (Kademlia Over HTTP) is a framework to build P2P applications for browsers and node.js. By implementing the basis of the Kademlia DHT used for decentralized peer-to-peer networks.
- hackview is a webRTC based multi-person video chat with a collaborative editor
- There are several other WebRCT based video chat apps and demos: appRTC is a basic demo, veckon is more polished, conversat.io adds a lunar lander game for you to play while waiting for others to join you, and the folks at Mozilla have a widget to embed video chat into your own website.
- There are various WebRCT SIP/VOIP gateways becoming available.
- The AirTheremin uses WebRTC and the Web Audio API to let you control sounds using gestures in front of your webcam
- Data URIs – New browsers support very long URLs, and you can actually store quite a bit of data in it, such as text or even an image.
- Shortly is a serverless pastebin service that uses this technique
- The webSemantics Data to URI Converter will convert your image to a data URL
- DataURL will similarly convert files or images to data URLs for embedding in HTML or CSS files
- Back toward more server-centered strategies, the Backend-as-a-Service (BAAS) and Platform-as-a-Service (PAAS) Wikipedia pages list several cloud hosting providers, none of which really solve the cost issue, because you still have to pay for scaling up, but they can be cheaper on the whole than prior solutions.
- OpenShift by RedHat is an open source PAAS that I have found very interesting, and it appears to be very reasonably priced (and free for the entry level). You can host anything with it, node.js, Drupal, Java, etc.
- The BAAS market appears to be a very hot topic at the moment (see this BAAS ecosystem map), especially after one provider, Parse, was bought out by Facebook. But Apstrata is one that looks interesting, because you only pay by the number of users you have (under 500 is free), and it is made to work with Dojo Toolkit (and other options), which as I mentioned is accessible and also incredibly full-featured.
For an older article that hinted on this “serverless” trend, see Why The Future Of Software And Apps Is Serverless, and a newer article explores the No Backend movement in more detail: NoBackend: Front-End First Web Development.
Here are slides for a talk I’m giving to my university about issues to consider before offering MOOCs or accepting MOOCs for credit.
I also participated in a webinar about MOOCs for corporate learning, hosted by Jeanne Meister of FutureWorkPlace. A few slides related to that are at the end of the above presentation.
My last advice to both groups is that, even if you decide to not go with MOOCs today, keep a close eye on them. MOOCs are evolving extremely rapidly, both technologically and pedagogically. See for example these MOOCs that are pedagogically more interesting than just videos and quizzes: Passion Driven Statistics, Learning Creative Learning, and the Open Learning Design Studio MOOC I mentioned in my previous post about pedagogical issues with MOOCs. There are also millions of dollars being invested in MOOC development, with both new and old tools evolving to accommodate the unique demands of MOOCs. Several MOOC platforms are emerging, both free (Instructure’s Canvas.net, Blackboard’s CourseSites, Google+ Communities and Hangouts and other Google Apps) and open source (Class2Go, OpenMOOC, CourseBuilder, edX, P2PU, WordPress).
So 6 months from now, a year from now, MOOCs may look quite different.
And my first advice to everyone is: try a MOOC out for yourself. That’s the best way to better learn about them.
In case the quotes didn’t clue you in, this post doesn’t argue against massive open online courses (MOOCs) such as the ones offered by Udacity, Coursera, and edX. I think they are very worthy ventures and will serve to progress our system of higher education. I do however agree with some criticisms of these courses, and that there is room for much more progress. I propose an alternative model for such massive open online learning experiences, or MOOLEs, that focuses on solving “problems,” but first, here’s a sampling of some of the criticisms of MOOCs.
Criticisms of MOOCs
- Khan Academy
- The organization is unclear and it lacks sufficient learner support.
- The videos aren’t informed by research and theory on how people learn, and this may diminish the effectiveness of his videos. He could make the physics videos more effective for example if he directly addressed student misconceptions in the videos. It doesn’t appear that any of the videos ever get revised or updated.
- Also the videos are still basically non-interactive, passively absorbed lectures. While nowhere near as effective as active learning (where students may learn twice as much and may be three times less likely to drop out than in traditional lecture-based courses), lectures do still have a place and can be more effective if given in the right contexts, such as after (not before) students have explored something on their own (via a lab experience, simulation, game, field experience, analyzing cases, etc.) and developed their own questions and a “need to know.” See research on productive failure and a “time for telling.”
- Udacity and Coursera courses
- These courses are clearly putting the traditional college course model online, and the problems are the same as with traditional college courses. They are a big step above opencourseware sites, which just have notes or long recordings of class lectures online with no guidance or learning support, but as with traditional college courses, there is often a lack of active learning or effective instructional design, and a lack of interactivity or scaffolding of the learning experience for beginners. Here are some comments from some folks who have attempted these courses (the vast majority of people drop out of these courses):
- “the Coursera course I’m taking (AI) has longer videos (6-20 minutes) of the instructor mumbling as he draws over and over on ever increasingly confusing Powerpoint slides. Sometimes a video will have one multiple choice question, other times the video will not have any questions at all. The worst part is that only once has the video gone on to explain the question. So if a student has a problem understanding the question, they will have to resort to the forums. There’s no follow-up….Basically, the Coursera course is taught as if I was sitting in a class watching an instructor draw on a Powerpoint — the fact that it’s running in a web browser and can provide a different method of teaching seems to be lost on the instructor.”
- “I’m going through the Coursera machine learning class right now and I have to say that the professor glosses over several details and often makes comments like “if you’re not familiar with calculus…” and “if you’re not familiar with statistics…” which caught me off guard at first.”
- “I’m taking Model Thinking on Coursera and there are at least 2 pdf for each section (20 sections). Some of them from professor’s book, some links on the web or some scientific articles. I even stop reading it all because it’s time consuming.”
- “I have tried a lot of these new online courses that have been created but I still think they have missed the point, the point that khan academy got right. I don’t want to plan my life around weekly assignments. I keep getting emails about about assignment deadlines, causing unneeded anxiety which puts off the whole learning experience.”
- “I tried, believe me I tried hard, but video is not my type. Over 20 years I’ve learnt all I know reading, surfing, browsing the web, not watching videos. I can digest/absorb/ignore a whole page of text in ten seconds instead of being forced to watch boring 10 mins videos that offer only one min of real interesting content.”
- These all sound like the kinds of issues one would expect from traditionally designed college courses and online courses that focus more on content coverage than learning and understanding (one of the “twin sins” of course design).
- Curt Bonk’s open online Blackboard course
- “It’s a class about retaining, motivating and engaging online students, and I’m leaving because I’m not motivated and not engaged.”
- “First assignment included two 44-page pdf files that were expensive to print and difficult to read online”
- “it’s the same old Blackboard” “Same threaded discussion – very 1999.”
Especially disturbing is that none of the major MOOC providers have hired anyone trained in instructional design, the learning sciences, educational technology, course design, or other educational specialties to help with the design of their courses. They are hiring a lot of programmers and recruiting a lot of faculty, who may have various motivations for participating in these open education experiments. To their credit though, edX, backed by $60 million from MIT and Harvard, is hiring one person to help with course development, although they only require a bachelors degree. Most instructional designers or learning scientists have a masters or PhD, partly because designing and developing effective learning experiences is a hard skill to learn and may never be confidently “mastered” in one’s lifetime (Dunning-Kruger effect aside). Some even argue that educational research is the hardest science of all. Another exception is the Open Learning Initiative, which does have teams of learning scientists working on their educational materials (but they are not MOOCs), resulting in much more effective, efficient, and engaging (e3) learning (students in their hybrid stats class learn more in half the time as in the regular face to face course). But the vast majority of MOOCs, just like the vast majority of regular college courses, are completely self-designed by faculty, who are most often not trained in effective instructional design or teaching. As someone once wrote, “College teaching may be the only skilled profession for which systematic training is neither required nor provided–pizza delivery jobs come with more instruction.” I don’t argue that faculty should not be involved in designing these courses – it is critically important that instructors have ownership of their teaching and at least be able to customize their learning materials (see 1, 2, 3), and similarly students need to have some ownership in the learning process, too (the key components of motivation are autonomy, mastery, and purpose). But faculty can be aided by some training or assistance in course design, technology, and teaching and learning to develop technological, pedagogical content knowledge (TPACK). Teaching should be treated as a design science, more like engineering than just an art or craft that we all think we can intuitively do well.
Are MOOCs a Horseless Carriage?
In the book How People Learn (which can be read free online), John Bransford shared the story of Fish is Fish. That link goes to a video of the children’s story. If you don’t have five minutes to watch it, the story is about a fish who befriends a tadpole. As the tadpole matures into a frog, it ventures out onto land and brings back stories of the things it sees, such as birds and cows. But in trying to understand those things, the fish interprets them from its own worldview. A bird is a fish with wings, for example. Similarly, when cars were introduced into society 100 years ago, we interpreted them from our previous experience and worldview as horseless carriages. The question is, are MOOCs an example of imposing an existing worldview (traditional instruction, courses, and instructors) on a new medium for learning? Is it necessary for all the ‘students’ in a MOOC to be learning the same topic at the same time (synchronous learning)? That appears to be a common defining characteristic of all MOOCs. Does there have to be a single, unchanging instructor? Does it have to be a ‘course’ at all, with a finite beginning and end? Most students forget much of what they learn once a course ends (see “Father Guido Sarducci’s Five Minute University” for a humorous take on that). Many topics are constantly changing and evolving (like science and engineering and technology), and one’s learning may be out of date sometimes within months, if not years, after a course ends. Much of what we learn comes from outside the classroom anyway – what we call lifelong learning and informal learning.
MOOC or MMORPG?
Imagine a scenario sometime in the future where an employer wants to hire someone. Maybe in the future, instead of just asking someone if they have a degree or certification in something, they will ask if someone is a member of some learning community or shares some relevant experience. They might ask questions similar to what one might ask an MMORPG player (massively multiplayer online role-playing game), like what ‘level’ one is at or about one’s accomplishments. Of course, something like this is already happening today. Most employers don’t care about which courses you took or your grades. They don’t look at transcripts. They want to know about your experience, your beliefs, your skills and abilities, and so forth. College degrees may (perhaps mistakenly) be used by an employer as a signal of things like intelligence level (going to a prestigious school means you probably got higher SAT or ACT scores, for example), persistence, and the quality of the instruction you have had. But actual experience is better signaled by things such as previous jobs, internships, and perhaps in the future things like badges and portfolios can help signify skills and experience, as well, similar to the badges one collects in a game.
The question some people ask is, are MOOCs and similar ventures the future of education? Are they going to replace degrees and courses? Are instructors going to lose their jobs? To me that’s like asking if horseless carriages are going to replace horses. Maybe they will replace degrees one day, but if they do, I don’t think they’ll still be referred to as MOOCs, and perhaps not even as “courses,” just as we no longer refer to cars as horseless carriages. And unlike horses, instructors and the profession of instruction (teaching and professors) can adapt – away from a traditional delivery of content model and perhaps toward a model of designing and refining and facilitating learning experiences, such as described in the book teaching as a design science and as already practiced at some places like Western Governors University, where there are course mentors instead of instructors. And ultimately the existing system is not going to change much without some significant learning experiences on the part of the community of educators to gain a better understanding of their own practice and how people learn.
From MOOC to MOOLE
MOOC purists would argue that the new courses from Udacity, Coursera, and edX are indeed in the same vein as traditional modes of higher education, and not what true MOOCs are about. The argument is that MOOCs should be about connecting learners with one another and with the content. It is the connections that matter. This philosophy has been variously termed or framed in terms of actor-network theory, networked learning, and connectivism. The point of this post is not to criticize those theories or ideas, but sometimes there does not appear to be a logical connection to learning and understanding. ”Connecting” learners to one another or exposing them to content may often not be sufficient to magically cause learning to happen or to cause significant changes in beliefs and practice. Similarly, making content “open” isn’t sufficient to magically cause learning to happen, although it is a good first step (enabling and expanding access to learning opportunities for more people). Also, even the original MOOCs still often had a traditional course structure with a beginning and end, all the learners learn the same topic at the same time, and the instructors are often still the “sage on the stage.” That is not to say that networking and openness are not necessary and valuable, just perhaps not always sufficient. As noted on the networked learning wikipedia page, Steve Fox (2002) argues that “networked learning is too often considered within the presumption of institutionalised or educationalised learning, thereby omitting awareness of the benefits that networked learning has to informal or situated learning.” And that latter point is important for reflecting on the MOOC model.
Situated learning concerns how all learning happens in context. Students need a reason to learn, and we shouldn’t just assume they will be able to learn something for its own sake. It explains why for example a Brazilian street kid may be a whiz at math, and a 6 year old may have hundreds of Pokemons memorized. See for example the work by James Paul Gee or Jean Lave. John Dewey said 100 years ago that we shouldn’t educate just to prepare kids for a future they know and care little about – we should educate them for today, teach them stuff that is useful and interesting to them today, and adult learners are even more skeptical of instruction that doesn’t appear to be relevant to their current work or life.
Situated learning also helps us better understand how to focus on the learning rather than the content for its own sake, because often the reason we take the time to learn something is to solve some problem we have. One of the most popular applications of situated learning research to education is called problem-based learning (PBL). Other examples include games or workplace learning. But the instructional technique of problem-based learning was actually invented before the theory of situated learning was understood (similar to how many technologies are invented before the science is understood). PBL was invented in a medical school – students were given patient cases or x-rays and asked to discuss and diagnose them, similar in a sense to an episode of House. Problem-based learning can be applied more generally, however, to solving all kinds of real-world problems big and small. Examples have included water purification, or community playground design, and so forth. The problem, and the learning needed to solve that problem, are now at the center – not the content and not the instructor. And there is not necessarily an arbitrary ‘end’ to learning, nor do students need to be working on the same thing at the same time.
In these kind of problem-based learning situations we may or may not even be talking about a course structure at all, but more broadly any real-world learning experience – MOOLEs (massive open online learning experience) instead of MOOCs. I’m not saying that MOOCs are not MOOLEs though.
MOOLE = open education + problem-based learning
Maybe a MOOLE might be considered an example of problem-based learning, but for especially widespread and persistent problems, and for which open, online resources and communities can be of help. It is important that people in a MOOLE have a purpose. The goal of participating in the MOOLE is changing and improving practice in the real world. They still have the learning communities and personal learning networks that exist in MOOCs. MOOLEs might be more self-directed sometimes, or community-scaffolded and driven, depending on the context and problems being addressed.
Who’s the teacher in a MOOLE? Who’s the learner? What are the variables, if not time or amount of content as in traditional courses. Can people ‘drop out’ of a MOOLE? Is retention an important variable? Are learning and changes in real-world practices the most important variables? How are they measured?
Why Linux and Wikipedia are not MOOLEs, maybe
I hate introducing new labels or acronyms. They often introduce arbitrary or unnecessary divisions and separations, where instead connections should be explored. But this is just a thought experiment. Is MOOLE too vague? What are examples that seem to satisfy many of the elements of openness and solving real-world problems, but might not be the same thing as what a MOOLE describes?
The Linux development community and the community of Wikipedia contributors would seem to qualify as MOOLEs – massive, open, online learning experiences. Is there anything that would preclude them from being considered so? Well, one issue is that these communities focus on doing and not learning. They often do not adapt to the needs of new members (over 80% of new editors on Wikipedia quit within a year), and they do not always attempt to ‘bring in the fold’ – the masses of people (the general public) who never contribute to their communities. In fact, they have several mechanisms and unaddressed hurdles in place which specifically function to exclude the majority of people from contributing to their communities. For over 10 years Wikipedia kept in place an arcane syntax and editor, that may have had the effect of excluding many people from contributing to articles, and Linux and several other open source communities were known for “RTFM jerks.”
Can you imagine a museum, for example, which found out about some hurdle to participation and just ignored it or was even proud about the fact that it functioned to exclude a significant portion of the population? Well, the good news is the Linux and Wikipedia communities are aware of these issues and trying to address them, but it is still a challenging effort that might have been easier to address if a culture of learning and a better understanding of learning was in place from the beginning.
MOOLEness Rubric, Checklist
As I mentioned, I am hesitant to introduce new terms or acronyms as they are are often used to exclude and separate things. The purpose here is really not to say what is and isn’t qualified to be labeled a MOOLE. A better example of a natural perceptual quality used to group things is color. But one does not say that one particular shade of red is the ‘true red’ and anything else is ‘not red’. Instead one might speak of ‘redness,’ and the quality of being red.
Similarly, this discussion of MOOLEs is more concerned with identifying the qualities of effective lifelong learning experiences, that may happen to be facilitated by open and online resources and communities.
A rubric or checklist might help identify some things to notice. That is beyond the scope of this post, but a few potential items might include:
- Is there a syllabus, instructor, etc.? You are definitely looking at a course, and it may be a MOOC. But whether it is a learning and learner-centered experience might be a separate matter.
- Is there are *required* textbook you have to buy? That kind of hurts the openness of the learning environment if some cannot purchase the book (and a significant portion of college students do not purchase the textbook for courses)
- Does the learning end? Is that ending arbitrary?
- Are beginners and new learners/members being scaffolded and supported? Is there a culture of respect for novices?
- Are there mechanisms for helping one another see what each other is learning or not understanding? See research on formative assessment, for example.
- How is learning being facilitated? See Goals and Strategies of a Problem-based Learning Facilitator for some ideas.
But essentially the point is that some MOOCs and college courses are going to continue to have problems if people create them without learning more about how people learn and how to design effective learning experiences. I proposed creating an open course on the topic of learning and educational multimedia design a couple years ago in this chapter, but haven’t had the opportunity. However, a group of folks will be offering a MOOC on open learning design this August. It is described so:
Learners and educators of the 21st century are confronted with a vast wealth of open and readily available information, and the accelerated evolution of social, mobile and creative technologies. These offer learners and educators unprecedented opportunities, but also entail increasingly complex challenges. Educators may still provide access to knowledge, but now they also need to carefully craft the conditions for learners to enquire, explore, analyse, synthesise and collaboratively construct their knowledge from the variety of sources available to them. This entails a need for a shift in their role: from providers of knowledge to designers of learning. The call for such a repositioning of educators is heard from leaders in the field of TEL and resonates well with the growing culture of design-based research in Education.
In the course of this MOOC, participants will be exposed to the rationale and motivation for a learning design approach, the state of the art in the field, and the current grand challenges for research and practice. The will familiarise themselves with a variety of tools, methods and practices, and gain the skills to lead learning design initiatives in their context of practice.
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
- Managing Technology in Higher Education: Strategies for Transforming Teaching and Learning – Tony Bates, check out his blog if you haven’t already: http://www.tonybates.ca
- Taking Stock: Research on Teaching and Learning in Higher Education - a book Tony Bates mentioned in this post: why the professional development model is broken.
- See also this free e-book/pdf: Effective Practice in a Digital Age
- A Guide to Faculty Development
- See also this recent online faculty development course on developing blended learning courses: http://blended.online.ucf.edu/blendkit-course/
- And I’ve seen this faculty development book recommended as well: Teaching What You Don’t Know
- Academically Adrift – I probably don’t even need to mention this one, it’s gotten so much attention, but here is a recent discussion and summary of responses/criticisms of the book.
- The Formative Assessment Action Plan: Practical Steps to More Successful Teaching and Learning – formative assessment is one of the most effective things you can do to improve the effectiveness of teaching and learning environments (see also work by Paul Black).
- See also this current discussion of challenges to formative assessment
- Trends and Issues in Instructional Design and Technology – new edition (3rd) of this standard instructional design textbook
- Informed Design of Educational Technologies in Higher Education: Enhanced Learning and Teaching
- The Systems Thinking Playbook: Exercises to Stretch and Build Learning and Systems Thinking Capabilities
- Education and Technology: Key Issues and Debates
- Deconstructing Digital Natives: Young People, Technology, and the New Literacies - see also this recent post on net gen skeptic with more on how the digital natives / digital immigrants distinction is dead (or at least dying).
- The Challenge of Rethinking History Education: On Practices, Theories, and Policy
- The National Academies Press (which recently made all their books available in pdf form for free, including the How People Learn book and Engineering in K-12 Education), recently released some new education books:
- Learning Science Through Computer Games and Simulations - See also this just published journal article: The Learning Effects of Computer Simulations in Science Education
- Successful K-12 STEM Education:Identifying Effective Approaches in Science, Technology, Engineering, and Mathematics
- A Framework for K-12 Science Education
- Single-Case Design (pdf) – how to do research with a single class, from the Department of Education What Works group
Some of these aren’t out just yet
- HTML5 Canvas
- Core HTML5: Volume 1: Canvas
- Learning HTML5 Game Programming: A Hands-on Guide to Building Online Games Using Canvas, SVG, and WebGL
- HTML5 Cookbook
- Coredogs – some free online lessons/books on web development, drupal
New Books in Psychology, Technology, Design, Embodied Cognition
- Enaction: Toward a New Paradigm for Cognitive Science - see also this recent article The enactive approach: Theoretical sketches from cell to society
- The Primacy of Movement - Maxine Sheets-Johnstone
- Why We Make Mistakes: How We Look Without Seeing, Forget Things in Seconds, and Are All Pretty Sure We Are Way Above Average and related books such as The Invisible Gorilla: How Our Intuitions Deceive Us and The Age of American Unreason
- The Information: A History, a Theory, a Flood – by James Gleick (author of Chaos)
- Exposing the Magic of Design: A Practitioner’s Guide to the Methods and Theory of Synthesis
- Now You See It: How the Brain Science of Attention Will Transform the Way We Live, Work, and Learn
- The Third Teacher – exploring ways design can transform teaching
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 here, here, here, 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
- Browser-Based IDEs – this is the future, I believe – doing coding in the browser. Some updates are discussed below (cloud9 IDE, and a web-based version of eclipse)
Here are some interesting new software projects and libraries and tools I’ve run across since my previous HTML5 post:
- http://www.mobl-lang.org/ and https://github.com/mobl
- Modkit is basically a version of the Scratch graphical programming environment, but it works in the browser. Not yet released, but coming soon.
- HTML5 Canvas libraries
- CAAT http://labs.hyperandroid.com/animation and https://github.com/hyperandroid/CAAT/
- Unveil.js https://github.com/michael/unveil – Has support for not using up the processor when it is not needed
- easeljs http://easeljs.com/ – Created to be like flash with display lists and so forth, by flash developers. Works with jquery I believe.
- doodle.js http://lamberta.posterous.com/doodle-js and https://github.com/biilly/doodle-js
- artisan.js http://artisanjs.com/ and https://github.com/davidbrooks/Artisan
- sprite.js https://github.com/batiste/sprite.js
- gury https://github.com/rsandor/gury – Works with jquery
- New game libraries
- Gesture recognition libraries
- Browser-based IDEs
- In June or so, look for an initial release of a web-based version of the Eclipse IDE, codenamed Orion
- 3D Multiuser World
- It has long been a holy grail of the edtech world to have a multi-user virtual world for students and teachers to use. There already is Second Life (and it’s mono-based open source clone OpenSim) and Open Wonderland (java-based), but now with WebGL, it’s possible to create such a thing that works in the browser, and Katalabs has done so, releasing a prototype of their open source virtual world software called Kataspace. Requires a recent version of firefox or chrome – see the Learning WebGL site for more info on WebGL.
- BASIC in the browser
- Smalltalk/Squeak in the browser
- Real-time Collaboration/Editing
- IBM just announced the Open Cooperative Web Framework, which uses Dojo and other libraries for real-time collaboration in the browser. Targeted for things like collaborating during a conference.
- Realie is a web-based real-time collaborative editor, similar to etherpad. Unlike etherpad, it is coded with node.js and websockets: http://laktek.com/2010/05/25/real-time-collaborative-editing-with-websockets-node-js-redis/
- Here are some other browser-based collaborative real-time editors: http://en.wikipedia.org/wiki/Collaborative_real-time_editor#Browser-based
- Java Projects
- Visage http://code.google.com/p/visage/ open source port of JavaFX, which declarative markup for creating user interfaces
- Wireframes and Mockups, Sketches
- There are several new browser-based tools for visually designing interfaces (fake interfaces), some of which are HTML5-based or else Flash: http://speckyboy.com/2010/01/11/10-completely-free-wireframe-and-mockup-applications/
- Some open source ones include: http://www.k-sketch.org/ http://www.mdaines.com/plumb/ http://dub.washington.edu:2007/projects/sketchwizard/
- OpenSocial/widget development tools
- Socialtext has an HTML5 widget builder: http://www.readwriteweb.com/enterprise/2010/12/socialtext-introduces-html5-ba.php
- Exo is a competitor to Socialtext, and they also have a web-based IDE: http://exoplatform.com/company/en/resource-viewer/Video-Demo/building-web-app-with-exo-platform-3-ide
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:
- How to root the Droid (the first droid)
- How to root the NookColor
- How to read library e-books on an android tablet – right now the only official way is to use Adobe Digital Editions (ADE, which only runs on windows or mac) and use a device that ADE supports, such as the NookColor or Pocket Edge. Here’s an ADE video tutorial.
- If you’ve got an older android phone or tablet with only a few screens, I’d recommend LauncherPro or a similar app to improve your home screens. See this comparison between LauncherPro and other options like ADWLauncher.
- Keeping up with android news: See this twitter list for various sources like androidcentral: http://twitter.com/#!/edtechdev/android
- Places to find recommended, popular apps
- Open source apps – see these lists of open source apps and open source games (you’ll have to google to find the actual source though).
- Android development
Some free educational apps:
- X Construction Lite – bridge building game
- Google Sky Map – shows the names of stars, planets, constellations that you point at, using the accelerometer and compass
- There are apps or android-friendly mobile front-ends for Blackboard (requires university subscription) and Moodle (see also http://mle.sourceforge.net/ and http://code.google.com/p/moodbile/)
- Video podcasting is possible with apps from Qik or Ustream viewer or broadcaster
- Physics: space physics lite, space simulator, physics calculator
- Musical instruments: mypiano, guitar solo lite
- Programming: IProgram, scripting layer for android, ruboto
- Various math practice apps like Math Workshop or Math Attack
- Of course there are all the e-book reader apps such as Aldiko, Nook, Kindle, …
- See also AppBrain’s education section and this list of 101 best android apps in education
- See also the IEAR site for many educational apps, but they are mostly iphone/ipad apps at this point.
Some free games:
- angry birds, of course
- hungry shark
- falling ball
- hit the penguin
- air attack
- my paper airplane
- toss it
- winds of steel
- flying high
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.”
Here are some web sites for courses I’m currently teaching or recently taught:
- Distance Education Tools - http://detools.wikispaces.com/
- This site now has dozens of links of various tools and technologies you can use with online and blended learning
- Multimedia Development with HTML5 - http://html5.wikispaces.com/
- As I posted earlier, HTML5 is emerging as an alternative to flash and java
- Instructional Design Projects – http://holton.usu.edu/moodle
- We learn how to use a learning management system (moodle) and about “post-modern” instructional design techniques, such as constructivism, problem-based learning, simulations, games, cases…
- Internet Development: http://internetdev.usu.edu/outline
- I’ll be teaching web development with the Drupal content management system again next summer. I hope to improve the videos.
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.
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.
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.”
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.