A few weeks ago I posted this image and stated that I would be following up with several posts about badge pathways. In particular, how they fit into our work at Mozilla along several different lines: the web literacy standard, webmaker, and open badges. Straightforward, yes?
Badge system design, white papers & badge pathways
Sort of. This is the paraquel (!) post coming before the quel itself. I have an inkling that there’s a prequel yet to be created because quite some time ago I started a post about how these tasks all come together from a conjunctive / disjunctive approach. In fact, all sorts of -quels are in the offing, the main event being a white paper about Badge System Design. While I have written quite a few blog posts about badge system design before, a solid white paper along with some example cases will help to more fully explain our direction of thought travel.
So, let’s take a minute to talk about what step comes both after badge system design and very much in the middle of it: badge pathways. Like many complex, long-form thoughts, it’s hard to say exactly when this idea began to ease itself into the (badge system design) picture.
But first, a look down the road to where the next few posts will be heading. This first post will address how we got to thinking about badge pathways from a badge system design perspective. The following second post will address how we’re working with them and where they might be effective. And the third and final post will consider how badge pathways might link together vast systems to more accurately represent the individual learner and how that might be represented.
About two weeks ago at Dan Hickey’s digital badges design principles workshop, just prior to the DML conference in Chicago, I had the opportunity to speak to many of the impressive DML winners. Dan’s work along with his grad students’ work digs into some really interesting areas arising from grantees’ experiences. The DML grantees have created some amazing badges and badge systems and hearing them describe their work as the day progressed was particularly enjoyable, especially when they discovered unanticipated commonalities with each other.
During that gathering, Dan asked me to speak to the assembled group about the importance of badge system visualization, an absolutely sound and worthy discussion point. I started off with the best of intentions about responding to his extremely rational request but soon enough found myself diving into a soliloquy about badge pathways. It was a heady few moments. One in which I may have even asserted something along these lines, “Badge pathways are more important than badges themselves.”
What?! To the attending audience this statement may have seemed completely strange and unexpected. Yet with a bit of pruning, that statement is true. Badge pathways are just as important as badges themselves. And, with a bit of hindsight, I now realize that a visualization like the one above begins to illustrate exactly how relevant that comment was, so I was answering the question Dan asked, but I was speaking about it in a new way.
What’s a badge pathway?
A quick sidebar to clarify what we mean by badge pathways. Let’s start with what they’re not. Badge pathways are not necessarily predefined, nor are they limited to one educational category or issuing organization or type of learning, nor do they necessarily have an end point.
And now let’s address what they are. Badge pathways can be and most likely will be entirely emergent. This, friends, is from whence all their magic derives. Badge pathways provide people with opportunities to make decisions based in personal agency, to define steps that may seem more like hops, and to think about ways to do things that aren’t sequential or even seemingly rational. They allow earners to link unexpected badges (read concepts, learning, achievements, etc.) together in exciting and unanticipated ways. They allow folks to connect the outlying dots that constitute lifelong learning. And while predefined badge pathways can provide easy and simple directions and pointers along a certain direction, the self-defined or peer-defined or team-defined pathway can resonate in ways that may prove far more meaningful to an individual than those that are suggested by experts. Badge pathways can act as a form of distributed intelligence. In that way, badge pathways are inextricably linked to badge system design.
Order from chaos
What we have repeatedly spoken about—that your badge system design must be flexible, that there are multiple ways to learn things, that badges are outcomes of learning—is still all true. But as you work through your badge system, as it evolves past the first 10 or so badges, you’ll find that prescriptive and descriptive approaches begin to come seriously into play. In other words, the angle with which your badge system is viewed can easily shift from a prescribed series of steps to a free for all wherein earners pick and choose their own way and the pathways you think you’ve created are not the paths that people are following. Here’s an opportunity to embrace the chaos of your system. Chaos that given enough time will reveal order. Order that will have evolved from actual usage.
The most stunning thing living systems and social systems can do is to change themselves utterly by creating whole new structures and behaviors.… The ability to self-organize is the strongest form of resilience. … Self-organization is basically the combination of an evolutionary raw material—a highly variable stock of information from which to select possible patterns—and a means for experimentations, for selcting and testing new patterns. … The source of variety is human creativity… (Meadows, 1999, pp 14-15)
When you are deep into designing your badge system, pause. Look outward: consider the bigger picture that your earner will see. Imagine the thrill of being a learning explorer charting new territory with badges as your guideposts! Now with that new perspective, rough out some potential badge pathways that do not solely include your badges—that include far flung and seemingly unrelated badges. Begin to imagine a future where your badges mingle with and build on a variety of other badges; where new constellations of learning pathways evolve into being from earners devising their own paths, guided by light from distant badge galaxies.
Meadows, D. (1999). Leverage points: places to intervene in a system. World, 91(7), 21. POINT. Retrieved from http://www.sustainer.org/pubs/Leverage_Points.pdf
Tagged: badge pathways, badge system design, creativity, dml competition, dmlbadges, identity, mozilla, openbadges, system design, webmaker
Last week I attended the snappy work week with goal of syncing up with Julian Seward and Mike Hommey regarding the new Breakpad unwinding feature, planning and prioritizing new feature work. I also got lots of valuable feedback. Here’s what you need to know if you’re a frequent user of the Gecko Profiler.Breakpad Unwinding (Mobile)
For the last few months Julian has been spearheading integrating the breakpad unwinding feature to the Gecko Profiler. This turned out to be a very complicated task because we’re trying to use Breakpad for something it wasn’t meant to do. This work is now landed but it only works in a very specific build configuration (unwind tables, unpacking the libraries, no elfhack). We are currently working on addressing these problems to make it work in the default Nightly configuration.
Our current target is to use Breakpad unwinding in the Linux May 1st nightly. A week later have the Fennec nightly support breakpad unwinding. I’m hoping afterwards to support Breakpad unwinding on B2G central (not b2g18) but I expect this may be difficult on a memory constraint phone so I currently have no estimate for this at this time.
If you looked at the code for the profiler you may notice TableTicker1+TableTicker2. During the work week we refactored the code significantly to address this code duplication while resolving inconsistencies between the frame-pointer unwinder and the Breakpad unwinder.Multi-Thread/Multi-Process Support
The profiler will soon support showing samples and timelines for multiple threads. This is already somewhat supported on B2G if you use a script written by Vlad. This will become easier as we begin to add multi-thread support to all the platform backends (already in progress for Mac and Linux) thanks to the help of James Willcox. This ties in heavily with the next two section (IPDL/Plugins).Plugin Support
Plugin issues have long been identified as the single biggest contributor to responsiveness issues by Vladan‘s Chrome Hang work. This was the topic of the break out discussion headed by Benjamin Smedberg. We discussed a plan of attack by adding profiling to the plugin process which should land this week but require a manual step. This feature will let us know what’s going on in the plugin process when the browser’ main thread is waiting for an IPC response (and vice versa). It will improve as we add profiling support for profiling IPDL messages.IPDL Message Support
During the week we decided to add profiler labels to each IPDL call automatically. That will help where the unwinder isn’t supported but doesn’t give us the data we need. In particular we’re looking to get better data about how IPDL messages are queued, how long they take to get dequeued and to processed. Combined with the Plugin support this should help us diagnose complex issues with our plugin-container or get better data on how particular plugins are hurting the responsiveness of the browser. Georg Fritzsche has an excellent plan in bug 853864 on how to implement this.
Joe Drew taught Firefox to decode images on multiple threads. It took a mere 29 patches in bug 716140. This should speed up page-load and improve tab-switch times. This task was considered too hard a year ago when Snappy people were discussing potential improvements.
Masayuki Nakano improved Firefox scrolling responsiveness on modern touchpads in bug 829952. Dealing with scroll-events on Windows is a mess. It’s nice when we make forward progress in this area.
Marco Bonardo fixed a mysterious cause of main thread IO I ran into in bug 830423. I ran into this issue because I compulsively navigate to about:telemetry in Firefox and look in ‘Slow SQL Statements’ and ‘Browser Hang’ sections. I encourage readers of this blog to check out that data whenever Firefox is under-performing.Startup
bug 648407 - Mike Hommey folded libraries for faster startup. If I’m reading bug 852068 correctly, Firefox now loads 7 fewer libraries on startup. My rough rule of thumb is that each (small) file adds ~30ms to spinning-disk startup so this should net >200ms in startup savings.
Cumulative startup improvements are notoriously difficult to predict + measure, but I suspect that above changes should make for a >=10% speedup in Firefox 22 start over previous releases. We’ll be watching telemetry data in the coming weeks.Smoothness
bug 590422 - Avi Halachmi is continuing on his quest to make Firefox animate smoothly. This is another tricky step towards smoother animations in Firefox. Since landing this, Avi already embarked on the next gecko-level animation smoothness improvement.
Marco Bonardo spotted some potential for contention in recent DOM Local Storage optimizations. Vladan Djeric landed corrections in bug 842852.Throughput improvements
Ehsan Akhgari reduced allocator contention in bug 733277.
Tim Taubert taught Firefox to warm up newtab connections on hover bug 790882
Last weekend, March 15-17, Mozilla Italia took part in Fa’ la cosa giusta 2013 in Milan (Fa’ la cosa giusta means Do the right thing!). For our association this was the fourth time in this particular event: we participated from 2007 to 2009, then we moved to Florence for a couple of years (event called “Terra Futura”) and took a break in 2012. In Milan there were six active members from our community, which is quite a gathering considering how spread we are through Italy, and two guests who helped us during these three days.
Citing from the official site: Fa’ la cosa giusta is a fair about ethical consumerism and sustainable living, with over 700 exhibitors hosted on 29,000 square meters. This year edition had more than 72,000 visitors, among them 3,300 students from 17 different schools.
The number of tech-related exhibitors is always quite limited: for example near our booth there was an area where people from Ubuntu and Document Foundation had talks about their communities and their products, there were also other realities like a lab which takes in old IT hardware (printers, computers, etc.) and restore them, or even low cost 3D printers (Waspproject).
Taking part in this kind of events, compared to more tech-oriented exhibitions, has some positive aspects. For example trying to explain the Open Web, or the importance of web standards and diversity to people who can’t really understand the difference between a browser and a search engine is quite a challenge (Q: “What software do you use to browse the Internet?” A: “I use Google.”). At the end of these three days we welcomed a lot of people at our booth, even a couple of puppies: some of them wanted help for some problems they were having with Firefox or Thunderbird, some others wanted to know more about Mozilla or just say hello to us.
More frequently questions: what is Mozilla? Why are you here, how do you fit in? In some ways answering this last question was the most interesting: what Mozilla does, how Firefox and all other products are created by a non-profit organization and a unique community equally built on employees and volunteers from around the world, what we do as an association in Italy, how our ideals and principles help creating and driving initiatives like WebMaker or WebFWD. And then see these people agree with us
On Saturday and Sunday the main point of interest was this developer phone running Firefox OS. A lot of people stopped by to see and try the phone: some of them knew the project, thanks to the good coverage of the last MWC 2013 in Barcellona, others didn’t know it at all and wanted to understand what Mozilla is working on. Again, there were questions a lot more frequent than others:
- How and when will Firefox OS be commercialized? Distribution should start soon in some countries (e.g. Spain, Brazil, Poland, etc.), and then cover other areas. In the meantime people, in particular those interested in developing Apps for the new OS, can try Firefox OS with an emulator or desktop builds.
- When will Firefox OS be available in Italy? Well, we don’t know Personally I hope at some point during 2014, considering that Telecom Italia is listed among the partners on the official page.
- Will I be able to install Firefox OS on my phone and replace Android/Windows? It depends, but it can’t be excluded given the open nature of the project.
I made a set of photos on Flickr, considering the amount of people stopping at our booth I wasn’t really able to shot many photos. Enough said: at the end of those two days I almost had no voice left
the following changes have been pushed to bugzilla.mozilla.org:
-  product/component searching should also search the product’s description.
-  “not implemented” error when updating a bug with the “locale” multi-select field visible
-  “Flags requested of you” doesn’t show flags that are requested on Resolved bugs
-  bug filing links in my dashboard should be able to be opened in new tabs/windows
-  Some MyDashboard “updated” friendly dates are inappropriate and/or broken w.r.t. timezones
-  change “send error to error reporter” from forking to running a process
Filed under: bmo, mozilla
Guess what? I'm moving to London!
You heard right; I'm upping sticks from my cosy life by the beach and heading back to the city that I was brought up in. Am I crazy? Maybe.Tilt-shift from a helicopter, by yours truly What is this about?
To cut a long story short, my life has changed a whole bunch in the past few years. This year alone has seen some of the biggest decisions of my life to date; like leaving Mozilla and, most recently, (mutually) ending a 4-year relationship.
Whether good or bad (both decisions can be seen in either light), what's certain is that I now have the freedom to grab life by the balls and take it in directions I hadn't considered before.Why am I doing this?
So why London? Well, first of all it's a city I know and love. I was brought up in Richmond and I lived there for near-enough 3/4 of my life before heading to university. I may not love the insane crowds so much but I certainly appreciate the beauty of the location.
Aside from the sentiment and history, London is a great place to be if you want to immerse yourself in the UK Web community. And as much as I may have despised a move to London in the past (the countryside is beautiful), the time has come for a change and I can't think of anywhere better for that change than London.When will it happen?
This is still up in the air at the moment but the plan is to sort everything out within the next few weeks.
It'll likely happen in stages, starting with a temporary move to the family home in Richmond and then a more permanent move to my own place somewhere in the vicinity (South West).How can you help?
I've been out of touch with London for a long time; so much has changed since I last lived there. I also don't know a huge amount of people there any more.
Here are some things you might be able to help out with…
- Inviting me along to local social and industry events that I might not know about
- Letting me know about work and contracting opportunities in the city that might tickle my fancy (R&D, experimentation, etc.)
- Helping me out while I ask stupid questions about the city
Basically, I'll need help kick-starting the next stage in my life. I'll appreciate it!
Here's an early screenshot from a ViziCities experiment with London landmarks.ViziCities: London Landmarks
After messing around with it for some of my latest presentations, I just updated the Mozilla HTML5 presentation template (on github). It has been a while since I did that, so here are some new features:
- Smooth transition from slide to slide
- Blockquotes with cite link
- Notes functionality
- Smooth inner-slide bullet navigation (greyed out to full)
- Option to suppress page numbers
- Centered, left- and right-aligned images
- Image frames, dropshadows and frame dangling animation
- Live code editing
You can see how to use the system in this 10 minute screencast.
When I ran across it again on ThinkGeek, I put it on my wish list - and finally ordered one this month. Now, after I had wrapped up this week of work, I finally found some time to play with it, and an interesting and very geeky Friday night ensued. Here's a bit more about that - and about Saturday, and further plans/ideas.
So, for one thing, I wanted to use this device with actual Open Web stuff, and not with Flash or other proprietary software. After all, this is Open Hardware (yay!) and I'm entirely entrenched in Open Source / Free Software, from using Linux on desktop, laptop and server, via working for Mozilla/Firefox, to doing some web apps under the MPL2 license in my free time. So, given the latter, I decided it would be nice if I could navigate the OSM world with my Lantea Maps app/site (source) using the MaKey Makey. For that, I had to put some keyboard accessibility into Lantea Maps itself, which is a good idea for accessibility, among other things, anyhow. So I did that, looking at Chris' testy-testy and MDN to find out how to achieve that best. I ended up implementing methods to move the map with the arrow keys, hooked up zoom in/out to +/- keys as well as w/s (the latter are supported by MaKey MaKey out of the box), and then also created direct shortcuts to certain zoom levels with the 0-9 numeric keys (not supported by MaKey Makey, but convenient for keyboard users).
OK, then it was time to actually bring in the MaKey MaKey. I really want to do some fruit stuff at some point, but I only had a few apples around, and I thought it actually would be nice to create some kind of navigation pad that can be used with Lantea Maps at full screen when having an OpenStreetMap booth at Linuxwochen in Vienna. I figured that with some cardboard from the back of an old note pad, and some tinfoil, that should be doable. I added some plastic wrap for insulation, glue of course, and some paper clips so the crocodile clips to connect to the MaKey MaKey wouldn't scratch the tinfoil too much (as well as some temporary applied ones to hold things together while allowing the glue to dry). Here's some photos from production:
Note that the back side as well as the right rim of the pad is covered with a single sheet of tinfoil that makes the earth connection quite naturally when you hold the pad in your hands.
As of the last photo, while the glue was still drying, it was ready to use for some map navigation (and after the night, I removed the temporary paper clips and took another "promotional" picture):
Even while getting to bed that evening, the ideas for my next project were flying around in my mind already. On one hand, I saw that MaKey MaKey had connectors for mouse up/down/left/right, on the other hand, ever since trying the original BananaBread demo as someone who's usually not doing any first person shooter games, I wondered if there was a nicer or more obvious way to operate this, rather than using w/a/s/d keys for movement, space/click for jump/fire, and mouse for turning. Well, now that I had done this first custom pad for MaKey MaKey, would there be a handy solution for that as well? In any case, it would be fun. So I took a smaller piece of cardboard that would make this thing fit nicely into my hands (just like those professional game pads), and decided this time I would try something slightly different by using coins as the actual "buttons" on the pad. One-cent coins looked like the right size, and I had a 10-pin cable around from a different project, which would fit for the 10 "keys" pretty well (just that I needed one more for earthing, which I again did with a sheet of tinfoil at the back of the pad, so I added yet another single cable in the end). Also, this time I used some double-sided tape instead of glue for many cases, as that works better with the cable and coins:
And then I was ready to play some BananaBread, now with both the awesomeness of running a 3D first person shooter seamlessly in the browser AND using a special game pad for playing!
If you're interested, not only are those pictures all linked to the gallery where you can go up to "big" versions of those, there's a few more steps of building visible in this photo gallery.
Given all that and the fact that Linuxwochen Wien in the first days of May has an additional focus on Open Hardware this year, I decided to hand in a proposal for a talk on MaKey MaKey there. I intend to show off those pads as well as Chris' photo booth and any other MaKey MaKey experiments that I can fit, preferably ones that run as web pages/apps (let me know if there are any nice ones).
I'm thinking that it could be nice to have an app that shows you on screen in a web site which kind of fruit/item you touched (configurable with key <-> item entries), and I'd love a web (not Flash) piano and/or drumset (using ogg or even opus files with HTML5 audio!) app to present, maybe I can hack something up if there's nothing around.
If this has caught your interest, it's easy to get your own MaKey MaKey, and if you're in or around Vienna in the first days of May, I'd be happy to meet you at my talk (there will be a Firefox OS App workshop as well, probably!) - oh, and if you have any nice, open web apps/pages that show off this device, let me know!
One meme that will happily be put to rest at the upcoming Game Developers Conference is if HTML5 can handle gaming.
The answer will be a resounding “YES”! Whether on desktop or mobile, HTML5 has made great strides and is at a stage where it will be able to support the most challenging game experiences.
Gamers are a notoriously demanding bunch. And that’s understandable. You don’t want any hiccups or stutter in game play when you’ve got compounds to storm, races to win, balloons to pop and ropes to cut.
Firefox is working hard to make the browser, on desktop on mobile, faster and able to run high intensity graphics. Have we succeeded?
Want to see what that boost in performance can provide? Check out the future of web-based 3D gaming on our totally awesome (but goofily named… wasn’t my idea) BannanaBread demo, an incredible 3D first-person shooter running on nothing but web technologies.
But never mind the technology, let’s talk game experience. As EA’s Rich Hilleman points out, games are about magic and pushing the limits of imagination. One potential the web offers is the possibility of a single, contiguous gaming experience that carries with you wherever you go.
In a multi-device, multi-platform world, the consumer won’t accept playing their game in only one environment. As they move about their day, they’ll want to access their game, at the right state, on the device they have handy. The ubiquity of the web provides for that.
Also, by extending games to different devices and different form factors, the web helps open up gaming to the casual user, who is a great new customer for the gaming industry.
How else can the web help the gaming industry?
- Massive reach: It isn’t called the World Wide Web for nothing!
- Marketing and discoverability: Developers aren’t restricted to marketing a game in the confines of an app store. The expanse of the web and all of its inherent linkability and shareability are available so developers can reach new customers
- Payments: People have been doing payments on the web for years. With the web, developers have the flexibility to charge what they want, and use the payment processer they want
- Easy updates and analytics: The game is on your server. Developers can update when they want without having to bother with store approval processes
- Easy analytics: Again, the game is on your server so you don’t have to wait for analytic reports from an app store, you get all the analytic information you need, in real time
- Customer relationship: Distributing a game on the web means the developer owns the customer relationship. The developer doesn’t need to go through an app store or any other third party to manage payments or updates. You own the customer. No one is in the middle.
But ultimately, as Chris Ye of Uken Games says, gaming is about spreading happiness. If a developer is getting the performance they need from the web (and we think they will), then HTML5 lets them spread happiness across multiple platforms without the unhappiness of needing to maintain and upgrade multiple code bases for multiple devices.
The web still has some work to do to live up to its full potential as the ultimate global game platform, but it is getting there. And realizing the benefits the web provides, the industry participation in building out a game ecosystem is closely tracking the improvements in web game performance. That’s a trend we’ll see at this GDC and across the game market.
One of the great things about working on the Firefox Marketplace apps program is the opportunity to meet and interact with really amazing people.
I’m really looking forward to moderating a panel with Rich Hilleman, Chief Creative Director for EA, and Diana Moldavsky, Chief Revenue Officer for Zeptolabs, and talking about how HTML5 gaming is helping developers find new audiences and business models.
As Hilleman highlights in the embedded video, gaming is about magic and creating experiences at the outer edges of your consciousness. EA does that amazingly well across their vast catalog, as does Zeptolabs with its great game Cut the Rope.
For its part, Mozilla is on the forefront of bringing that magic to the web on both desktop and mobile. There is no reason why the web can’t be the biggest gaming platform ever created with millions of people connecting, sharing ideas and exploring those outer edges of consciousness.
GDC Panel: Fast and Awesome HTML5 Games