rSmart

The Sakai community is in a special moment. We are celebrating our continued development of a full-featured, world-class, enterprise collaborative learning environment with the release of Sakai 2.6. At the same time, we are extending our early work on a next-generation Sakai 3 platform that will take us to new levels of sophistication in teaching, learning, collaboration, research, and technology.

Simultaneously, outside the community, big events have had profound effects on us. New paradigms of open education and new political winds provide different opportunities and challenges. Continued litigation and consolidation in the proprietary learning technology ecosystem and drastic budget cuts combine to force us to rethink basic assumptions and well-laid plans.

Many inside and outside Sakai are thinking about how best to meet their needs and plan for the future in this special time. How should we support education online? What learning environment should we adopt? How should we allocate resources between maintenance and innovation? How will we manage transitions from one system to another?

First, our current circumstances prove that technology decisions are best made following long-term strategic vision, not short-term expedience or purely functional and technical criteria.

And second, the best place to work out the answers to our hard questions is as a part of the Sakai community, that is, within Sakai’s practice that follows a community, open source model.

I come to these conclusions based on the following points that I think any institution considering how to balance their resources and ambitions in this special time should carefully consider.

Sakai is Unique

Unlike any other proprietary or open source learning platform, only Sakai provides structured, open and transparent community and governance, powered by a substantial and growing number of institutions of every shape and size from around the world, coordinated by a formal, nonprofit entity, and including a strong and varied commercial ecosystem. We call this combination “community source” and it is open source, only much more.

There is a lot of depth behind that statement, but the upshot is simple. This unique combination of characteristics means that when you choose Sakai, you choose the path with the least long-term risk for change outside your control.

Spending on Sakai Makes More Sense

Institutions around the world are lowering and/or reallocating costs with open source solutions even while they buy guaranteed commercial support to lower their risk. The best part about the open source model is the new control it gives you over where you spend your money. Build in-house support or buy commercial support with vendor independence. Shift costs from proprietary license fees to staffing and activities that have direct effects on the teaching, learning and research that is your core, educational mission.

Any open source technology with a healthy commercial ecosystem gives you these cost advantages, but when I look at the open source online learning landscape right now, I think Sakai has the most robust and varied commercial support offerings, following a model that will enable the healthiest growth.

Sakai Aligns with Your Core Educational Mission

The Sakai community often uses the phrase “by educators, for educators.” It can come across as a marketing slogan, but it conveys a basic truth at the heart of Sakai. When you join the Sakai community, you are taking a huge step toward practices that should be a top priority at every educational organization: aligning your technology strategy with your educational mission. Proprietary technologies may serve educational needs, but their development and distribution are always refracted through the lens of corporate control and profit. Fully aligning your technology strategy with your educational mission is a bigger project than adopting Sakai, but Sakai can be a great first step in the right direction.

Your Work on Sakai Is (Y)Ours

After participating in Sakai Boston and watching the next week’s tweetstream from the Blackboard World 2009 conference, I was struck by how much the activities of these two—sometimes overlapping—communities look the same. But in the end there is a simple, but very important difference: the energy and resources you put into the Sakai community are not owned or controlled by anyone else. I kept finding myself wishing the vibrant Blackboard community was putting all their energy into work that is not only open to all (much of their work is open), but is also not tied to the destiny and control of Blackboard’s proprietary core. Everything you contribute within the Sakai community stays with you, even as you share it freely with other educators working for the same goals.

Are You Ready for Sakai?

Maybe you think your institution does not have sufficient resources to engage in an open source strategy. Stated plainly: there is no institution that is not ready for Sakai.

First, to clear away the most basic concern: quality commercial providers exist for every service you are used to buying from your proprietary provider, usually at lower costs. Need support? Need hosting? Need services? Get three or more bids from commercial firms with strong track records and pick the best fit. Going open source does not mean going it alone.

Second, if you think your institution won’t have the time or energy to engage in an open source community and glean its benefits, think again. Like what I witnessed around the Blackboard conference, consider your engagement with the communities around your proprietary solutions. Do you attend conferences? Exchange best practices and collaborate with other institutions? Engage with support communities? Give feedback on bugs and functional enhancements? Create training and documentation? Integrate with other technologies? You probably participate more than you think.

Your engagement in an open source community will look much the same as your participation in any proprietary community. In both cases, you decide your level of engagement. The only difference is in open source communities, you share full ownership of the value you help generate. Stop paying to give your energy to someone else’s project!

What Should We Do with Sakai Right Now?

Even though Sakai stands now as a fully-capable enterprise collaboration and learning environment, the primary reasons to choose Sakai have always been strategic rather than purely functional or technical. Right now, at this “special moment,” Sakai’s strategic advantages are even more clear.

If you are considering adopting a new online learning system soon, Sakai 2 is your best choice. Adopting Sakai 2 now brings you all of Sakai’s strategic advantages right away, and enables you to better position your institution to follow Sakai’s future and have real effects on what that future will be. You can upgrade to Sakai 3 in a deliberate way when there is a good match between your institutional readiness and Sakai 3’s development.

If you are already using Sakai 2, you are in good company! The large community that has also adopted Sakai 2 is already outlining a variety of transitional upgrade paths. A common pattern for rolling out Sakai 3 capabilities early is the idea of cohabitation with Sakai 2. For example, you might move to a Sakai 3 instance sooner rather than later, integrated with some Sakai 2 tools that provide capabilities not fully developed in Sakai 3. In other scenarios, you might roll out Sakai 3 functionality first for only select uses, like web-enhanced courses, collaboration, or portfolios. At the same time, there is still a lot of room for innovation on both the Sakai 2 and 3 platforms. For example, take a look at what Sakai developer Zach Thomas says about extensibility in Sakai.

If you are concerned about the overhead of working with both Sakai 2 and 3 at the same time, evaluate where your resources will be most effective and farm out the rest. Maybe you’d like to devote your team to addressing online pedagogy or innovating on Sakai 3’s next-generation technology. Hire out the maintenance of your Sakai 2 implementation. Maybe you’re already stabilized on Sakai 2, but want to provide some Sakai 3 capabilities. Hire out the deployment and integration of Sakai 3 or fund the speedy development of Sakai 3 capabilities you must have. Even working with both versions of Sakai with commercial support, you’re still likely to save money over the cost of an enterprise proprietary system.

Whatever your situation, you will be in the best position by joining the community now and moving from Sakai 2 to 3 later rather than waiting on the sidelines until a full Sakai 3 rollout is feasible at your institution.

Several recent developments signal a promising new level of maturity in the Sakai community and product. The Sakai Foundation (SF) has created two new staff positions that will together enable the SF to better coordinate and communicate our work in Sakai.

Long-time Sakai community member Clay Fenlason is the new Sakai Product Manager. Clay is an excellent choice to coordinate our community’s already successful work to further develop Sakai as a coherent, reliable product with a meaningful roadmap. Pieter Hartsook joins our community as Sakai Communications Manager. I don’t know Pieter well yet, but was impressed by his experience and intelligence at the recent Sakai Boston 2009 conference and expect him to become an enormously valuable participant in our efforts to tell the Sakai story more effectively internally and externally. Read more about these new positions in SF Executive Director (ED) Michael Korcuska’s blog.

This new maturity is further demonstrated by the formation of a community-based Sakai Product Council (SPC), which will “ensure exceptional quality and cohesiveness of Sakai product releases in support of varied teaching, research and collaboration needs” in the words of SF ED Michael Korcuska.

I’m honored to be named to the SPC along with key community contributors Noah Botimer, Eli Cochran, Michael Feldstein, David Goodrum, John Lewis, Stephen Marquard, John Norman, and Max Whitney, along with the new Sakai Product Manager, Clay Fenlason. As the SF ED, Michael Korcuska will also serve on the council as a non-voting, ex officio member. You can read more about the formation and ongoing activities of the SPC on the Sakai wiki.

In Boston, the SPC had our second ever and first face-to-face meeting and we began to sketch out some of our attitudes, roles, and processes. There was also significant discussion about the SPC in the product coordination meetings held just before and just after the conference, as well as during the various conference BOFs focused on further defining the shape Sakai 3. It’s still very early, but we appear to have settled on some shared understanding of how we will undertake our charge to shepherd Sakai’s integrity as a product. Here’s my own personal take on some early SPC thinking, but I invite other councilors and the community at large to weigh in and further develop and critique these thoughts.

First, we agree that we share two basic attitudes toward our work on the SPC. We agree to carry out our work and deliberations as publicly and transparently as we can, using existing Sakai community communications channels (primarily the Sakai mailing lists). We also agree that although each of us represents specific constituencies and institutions within the community, as councilors, we will be informed by our specific viewpoints, but attempt as best as we are able to act for the good of the community and product as a whole.

Second, we discussed three basic roles we expect the SPC to play. 1) To consider the coherence and completeness of the whole Sakai product and advise in the formation of the product roadmap. 2) To evaluate the status of new product development projects against characteristics established by the community. 3) To resolve significant issues blocking timely product release.

Third, we began to outline some of the processes we might follow in our evaluation of project status. We agree that the community should shift to work using the product development process already proposed. We see an immediate task to work with the community to define a series of specific characteristics that we will ask projects to demonstrate in order to move to the what the process above calls “Product Development” status in the community product. We expect to collaborate with the community to develop those characteristics using existing models as a starting point (eg, the Sakai tool “scorecard”, the portfolio community procedure for feature requests). We expect that projects will produce their own demonstrations that they meet these specific characteristics for community and SPC review. We expect to help provide guidance to projects on how they can develop and demonstrate these specific characteristics.

We also began to outline what role the SPC will play in the Sakai release process, where we will be focused primarily on evaluating the status of new capabilities. We identified that we may have two evaluation processes, one more lightweight, to use when new features are added to existing Sakai capabilities (eg, new features for a Sakai 2 tool already in the product), and another, heavier process, to use when whole new clusters of capabilities are added (eg, a whole new Sakai 2.x tool, everything in Sakai 3). We are thinking that in a given release cycle, the Sakai Product Manager (Clay Fenlason) will be the primary shepherd of new capabilities up to code freeze, ensuring they are considered by the SPC. While from code freeze to formal release, the release/QA/security teams will be the primary shepherds of those new capabilities along with the entire product. During the release process, if the Product Manager and release/QA/security teams agree that an issue is blocking release that can’t be resolved via typical community collaboration, they will then bring the issue to the SPC for resolution.

We understand that we may have to think differently about Sakai 2 and Sakai 3, given their very different architectures and maturity. We also agree that we are open to helping the community shift to different product release practices. For example, there might be a separation between a slimmer, core Sakai product and a number of Sakai extensions that might follow independent release cycles. Any such changes would obviously take place only after full community deliberation.

Last, but not least, we agreed that while we do not necessarily think that the SPC formation process was ideal, we do agree that the outcome was sound. We think the current SPC represents a good balance of different experiences, skills and viewpoints and that we will be able to work together effectively. We agree with our basic outline of structure and governance that it will be best if the community revisits the SPC formation process only after the current SPC shepherds at least one complete product release cycle, so we can establish and evaluate core practices before we make substantial changes.

As a councilor and community member, I look forward to working with all to demonstrate that the SPC, the new SF staff positions, and the new processes we are initiating will indeed combine to raise Sakai to a new level of maturity as a product and as a community.

I admit I’ve been lurking in a very slackernly manner in all the discussions in the Sakai community about content authoring, 3akai, UX, K2, Sakai NG and other unpronounceables, so I’m sorry if all this is a day late and a dollar short. Feel free to ignore me if you’re part of Sakai and are way too far gone for any more input. After all, these are just thought experiments ;) If you’re not part of Sakai, you might learn something about Drupal at least, so it may well be worth your time.

I draw some lessons here from Twitter and Drupal not to suggest that Sakai duplicate them, but rather that we hold those models in mind as we move Sakai forward. Even without these experiments, some of these ideas may be in our thinking about Sakai, so if they are familiar, take it as a vote of confidence. But if not, I’d like us to have at least thought through why we would not take them as inspiration or why we would choose another path.

In the lessons I draw from Twitter and Drupal below, I may come off as a bit of a zealot. Frankly, I have a greater appreciation for Twitter and Drupal as tools that I have for Sakai as a tool—my greatest appreciation for Sakai has always been for its community. But I would like to appreciate Sakai-the-tool as much or more than Twitter and Drupal, and I think I could, given the directions I see Sakai heading now.

But why Twitter and Drupal? When I’m thinking about all this Sakai stuff, my first thought is to reach for existing models. And the models I reach for are the handy ones. Why? Because there must be some reason I keep certain tools handy. There are lots of good tools, but the ones that fit so comfortably in my hand are well-worn for a reason. I also know them well—keen edges and ugly nicks—and so can draw the best lessons from them.

For those of you who live under rocks, Twitter is a microblogging and social networking service that has gotten a bit of press lately. A lot of people are using Twitter, and a lot of people don’t get it at all. If you already use Twitter, great. If you don’t get it, that’s OK. You don’t need to “get” Twitter to learn its lesson. There’s only one, it’s pretty big picture, and you won’t have to tweet about doing your laundry or hear about mine just because you read about it.

Drupal is a mature web content management system/application toolkit, currently at version 6.10, with a very vibrant international community and strong commercial ecosystem. About 1,400 people attended the most recent DrupalCon in Washington DC.

Keep It Simple Like Twitter

Keep it simple. Open it up. Let the complexity come from everywhere.

John Ellis has kidded that Twitter has become so popular mostly because it is so easy to make new words that start with “tw”: twavatar, tweeple, tweetup, twistory, etc, and if you haven’t heard them all, check out the twictionary: http://twictionary.com

I think John’s almost right. It’s about the simplicity and what people do with it. I think Twitter’s rise has a lot to do with their focus on keeping it simple: 140 character posts, direct, addressed, or pure statement, public/private, following/followers, search. Twitter keeps it simple and—just as importantly—offers a public API that lets the world layer an almost unfathomable and—to the Twitter team I’m sure—unimagined variety of interfaces, uses and extensions based on Twitter’s simple service.

In other words, Twitter knew what it was doing, but it didn’t expect that what it was doing was all that could be done.

Neither can Sakai. Looking ahead: we should focus, keep it simple, do it well, and open it up, so that everything we can’t yet imagine can hang off our work.

Draw Good Boundaries Like Drupal

One of the most crucial decisions for any information machine is to decide how specific it wants to be and where it will draw boundaries around what it will do.

Every piece of software I’ve been involved with seems to follow the same general development pattern: In the beginning, software is built to meet specific needs in a certain context. As more needs are layered on over time, the software becomes either more cluttered or more generalized—or both—and gets rather messy. No one knows anymore exactly what it is for or where its boundaries are, but we end up tethered to it in all its messy complexity.

Take MS Word, which is both highly generalized (name something you CAN’T do with Word) and overly cluttered (you have to manage the TOOLBARS in Word). At this point, Word is really neither a great word processor nor is it powerful enough to be our main content management interface. And yet we use it for both. We are stuck to this big, messy machine and we can’t get loose (assuredly, there are also some other, non-technical reasons we are stuck to Word).

Sakai also started out meeting specific needs. And over time, Sakai too has become rather cluttered. Now it seems we are clearly at a turning point where we want to generalize. I think our success will depend on where and how we map Sakai’s boundaries as we clean things up. Drupal provides an instructive model in the cartography of information machines.

Caveats: There are other models that might be just as instructive. Drupal is just the piece of software I know best that, in my opinion, matches Sakai’s stature and has done a good job defining itself as an information machine. There are also many valid criticisms of Drupal. For example, I would never argue that Drupal’s user interface is ideal. The lessons I think Sakai can take from Drupal are at a deeper, architectural level.

First, like Twitter, Drupal has done a good job of drawing boundaries around what should be core and what should be left outside. Drupal core is pretty clean, focused on key, common functions. Meanwhile, in Drupal’s contribution space and beyond, it is rather messy. That is exactly as it should be. Good stuff comes out of that mess and some of it makes its way into Drupal core when the time and scope is right. Other stuff outside is fully mature and absolutely essential—for some. And for that reason, it will never become core, which is exactly as it should be. Core should not be defined by maturity, but by generality. There are a lot of ways that the Drupal community works to support both high innovation in the periphery and healthy boundaries at the core. Sakai should think carefully about where we put our borders and how we will support work inside and out.

Second, Drupal has done a good job of generalizing, focusing and simplifying its core functionality, and making core functions easily available to peripheral tools. If you do it right, all you need to build into a Drupal module is the specific functionality you need…everything else is a call to core. This makes it incredibly easy and quick to add functionality to Drupal—which fosters innovation—and also ensures that contributed modules participate fully in the larger Drupal machine. As we collaborate to define and build Sakai’s next generation, we should look to mature models like Drupal that have a head start on clarifying and exposing core functionality.

Those are the general lessons I draw from Twitter and Drupal, so if you’ve had enough, you can stop reading here. Following are some more specific examples I draw from Drupal that relate to some of our recent discussions in Sakai.

Content

Drupal starts with the idea that (almost) everything is a piece of content, starting from the same place on a conceptual and technological level as a “node.” In Drupal, you augment the structure and/or functionality of these generic nodes by “decorating” them with additional structured data fields, workflow, etc. This way, all Drupal core has to concern itself with is the common structure (eg, common metadata like author, creation timestamp, etc) and common functionality (eg, access, CRUD, versioning, validation, input, etc) of nodes. More specific structure and/or functionality gets layered onto the basic node either through generic admin interfaces (eg, the Content Construction Kit, or CCK) or more tailored modules that make specially augmented nodes for specific purposes.

Want to create an event record? Create a new “event” content type, add a timestamp field that uses a mini-cal data entry widget. Click, click, done. Add location? Just decorate your event content type with a location field—oh, and then you’ll have all the magic of a host of map integration modules at your disposal. Click, click, done. Want your events to link to location profiles? Create a separate “location” content type and add a node relation field to your event content type to link each event to a profile of its location. There, you just built a dynamic event web application in 15 minutes without calling your code monkey.

Another key Drupal module—Views—provides a generic query and output service for content. Need a table listing of all content meeting certain parameters, paginated in groups of 25 with sortable columns? Click, click, done. Want to offer that same content as a feed? Click, click, done. Want some completely different bucket of content, organized and presented in some other way? Again, click, click, done—and almost always with no coding required.

By generalizing core content in this way, Drupal handles it all consistently, but at the same time makes it easy to customize content for even the most complex needs—often with no coding required. Is it so easy faculty could do it? Maybe not without training, but you may not want end-users defining new content types willy nilly anyway. What the Drupal model offers is a way to lower the bar for meeting specialized content needs to a level that they can be met in minutes by someone with only a bit of training: a faculty power user, instructional designers, help desk staff, student assistants—crikey, even I can do it. Also, did I mention that Drupal content type definitions are exportable? Yes, you can define, export and share specialized content types.

Drupal understands that content creation and display is a core function, but it doesn’t expect to know what YOUR content needs to be. Sakai would benefit with generalizing its content handling to Drupal’s degree. As educators, we may feel that we are well-placed to define what a syllabus, a quiz, a discussion, a lecture podcast, or a portfolio should be. But as technologists, we will serve all the unforeseen ideas for what educational content might be far better by designing a solid, general framework on which our current—and future—ideas can be made manifest.

Taxonomy

From the start, Drupal anticipated that taxonomy—which is just a fancy word for categorization or tagging—was an essential core function. Drupal enables you to define any number of category vocabularies, each having special characteristics (eg, freetagging, hierarchy, etc), each holding any number of terms, and each related to whatever specific content types you desire. Thus any content in Drupal can be categorized in multiple ways, with highly structured categories or freetag folksonomies—or both—for different purposes. Good stuff is baked into core, like returning content matching various categories by simply including boolean queries in the URL.

Following the model I’ve been stressing of core simplicity enabling unanticipated innovation, Drupal modules make use of the basic, core taxonomy service to do all sorts of unexpected things, like category-based access control, or category-based organic group creation and management. With taxonomy as powerful as Drupal’s baked into core, Sakai too could enable all sorts of things that we may not have yet imagined.

Theming

Drupal’s core presentation layer is the icing on the cake, which is exactly what presentation should be: icing. There’s nothing worse than finding presentation baked into deeper levels of software, where it’s static and hard to change. Drupal handles presentation as the final layer, enabling design to be very flexible and easy to modify. Want every user to be able to choose between three entirely different designs? Just load three themes and let the users choose for themselves. Need to offer a mobile version of your site? A dedicated mobile URL and/or some user agent sniffing can automatically deliver a theme optimized for mobile devices—oh, and there’s a module that does all that for you (something you’ll find again and again in Drupal). Need that new content type you just made to look different than every other piece of content on your site? Drop a custom theme template named for that content type in your theme’s directory and your generic theme gets overridden automatically with your custom design—just for that special case.

The power of this theming model came when Drupal core stopped worrying about what the perfect presentation should look like and instead offered a way to deliver ANY presentation predictably with easy-to-build templates. In Sakai, the same power and flexibility would take us past the question of what Sakai SHOULD look like to the simple answer: Sakai looks like whatever you want it to look like.

Layout

Our next-generation Sakai authoring experiments are delivering some juicy tools to place different pieces of content and widgets in different parts of a page. Drupal offers two models that may help us refine the good work we’re already doing.

Drupal core has long had the concepts of regions and blocks. Regions are areas of a page defined by a theme. A theme can have any number of regions laid out in any way. Blocks are bite-sized content or functionality: anything from a static welcome message, to a listing of recently updated content, to a user log in form. Blocks can be created individually by users or made available programmatically by Drupal core or contributed modules. Drupal core offers tools to map blocks to different page regions, and customize the visibility of blocks based on almost anything: user role, content type, authentication status, URL patterns, etc.

Drupal’s region and block system is very flexible, but it is better suited for site administrators to define global page layouts than it is for individual users to author custom pages with varied content as we have been imagining in Sakai.

Panels is a module outside Drupal core that comes closer to what we’ve been imagining in Sakai: the ability for an individual user to place content and/or widgets exactly where they want on an individual page. Unfortunately, the authoring experience in panels is not anywhere near the kind of intuitive WYSIWYG experience we have been working toward in Sakai. However, Drupal panels offers all the ingredients we might want in a page authoring experience…we just need to cook and serve them differently.

I take several lessons for page authoring in Sakai from what works well in Drupal’s layout tools of regions, blocks and panels. When laying out a page in Sakai, we should be able to choose from:

A library of predefined layouts, offering good, commonly-used page structures. Some of these layouts could be merely structural—empty containers waiting for me to fill them—defining something like Drupal’s page regions (eg, a typical three-column layout with header and footer). Others could combine some empty regions for me to fill, along with other regions already filled with existing widgets (eg, a big, empty body region with a sidebar that has calendar, discussion and tagcloud widgets already in place). We should be able to export and import these predefined layouts. I should be able to tag layouts and see/browse tags from other users—but one should be able to tag everything in Sakai, so we don’t ever need to state this requirement again, right?

The opportunity to author a new, custom layout, where I can design whatever structure I want. I should be able to tag, export and share my custom layout.

A library of widgets—not unlike Drupal blocks—that deliver either content or functionality. I should be able to search and browse global widgets supplied by the system, my own widgets, and ideally, widgets authored by other users I’ve subscribed to. I should be able to tag widgets and see/browse tags from other users.

The opportunity to author a new widget on the spot, thereby adding it to both the page I’m authoring right now and my widget library for use elsewhere. Making a new widget might be like making a view in Drupal: the ability to make some selection of content and display it in some form (eg, table, list, feed, etc). Making a new widget might be like something else too. Like Drupal, Sakai should offer new tools the opportunity to supply new widgets—and/or the opportunity for users to author new kinds of widgets.

The opportunity to author a piece of content on the spot, thereby adding it to both the page I’m authoring right now and whatever other collections that specific kind of content happens to live within (eg, pages, syllabi, tests, forum topics, etc). Like modules in Drupal, new tools in Sakai that define content should end up offering the chance to author in Sakai’s standard authoring environment.

The opportunity to define under what circumstances a given layout/widget/content piece is visible. As in Drupal, I should be able to define who can see something and when they can see it. Default visibility should be baked into predefined layouts, widgets and content. And if I have the right access, I should be able to override default visibility.

Pluggable Authoring Tools & Filters

Drupal offers flexible frameworks for modules to supply different ways to get content in and spit it back out. While Sakai has been wedded to the oft-maligned FCKeditor for some time (yes, all the WYSIWYG tools have their drawbacks), Drupal offers the ability to plug in almost any authoring tool: plain old text, different WYSIWYG/WYSIWYM editors, various markup formats, etc. At the same time, Drupal offers the ability to define output filters that can clean up and/or enhance stored content when it is rendered. Drupal’s filter on output strategy allows the same content (stored raw in the database) to be transformed differently depending on what filters are in use (which can even depend on user role or preference). Want anonymous users to see all your content translated into Pirate talk? Done. Again, Drupal core is not determining how stuff gets in and out, it instead provides a pluggable framework so we can decide for ourselves what we need. So many of Sakai’s usability issues revolve around the rigidity of input and output, we would do well to adopt a pluggable model which opens possibilities beyond what we can anticipate.

URLs

Unfriendly to humans and search engine robots alike, Sakai has some of the ugliest URLs ever. It makes sense for a web application to have canonical URLs and it’s hard to make them friendly, but there’s no reason to show them to the world. Drupal solves the ugly URL problem by offering a core service for URL aliasing, so users themselves can define better URLs for their content. A valuable contributed module—pathauto—allows site administrators to define automatic URL aliasing rules for different canonical URLs, thus saving authors the aliasing task and enabling more structured aliasing patterns. Again, the lesson for Sakai is to fix our problems by offering flexible options rather than trying to bake in the final solution.

Workflow

Drupal core has basic workflow baked in based on triggers and actions, where triggers are set to fire on certain events, in turn generating specific actions. For example, a workflow can be established to email a site owner (an action) every time new content is posted (a trigger). Once again, instead of providing all the ideal workflows we might imagine, Drupal provides a generic tool to build workflows, which we can use to build those we already know we need, as well as those we don’t yet know we need. If only Sakai’s sometimes idiosyncratic workflows were merely defaults, which I could change or replace as easily as I can in Drupal.

Installation Profiles

Many parts of Drupal can be exported/imported (eg, content types, views) or are modular (eg, modules, themes, filters) to allow for easy sharing and migration. One of the Drupal’s most powerful tools is the installation profile: an automatic recipe to build a new Drupal site. Installation profiles set modules, themes and other configuration options when Drupal is first installed so you can distribute a pre-packaged Drupal recipe, optimized for specific purposes. If Sakai had installation profiles like Drupal, I could imagine distributions for different organizational types (K-12, community college, liberal arts college, research university, etc), different usage focuses (collaboration, portfolios, teaching and learning), or different languages, giving new adopters better starting places than a generic Sakai installation. As Sakai generalizes itself, we should also have a way to demonstrate and distribute best practices for specific uses.

Other Stuff

There are many other (smaller) lessons Sakai might take from Drupal. Some that come to mind include:

The core form API that lets modules safely offer forms with minimal work and modify others (including core forms) dynamically as needed.

The core multisite functionality that allows Drupal to run multiple sites from the same codebase, yet override and/or augment any part of any site as needed.

The core comment functionality that lets any piece of content include threaded comments.

The core support for automatic feeds.

The core menu functionality that allows navigation to be managed as its own kind of content.

Core support for OpenID authentication.

Sophisticated core caching mechanisms.

Finally, a Shout Out to Portfolios

Oddly enough, the part of Sakai that most reminds me of Drupal’s generality is our portfolio toolset. It’s not surprising that portfolios—maybe the least well-defined practices in teaching and learning—have led to the most generalized tools in Sakai. And yet, the most obvious complaint about Sakai portfolio tools is that they don’t do anything at all. The fact is: Sakai portfolios can do almost anything. What’s missing in portfolios is the easy tools to build them and the portable models to demonstrate their power. Sakai would do well to look inside to its portfolio tools—for inspiration to generalize, but also for caveats about what must be in place to make generalized tools usable and practical.

Severance sketched out a model enabled by IMS LTI in which the online learning environment has evolved into a kind of personal workspace, where the user makes choices about what tools appear. Some tools could appear automatically, chosen by the user’s institution, instructor or group organizer. Other tools would be chosen only by the user and could come from either a trusted local service or a wide variety of external sources.

Later in St Paul, the Sakai team at Cambridge University showcased the work they’ve been doing to repackage and deliver Sakai content and tools outside the Sakai framework via JSON into a user-centered dashboard that can also consume and display other similar tools, widgets or services.

At the same time, I’ve been watching what seems like the leading wave of online application design—mostly outside higher education in that space that I’ll call “social media” and “Web 2.0” for lack of a better terms. That wave is headed toward or has in many ways already arrived at a place that matches the user-centered, distributed toolset scenario that Severance gestured toward and Cambridge has enacted.

Sakai ED Michael Korcuska asked Severance the obvious question: Will Sakai—or other learning environments—disappear in the individualized, distributed world he described? I found myself agreeing with Severance’s answer that Sakai or other online learning systems will not disappear. Institutions will continue to want and need an environment where they supply and control some of—or even most of—the user experience.

But where does that leave Sakai as a project?

First, Sakai can and should tell a true story in which it has been moving down this very path toward the user-centered mash-up with extra gravy at a fast clip. Starting out with its web content tool, feed aggregation and consumers for web services, Sakai is now leagues ahead with Cambridge’s working code, Severance’s groundwork, and probably other things as well.

But next Sakai must fully adopt this trajectory as its future. Sakai should evolve toward a well-made, flexible and receptive user-centered container and a collection of first-rate tools for teaching, learning and collaboration that can appear here, there and everywhere.

What will be important in this future? For starters, the Sakai container should be optimzed for education and innovation: usable, accessible, quality-assured and easy to fill with the widest possible variety of other functionality. Key tools for education like tests and quizzes and gradebooks, developed by educators, for educators will continue to have high priority.

Next, Sakai should focus on delivering tools that provide standards-aware interoperability—the glue that will stick all these various tools together, for the user, for the institution, and for the larger conversations and purposes that cross and combine users and institutions. These tools should provide common services—like gradability, testability, tagability, commentability, shareability—that can be applied to items generated by any source.

By fully embracing this model, Sakai can further differentiate itself from proprietary systems like Blackboard, Angel and Desire2Learn, which may also see this future emerging, but have little financial incentive to embrace such a loss of central control, and even if they do are less likely to be able to deliver it anytime soon.

I’ll admit I have a lot more experience with Open Source Portfolio than any of these projects, but nevertheless, I was expecting to be blown away by their superiority. Surprisingly, I ended up feeling like OSP competes well against these projects, especially in its ability to integrate personal expression with more structured teaching and learning goals.

Ultimately, there are a million schmancy ways to express oneself online, many of them way more satisfying than any of these systems. But in the end, if one wants to express oneself in the context of a formal learning experience, we are still waiting to for the perfect solution.

After my admittedly quick assessment, I feel the jury is still out, but I end up feeling like given the varying quality and functionality of user experience, the OSP/Sakai combination shows great promise not only in delivering the best user experience, but also in assuring the greatest project continuity.

Several key Drupal community members have gathered together with some others to form Acquia, a new commercial firm that hopes to sell subscriptions to Drupal a la RedHat’s linux distros. Acquia has already generated $7 million in funding.

I notice the similarities between Acquia and rSmart, where I now work. Both are focused on the open source web application layer, both think of RedHat as a model, both are working within large, already established open source communities. There are other examples…but apparently the idea of commercial subscriptions for open source web applications is catching on…