The virtual church

Originally published on Sun, 01/27/2013

I’ve started connecting a few ideas, and this might turn into a major project, or it might end up as idle speculation. So please excuse this brain dump, and let me know if any of the threads lead you somewhere.

Thread 1: June 1995, Spokane, Washington

I was at the General Assembly of the Unitarian Universalist Association at the Internet booth. Ed Krol, author of The Complete Internet User’s Guide and Catalog, was there, along with a few other Internet experts. (Ed’s book had one short chapter on the World Wide Web, which was too new to be considered more than a curiosity at publication time. By 1995 it was starting to dominate the Internet.) There was a PC there with WinSock, a little program for connecting PCs to the Internet, and we were showing off the UUA’s new website. I was also trying to get people in UU young adult groups to give me their groups’ contact information, so I could add them to the directory on my website, But mainly we were trying to teach people about the Internet, in particular that it existed and that we believed it was the future.

A minister came up to the booth and, with stars in his eyes, he explained his idea for a virtual church, based on a MUD (Multi-User Dungeon, a precursor to Wizards of Warcraft, only with text descriptions instead of any graphics.) People would enter the virtual church, chat with one another, “sit down” in their virtual pews, “listen to” (read) his sermon, and then have a virtual coffee hour. We nodded and smiled and tried not to discourage him too much. The idea of a virtual church was a good one, as was the idea of combining online community with spirituality. But the only thing we knew about doing it was this: every idea out there sounded incredibly dull and completely unworkable.

Thread 2: Today

We’ve learned a lot about building community online. We have yet to build an online community which can replace physical community for most neurotypical people. But we’ve learned how to integrate physical communities with online presences. Facebook is primarily a place for connecting with people you know from the physical world. My church’s CyberCoffeeHour is a valuable extension of the physical church.

We’ve also learned what online communities are good for that physical communities aren’t. They can gather quickly and allow geographically diverse people to work for a common cause. Like real communities, they can be hard to build, but once successful are self-sustaining. And they can allow coordination over both time and space. Consider Wikipedia. Clay Shirky describes it as a coral: the living part is a tiny community of cells living on, and growing, the coral skeleton that builds up over generations. Consider, which has quickly grown into the best Q&A site for programming questions. The secret to its success is learning from past online communities to see which behaviors are toxic and which are beneficial. Then they applied techniques from video games and previous online communities to encourage beneficial behaviors and dissuade toxic ones.

Time and space are weird in cyberspace. You can engage and continue small conversations that last years– such as adding the latest information to an old StackOverflow question. You can play a game against a pre-recorded opponent, as if it were happening right now. You can do things that are physically impossible in a real-world collaboration.

Online we have computers to filter and analyze human activity, to provide greater insight and discoverability. Data mining, Page Rank, collaborative filtering. Letting computers do the number crunching and the data visualization, giving the illusion of artificial intelligence by leveraging human intelligence.

Unlike 1995, there is now a great deal of knowledge about what works and what doesn’t online. Not just how to build a thriving online community, but what sorts of things can be done with an online community, and what sorts of things can’t be done.

Thread 3: The Purpose of a Church

The other problem with the man’s vision in 1995 was that his idea of a church was centered around a church service: sitting in pews at a designated time and listening to a sermon. Since then I’ve learned a lot about the purpose of a church. As an atheist, and having grown up in a church full of atheists, I’ve never saw it centered around God. Ever since Darwin, intellectuals have predicted the imminent demise of religion. After all, once you are immersed in a workable theory of bottom-up creation, the notion that the universe started with the most complex, sophisticated being who worked his way down to muck and chaos seems absurd. Right? So clearly, as more people became educated, they will reject religion. Obviously.

Obviously this hasn’t happened in the last 150 years, and it isn’t likely to happen any time soon. There are even (gasp!) religious intellectuals in the world today. And there are even, believe it or not, churches full of atheists. What are they doing?

Rev. John Cummins, minister emeritus at my church, said his job was to comfort the afflicted and to afflict the comfortable. That’s as good a description as I’ve heard. A good church is a self-help group for both the troubled and the complacent. It’s a meta-charity: it connects people to good works, including charities. And unlike a charity, when you tire from volunteering, or the mission is complete, the community is still there. And it’s there to get you ready for the next mission.

Or to put it another way: a church is a self-sustaining way to organize people to be healthy and do good. People join because they want to be part of something bigger than themselves, and a good church delivers on that promise. It inspires people to be the best people they can be.

Bringing it together: the virtual church

Imagine a virtual community that comforts and sustains people. One that’s organized around the desire to be part of something bigger than one’s self, which engages people and inspires them to be their whole selves. An online community that values introspection, deep listening, thoughtful dialogue, and meaningful action to improve the world. A community that is connected to real-world churches and organizations. Which leaves the things best suited for physical communities to the physical communities. And which lets people do what people are best at, while bringing in computers to do what they are best at.

What would this look like? I don’t know yet. But we have the tools to bring it together in a way that we didn’t used to. This would be something less than an exclusively online community, but something more than an electronic extension of brick-and-mortar churches.

Part of the success of Stack Overflow and Wikipedia is that they have rules to limit their scope. This keeps them honest, and keeps them from dissolving into flame wars. There’s no Stack Exchange site for solving the world’s problems, because Stack Overflow and its sister sites limit themselves to answerable questions. Wikipedia doesn’t need fact checkers with Ph.D.s because it has strict citation requirements. When you open things up too much, it becomes hard to keep focus. And it’s exactly when people open up and let themselves be vulnerable– the time with the most potential for spiritual growth– when people are most likely to misunderstand each other and end up hurting each other. We know how to handle this in the physical world. (Some of us, at least.) We have yet to learn how to handle this online. That’s one reason we haven’t seen a virtual church yet.

I also take inspiration from the Quakers. They make decisions by consensus. This is unwieldy unless you have some ground rules. Rule #1: consensus is for matters of conscience, not opinions. You delegate the decision of what color to paint your church. This is a lot like the limits on online community topics. Rule #2: the spiritual community is more important than the decision. You can’t build consensus if people aren’t willing to listen to one another. Put another way: the decision is the byproduct of healthy spiritual engagement. Just as Wikipedia the encyclopedia is the byproduct of Wikipedia the community. Just as the large coral is the byproduct of the living coral. What open source software calls meritocracy looks a lot like what Quakers call consensus.

So where would we take this? The hard part is taking online tools that work well for limited discussions and focused collaboration (preferably on topics that don’t encourage flame wars) and opening them up to self-sustaining, enriching community organizing. With ties to real-world communities to help people engage each other as people. Allowing collaboration and engagement across expanses of time and space. In some ways we’re no closer than we were in 1995. And yet it might be time.

What do you think? Blog, tweet, post, or email me your ideas ( for how this could happen– or how this is happening. I don’t have comments up here yet, so comment wherever you found a link to this.

[Update 2/8/2013: I’ve had some more thoughts.]

Posted in UU

When AJAX is too slow

Back in the day, web pages were just web pages. What you see is (more or less) what you got. These days, we have web applications where there’s a lot of back-and-forth communication between the web browser and the web server. In essence, where you used to load a new page to get more data, your web browser just updates a portion of the page you’re already on. The new model is called AJAX.

That works great when you’re going to be interacting with a web application for a long time. But if you want to load the page quickly and then jump to a different page, AJAX can be a bad idea. I’ve got one of those situations at work right now. It’s a to-do list, where people choose a task to work on. Someone will eventually need to do all the tasks, but when the list is big they’ll either just click on the first one (to hurry) or look more carefully and do triage.

My first attempt was a single web page with all the tasks in an HTML table. When the table is moderately large (over 30 tasks), it took over a second to load. After a day of optimization, I got that down to 0.6 to 0.7 seconds. Not the 0.1 seconds that Google recommends, but reasonable. If it takes more than a second the user’s mind will wander while waiting for it.

Then I AJAXified it. Converted the simple HTML table to a YUI Datatable. My 0.6 seconds shot up to 1.7 seconds. Why? Instead of loading one web page and rendering it, it now (1) loads the web page, (2) loads the JavaScript program that displays the datatable, (3) waits for the web page to finish rendering before running that program, (4) the program calls the web server to get the column descriptions, and then (4) the program calls the web server to get the data. The column data (which takes 0.2 seconds to generate) is being generated in triplicate. The to-do tasks themselves take half a second (0.13 seconds each), but–and this is the real killer– we don’t even start on that until everything else is done.

So how do we make this quicker? We need to move as much as possible back into the original page: un-AJAXify it. In my case, that’s not easy. Behind the scenes, the web page is constructed with XHTML and then converted into HTML before being sent to the web browser. I’ve got a lot of helper code that assumes we’re doing XHTML, so that’s not negotiable. XHTML is a lot like HTML, except that we can’t just dump a block of JavaScript into it. Nor can we send it as XHTML and pretend it’s HTML. The web browser, upon seeing that, assumes we don’t know what we’re doing and tries to “fix” it in ways that break things. So to totally un-AJAXify it, I’ll need to go back to writing a simple (X)HTML table, and then write some JavaScript to convert that into the YUI DataTable.

Another option is to take the to-do list payload and treat it as a JavaScript script, so it gets loaded simultaneously with the other scripts and images on the page. This is what I call Poor-Man’s AJAX, because I used that trick back in the days when only Internet Explorer supported AJAX. It’s not quite as fast in my case as having the data in the page, but it should still be fairly fast, and it’s easier to program.

The moral of the story? Sometimes the new, fast way of doing things can slow you down, so it’s good to have some old-fashioned tricks up your sleeves. Though, this being computers, old-fashioned means circa 2004 or so. (When you’re really in trouble, that’s when you reach back to your circa-1980 performance tricks. But that’s a story for another day.)

Posted in UU

I'm so proud of my other kids, too

I’m one of the teachers for the senior high class at church. This year, the whole curriculum is one long service project. They could have chosen to count whales in the Pacific. Or they could have spent spring break in Louisiana. Instead, they realized that what was needed most–and where they had the most to offer– is comprehensive sex education right here in Minnesota. That’s one of the things our denomination does best, and they’re organizing a day-long event on May 17th. They won’t be instructing it– but it wasn’t hard to find highly qualified instructors.

Posted in UU

National Night Out

Just as 110-degree heat indexes are replaced with thunderstorms, tonight is National Night Out. Across the nation, there will be neighborhood block parties so that people can get to know each other. In my neighborhood, this is a big deal.

National Night Out is intended to be a crime prevention initialtive. I suppose the theory is that the better you know your neighbors, the more likely you are to report suspicious behavior. In fact, it’s more than crime prevention. It increases the chances that you can borrow a lawnmower when yours breaks. You make more friends. And it increases real estate values, since people value friendly neighborhoods.

In other news, Jordan visited the nurse/midwife yesterday, and she’s slightly dialated. With Sylvia, this happened a week before she gave birth. So the baby might be a week or two early.
Good thing we had the baby shower this weekend.

“Kicks” is due on the 22nd, three weeks from today. I’m not travelling at all this month, so I’m missing a trade show, a family reunion, and Opus/ConCentric. I haven’t missed an Opus since 1991, and I’ve only missed ConCentric for my sister’s wedding. There are rumors that they might put up a cardboard cut-out of me.


This weekend I was in Iowa City, IA, for the annual meeting of the Prairie Star District of the Unitarian Universalist Association. A church conference. It was also the last meeting as a member of the PSD Board of Directors. After two three-year terms, I’m required to retire.

Funny thing, retirement. Especially retiring at a conference where I’m a good 15-20 years younger than the average age. Still, I can tell I’ve been around long enough. I counted at least five exhibition booths that I was qualified to staff.

After the conference, I went out to lunch with Patricia, an old friend from college who lives in Iowa City. She hadn’t been to the conference because her parents were visiting and she was introducing her boyfriend to them. But on Sunday after church service her parents were gone, it was lunchtime, so she introduced her boyfriend to me. The three of us had a brunch that was tasty but bigger than necessary. Had the food been lousy, it wouldn’t have soured the experience, since the conversation was wonderful.

During the meal, a waitress asked us if we would be willing to let her turn the TV with the volume off on so another patron could watch. I said no, since I’m easily distracted and the TV was right above Patricia, but I also said we’d be leaving soon.

Several minutes later an agitated man came to our table, looked me straight in the eyes with a crazed expression, and explained that he was the person who wanted to watch the Bulls game. He asked that I tell him right when I was leaving, so he could watch the game. I said, no problem. He then repeated his request, placing special emphasis on the fact that I was the one keeping him from watching his game. I politely assured him that I would let him know when we left, and he went away.


Two of my role models are the Dali Lama and the late Fred Rodgers. Both seem to live in a world much like the world we live in, but with far less room for hate. I’ve heard an interesting story about why Eddie Murphy stopped doing his Saturday Night Live sketches featuring his meaner-spirited take on Mr. Rogers. Apparently Mr. Rogers called Mr. Murphy and said, “you’ve had your fun, and now it’s time to stop.” What would you say? He could point out that is wasn’t just fun but also his livelihood, and that he had every legal right to continue. That could be what he would say to the president or to just about any other famous person he does impressions of. But no matter how foul-mouthed you are, saying no to Mr. Rogers, the paragon of innocent, fair play, would be just too mean spirited.

I’ve always wanted to be like that.  To be the sort of person who, like the Dali Lama or Mr. Rogers, changes the world merely by how I choose to perceive the world.  That’s maturity.  Being someone who has no room in my heart for hate, and who changes the atmosphere around me by that fact.
I thought the man at the restaurant was rude, and he wanted to impress on me that I was annoying him.  Maybe it was because I had spent all weekend being an authority figure among my capable and mature elders.  Maybe it was because I had just been at an inspiring church service about homelessness.  Or maybe I am just becoming the person I want to be.  But it never occured to me that he might be trying to threaten me.  And even when it became clear that everone else had seen it that way, I didn’t feel threatened in the least.

In my view, he was crazed, rude, and not in control of himself.  And therefore powerless.  The message he was trying to convey was that I was inconveniencing him.  The subtext was that I wasn’t welcome there.  My response acknowledged his desire, and expressed a willingness to compromise.  But it didn’t acknowlege his view of the situation, in which I was nothing more than an obstacle between him and his goal.

By being polite, I was trying to calm him and therefore empower him.  The social environment– a Sunday brunch– rewards calm, polite requests.

I would have been happy to let him know when we were done, but I had more urgent business in the restroom, so Patricia’s boyfriend offered to tell him for me.   I suspect that everyone but me thought the man was trying to pick a fight.  I said that I chose to believe that he had meant it in the best possible way.  But that’s not quite true.  In that moment, I hadn’t chosen to believe anything– I had automatically believed that he was a lost soul whose obsession with a game had made loose control.

Maturity is when what you choose to believe becomes what you automatically believe.  In retrospect, I’m really impressed with how I handled the situation. And I choose to believe that my response was not triggered by a good weekend, rather it is the result of becoming who I want to be.

Posted in UU