Technology


I’m posting this here because CPsquare’s blogs are broken (soon to be moved & updated).

    CPsquare book club: We’ll be reading selected chapters from Communities of Practice: Creating Learning Environments for Educators, edited by Chris Kimble, Paul Hildreth, and Isabelle Bourdon. See the table of contents for both volumes. Several of the authors are members or have been involved in CPsquare over the years. All of the authors will be invited to participate in the discussions. Some synchronous events (teleconferences) will be held, but most of the discussion will be asynchronous. If you want to participate in these discussions you should buy the book immediately. Selection of which chapters to read together will begin late July. Actual chapter discussions begin a week later. It’s free to CPsquare members and $50 for non-members. Registration is at: http://www.cpsquare.org/events/index.htm (shouldn’t you really just join?)
    We’re beginning a year-long series of monthly visits about multi-membership and bridging across communities with Davee Evans who straddles two communities of practice: the Wikipedia editors community and the Shambhala meditation community. Our first session with Davee will be on Wednesday, July 9, 2008 at 20:00

    Karen Guldberg and Jenny Mackness have done a raft of interviews with participants and leaders of the Winter 2008 Foundations Workshop and have written a paper about it, getting at issues such as emotion, connectivity, understanding norms, learning tensions/dualities, technology, and identity. We’re scheduling a session in September where previous participants and CPsquare members will be invited to talk about these findings and their implications and application.

    Our first offering of CPsquare’s “Connected Futures” workshop, about new technologies for communities was very exhilarating, although exhausting for both participants and leaders. We used Twitter, Skype, blogs, wikis, Facebook, social bookmarking, and Web Crossing. It was challenging to keep track of each other but we managed to. We all got a lot out of the experience and we’re intending to offer it again in later this year, after the Foundations Workshop. http://www.cpsquare.org/edu/CP2tech/
Upcoming conferences of interest:

Recommended books:

My adventures in technology stewardship always have a history, bumps, and even some nice surprises along the way as well. I’ve set up a blog and a tools wiki for the book I’ve been working on with Etienne Wenger and Nancy White for the last 3 years (Technology Stewardship for Communities). Recently I moved my own website & blog to the same ISP, thinking of it as a rehearsal for CPsquare’s more complex move to the same set-up in the near future. It was kind of agonizing (my little report on my success turned out to be premature, since the agony continued for a few days more). But today I discovered that some geeky magic (in Wordpress, I presume) makes all the old URLs (such as this one: http://www.learningalliances.net/index.php/2006-12-15/definition-of-technology-steward) continue working (because they get translated to the current scheme: http://learningalliances.net/2006/12/definition-of-technology-steward/). When you’ve been down in the trenches dealing with nits, little things like that seem miraculous!
Print This Post Print This Post Email This Post Email This Post

Woke up thinking about all that could be done — and that had to be done today.

Before walking the dog, at 6:15 am, I went through the previous night’s email on Outlook, looked at my schedule and made some plans:

  • A workshop payment mix-up (money going to a personal Paypal account rather than the CPsquare account) has been fixed. Still 2 transactions to resolve.
  • Got the draft of a contract with a government agency. Need to print and send back.
  • Ward agreed to write a blurb for the book! Yay! Sent him the 4 MB file right away.
  • Got the glossary edits from Peter + Trudy — they look great! Need to respond to their extensive annotations.
  • Got plenty of SPAM.
  • Jotted a short-to-do list on my composition notebook: send “thank-yous” to the several people who helped during the talk I gave last night at ODN, post the slides on slideshare.

After walking the dog, got to my office around 7:45 am.

  • The alert that daughter Liza had logged on to Yahoo IM shows up. I didn’t ping her because I was so busy. When she was with Peace Brigades International in Colombia I always tried to wave, but now that she’s back in the US I don’t bother her as much.
  • Had a Skype call with Patricia and Beverly who are spending the day together in Hamburg! At the last minute, we use a Skype chat to move our meeting time forward an hour. Because they were in the same room, we met with Skype Video and took a few snapshots for fun. We talked shop, about books we’re reading, strategies for marketing and survival. We eventually get focused on writing and the deadline. We decide that in alignment with the autoethnographic approach in our paper, the literature review should also be “personal,” focusing on our experience of the literature rather than arguing that we’ve read everything that’s relevant. We decided that June 12 was the “snapshot day” for our autoethnographic vignettes. (Hence, this post, a departure from my habit of reticence.) After the call I find that we had two chat windows going (one with Patricia alone which had most of our notes and another with both Patricia and Beverly, which had some notes from early on) so I pasted them together, interleaving lines using the time stamps. I got the chat transcript in the mail by mid-afternoon.
  • Got a phone call from Doug. Thanked him for taking care of the dog while I gave the talk at ODN last night. We talked about sending an email messages to the Portland Shambhala sangha about the building purchase. He needed a phone number, so I mailed him an out-of-date phone list for the community.
  • Had a scheduled half hour phone meeting with Rebecka. Send text. Worked on the 2nd draft in Writeboard of a 3-day session for next fall.
  • Got an email anticipating Trudy’s surgery.
  • Scanned the emails about an effort by the Yi-Tan Guild to document our own teleconference set-up, facilitation, and follow-up procedures. We’ve been using Iotum’s Calliflower tool on Facebook, but it still needs a wiki page to remind ourselves how to do things.
  • Exchanged several emails with Naava’s assistant to schedule a meeting with Naava the next day.
  • Exchanged IMs with Lauren re: lost password on CPsquare that I’d forgotten to send her, method for avoiding a lost password, scheduling a conference call with 3 community leaders from her company about scope and leadership strategies.
  • IMs with wife Nancy who was bragging about her new 22″ monintor. Compared lunch plans, discussed the after-work schedule, grocery pick-up items, and a little blister on her foot. Finished just in time for my noon meeting.
  • Had an hour-long teleconference with Debra and four others on her staff (who were together on a speakerphone) about the evaluation report we had just written on the experience of community members in a face-to-face meeting they’d organized. They asked for an overview of the report, although I’d sent it to them a week before. I talked at length — ended up giving a mini-lecture! Recorded it for Louis (partner for this project in DC), but forgot to turn the recording off, so will have to edit!
  • At lunch I continue reading Grant McCracken’s “Transformations: Identity Construction in Contemporary Culture” on the kitchen counter over some warmed-up leftovers. The book has a lot to do with culture and identity construction. I wonder, am I in the business of helping people create new homes for new identities? Today’s snippet gave me some insight into sports and American males that I’d never quite understood (having grown up in Puerto Rico) on p 283:

    “As overmighty subjects, they have their own performative powers. A preteen on a basketball court takes possession of the voice-over that belongs to the sports announcer and the color commentator. He uses this to take possession of the pretext, the script, the accomplishment, and the admiration that belong to a celebrity athlete. This is what, in basketball, they call a steal. The preteen has intercepted powers that belong to the meaning makers. It is endemic hubris, a matter-of-fact appropriation of superordinate powers by a subordinate party. The twelve-year-old makes Larry Bird a god and himself Larry Bird. Such subjects are overmighty and increasingly common.”

  • Retrieved and formatted the chat transcript for yesterday’s Winter 2008 workshop group “reunion” meeting from Web Crossing. Retrieved the audio recording from the phone bridge, saved it, and put a link to it together with the chat room notes in an email to the whole group.
  • The postman dropped off a copy of Groundswell, a book that Shirley read and recommended and that has an amazing publicity machine behind it.
  • Finally made some progress with my idea of using screen captures to create a diagram about platform integration and compatibility for our book on Technology Stewardship for Communities. Put five different screen-shots into one diagram with enough room for a lot of annotations and sent it to Etienne. This has been the most troubling diagram in the book.
  • Ended the day editing a summary of Marc’s book. His ideas are great and now are starting to emerge from a murky translation.

Sources:

Notice that RescueTime misses the hour-long conversation with Debra et al.

Print This Post Print This Post Email This Post Email This Post

I changed ISP’s and thus web and email servers and it’s been quite an adventure in technology stewardship (supporting myself in this case)! Here are a few of the steps along the way:

  • I decided to reduce costs and increase my site’s flexibility, foregoing the wonderful, bullet-proof services at Easystreet a few months ago. As I mulled the conversion process, I realized that I could use myself and my transition as a dress rehearsal for a similar, but more complex, move I have planned for CPsquare (although CPsquare’s move is not really optional, like mine was).
  • There are so many themes out there, with with so many subtle differences. Wow. After a lot of browsing, I chose the Connections theme by Patricia Müller, installed it and started making modifications. Previously I’d found recommendations for Firebug — a tool that helps you with the editing process. I decided to use Firebug.
  • I downloaded and installed the Firebug add-on, noting that there were different versions for Firefox 2 and Firefox 3. Thinking that Firefox 3 had just been released the previous day, I decided to be conservative and stick with Firefox 2. When I fired up Firebug, I found that I was missing “DOM Inspector.” So I downloaded Firefox 3 and then un-installed Firefox completely and then got Firebug working and then, finally, set about working on my site.
  • I decided to change the header picture on my website. I broke down and got a new copy of Snagit, version 9. Wow, that made pasting the photos together so easy!
  • I used Wordpress’ nifty XML export and import feature to move all the pages over from the old site. A small problem: the site was too big to import. I looked at the import file with a text editor and found that there were tens of thousands of “post meta tag” records, all of them identical, all of them looking bogus. In retrospect this was a bit foolhardy, but I went onto the old site and deleted all of the post meta tags, operating directly on the SQL database. After that, the export and import files were a lot smaller and presto! all of the content from one site appeared on the other, including pictures! (I think I did loose the categories on postings in the new site, so I’ll have to go back in and classify everything by hand, which is probably not a bad thing to do, but is very likely to not get done, what with all the other projects I have going.)
  • I figured out URLs that would remain functional before and after the domain name switch (or at least I thought I figured them out). I got to where I was ready to flip the switch (even though there are many pages that remained to be replicated on the new site). This involved telling Wordpress that the new site’s name was something ugly like http://pdxwebsitehosting/~accountname.
  • With that subterfuge in place, I added content and fixed parameters on the new Wordpress-powered website. I even made the theme “Widget-aware” thinking that when it came to CPsquare’s move, one of my goals is to make it easy for other people to maintain and modify the website. That yielded little insights such as “PHP scoops up a file named ‘functions.php’ in a directory if it finds a reference to a function that has not been defined, and executes it without a whimper.” Of course, everything you learn on an expedition like this is tentative, subject to future disproof.
  • When I was more or less ready, I found my password for the domain name registry and flipped the switch. Nothing seemed to happen. Except that I could no longer use the ugly name to fix the messy loose ends on the new site, since “learningalliances.net” still pointed back to the old web server on Easystreet. The hours passed. As my nerves jangled, I looked around and discovered that my new email server was already receiving email, although I could only send email via the old email server. It occurred to me to go down the street to a coffee shop and, using their wi-fi, I discovered that the switch had occurred, although Easystreet seemed to over-ride it with a local domain-name table. (This was confirmed by one of the very helpful help-desk folks at Easystreet, who also said he could not over-ride it, so I’d have to wait for the change till the expert arrived on Monday morning.) So I spent the weekend receiving email on the new site with a browser-based email client and sending email out via the old site using Outlook.
  • By Monday morning at around 10 am, the new site was working, email was working, and I think I can even post to the new version of Wordpress!

What did I learn?

  • Everything is connected to everything, and you change the pieces to understand how each one works with the others.
  • This kind of change involves a lot of just-in-time learning and is nerve-racking.
  • The tools for doing this kind of job are really impressive.
  • It’s time to get my head out of the computer and start working on a long list of things that have gotten deferred in the meantime.
Print This Post Print This Post Email This Post Email This Post

At the end of January I led an effort in CPsquare to hold a conference that we titled, “Long Live the Platform.” It was a great experience. Sue Wolff took the lead in writing a report that describes the method of organizing the conference, the sustaining motivations driving participant roles, and some of the memorable learning gained by the CPsquare community. As part of the process Lynn M. Tveskov interviewed me about what went on behind the scenes.  I got into telling her the story, even going a bit overboard.  After she wrote up our notes, I came up with a more analytical description of what I did as a conference organizer:

We have organized quite a few community field trips in the Foundations Workshop. They take a lot of coordination but can provide invaluable context for considering all kinds of issues, including the use of technology. In the early days, when they were set up as a solo activity, participants were given an URL and sent off to visit and report back. That approach was generally unsuccessful. The field trips organized for the LLP Conference built on recent experience in the Foundations workshop where we made a field trip as social a process as we knew how to do. Our field trips allowed conference participants to pull up a chair “virtually” and have an interactive and social visit with an insider from a community. Questions could cover technology, community goals, facilitation, membership, community orientation, etc. - all those elements that are woven (and sometimes blurred) together in a successful community.

CPsquare, like every community of practice has its energy peaks and valleys. The previous fall had been a period of somewhat low energy. The LLP Conference was a real energizer for CPsquare. The Conference became an example of the value that the CPsquare community can generate. In the LLP Conference we hit a very productive balance between old CPsquare members, guests, and members who joined the community because of the LLP Conference. This combination provided enough diversity, coherence, social history and collective development of a joint repertoire. People were able talk effectively about the issues that mattered to them. Several months later, people still find value browsing through the conference discussions.

Organizing the conference required balancing several conflicting goals:

Planning: “hurry it up” vs. wait for it to mature. The idea of this conference had been brewing in the community for months. At a certain point it was necessary to name a date, try to pull all the threads together and run with it, hoping that volunteers would rally round a proposed agenda. I then pushed a conference planning process, a statement of benefits to members and guests, a new procedure for member registration, distinct levels of participation, platforms and speakers. It was overly ambitious but in the end it worked for most people.

Timing: concentrate the schedule vs. spread it out. The original thinking was to spread out the platform visits across 6 months or a year. It was clear that concentrating all the visits into 3 weeks would limit depth, but it enabled comparisons between platforms and enough feverish intensity to make participation exciting. A very concentrated event forced everyone to prioritize their time, although many people felt like they missed out on conversations they wished they’d jointed.

Scheduling: plan it in advance vs. plan as you go. Given that there was a lot of uncertainty in the conference agenda and inquiry process and not really enough time to plan it all out, I was not able to plan the conference out completely in advance. After the target date was set, a high-potential platform spokesman seemed to evaporate, not responding to emails or phone calls. The schedule for the third week was not really worked out till the middle of the second week. This required an act of faith from participants, but it also let us figure out what was working and what was worth emphasizing.

Staffing: recruiting volunteers vs. just making it happen. Although the LLP Conference was designed as a community event staffed by volunteers, there was plenty of work that I could not delegate (or could not figure out how to fast enough). Volunteers participated in the event’s discussions, helped design it, and signed up to present. But recruiting volunteers could not really be delegated (nobody else knew quite as much about who to ask or what to ask them for). There are many other administrative tasks that could not easily be delegated to volunteers such as guest registration, access control, platform management, teleconference logistics, etc., etc.

Protocol: role flexibility vs. role adherence. The conference roles were intended to involve the community, spread out the work, insure that technical, leadership and other perspectives were woven together in the conversations, and build distinct levels of participation into the conference structure (e.g., from casual observers who were just taking a look to people who were ready to spend a lot of time because they were facing an impending technical or community design decision). The roles and work plan could only be a goal since some slots could not be filled and in some cases individuals had to and were able to span several roles.

Focus: presenting individual perspectives vs. developing a negotiated understanding. Tapping the expertise of people who know a lot about a particular platform (e.g., leveraging the knowledge of a vendor, a programmer, or a technology steward) would produce interesting presentations but it would not necessarily help us develop a deeper understanding of the issues. We had found that “other people’s perspectives” on community platforms could be quite intractable and incomprehensible – “my platform is better than yours and I have no idea why you still like yours.” CPsquare is full of people who disagree on many, many issues, including the platform we use for our own discussions. This led to our focus on specific cases, personal experience, and platforms as seen through the eyes of a specific community (not an abstract or “general” community). That was followed by a free-wheeling conversation about the evidence we gathered together. This was quite ambitious, risky, and labor intensive, but it seemed essential to try.

The LLP Conference was a great experience for me. I learned a lot about organizing a collective inquiry as well as about the platforms and communities that we visited.

Print This Post Print This Post Email This Post Email This Post

I’ve just spent 2 days with folks from Harvard Business School Publishing, 2 days holed up in a hotel working on “the book“, and 2 days with Jewish educators at the PEJE conference. To top it all off, here’s dinner with some really cool members and friends of CPsquare, recorded and broadcast live by Beth Kanter. Although some people got to see it while it was being uploaded (and they twittered back), the rest of us can have a look at it here.

Print This Post Print This Post Email This Post Email This Post

The communities I work with seem to be using telephone bridges more and more. Those phone bridges are acquiring more features (so I think of them more like a platform with several tools on them rather than simple tools). For example, phone bridge platforms can send email announcements scheduling a call and make a recording of a call and serve up the recording to people who didn’t make it to the call. Phone bridges are also integrating (or not) with other platforms. Here are some reflections on recent experiences and observations.

Freeconference.com has a sophisticated conference call scheduling set-up, together with an email list management tool. I just noticed that they’ve designed a sophisticated application to do your conference scheduling from Outlook. For example, if you can look at other people’s schedules in Outlook, that might be very important. With some groups, it could be very helpful to have a voice come on the line and say, “Your call ends in 5 minutes.” I’ve found that to be intrusive and irritating. Worse, the bridge hangs up on you when your time is up. I think it’s important to let people decide when the call is over.

It used to be that joining a call on Freeconference or Freeconferencecall.com via Skype-out was clumsy or impossible because it was hard to enter the passcode. I just tried doing it and it does work if you go slowly. One thing that Freeconferencecall has over Freeconference is that the bridge has an important extra tool: it can record your conference call.

Recently, I’ve been on several calls using Iotum’s bridge. It has a very nice interface with Facebook, so that you can invite people using Facebook and the host can control the call from Facebook. During the call participants can see who’s on it, who’s muted, and click on their picture to see their profile. Very nice.

iotum-call-a.jpg

You can also see who’s been invited to a call and who’s said they will attend. Iotum’s facebook application provides “a Wall” that can be used for note-taking during the call. It’s like a primitive chat room. Very nice.

iotum-call-b.jpg

It also has a page from which to download MP3 recordings to which you have access. (Not sure whether the nice list has the calls I was invited to or the calls that I attended. Controlling access and managing storage becomes important.) Very nice, provided it gives you adequate control.

iotum-call-recordings.jpg

When you have people calling into a phone bridge from regular phones, cell phones, Skype, from all over the world, noise reduction matters a lot. Because so many of the calls that I’m on involve just such a messy mix, I’m still finding that the noise reduction features of High Speed Conferencing make it worth paying money for the service. Having two people on a conference call that can’t hear each other makes all the other features and tools irrelevant. I never use the scheduling tools on any of the phone bridges I use. There are tools to do that on the other platforms that my communities use that are preferable, so for me the conference scheduling tools on all of these phone bridges are irrelevant. I just recently noticed that I could label the recordings that the phone bridge makes and serves up (via Skype or by phone or for downloading). Very nice.

high-speed-recording-notes.jpg

It would be nice if you could label callers (especially those calling from a phone number or using an obscure Skype name) so that you could take a guess as to who to mute when there’s noise. Although the high definition audio quality that High Speed Conferencing provides mostly means you don’t need the web interface to mute people I do need to occasionally. Their web interface is available only to the conference host, not to the participants.

Print This Post Print This Post Email This Post Email This Post

Think that TWITTER may not be enough of a platform for your community of practice? Need something more homey than del.icio.us? Think that a full-fledged platform THAT YOU PAY FOR may be needed?

I’ve thought for a long time that how you look at and assess the fit between a community and its platform matters a lot. Writing the book with Etienne Wenger and Nancy White and several other activities in CPsquare have convinced me that an “outsider’s vew” (whatever that means) can be so mis-leading.

Join us at CPsquare, where we’re exploring a half dozen platforms together — attempting to look at the software through the eyes of a community that’s been living on that platform for a while. See registration details here: http://www.cpsquare.org/News/ … Currently we’re expecting to visit:

  • xPERT eCommunity (Q2learning)
  • CompanyCommand - Eco (Tomoye)
  • TBA - Web Crossing
  • DITAUsers - Drupal, Timeline, Wordpress, Moodle, Yahoo Group and Mediawiki
  • CIARIS - Custom-made using Ruby on Rails
  • Story-telling in Organizations - Ning
  • Best practices in e-learning community - Moodle and Facebook

For each platform / community combination we’re having several levels of engagement:

  • Read a post about the community and the platform, written by a knowledgeable person
  • View a video that represents a tour of the aforementioned community
  • Self-register to use a “play space” where you can get a sense of what the software is about and how it works
  • Participate in a discussion on the platform itself with community members about their community and their experience of using the platform
  • Participate in asynchronous discussions back here that summarize or reflect on all the foregoing
  • Participate in a synchronous phone conference about all of the above
  • (Might be follow-on summarization and reflection and meta-conversations)

Rather than asking which platform is “the best” we are asking, “what kinds of communities thrive on each of these quite different platforms?” We’re inviting community leaders, technology stewards, and software vendors to all spend three weeks together thinking about issues of common concern. In the end I’m sure what we understand about some of these platforms will have a superficial aspect, but we’ll know a lot more about what questions to ask…

The event is organized by CPsquare members and is open to guests who register ($100) here: http://www.cpsquare.org/News/ (CPsquare members who are presenting or facilitating can bring a guest for free.)

Print This Post Print This Post Email This Post Email This Post

There’s a pattern that’s developed in CPsquare and that I’ve been purposeful in developing elsewhere. I think it has lots of good learning practice built into it.  I put it on a public Google doc for a while, but since I haven’t received any comments about it for a while, I decided it was stable enough to post as a page in its own right on our tools wiki.  I recommend this practice, especially for coaching conversations.

Print This Post Print This Post Email This Post Email This Post

For some reason it’s sometimes hard to find the “mute” button on a Skype call. It’s not one of those things you usually pay attention to. But it can suddenly be very important to find it when someone is calling via a poor quality Internet connection that introduces clicks, echoes, and other extraneous sounds into the call. Actually the noise is usually something someone else notices — and they tell you to find the mute button and use it. Kind of like, “Hey, you need a breath-freshening mint,” but you have to find the mint yourself!

When you can’t find the breath-freshening mint, it’s doubly irritating that someone says you need one.That’s it, in the picture on the left.

Wouldn’t it be nice if Skype detected the noise and highlighted the mute button?  In the meantime, we need to rely on our friends to tell us.

Print This Post Print This Post Email This Post Email This Post

I was listening to a client deal with the increasing utility and popularity of ClearSpace as a platform for several of their communities of practice that are in formation. The good news is that people are sharing and learning from each other using their new tool. The challenge (and I was accused of being a “glass is 120% full” kind of guy :-) is that page loads take too long for low-bandwidth users.

I decided to compare the size of several arbitrary pages. I chose 5 platforms: ClearSpace, two tools that participants in the Foundations of Communities of Practice are currently comparing to each other, Moodle (because I’m doing a project on it) and Web Crossing (which is where the Foundations workshop is held). I saved 5 pages and added up the bytes according to the several different types of files that made up a page. A quick and dirty way of making the comparison:

Some data is better than none

Platform

css

graphic

html

java
script

flash

other

Grand
Total
WebCrossing

0

3

33

0

0

0

37

Moodle

54

28

53

135

0

0

271

ClearSpace

0

10

98

318

0

17

445

Ning

96

70

47

234

174

7

629

Facebook

223

32

50

330

0

0

637

The html file for ClearSpace contained a lot of java script code, so the comparisons within categories are rough. ClearSpace clearly produces a big page. Ning and Facebook have large pages and they can be even larger if you add more graphics, RSS feeds, videos, and auxiliary applications. Web Crossing was so small, I thought I should go back and try to find a bigger page, but I was too lazy. All of these pages were the page you might typically land on if you were going to go find or do something in a community space, so they were roughly equivalent from a functional perspective.

And a picture is worth more


It looks to me like ClearSpace falls right in the middle of these 5 in terms of page size. Of course a community member’s experience depends on a lot of other factors, including navigation (which with ClearSpace is partly the result of site structure that will be constantly evolving), how long the server takes to put together a page, and the amount of data that makes up a page. And different kinds of pages will have different sizes.

In the conversation there seemed to be several leading proposals about what to do:

  • Get more bandwidth for community members who needed it
  • Ask Jive to consider whether ClearSpace has a performance issue

I kept arguing that there was more concurrent stuff to be done than waiting for these, which sounded like somebody else’s job. Ideas that came up:

  • Work on making the member’s trajectory through the site more direct
  • Create a separate directory of some sort (e.g., del.icio.us links into it) so that fewer page loads are needed
  • Provide some kind of intermediary person or service who can retrieve stuff that low-bandwidth people request
  • Automate the production of a CD image of appropriate sections of the site and send it to people by snail mail every month or two

What else?

Print This Post Print This Post Email This Post Email This Post

Next Page »