EdTechDev

developing educational technology

Developing Interactive, Scalable HTML5 Apps on the Cheap: Serverless, Unhosted, No Backend, BAAS, PAAS, Oh My

I’ve written before how HTML5 is the platform of the future for developing interactive educational apps, and you can even develop (code) in your browser (or chromebook) now.  Well, the future is here, and HTML5 is still looking to be the best option, but there are some wrinkles.  One is the slow pace of multimedia support in HTML5, in particular audio (a counterexample is 3D, in the form of WebGL, which is coming along faster than I expected).  Two other things are actually good, but still challenging problems – 1) the explosion of HTML5 and Javascript frameworks: Meteor.js, AngularJS, Ember, Backbone, CanJS, Knockout, yadda yadda yadda (I’m particularly excited about Meteor, but none of these frameworks seem to have “ease of use” in their vocabulary, and accessibility is usually an afterthought, if considered at all – Dojo being one exception), and 2) the explosion of languages that compile to JavaScript: Coffeescript, Dart, TypeScript, yadda yadda yadda (Dart is one that interests me at the moment).

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.

nobackend logo unhosted logo

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.
    • Firebase and deployd, for example, while not removing cloud hosting costs, make it much easier to develop the backend for web and mobile apps.
  • 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
    • Jot is a note-taking app that also lets you encrypt your notes with a password through a client-side javascript encryption library
    • 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.

May 10, 2013 Posted by | drupal, html5, opensource, programming, software, technology | , | 1 Comment

Considering MOOCs: Pros, Cons, Questions

Here are slides for a talk I’m giving to my university about issues to consider before offering MOOCs or accepting MOOCs for credit.

Considering MOOCs: Pros, Cons, Questions from Doug Holton

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, CourseBuilderedX, P2PUWordPress).

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.

February 28, 2013 Posted by | edtech, education, moocs, opensource, teaching, technology, Uncategorized | , , | 3 Comments

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

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

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

The Effects of Technology on Students’ Learning in Math: A Meta-analysis

A colleague of mine, Dr. Qing Li of the University of Calgary, along with Dr. Xin Ma, just had an article published in the journal Educational Psychology Review titled A Meta-analysis of the Effects of Computer Technology on School Students’ Mathematics Learning.  She found “statistically significant positive effects” which were ” greater when combined with a constructivist approach to teaching than with a traditional approach to teaching.”

I first came across Dr. Li’s work last year when she published an article in the British Journal of Educational Technology titled Instructional Design and Technology Grounded in Enactivism: A Paradigm Shift? (Word doc).  She presented this past Monday at the 2010 AERA conference in a learning sciences SIG session on embodied cognition and enactivism.  Her AERA paper as well as my presentation are at this site:
http://embodiedcog.wikispaces.com/
Dr. Li is actually more known for her work on cyber-bullying.  She has several papers on that topic.

Dr. Li and I are currently putting together a chapter proposal on applications of embodied cognition and enactivism to instructional technology for the forthcoming Handbook of Research on Educational Communications and Technology.  I’m also hoping to submit a proposal on engineering education for that handbook.

By the way, the person who chaired my AERA session, Dr. Alan Amory, also just had an interesting theoretical article published in the journal Interactive Learning Environments titled Instructivist ideology: education technology embracing the past? From the abstract: “It is argued that against the background of a neo-managerial and market-driven global education system, the production and use of technology to support teaching and learning perpetuates hegemonic behaviorist values….The analyses show that education technologies are often designed to support masculine hegemonic behaviorist instruction practices. As an extension, education technology is used in the classroom as the object of instruction to support fundamentalist values rather than a tool to mediate knowledge construction.”

May 5, 2010 Posted by | computers, edtech, education, embodiment, technology, theory, Uncategorized | Comments Off

Setting Up and Maintaining Netbooks/Laptops with K-12 Students

I currently have a small set of netbooks with Ubuntu Netbook Remix (download) installed that I use for various projects.  If I were to set up a classroom netbook/laptop cart for a K-12 class or a school-wide 1-to-1 netbook/laptop program, I would follow what Jim Klein did as part of the SWATTEC program at the Saugus Union School District.  They also used Ubuntu Netbook Remix, but with nice extras like a nice 10 second recovery system (by keeping system files in a read-only partition using UnionFS) and battery-life optimizations.  The philosophy is, instead of locking down the machine, make it easy to recover from any mistakes (even the teacher can recover a netbook without needing tech support).

See Jim’s Linux on Netbooks instructions on how to setup such a netbook program for your school.  Jim also has shared various presentations and other resources related to the program.

Karl Fisch blogged about how he implemented a variation on Jim’s program.

By the way, if you are in the market for school netbooks, or suffering from iPad envy, you might check out the $500 Eee PC T101MT touchscreen netbook, described in this liliputing post.  It’s been reported to work perfectly fine with the latest version of Ubuntu (10.04, Lucid Lynx, due out later this April).  Students can draw notes and pictures on the device (with a stylus), plus it has USB ports and a webcam, unlike the iPad.

April 3, 2010 Posted by | computers, opensource, software, technology, ubuntu | Comments Off

Follow

Get every new post delivered to your Inbox.

Join 2,699 other followers