Video: The Art of Community Source Within Sakai

I have been doing some thinking about the right way to govern Community Source recently. Sakai has been “experimenting” with what it means to be Community Source since 2004. We wonder if Community Source is different than Open Source and if so, how it it different.

Several things have triggered me to think more deeply about this in the last few weeks:

o Approaching first six months of being on the Sakai Board of Directors

o The Review of the Sakai Product Council after one year of its existence

o Seeing the Jono Bacon talk about the “Art of Community”

o Thinking about the upcoming Sakai Conference in Denver and thinking about the kinds of conversations that will happen there

So I decided to make and record a presentation that I titled, “The Art of Community Source” – with full homage to Jono Bacon’s book and talk title :).

Abstract
I start out by reviewing Jono Bacon’s (Ubuntu Community Manager) book and presentation titled “The Art of Community” and describe some of the concepts that come from Jono’s work. I then apply Jono’s terminology to the Moodle, Blackboard, Python, Apache, and Kuali projects to develop a way to categorize open and community source efforts. I then look at Sakai’s changing view of ‘Community Source’ as we transitioned from one executive director (me) to another (Michael Korkuska). I review what I see as the strengths and weaknesses of community structure under both leaders and then suggest how we can improve our current structure – in particular – how we need to adjust our definition of the Sakai Product Council to remove some of the tension in our current structure.

My Slides:  http://www-personal.umich.edu/~csev/talks/2010/2010-05-08-art-of-community-source.pdf

Jono Bacon’s Talk: http://www.youtube.com/watch?v=zKOrWubmzAY
Jono Bacon’s Web Site: http://www.artofcommunityonline.org/

I continue down the path I lay out in this talk in more detail in my review and comments of the Sakai Product Council. I have some recommendations as to how to adjust the remit of the Product Council going forward at:

http://confluence.sakaiproject.org/display/MGT/Chuck+Product+Council+Review+Comments

As always – comments are welcome.

How Do I Replace The Headlight on 2006 Subaru Tribeca

If you owned a 2006 or 2007 Subaru B9 Tribeca, you would know why this post is important. The first year the Tribeca was introduced it had really cool headlights with flowing alien-bugeye styling. Later models have more conventional headlight design and are probably easier to replace. The 2006 Tribeca headlights (particularly the low beams) are a bit of a trick. Particularly the driver side.

Most of what you need to know is in this awesome entry in the FixYa.com forum:

FixYa.com: How do I replace headlight on 2006 subaru tribeca

Low-Beam Headlight Removal Subaru B9 Tribeca 2006 The only thing that is a little vague is how to get the dang clip off and back on. The rest is pretty easy once you can get to the back of the light.

Note: See those Phillips screws – do NOT remove them. I know that our first instinct is to unscrew things – the screws hold the clip in place and are a bear to get back in. Just do NOT under any circumstances remove the Phillips screws you see in these pictures.

First, getting the clip off… Here is a picture of the passenger side bulb facing forward (the left side of the picture is toward the center of the car).. You can see that the leads have been removed from the bulb and tucked down and away.

On the left side of the picture you see the D-shaped left end of the clip. You can just see the end of the clip peeking out from under the bit of metal that is held in place by the left Phillips screw. To remove the clip, push the D-shaped bit toward the front of the car and then down toward the garage floor. It will easily unclip and then pull away easily so you can remove the light.

06-05-10_211604_01.jpgWith the clip off and the light bulb removed, we see the detail of how the D-Shaped part of the clip is actually kind of an S-shape with the little bit that clips under the metal by the left Phillips screw.

We also see that the little alignment tab on the bulb faces downward. The replacement bulb is a Sylvania H7.

To reinstall, put the bulb in with the tab downward, get the clip so it rests on the flat bulb base, push the D-shaped bit of the clip slightly downward and toward the front of the car than let it come back toward you and and the clip will grab under the metal bit by the left Phillips screw and end up looking like the “before disassembly” picture.

Put the leads back on and reassemble the rest and Voila! You have a new low-beam on your 2009 Subaru Tribeca. And you saved $50.00 and several hours of frustration.

P.S. If you followed these instructions so far, imagine for a minute just what a pain it would have been if you took out those Phillips screws.

One more fun bit of information. This design is pretty hard to see. If you have a mirror, you can and should use it to get the lay of the land and figure our how things go together. But I did not have a mirror. All I had was my trusty iPhone. I stuffed a flashlight in to get some light and then put my iPhone in to take pictures that I could not see myself because the space was too small. So the only way I got to see these scenes was through my iPhone acting as a makeshift periscope! Yes – there is an app for that.

FixYa.com: How do I replace headlight on 2006 subaru tribeca

Again, I need to give props the the folks on the FixYa.com forum – they tell you all the hard stuff – especially how to get at the light on the driver’s side. All I added here was the detail and photos regarding working with the clip.

Proposed Course: SI124 – Network Thinking

This is a proposed course – we don’t yet know if or when it will be taught – but I figured I would share. Comments welcome.

SI124 – Network Thinking

We live in a world of networks. We increasingly depend on each other’s knowledge when we play together, work together, and learn together. We think of Google, Facebook, eBay, and the Internet as our own personal assistants that help us answer questions, make decisions, or buy goods and services. We happily use all these tools and interact with people near and far and never really think much about how or why things work the way they work. Is there a reason, logic or science behind EBay’s bidding scheme or Facebook’s privacy policies? How and when does a YouTube video go viral? How can we understand and take advantage of connected thinking, where the group has more intelligence than any one of us alone? How do Netflix and Amazon predict what you might be interested in seeing or reading or buying? How does Internet search and advertising work and who is making money advertising on the Internet? How might you maximize your blog post’s position in Google’s search results? Why do people volunteer to work on Wikipedia without being paid? This course examines human nature, information structures, and enabling technologies that contribute to networked ‘intelligence.’ You’ll learn how groups behave and function from technical and non-technical perspectives. You’ll finish the class fascinated by network thinking and ready to dig deeper into the social and technical underpinnings of today’s technological landscape.

And the course already has a cool web site: www.network-thinking.com (which points to this blog post for now)

Faculty Annual Report – 2009-1010

Charles Severance
University of Michigan
School of Information

09-10 Faculty Annual Report
(May 1, 2009 to April 30, 2010)

My up-to-date Vita is available at:

http://www.dr-chuck.com/dr-chuck/resume/research.htm

http://www.dr-chuck.com/dr-chuck/resume/travel.htm

============================================================

I. Teaching

A. Classroom teaching

539 Des of Comp Websites    Fall     2009
502 Net Computing           Fall     2009
502 Net Computing           Fall     2009
301 Models of Social Inf    Winter   2010
502 Net Computing           Winter   2010
502 Net Computing           Winter   2010

B. Student supervision

1) Doctoral students

None

2) Other student supervision: list all students whose work you have supervised on an individual basis, and briefly describe your interaction with them.

Jordan Washburn – Independent Study Fall Semester – I worked with Jordan to rewrite the CloudSocial (www.cloudsocial.org) application to make it cleaner and simpler and convert it from Simple Learning Tools Interoperability (Simple LTI) to Basic Learning Tools Interoperability (Basic LTI).

C. Instructional development: List any new initiatives or major course revisions that you have engaged in.

My SI502 materials have been turned into a nice Open Educational Resources site at https://open.umich.edu/education/si/si502-winter2009 – this site is now regularly used as supplemental material for SI502 as well as being used as study material for the SI502 Place Out examination.

My primary instructional development was to write a book specifically for SI502 – Networked Computing. While teaching SI502 in the Fall 2009, I felt that we were using the best Python book I could find – but it was still too focused on computer science algorithms and numerical recipes. This material was really getting in the way of student learning so I wanted to write a special book just for the course. Atul Prakash and Paul Resnick were using “Think Python: How to Think Like a Computer Scientist” in SI182 and encouraged me to take a look at the book (http://www.greenteapress.com/thinkpython/thinkpython.html). Luckily the book had an open license so I could start with the text of the book and rebuild it as I saw fit. Starting in December 2009, I pulled the book apart and put it back together as ” Python for Informatics: Exploring Information” freely available under the Creative Commons Attribution Share-Alike license at http://www.py4inf.com/

I rewrote 70% of the material for the first 10 chapters of the book during December. I removed all the number-oriented examples throughout the text and in the exercises and replaced them from the data-oriented examples I had developed for SI502 lectures and assignments. The result was a very focused book that I finished by the first day of SI502 in January 2010. We printed the book on the Espresso Book Machine in the UM Library which allowed me to get the book printed during the first week of classes and kept the cost to only $10.00 per textbook.

The students liked the book very much and a number of students made editorial comments on the book that greatly improved it. Since the print run is custom each semester, I will make a complete new edition each semester. During Winter 2010 semester, I wrote and used three more chapters and should have 15-16 chapters ready for SI502 the Fall 2010 edition of the book.

I also took to building screen-casts of simple code development walkthroughs that correlate with the book for the first few chapters of the book – initial feedback from the SI502 students suggested that these were quite helpful. Over the summer I hope to add more of these walkthroughs to get complete coverage of the first 10 chapters of the book.

Working with the Undergraduate and Curriculum committees and other faculty, I led the development of a new “undergraduate blockbuster” course aimed at Freshman and Sophomores. “SI124 – Wisdom of Crowds” (working title) was completed and approved by the curriculum committee in April. We are still working on staffing issues and have not yet decided as to whether we will offer the course in Winter 2011.

D. Other : Describe any other significant teaching activities not covered above

Working with Trek Glowaki and Jesse Sielaff, I had a three student Independent Study where they learned and completed projects in Ruby on Rails.

I held weekly “hacker jams” one day a week in the evening during the school year which were a combination of group office hours and open collaboration sessions.

II. Research

A. Publications appearing in 2009-2010 list all publications that appeared during this year. Underline all co-authors who are students.

1) Books or monographs

Python for Informatics: Exploring Information – Published January 2010
http://www.py4inf.com/
This book had significant review and suggested improvements from the SI502 students.

2) Articles in refereed journals – None

3) Articles in refereed conference proceedings that are comparable to journals in terms of prestige – None

4) Chapters in edited books – None

5) Articles in workshops, symposia, and less rigorously referred conference proceedings

Interoperability for LMS: The Missing Piece to Become the Common Place for Elearning Innovation Marc Alier Forment, Maria Jose Casan Guerrero, Miguel-Angel Conde Conzalez, Francisco Jose Garcia Penalvo, and Charles Severance. Lecture Notes in Computer Science, Springer Berlin / Heidelberg, 2009, Volume 5736/2009 Pages 286-295. September 16, 2009. http://www.springerlink.com/content/njh6733u71307755/

Next Generation Teaching and Learning – Technologies and Trends – 2010 iConference – Urbana, Il – February 3-6, 2010. http://www.ischools.org/iConference10/2010index/

6) Other publications

I have a well-read blog at www.dr-chuck.com/csev-blog where I write articles about technology directions, open source, teaching and learning with technology. Between May 2009 and April 2010, I wrote 112 blog posts and my blog received 29,983 visits.

Sample Articles From My Blog

o Book Review: Plone 3 for Education by Erik Rose 27-Apr-2010.
o Reading / Downloading PDF Books on the iPad or iPod 2-Apr-2010
o Apple iPad Review: Awesome and Perfect – From Sobbing to Cheering! 04-Feb-2010
o Why an Open Source Community Should Not Cede Leadership to a Commercial Entity – MySql/Oracle 5-Jan-2010
o Standards Experience – IMS Basic Learning Tools Interoperability – 11-November-2009
o Considering Open – Rethinking Cathedral and Bazaar 3-Jan-2010
o Obama Education Reform Rant 8-Oct-2009
o Clearing Entries in App Engine – Clearing the Data Store 23-June-2009

B. Publications in press: List papers that were accepted for publication in 2009-10 but have not yet appeared. Again, underline student co-authors and give page numbers.

To Appear June 2010: Preparing for the Long Tail of Teaching and Learning Tools, Charles Severance and Stephanie D. Teasley, 9th International Conference of the Learning Sciences June 29 – July 2 2010. http://www.isls.org/icls2010/ (conference)

To appear June 2010: Charles Severance, Ted Hanss, Joseph Hardin, IMS Learning Tools Interoperability: A Service-Oriented Approach To Teaching and Learning Tools Technology, Instruction, Cognition and Learning (journal).

C. Publications under review.

None

D. Invited talks. List all invited talks you gave this year.

These are talks where I was invited and the organization covered my travel expenses to the event.

Apple Academix Conference – Indiana University – Indianapolis, IN – May 7, 2009 – Invited Keynote: Beyond the Learning Management System

Apple Academix Conference – Duke University – Raleigh, NC – May 28, 2009 – Invited Keynote: Beyond the Learning Management System

CIC CIO TechForum 2009 – East Lansing, MI – October 6, 2009. Invited Presentation: Clouds on the Horizon: Evolving Teaching, Learning and Technology in Higher Education

Pearson Education Technology Summit – Denver, CO – November 11, 2009. Invited Talk: Evolving Teaching and Learning: Beyond the LMS

JISC Developer Days – London, UK – February 24-27, 2010. Invited Workshop: Google App Engine and Cloud Computing.

Next Generation Teaching and Learning Symposium – Berkeley, CA – April 17, 2009. Invited Panelist: Tools and Technological Models. http://ngtl.ischool.berkeley.edu/events/2010symposium/

In total, from May 2009 through April 2010, I gave a total of 41 talks, webinars, and presentations.

E. Research Support.

—- Removed —-

F. Other . Describe any other research-related activities not covered above

I applied to the Open University (UK) to be an “Expert Fellow” in the OLNet project (www.olnet.org). I made an initial visit to Milton Keynes on March 2, 2010 to further refine the remit for my work. We are proceeding forward with several visits to the OU over the Summer and Fall 2010 to work for several weeks at the OU on the Cohere (http://cohere.open.ac.uk/) project as part of the OLNet Expert Fellow Program.

III. Service

Please list all formal and informal service (committees, offices held, initiatives, etc.) for each of the areas below.

A. School of Information

I continue to serve as a member of the Informatics Faculty Steering committee organizing the new Informatics concentration in LSA. The new concentration is up and running quite nicely with 75 concentrators and growing at a nice rate. I serve as the advisor for students in the Social Computing track. I serve as the advisor for our 30+ Social Computing track undergraduate students.

I chair the SI Undergraduate Committee – this committee is charged with providing guidance and forming SI positions on matters relating to the Informatics Concentration as well as guiding the curriculum aspects of the SI undergraduate courses. Once the Undergraduate committee develops and approves creation and/or courses, they are forwarded to the Curriculum committee for final approval.

B. University of Michigan outside of SI

I continued to work closely with the CTools/Sakai development team in the Digital Media Commons (DMC) – my primary focus was to support implementation and use of IMS Basic LTI, a subset or profile of the IMS Learning Tools Interoperability (LTI) v. 1.0 specification (http://www.imsglobal.org/toolsinteroperability2.cfm). I wrote the Sakai support for IMS Basic LTI and participated in the testing, QA, consulting, product release, and production roll-out of the product at UMich.

I also serve as the Principal Investigator for the grant from the Sakai Foundation to the Digital Media Commons (DMC) that covers the salaries of Anthony Whyte and Mary Miles who are DMC employees seconded to the Sakai Foundation. I serve as the UMich supervisor for Anthony and Mary and I handle their annual performance appraisals.

I worked with the LectureTools team to move their software from supporting SimpleLTI to BasicLTI and getting that software integrated into CTools.

I worked on a project between the Merit Network, Washtenaw Community College, and the CTools team to bring up a streaming Flash Video server and integrated into the LMS systems at UMich Ann Arbor, UM-Flint, and WCC.

I also participated in the “Amazing Blue” program put on by the admissions office to recruit incoming freshman students. I gave a lecture on the “Nash Equilibrium” which was very well received by the students. This was arranged with the help of Meghan Genovese – the coordinator of the Informatics concentration.

C. Editorial activities

1) Editorial boards. List all editorial boards on which you serve. Indicate if you are an editor, associate editor, etc. – None

2) Ad hoc reviewing. Describe any ad hoc journal reviewing you did. – None

3) Conference reviewing. List all conference program committees you served on. Indicate if you were a program chair, area chair, etc. – None

4) Grants reviewing. List all granting agencies for which you performed any panel or ad hoc reviewing. In the interests of confidentiality, do not name the panel. – None

D. Other professional service activities

I was a founding incorporator and board member for the non-profit company Etudes, Inc. (www.etudes.org). Etudes provides technology, training, and support services around online teaching and distance education for 25 colleges.

E. Community service relevant to SI mission

I was elected to a three-year term on the Sakai Foundation corporate Board of Directors (www.sakaiproject.org) starting in January 2010

I continue to serve on the Science Advisory Board for the National eScience Center (http://www.nesc.ac.uk/) in Edinburgh, Scotland. I was appointed to this board in April 2008. This board advises the eScience center on financial, strategic, and programming directions. I will be required to attend two board meetings annually with at least one board meeting to be held in Edinburgh.

F. Service not included in any of above categories

I continue to work as a consultant for the IMS Global Learning Consortium (www.imsglobal.org). This provides travel funds for five conferences/meetings per year and supports my work in building interoperability between all Learning Management Systems.

I was the Master of Ceremonies for the annual SI Revue.

IV. Honors and Awards

Please list all honors and awards received in the past year – None

V. Other Information

A. Describe your most significant contributions this year. (One paragraph.)

One the teaching side, I am very happy with the progress that has been made in SI502 and SI539 over the past three years and particularly in the last year. Both classes are quite effective and efficient leading to greatly improved technical skill levels in our MSI graduates across all specializations. Student demand is growing for our more advanced technical courses such as SI572 and SI543 because they want to learn more about technology.

In terms of my research, my years of work in standards for Tools Interoperability dating back to 2003 are starting to pay dividends. The Basic LTI Specification should be complete, final, and released in May 2010. I developed a full set of sample source code to promote standards adoption and have made hundreds of talks promoting interoperability through standards. Vendor uptake has been very quick and nearly complete. By June 2011, nearly 100% of the LMS market will be supporting this standard in shipping products. My influence in the market place is well beyond the Sakai product – in addition, I now have made source code contributions to Moodle, OLAT (www.olat.org), and even Blackboard. Of course, even with widespread adoption in vendor products, I still need to teach the tools in the marketplace to use this new standard.

While I share the credit with many people, I am particularly proud of our first 11 graduates of the undergraduate Informatics concentration class of 2010. The faculty in the School of Information have welcomed our undergraduates into their courses and I am very pleased with the results.

B. Please summarize any interdisciplinary aspects of the activities you were engaged in during the past year. (One paragraph)

My interdisciplinary activities include: (1) working to build the new Informatics concentration in LSA, (2) working with the Sakai/CTools team to help evolve the Sakai software and how we use it here at Michigan and (3) working with the LectureTools group (Perry Samson) to integrate LectureTools into Sakai. I also have become involved with some campus-wide IT initiatives working with John King, John Merlin Williams, and Dan Atkins.

C. Outline your major goals in teaching for the coming year. (One paragraph.)

I expect to complete the SI502 textbook – “Python for Informatics: Exploring Data” in time for Fall 2011 and to produce a polished set of educational materials, assignments, and on-line support materials built around the book and test and refine those materials in-class in SI502. I may try to record the Winter SI502 lectures in video to create a full-set of video lectures for SI502 similar to the “Richard Buckland” series on YouTube – http://www.youtube.com/watch?v=JA_G8XbVYug

Since most SI students coming into SI539 have some experience with Python, HTML and CSS through SI502, we have been adding more material to SI539 to make the course more challenging and ultimately more valuable for the students. I expect to continue that trend when I teach SI539 this year and it should result in several new ‘chapters’ being written for my Google App Engine book (should there ever be a second edition). With SI502 and SI539 well in hand, I am turning my attention to several possible new courses to further strengthen the technical aspects of our program. These courses include: (1) a seven-week Python data analysis course that pushes students much further than SI502 and prepares them for sophisticated data analysis in Python, (2) a follow-on course to SI539 (tentatively titled SI639) which would introduce Java, JavaScript, HTML5, and developing software and content for mobile systems such as iPad and Android, and (3) SI124 – Wisdom of Crowds (tentative title) which is hoped to be the undergraduate blockbuster course. I am expecting to work with Caitlin Holman (MSI student) in an Independent Study during Fall 2010 to research the learning objectives for the possible advanced Python data course (1 above). I probably won’t have time to complete all these tasks in the 2010-2011 year but I should make progress on some.

D. Outline your major goals in research for the coming year. (One paragraph.)

I will continue to be a worldwide evangelist for Basic Learning Tools Interoperability with my focus shifting from LMS Vendors to Tool developers. As Basic LTI matures, I will increasingly work on building adoption for the expanded run-time web services support in Full Learning Tools Interoperability as well as the Common Cartridge, which allows course exchange between different LMS systems. As BasicLTI becomes well established, I expect to rekindle my CloudSocial (www.cloudsocial.org) embedded learning management system and Tsugi Learning Management framework (www.cloudcollab.org) for Google App Engine and move those efforts forward. I will also continue to work with Stephanie Teasley and others to increase my publications about my research in more traditional academic publication channels. I want to take my SI502 book, slides, online-materials, recorded audio, and screen-casts to produce an online “SI502 Experience” where students can “take” an SI502 course online and self-paced. This “SI502 Experience” will be my new laboratory for experimenting with new technologies for teaching and learning.

E. For associate and full professors only: Describe your experiences this year in mentoring faculty. (Be specific; name names and specific activities.)

N/A

F. For all faculty: Describe your experiences this year in being mentored. (Be specific; provide names.)

Jeff Mackie-Mason has been very helpful as he has guided me in my roles as the Chair of the Undergraduate Committee and undergraduate Social Computing track advisor in Informatics.

I have had many great conversations with Martha Pollack about approaches to teaching technology to a diverse population. I will miss those conversations when she moves to the Provost’s office.

Meghan Genovese has been very supportive and she handles much of the load of advising Informatics concentrators. Her continued energy, commitment, skill, talent, positive attitude and expertise make being a part of the Informatics concentration a joy.

Paul Conway has been a big help in mentoring me in my role in Informatics, the Undergraduate committee, and as I developed the proposal for SI124 – Wisdom of Crowds (working title).

Stephanie Teasley has continued to help me with SI502 GSIs. In addition, Stephanie has helped me get a start writing conference papers and possibly soon some journal papers to make sure that my work is properly represented in the more traditional publication streams. I really like co-authoring with her.

G. Describe your entrepreneurial activities or innovations, if any. Examples might include patents, licensing agreements, innovative services or products.

The LectureTools project received an SBIR grant to try to start up a business. I am a technical advisor to the project and helping work with Perry Samson to get his software properly connected into the various Learning Management and Publisher systems.

H. Please provide any additional information you wish to convey to the Dean and Associate Deans.

My position at the UM School of Information and in particular, my clinical professor appointment has allowed me the flexibility to engage in the kinds of research and teaching activities that I see as having both long-term and short-term impact – both within SI and around the world.

In reality, few of my learning tools interoperability research activities are the kind of work that produces a whole series of A-B study articles that are suitable for cranking out conference and journal publications. My work is grounded in the real world use of teaching and learning technology and it is a very fast-moving field. In order to have an impact in my chosen area of research, I must be agile enough to able to react with solutions on the order of days or weeks when there is some opportunity to move my agenda forward. Other times, I must quietly invest in experimental work without ever knowing when it will become valuable in the marketplace. The flexibility of a clinical appointment puts me in a position to continue to make and impact the learning management system marketplace.

In terms of teaching, I feel so fortunate to be able to teach such a wonderful group of bright and inquisitive students in the SI MSI program. While initially many students claim that they are uninterested in technology, they are willing to throw themselves into my courses and give technology a chance and most succeed and grow their interest in technology. They always give me great feedback on how to improve my teaching technique. In a sense, the SI MSI program is the ideal lab to learn how to bring understandable technology teaching materials to a much broader audience. My involvement in the undergraduate Informatics concentration allows even deeper exploration of techniques for teaching technology to a broader population.

University of Michigan Informatics Graduation Remarks

Update: I watched Barack Obama’s University of Michigan Commencement address today (Saturday) at the football stadium and really liked his remarks. I was glad the weather held off to allow his speech to be given.

I was honored to give a few short remarks to our University of Michigan Undergraduate Informatics graduation ceremony Friday morning. Here is the text of my remarks.

Every graduation is an important transition. Every graduation is an ending and a beginning. I remember as I was working on my own Master’s Degree and it seemed like it would never end. I took to humming a few bars ‘Pomp and Circumstance’ to myself each morning to motivate me and keep me focused on the end-goal of my education. But graduation of course is not the end.

It is the end of being a student and the beginning of being an alumnus. It is the ending of an undergraduate education and perhaps the beginning of a wonderful graduate education. It may be the ending of going to class and the beginning of going to work For a lot of students, it means taking out a loan and driving a brand new car for the first time in their life. Graduation is the end of taking out student loans and the beginning of paying back your student loans.

All of that ‘ending and beginning stuff’ applies to pretty much any generic graduation. This particular graduation is is not just any graduation – it is a very special graduation – the first of its kind. You are the first graduating class of Informatics concentrators at the University of Michigan! Now you might ask, ‘exactly why is that so special?’ I will tell you why I think that this moment is very special.

I believe that Informatics at the University of Michigan is a live and ongoing experiment that will ultimately redefine how higher education thinks of an undergraduate liberal arts education for the 21st century.

When a small group of faculty from Engineering, School of Information, Math and Statistics got together back in 2006 to dare to imagine the Informatics program, the founding principle was that this was to be an interdisciplinary program from its very core. A program that focused on giving students the breadth of a traditional liberal arts education and the skill depth needed to be a leader and an agent of change for their workplace and ultimately for society in the next century.

The recent and current economic situation is just one more tremor as the world economy moves in fits and starts like grinding tectonic plates from a manufacturing to a knowledge economy. The transition will not be easy nor will it be quick, nor will it will be smooth. No longer do you leave the University with your diploma and plop down in a job and stay the same organization for the next 40 years and then retire to a cottage up north.

If our world economy and the organizations in that economy are to survive, we need leaders who both understand the present and can anticipate a quite different future and pick the best path from here to there. Leaders who understand social science and social computing. Leaders who understand ethics and choices as well as statistics, technology, data mining and cloud computing. In a sense, the best leaders are the ones who pretty much know a good bit about everything and know how it all is connected together.

The Informatics program that we have developed and that you have experienced is designed to produce students who are both ‘well-rounded’ and ‘technically-skilled’. You graduates not only hold in your hands the hopes and dreams of your parents and friends as you move forward into a successful life, but also the hopes and dreams of the Informatics program itself. We have a grand vision that you have the right blend of skills and knowledge to make a positive impact on society going forward. And while your numbers seem initially small, we will be graduating lots more Informatics students to join you and help make the positive changes in society that we expect from you.

I hope that we have also taught you to think critically about everything and question everything. Not in a harsh or negative way – but always searching for opportunities for positive change. I hope that we have taught you that everyone in the crowd has a valuable contribution to make to our collective wisdom. This reminds me of a little speech I give to high school students when we are trying to recruit them to come to Michigan. It is a little late now since you are already here, but it still applies. I borrow my favorite line from the University of Michigan fight song. I think that the Michigan fight song is unique in that among the lyrics about “victors”, “heros”, and “champions” it has a line that to me speaks about about academics, philosophy, and approach – in a sense the ‘Michigan way’. That line I like from the fight song is, “the leaders and the best”. It is not just about winning and crushing opponents on the athletic field – it is about leading and being the best.

I hope none of you have seen the inside of the University of Michigan Hospital except as a visitor – but on the wall is one of my favorite UM posters. It is a picture of an open-heart surgery patient with a big scar down the center of her chest and below her are the simple words, “the leaders and the best” – that kind of sums it up for me.

What I tell incoming students and what I am telling you now is that the Michigan way – the way of being a leader and the best is not an ultimate goal – it is not the end-state. It is how you approach every moment – right when you are in that moment. You had to have been a leader and the best in high school just to make it to Michigan. While you are a student here at Michigan we don’t want you to just listen and furiously take notes from the sage on the stage – we want you to be part of us, contribute to us, be a a leader and the best as a member of our learning community that is Michigan. And now as you move on to the next phase of your life, we know you are prepared to continue to be a leader and the best in whatever you do going forward.

As I close, I would like to thank the students, their parents, and families for being part of our Informatics program. First, I want to thank the parents and family for producing students who are bright, inquisitive, intelligent, and ready to throw themselves wholeheartedly into ‘what ever is next’. I want to thank our students who are the ones who make the effort we put into this program all worth while. You have brought your energy and creativity to what we do. You became Informatics concentrators knowing that you were the pioneers and that there might be a few rough edges as we worked all the details out. And most of all I want to thank you as you pitched in and helped us work out those details for the next generations of Informatics students.

Even though next week you will be graduates, we still want to hear from you going forward. And we want you to come back and tell us how well you are doing and how we can improve and do a better job educating the next generation of Informatics graduates. And we will also try to make sure that whenever you come back, we always have a jar of free Starburst waiting for you.

Thank you.

A Student View on Blackboard, Sakai, and Moodle – Logan Rosen from Staples High School

I would like to recommend that you read Logan Rosen’s article that compares Blackboard, Sakai, and Moodle and describes his experiences with each product and his suggestion as to which product would be best for his high school:

http://www.inklingsnews.com/archives/5024

Here are a few quotes from the article which I liked:

…Although Moodle and Sakai are free in a sense, most schools would opt instead for the all-inclusive hosting options provided by third-party companies, and which range from not-so-costly to very costly. I looked into what a hosting and support package would look like for Sakai. One of its providers, The Longsight Group, offers a solution which would cost approximately $12,500 per year.

… Since it is similar to Blackboard, Sakai doesn’t have much of a learning curve. This would reduce training costs. … The features that Sakai offers, such as a global calendar for all classes and better private messaging, give it an advantage over Blackboard and other systems.

I think that in just about 150 words – Logan captures the essence of the Sakai 2 value proposition. By the way, Logan is a sophomore at Staples High School in Westport, Connecticut.

I think that Logan’s review points out something that we as the developer community often miss as we look at what we need to add and what we need to fix and how we never have the time to do what we dream of for the product.

From the point of view of teachers and students Sakai 2 is excellent software – quite mature and with a great commercial ecology around it because we have been around for a while.

Thanks to Ed Mansouri of www.ucompass.com for the pointer to Logan’s article.

P.S. Logan, I know it is a little early but we really like students with your kind of vision at University of Michigan – informatics.umich.edu :)

My Latest Foray into PHP and SOAP with IMS LTI 1.0

Note: I am completely not a WSDL/SOAP expert here – do if some expert reads this and tells me that I missed the point completely – I would very much appreciate it. Thanks in advance.

I started playing with trying to send some Full LTI SOAP messages back and forth between a PHP server and a PHP client. I got pretty close pretty quickly but got stuck on the same thing that got me stuck back in 2007 when I tried to build a PHP harness for TI 1.0 – the problem is in WSDL that looks like this:

 <wsdl:message name="registerToolRequest">
     <wsdl:part name="Parameters" element="tns:registerToolRequest"/>
     <wsdl:part name="HeaderInfoParameters" 
           element="tns:imsx_syncRequestHeaderInfo"/>
 </wsdl:message>

And then:

<wsdl:input>
     <soap11:body use="literal" parts="Parameters"/>
     <soap11:header message="tns:registerToolRequest" part="HeaderInfoParameters" 
             use="literal" wsdl:required="true"/>
</wsdl:input>

If you look on the web, it is very rare when you see a wsdl:message with more than one wsdl:part within it – as a matter of fact, other than IMS WSDL, I could find no other examples of multiple uses of wsdl:part within a wsdl:message.

I hoped that it was simply prohibited :). I looked at the WDSL spec at:

http://www.w3.org/TR/wsdl

And was disappointed to see:

   <element ref="wsdl:part" minOccurs="0" maxOccurs="unbounded"/>

And it clearly allows many parts, schema-wise. The search continues.

Then I started looking at the WS-I Basic Profile aimed at scoping WSDL/SOAP down in the name of interoperability:

http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html

And while it did not flatly prohibit multiple parts in a message it did have a few recommendations around parts, messages, and literal encoding, in particular:

R2210 If a document-literal binding in a DESCRIPTION does not specify the parts attribute on a soapbind:body element, the corresponding abstract wsdl:message MUST define zero or one wsdl:parts.

R2301 The order of the elements in the soap:body of a MESSAGE MUST be the same as that of the wsdl:parts in the wsdl:message that describes it.

Neither seemed to prohibit multiple wsdl:part items – but it made me a little nervous – where there is smoke, there might be fire.

In all my testing of PHP, it really wanted to send the two parameters as two parameters and then the server would freak out as its view of the WSDL was that there was one parameter – as a matter of fact, if you asked PHP the proper signature for the RegisterTool – it showed this:

registerToolResponse registerTool(registerToolRequest $Parameters)

So then I went looking for how PHP folks make WSDL and happened across this tool:

http://sourceforge.net/projects/php2wsdl/

I never ran this tool, but while examining the file SoapService.php, it seemed like it did allow for situations where there were multiple wsdl:part entries for a wsdl:message – but looking closer, it did *not* use “literal” in its soap:body.

Given that the best practice document seemed so nervous about “literal”, I decided to give encoded a try. So I changed the WSDL to be:

<wsdl:input>
     <soap11:body use="encoded" namespace="urn:xmethods-delayed-quotes" 
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
 </wsdl:input>

And poof! Everything worked. My client calls passed in two parameters and two parameters happily arrived in my server with all the right shapes and sizes. Now my PHP SoapClient thinks this is the registerTool signature:

registerToolResponse registerTool(registerToolRequest $Parameters, 
      imsx_RequestHeaderInfo.Type $HeaderInfoParameters)

I don’t fully know what this means – but it is a starting point to investigate more.

Book Review: Plone 3 for Education by Erik Rose

Content Management Systems like Plone are very powerful tools for building web sites for various purposes ranging from a campus web presence to a web site for a course. While content management systems give us great power and a lot of fun extensibility, it takes a little skill before one starts to “think content”.

Most of us (myself included) when faced with making some new web thing we immediately think of hacking up some HTML or PHP in a file and throwing a few tables in a database. Instinctively we know that there must be a better way given that most of the web stuff we build are some variation on a bit of content, optional attachments, some metadata, a search capability, and some user interface and navigation bits. All too often we will decide to give a content management system a try, download it, get it up and running and then stare at it and think, “what do I do now?”. You know that your newly installed Plone can do what you want it to do, but all of your instincts, training, and experience lead you in the completely wrong direction.

This is where you really need a personal visit from Erik Rose from the Penn State WebLion team. He needs to come to your office and sit next to you for about a week and he needs to coach you in the “ways of Plone in Education Applications”. By the end of the week, you will start to “think Plone” and have some “Plone instincts” and have an inkling of the right way to go about solving the problem using Plone. Now if Erik were willing to come to all of our offices for a week, that might be a good solution for us, but since there are so many of us that need his help, it might be a little stressful for Erik. And it might be a bit expensive for you, paying Erik travel, expenses, and consulting for a week.

Erik’s book, Plone 3 for Education, is the next best thing to having Erik come for a week and coach you. Buy the book and read it from cover to cover before you even start to configure your Plone 3 instance. Your first goal is to get the lay of the landscape of Plone, the choices you will need to make, and the approaches you should take in solving a new problem. Think of Erik as your “Plone Coach”.

The book is a series of solutions to common problems, but does not stop at simply getting something installed and working. You also need to learn about secondary issues around the choices you are making as you configure, extend, and add content to your system. The book talks about more subtle details about each of the choices you make including: (1) which version of a plugin to install, (2) how to make designs that convert nicely from one version to another, (3) how to make Plone scale to a large number of simultaneous users, (4) how to approach a problem so you can divide up labor between administrators and departmental contributors, and so on.

As a person interested in teaching and learning, I loved the first chapter on “Creating Courses” – I wished it went further – perhaps an entire book could be dedicated to “How a Teacher can install their own Plone and use it as their own LMS.” After the first chapter, the rest of the book is aimed more at Plone administrators and walks you through a series of exercises/case studies to set up a campus or departmental Plone instance.

Right off the bat, in Chapter 2 (Calendaring), we are not simply told how to install a plugin, but instead, how to think about content and how to think about plugins and how to pick the right plugin for your needs. In Chapters 3 and 4 (Faculty/Staff Directory) we start to explore the pattern for extending functionality for particular local needs and as usual, it is done in a style where you are told what you need to do but not treated as a dummy or beginner. Throughout the book, it assumes that if you have gotten this far, you know how to find your way around a source tree and a user interface – so he focuses on what needs to be done and does not waste a lot of time documenting every single click.

Chapter 5 (Blogs and Forums) is another great example of how to morph “content” into a blog using a combination of convention and approach plus simple add-ons to move from a simple blog to a more feature-rich blog. You have lots of choices and the book talks about those choices, but also walks you right through to a good set of choices for most installations. In the chapter on media, I was particularly impressed with the power of the collective.flowplayer plug in. This adds an open source Flash Video player into Plone and makes it trivial to embed Flash Video on any page throughout Plone. As usual, the book shows us the ‘easy to do it’ and then shows us a few more powerful ways to embed audio and video as well as connecting your site to Apple’s iTunesU.

With the underlying ‘schemaless’ ZODB data storage, folks will often create a lot of different content types for their application. Forms automates the creating, updating, and management of these content types. While PloneFormGen (Chapter 7) takes a little getting used to, it ultimately can be very powerful and keep you from writing a bunch of custom code. One of my favorite pages of the book is page 116, “Doing Custom Processing”. Often form packages in other systems try to do everything in some complex UI with a myriad of options. In PloneFormGen, for custom processing – you just type in some Python! For a competent admin, I think that it is far easier to express some subtle custom rule in Python than some tricked up XML rules for form processing.

Chapters 9 and 10 talk about production aspects of your Plone project. It covers everything including load balancing, content caching, application servers, ZEO, back ends and talks about how to tune the system for performance, back the system up and recover your system from a backup. All of this is essential information that would take a long time to derive from web sites and documentation across many projects. It is nice to have this all in one place – particularly since often at the time you need this information, a system administrator might be under a bit of stress working on a performance problem or restoring data after a server crash.

Summary

Plone 3 for Education is as close as you can get to a week-long visit from an expert Plone consultant. It contains a blend of straightforward advice as to how to configure a Plone server for use in an Educational setting. However, the more important knowledge is how Erik teaches us how to ‘think like Plone’ and how to think about your Plone installation over the long term across many years, different applications, and different versions of Plone.

Video: Jono Bacon, “The Engines Of Community”

Jono Bacon is the Ubuntu Community Manager. He wrote the book titled The Art of Community which is published by O’Reilly and Associates.

He gave the following talk at the O’Reilly MySql Conference and Expo titled, “The Engines of Community” where he talks through his perspective on the things to do (and not do) which trying to build a community.

I want to thank Amy Stephen who shared this talk on her blog and Twitter. Amy does a lot of commentary on the Joomla community and open source in general. It is fun to follow Amy so I can see how other communities function over time and learn from their experiences.

I think that this video and book might be quite helpful as the Sakai Foundation continues to define ‘Community Source’ and in particular as we look toward our next Executive Director and begin the review of the year-old Product Council.

I highly recommend the video and have ordered the book. I think that I will use the book as optional reading in my new proposed course (SI124 – Wisdom of Crowds).

Video Summary

Here is my summary of the first portion of the video.

He spends some time defining the job of ‘Community Manager’ and suggests that a large portion of the task is ‘dealing with irritating people on the Internet’.

He talks about a few myths about open source development including the perception that Executive/Business-types have that all of the contributors are “Tron Guy” whom we meet at a combination open source / science fiction convention.

He describes two types of community managers: (1) Evangelists/Marketing Community Managers – who are valuable to whip up excitement among a user community – but don’t contribute much to contributor growth and (2) Engineering community managers work on tooling and getting things done in the community and moving the community forward on getting work done.

He says that community leaders need to be “contextually capable” and need to match the right kind of community Manager with the community they are managing. Marketing managers can grow the ‘User’ or ‘Consumer’ community and engineering community managers can grow developer communities. Choosing a marketing style manager and putting them in charge of a developer community or vice-versa will generally result in disaster.

He comments on the role of governance or a council / board / code of conduct – and how those aspects fit into a community. He suggests that there is a need to focus on “getting stuff done”.

He says that biggest enemy of growth is when you in a community and it seems like the only thing that is happening is a lot of talk. Volunteers who spend too much time in meetings and not enough time contributing will get frustrated and (as Jono says) – “Go watch Lost”.

Continuing with his ‘two types..” theme, he classifies communities as ‘Read Communities’ and ‘Write Communities”. Read/User communities consume something and are fans – they don’t generally contribute to the thing they consume – they talk and theorize about it. Read communities need communication channels – just connect folks. Write communities are the people *making* and changing the software – their connectors need to ‘fit into’ the community rather than just talking to the community.

… I suggest you watch the video and buy the book and draw your own conclusions.

An Essential Add-On for Mac OS/X – Perian Quicktime Components for Flash And Other Formats

I am downloading a blip.tv video because it played so badly as it streamed that I want to really listen to the whole hour-long presentation and focus on what was being said. I assume that the reason it played badly is that my hotel limited bandwidth to slightly lower than the bandwidth blip.tv needed to play my video uninterrupted. Ah well – it is now downloaded and I can enjoy the talk and focus on the content of the talk rather than the start/stop of the streaming.

But what I get from the download is Flash Video, I would have to endure another hour-long conversion before I could listen to it – but that is where Perian comes to my rescue.

http://perian.org/

“Perian is a free, open source QuickTime component that adds native support for many popular video formats.”

Very nicely done and it allows me to (a) instantly play Flash videos in my Quicktime Player and (b) if I want to convert to Quicktime or MP4, I have far more control than automated conversion programs from Flash to Quicktime that pick my settings. Also with QUicktime Pro and QUicktime 7, I can trim, etc without converting first – and actually, I can keep the FLV as my highest quality archival format – while the FLV videos are pretty harshly down-sampled, at least I do not have to down-sample again and lose quality and increase size.

I can pretend that FLV is a native QuickTime format – thanks Perian!