Poverty, Phones and User Experience Meetup

Just a quick open invitation, if you are in San Francisco this weekend:
UPDATE: Changed the time to 4pm.
I’m meeting with designer-researchers Niti Bahn and Dave Tait on Saturday, April 19th, at 6pm 4pm at Atlas Cafe in San Francisco (in the Mission). Come have a beer with us! We’re talking generally about designing and researching technologies for the poorest people in the world (the “bottom of the pyramid“). Africa, Asia, mobile phones, sustainable change, environmental technologies, research methodologies, product design, application development, user experience … lots of stuff.
Niti is a researcher, strategist and international rock star; Dave is an award-winning product designer and researcher based in South Africa. Developing world cell phone geeks, too. Check out this article they co-authored for a feel for what they are into: Design for the Next Billion Customers.
If you’re interested, email me, or just show up!
Oh and, we’re doing some planning for a BarCamp unconference of the same themes this summer. Let me know if you would be interested in attending or supporting an event like that. Probably Late June or July.
Photo by meanestindian via flickr.
Posted at 4pm on 4/16/08
Permanent Link
Can the Cellphone Help End Global Poverty? (Readers’ Digest Version)
So I went to this Street Hacks talk 2 nights ago is here: http://www.janchipchase.com/ (it was awesome, you missed it. Clam Pizza.) And then it turns out Chipchase just got all famous this week, seriously: First a rad video in the Economist:
And then in the New York Times.
Here’s my Reader’s Digest version, since I know you graphing how much time you spend on blogs.
About Chipchase, who really is a super-nice guy:
“To an outsider, the job can seem decidedly oblique. His mission, broadly defined, is to peer into the lives of other people, accumulating as much knowledge as possible about human behavior so that he can feed helpful bits of information back to the company — to the squads of designers and technologists and marketing people who may never have set foot in a Vietnamese barbershop but who would appreciate it greatly if that barber someday were to buy a Nokia. …
About getting over your hatred of your cellphone (cursed device efficiency-obsession). This bit hit a nerve for me:
Understanding [stuff] requires forgetting for a moment about your own love-hate relationship with your cellphone, or iPhone, or BlackBerry. Something that’s mostly a convenience booster for those of us with a full complement of technology at our disposal — land-lines, Internet connections, TVs, cars — can be a life-saver to someone with fewer ways to access information. … Jan Chipchase and his user-research colleagues at Nokia can rattle off example upon example of the cellphone’s ability to increase people’s productivity and well-being, mostly because of the simple fact that they can be reached. There’s the live-in housekeeper in China who was more or less an indentured servant until she got a cellphone so that new customers could call and book her services. Or the porter who spent his days hanging around outside of department stores and construction sites hoping to be hired to carry other people’s loads but now, with a cellphone, can go only where the jobs are. Having a call-back number, Chipchase likes to say, is having a fixed identity point, which, inside of populations that are constantly on the move — displaced by war, floods, drought or faltering economies — can be immensely valuable both as a means of keeping in touch with home communities and as a business tool.
On the incredible value that can be provided by something so simple, like SMS:
“… public health workers in South Africa now send text messages to tuberculosis patients with reminders to take their medication. In Kenya, people can use S.M.S. to ask anonymous questions about culturally taboo subjects like AIDS, breast cancer and sexually transmitted diseases, receiving prompt answers from health experts for no charge.
On Microfinance and the bottom of the Pyramid:
… A cellphone in the hands of an Indian fisherman who uses it to grow his business — which presumably gives him more resources to feed, clothe, educate and safeguard his family — represents a textbook case of bottom-up economic development, a way of empowering individuals by encouraging entrepreneurship as opposed to more traditional top-down approaches in which aid money must filter through a bureaucratic chain before reaching its beneficiaries, who by virtue of the process are rendered passive recipients.
On “sente,” which as Chipchase put it the other night, “turns anyone with a cellphone into an ATM:”
Someone working in Kampala, for instance, who wishes to send the equivalent of $5 back to his mother in a village will buy a $5 prepaid airtime card, but rather than entering the code into his own phone, he will call the village phone operator (“phone ladies” often run their businesses from small kiosks) and read the code to her. She then uses the airtime for her phone and completes the transaction by giving the man’s mother the money, minus a small commission. “It’s a rather ingenious practice,” Chipchase says, “an example of grass-roots innovation, in which people create new uses for technology based on need.”
And then my favorite part, thinking about the pace of change and the oh noes! of the human condition:
“People can think, yeah, monks with cellphones, and tsk, tsk, and what is the world coming to?” he said. “But if you wanted to take phones away from anybody in this world who has them, they’d probably say: ‘You’re going to have to fight me for it. Are you going to take my sewer and water away too?’ And maybe you can’t put communication on the same level as running water, but some people would. And I think in some contexts, it’s quite viable as a fundamental right.” He paused a beat to let this sink in, then added, with just a touch of edge, “People once believed that people in other cultures might not benefit from having books either.”
And then my other favorite part, their research methodology, an “open design studio” in Ghana:
“There was a sheet of fabric strung up in front, with neat painted lettering that read: “Your Dream Phone. Share it with the world.” It went on to describe how the community was invited to come share ideas and drawings for the ideal mobile phone. Prizes were offered. So far, 140 people had shown up to sketch their dream phone.”
And on the Election Violence in Kenya (check out Ushahidi.com created by Erik Hersman, who told me that this article had been published today!):
“After the government imposed a media blackout in late December last year, Kenyans sought news and information via S.M.S. messages on their phones and used them to track down friends and family who’d fled their homes. Many also reported receiving unsolicited text messages to take up arms. The government responded with an admonition, sent, of course, via S.M.S.: ‘The Ministry of Internal Security urges you to please desist from sending or forwarding any S.M.S. that may cause public unrest. This may lead to your prosecution.’ “
Now you have to read the whole thing.
Command line metrics
Speaking of personal metrics …
simone:~ chris$ history|awk '{a[$2]++} END{for(i in a){printf "%5d\t%s\n",a[i],i}}'|sort -rn|head
80 cd
70 ruby
44 svn
33 rake
28 ll
24 ls
23 rm
17 ssh
17 df
12 mate
Personal metrics, infoviz porn & productivity obsession
I’ve recently been reading quite a bit about “personal metrics” (aka “attention data”, aka your “information wake”). Pictured are some examples from Last.fm, Nike+ and RescueTime (which I used for a few days this week! My Saturday computing is visualized below.)
As an infoviz junkie, I have to say that I have always *adored* this stuff. But the tonight I heard a very smart person say that, prior to Nike+, collaborative running was impossible.
Wait, really? How did we get to the point that we need a website, an RFID chip, and an iPod to coordinate running with friends?
And, perhaps more importantly, when did we start to forget it was possible otherwise?
Information visualization of this kind exudes authority and direction — it gives you clear goals, measurable output, definitive results. It facilitates competition, reward, efficiency and progress. Sexy, sure. But so does fascism.
In these graphs, I see a kind of quiet aplomb that says, “look, buddy, this infoviz shit clearly says that I know *so bloody much* about what I’m doing, and it’s very likely that I’m doing it all twice as well as you are, sub-aware urchin.”
There’s indeed an air of inevitability about it all, but why?
Is it inevitable that, just because it is possible, that we must practice self-surveillance?
Are we really doing it for ourselves, as a form of personal empowerment? When I use Last.fm to track what I listen to, how much more do I become socially self-conscious, using my playlist for competitive leverage among my peers? Can I become more socially invested in the metrics than emotionally invested in the music?
When I use RescueTime to track everything I do on my computer, how much more efficiency-oriented and self-conscious do I become? Can I become more passionate about my productivity than my job?
And with Nike+, does my daily run become more compelling just because it is more competitive and metrics based? Can I love the satisfaction of the graph more than the outdoors?
Is it possible to be satisfied by the graphs alone? Is it possible to be more concerned with your attention data than to the stuff you’re actually paying attention to?
Chipchase mobile phone talk tomorrow
Very much looking forward to this Adaptive Path event (San Francisco) tomorrow:
Street Hacks and Long Wows - An Evening with Chipchase, Burns, and Schauer
How long have you been using your current cell phone? And what happened to your previous model? If you live in a country like India, China or Ghana the answer is likely to involve the vibrant used phone market and, somewhere along the line the informal repair cultures - guys on the street who appear able to fix pretty much anything using little more than a flat surface a screwdriver and knowledge.
This presentation will highlight the mobile phone hacking skills available on the streets of cities from Accra and beyond, the sophisticated ecosystem of reverse engineered repair manuals and highlight how it challenges our thinking about what it means to make, distribute our products. The presentation will introduce Remade - a phone made from upcycled and recycled products.
Here’s the link on Upcoming: http://upcoming.yahoo.com/event/466964/
Via Peter Merholtz and AP.
Zimbabwe Election Watch Map
The Zimbabwe Election Watch is doing a pretty amazing job of aggregating media reports about the Zimbabwe elections and using Google Maps to present the results. I’m both impressed and depressed about it.

Posted at 3am on 4/11/08
Permanent Link
Favorite Rails tools
Next week I’m sure Rails will be completely passé in favor of Merb (managed by git, of course). But for now, here’s the stuff that makes me a happy programmer this weekend:
- Rspec With Xpath.
- Autotest/Zentest
- Continuous Integration (a practice not an app.)
- CruiseControl.rb (see this for Rails).
- CSS Dryer. Here’s my last ramble about server parsed CSS.
Populi.net: a mobile phone-based research platform
Now this is what I am talking about: A mobile phone based API for doing things like managing quantitative research projects. Supports a bazillion types of phones. Developed by a South African company. You own your own data. Sounds like a brilliant new project and I look forward to hearing more about it.
The platform was developed for Africa, with all of the barriers that normally come to mind: types of phones used, bandwidth availability and user patterns.Erik Hersman
Now the exciting part is that this isn’t just a single application, but rather a platform for application development; that’s Populi.net.
Then there is Mobile Researcher(what I think is the first and only app thus far developed for it). Mobile Researcher sounds itself really amazingly cool — you develop surveys on the web and then anyone can take them with their cellphones. They’ve got an interesting case study up on the web featuring the South African Medical Research Council.
Quoting directly from their case study, it’s obvious that there are some exciting ideas going on — I hope to see some further news that reinforces these findings (the only thing that makes me wary is that they have no pricing information, and no screen shots of the survey builder interface):
- Low cost Nokia 2626 handsets were successfully used by field workers to conduct surveys. Several field workers had never even sent an SMS before.
- On average, over 400 households were surveyed every day with data available for analysis and reporting before the field workers returned to the field the following day.
- Research staff and management were able to isolate and rectify issues whilst the study was in progress.
- Field worker productivity and quality was monitored on a daily basis for training and remuneration purposes.
- More than 25,000 households were surveyed in under 3 months.
- In total over 65,000 surveys were conducted.
Via MobileActive.
Two favorite artists
Glenn Gould; he was at his best when he was young, wearing his bathrobe, hunched waaay to low, and doing incredible interpretations of Bach … and doing this awful singing thing …
Just like he is here:
And Margaret Kilgallen, the archetype of San Franciscan brilliance:
Education is the only permanent social change
I’ve felt for a long time that education is the most important vehicle for social change. I mean, really how else does anything actually get done? You’ve got to have some kick ass teachers along the way, or you’re gonna be a vegetable. And vegetabledom happens to entire societies. Watch out.
So I’m a little depressed that I don’t get to work directly in the education sector anymore — I used to have a great time working on educational evaluation projects, and for a time I was a mentor. Now I’m a full time geek staring at an LCD, and I don’t so much ever get the thrill of seeing kids make the grand connections. (read: manipulating young minds, bwah ha ha.)
Anyway, just watched a great TED video from Dave Eggers. Give it 20 minutes and tell me if you don’t want to sign up to be a volunteer. It’s a hilarious talk anyway, even if you hate kids.
The Future of Money
If there is anything I hate more than cell phones, it’s money.
I mean, of course everybody *likes* money, but seriously, who wants to actually deal with it? Going to the bank, cutting checks to the landlord, saving receipts, budgeting, negotiating salaries, calculating the tip, trying to find stuff on sale, thinking about taxes … man, I have so many more interesting things to do. It’s all just exhausting, if you ask me.
But. As usual. I’m griping.
Imagine a world without access to banks and the services they provide - baseline services such as credit, money transfers, savings. For many of the world’s poor this is the everyday reality and it’s a space where in part due to the spread of mobile telephony there are disruptions and innovations.- Jan Chipchase
So, ok, reality check. When it comes down to it: A) Thank Allah I’ve got enough to live on and B) Thank Jesus that I have some sort of infrastructure to deal with it in the first place. As in — literally — I’m thankful that I have a bank, and receipts and all that crufty stuff that makes it all actually work.
Because a hell of a lot of people don’t.
Here’s Chipchase on it earlier this week: “Imagine a world without access to banks and the services they provide - baseline services such as credit, money transfers, savings. For many of the world’s poor this is the everyday reality and it’s a space where in part due to the spread of mobile telephony there are disruptions and innovations.”
And, Hey! Look! there they go again, those damned Cellphones! :)
Since this money stuff seems to have some potential influence on the future (who knew!), I’m actually really excited to be heading to BarCampBank San Francisco next weekend, to talk about cell phones and money. With a bunch of finance geeks. The point of this unconference is to dig into some of the newest, craziest ideas in finance technology, to “foster innovations and the creation of new business models in the world of banking and finance.”
I’m hoping for some discussions about peer-to-peer lending a long with a bunch of talk about the future of mobile currency exchange. In general I’m hoping that there are some folks there who really grok the reality that mobile phones are the most important platform for application development in the developing world.
In this context, I don’t care about iPhones, I don’t care about web apps; I’m talking about paying your rent via SMS. I’m talking about currencies and payment methods that aren’t defined by a government or even a bank!
Or something. This stuff is all so crazy I get the feeling nobody really knows what’s obviously essential vs. obviously stupid as hell.
Anyway, I hope it will be a good conference that gets to some of the more important ICT4D issues. You really never know with unconferences. If we all want to talk about Baudrillard and Obama, that’s what we’ll do. (They’re exciting that way. Who knows, maybe I’ll lead a session on user-centered design, like I know anything. It would be better than the Baudrillard and Obama session at least.)
Here’s to some exciting innovation at BarCampBank on Saturday … maybe I’ll see you there.
Happy Hosting
If you need a professional application server, particularly for rails, I’m recommending Rimuhost these days.
Their VPS plans are a reasonable deal, but, as always, the support is what is always most important when choosing a host unless it’s a super small static site, in which case the big guys like mediatemple, dreamhost, bluehost are fine. (Oh and check wordpress.com if you need a free site.)
Just now I’ve been getting really clear, friendly, (and super fast) support from Brandon at Rimuhost, and he showed me a great trick for removing a password from a ssl cert:
cd /usr/local/apache2/conf/ssl && mv sitename.com.key sitename.com.key.with_password
openssl rsa -in sitename.com.key.with_password -out sitename.com.key
Previously one of their techs was chatting to me well into the evening about a SQL issue I was having, free of charge, after he got off of work, just cause he was cool. and I love their VPS control panel, which lets you reboot, power down, and upgrade your RAM/HDD on the fly.
If you need a development and production box, they will clone your production VPS (for free), in under an hour. Fastest demo box I’ve ever set up!
Kestrel update.
Things are looking great so far with this hairbrained project of ours.
Fabulous, actually: Bolt | Peters is super interested in the project and wants me to work on it for some percent of my total time at work. Which is fan-freaking-tastic! Thanks BP!
If you have no idea what I am talking about, check out my last post about it.
But, in short, these are the three things that I love about Kestrel already:
Kestrel is a web application for farmers.
Kestrel is a participatory design project.
Kestrel is an open source project.
Kestrel is a user-centered project. (Deeply so; as in, we won’t build it if it doesn’t solve real-people problems.)
Ok that was four. Anyway, I’ve gotten so much great feedback already by email phone and comment — and I am now setting up interview dates. Let me know if you would like to talk on the phone for about an hour. We’ll be gathering feedback about the initial concept and looking at some first drafts of first drafts. Basically, we’re gabbing on the phone for a bit and I’m taking some notes.
You can participate in a number of ways:
- Giving feedback based on your professional experience (as a farmer, user researcher, designer, guru …)
- Giving feedback based on your experience with other applications for famers.
- Giving feedback as a CSA manager, owner, or eater.
- Giving feedback as one of my parents, friends or online weakly linked nodes.
- Etc.
Please leave a comment or email me at unthinkingly at gmail if you want to participate. You know you wanna. Research is fun!
We’re conducting real live conversations, not just email exchanges, though email is also a great way to give feedback. Also, note that, as much as possible, we’ll be recording interviews; part of the point of this project is that the methodology will be completely documented. We record stuff partly just part of the public nature of participatory design, partly because we want to get as much informed criticism as possible, but also because we want to teach other communities of practice to create a web app!
Dammit, if we (as a very small, active team) can build something that work really well for 50 farmers, then we probably have created something that will work really well for 50,000 farmers.
Thanks to tes, Andrea, Beck, Mary, Chris R., Rick, Ben, Mike, Nate and Anne for commenting already on the previous post; we already have strong support in San Francisco, Portland and Central NC.
Posted at 2am on 2/20/08
Permanent Link
In Praise of Shitty Programmers
There’s this great movie called A Beautiful Mind that I saw once, and in the last few months I’ve been quoting it a few times when talking about my programming career. Overall it’s a great story, but the one scene that really gets me is when he (John Nash, famous mathematician) is standing in front of a class at Princeton and he puts a particularly complex problem on the board.

It’s the first day of class, and he puts the problem on the board, and then explains how complicated the problem is.
“This problem will take some of you a few months to solve, … for others, it will take the rest of your natural lives.”
Assuming that I could ever even get into a Princeton math class (uh, no), this would be when I walked out. I would drop it and go back to something easier to BS, like a user experience research class.
I mean, what fun is working on things that you can never really GET? Things that you aren’t born with?
Anyway, this has basically been my experience since I’ve moved to San Francisco. As in, totally getting my brain fried by the stuff I see other programmers doing — programmers who were just born with it. I meet guys in coffeeshops and they tell me casually about the device drivers they’re writing. (Seriously, he was building an android or something.)
And thus, in spite of really really wanting to be a great programmer, and thinking that I was pretty good at it, I now realize that I am a shitty programmer, and I always will be. I mean, I think I’m probably around the 50th percentile of programmers, but the problem is that I know about 1% of there actually is to learn in Computer Science. I am the guy who spends the rest of his life trying to figure out the problem on the board. And this was not a good realization. I actually was pretty depressed when I thought about it this way. I was just so much happier when I thought I was a l33t hacker a few years ago.
I am consoled somewhat by the fact that you are probably a shitty programmer too (jk jk jk), but in the last week I had three much more useful realizations:
When it is ok to be a shitty programmer
- You absolutely love it. I saw this guy walking down the street with a beat up cello the other day. And I was thinking about this problem and saying something to myself like, “I’ll bet he is probably in the bottom 30% of all cello players.” This guy probably will never play Bach’s cello suites. But of course, he was on his way to a great gig and was gonnna have an awesome time with has prog-chamber-rock outfit. With a big ass grin on his face. That’s reason enough to work on some impossible problem long after everyone else has it figured out — just cause it’s a fun process.
- You bring something else to the table. If you are a shitty programmer but you can talk to people and help them collaborate, maybe do a bit of design, or do design research, or you just have a strong creative vision — these are all qualities that are missing from some of the greatest programming minds.
- You are working on something important to people. This is the point I was making a month ago about all of the recent web standards fuss: Amateurs are doing more important things than you are, fancypants. And that’s so rad. I mean, imagine that you are a brilliant programmer working on device drivers for some machine that counts money all day for some investment banker or something. Who cares? You can write a million programs that count a bazillion dollars and you will die really rich, but you won’t DO anything. Find projects that are really important, gigs that actually impact people’s lives in a positive way and you are already DOING much more important work than the most brilliant programmers (who are meanwhile busy deep in their cubicles, dying rich).
Don’t get me wrong. It’s not OK to write shitty programs. People deserve good software. That’s part of the point: if you are a shitty programmer, fess up. Find your role on a team. But once you have crossed some basic threshold of capability, and you can build something that is useful, and usable, and you have a great time doing it … then you can really get to work making a difference in the world with your work.
And anyway, being academically in the top 10% of your field typically produces completely perfect, completely conservative, crap. Right?
Sunday Afternoon Telly
Three videos for your Sunday afternoon enjoyment. (The first two are for the hippies, the last one is for the geeks.)
The Corporation
“Among the 40 interview subjects are CEOs and top-level executives from a range of industries: oil, pharmaceutical, computer, tire, manufacturing, public relations, branding, advertising and undercover marketing; in addition, a Nobel-prize winning economist, the first management guru, a corporate spy, and a range of academics, critics, historians and thinkers are also interviewed.” The Corporation

The Story of Stuff
“The Story of Stuff is a 20-minute, fast-paced, fact-filled look at the underside of our production and consumption patterns.”
Rspec User Stories
“The implementation of RSpec stories also fills a gap once filled by Rails’ integration tests. RSpec stories run against the whole stack of your application, including routes, controllers, models, and views.This 50-minute screencast introduces stories and shows you how to use them with pure Ruby code or inside a Rails application.” [This one ain’t free! But totally worth it. -ed.]
Ode To Ethan
The other day I referenced Jan Chipchase’s blog as “almost certainly my favorite.” This is patently false. I am a big fat liar when I get excited. (Chipchase is probably tied for second with a few other exceptionally cool writers.)
The blogger at the top of my feedreader is, really this time, absolutely, Ethan Zuckerman. I got into his blog when I was getting my journalism degree and I stumbled across “Global Attention Profiles,” basically maps of media blindspots. He was doing all of this research that combined media analysis with mapping with data scraping. Very cool.
When I was reading about that project in 2003 or 2004 I was totally turned on by the idea of writing scripts to create DIY datasets; I had no idea how to program at the time, but the stuff I have done with perl scrapers my whole new career in programming is directly attributable to Ethan’s inspiration 2 years prior.
So I kept reading his blog, and it got me into all freaking KINDS of stuff, among them (this is just the stuff that I directly attributed to him, by name, and took the time to write a blog post about):
- The Katrina Peoplefinder Project Absolutely. Incredible. Project.
- Cell Phones in the Developing World
- Geekcorps (Zuckerman was a founder)
- Hack Your on “Cantenna” for Bandwidth in Mali
- Open Source in the Developing World
- The Last Mile Wikipedia
- The Chinese Blogosphere
- The World Summit on the Information Society (This guy has incredible liveblogging prowess)
- Progressive Podcasting
- The One Laptop Per Child Initiative
- The “Dissident” Blogger Handbook (Or how to blog *really* anonymously)
- Conflict Diamonds
Ethan writes (at length, with incredible detail, humor and rich references) about the developing world at http://www.ethanzuckerman.com/blog/. As evidenced by the number of links above, I AM JUST A LAME HACK RIPPING THIS GUY OFF AS BEST I CAN. And I’m ok with that. He’s just that cool.
Cellphones FTW
I am obsessed with cell phones right now. Mostly I bloody *hate* them. I haven’t had one for six months, but work made me get one last week. So since they made me get one I am lobbying to get into some cell-phone-type research, partly to figure out my personal issues with cellular voice communication, most mostly because, clearly, undoubtedly, they are the most important technology in the world: they are the network of the developing world. As a BBC article put it a couple weeks ago: “”it’s time that we recognised that for the majority of the world’s population, and for the foreseeable future, the cell phone is the computer, and it will be the portal to the internet, and the communications tool, and the schoolbook, and the vaccination record, and the family album …”
“It’s time that we recognised that for the majority of the world’s population, and for the foreseeable future, the cell phone is the computer.The Invisible Computer Revolution
My question is: where the hell are the tools for people who use cellphones in this way? (In particular, where are the banking tools and educational tools?) In the first world we’ve got $600 iphones that can read your freaking mind. But a simple flashcard application for learning a few of the 62 languages spoken in Kenya? It’s not quite as sexy.
So this is the part that I am really obsessing over, as a developer. It just seems to me that there is huge opportunity to really do some huge good by, essentially, hacking on SMS. Or, sure, wait a few years and use cell phones as a proper thin client. (But im more interested in the ultra ultra thin approach, something that would work with one of the classic Nokias, which are used everywhere in Africa . Design for maximum constraints, right?)
In the last few years I wrote a couple of posts on cellphones, one about “the powerful effect that even a slight improvement in communication can bring” (wrt africa) and another about badass Iqbal Quadir. Oh and a technical/usability one about developing +designing reliable, readable sites for really, really small screens.
Anyway, new content. Here’s a fantastic video from Jan Chipchase at TED, a hero of cellphone ethnography. My favorite line: “”if you want a big idea you need to embrace everyone on the planet…. With another three billion people connected, they want to be part of the conversation. Our [rich people] relevance is about being able to listen.”
Static link: http://www.ted.com/index.php/talks/view/id/190
Chipchase is a GENIUS blogger; pithy observations on behavior/expectations/norms from all over the world:
please. read. subscribe. its almost certainly my favorite blog.
Posted at 12am on 2/2/08
Permanent Link
Kestrel: A Simple Web App for Community Supported Agriculture
I’m just getting started on a new project nicknamed Kestrel.
The basic idea a simple and user-centered web app that helps facilitate ordering, billing and member management for CSA’s. Things are JUST getting started and I am soliciting help in doing some feasibility research as well as a basic evaluation of existing CSA management applications.
A CSA, (for Community Supported Agriculture) is a way for the food buying public to create a relationship with a farm and to receive a weekly basket of produce. By making a financial commitment to a farm, people become “members” (or “shareholders,” or “subscribers”) of the CSA. Local Harvest
So far were in stage zero: Over the holidays I was brainstorming with some of my agri-geek friends in North Carolina, notably tes thraves. (I like to say that tes is to poverty + agriculture issues as Jay-Z is to hip-hop — a badass producer who just makes things happen.) :) So far there’s been a lot of excitement about it from both consumers and producers.
- Stage zero is lots of talk over drinks around the New Year’s bonfire, basically. Check.
- Stage one is research about what real CSA’s need.
- Stage two is getting a few CSA’s to pilot test a first iteration for a season.
- The rest is iterating and improving based on real feedback. This is the hard part. And the fun part.
The only real spec so far is an application that is incredibly simple and driven purely by a real understanding of the users’ needs.
There is no timeframe yet. I imagine things could take a year or so; nobody’s getting paid by Kestrel.
Codewise, I’ve done some simple scaffolding of the application, but really I think the requirements for this type of thing are simple — the codebase is not really the issue. Just a few forms, login/out and billing. So I’m not looking for help from coders as much as I am trying to garner some interest from A) the users of the application, farmers and consumers and B) people with experience in user-centered application design and user testing.
The goal is a management tool that would simplify the process of ordering food from your CSA, but also serve as an educational model of CSA best practices.
Right now I’m thinking a hosted solution, almost certainly built in Rails. And of course completely Open and Free.
The basic use case comes from my mom : she doesn’t like very much lettuce in her box. Last year she got six heads of lettuce at a time. So ideally mom could just login and set her preference, pay her bill, update her address, give notice that she’s out of town for a month, etc. The farmer then knows exactly how many heads of lettuce to harvest, and can keep the rest in the ground until going to the market on Saturday.
It’s not a new idea, I know. There are several in San Francisco. I haven’t seen them yet. But I am sure that they’re not as good as they can be and I want to put the users at the front of developing a new open source solution.
CSA’s are great for environmental, social and economic reasons. And they’re really just a lot of freaking fun. So if you are a consumer or producer with opinions about what you’d like to see in this type of software, let me know in the comments or unthinkingly-at-gmail.com.
Posted at 10pm on 1/2/08
Permanent Link
OK, Nevermind. Actually, The Future is in the Past
I’ve been following the recent debate about the future of web standards and whatnot. It’s been making me think a bit about what I really want to see in the future of web standards. And I can’t get this great California zine Cometbus out of my head. (Well, ok, by “following the recent debate” I’m just trying to find a smart way to say I read a few blogs. Every single one of which is linked to on Tuesday by Jeremy Keith. Except this one from Thursday Zeldman post. Zing zing. Good stuff. Read the comments for sure. Or just read my post first if you want to feel good about skipping it altogether.)
Anyway, lemme explain.
In its essence I think that the call for better, more ambitious HTML and CSS specifications is great. Obviously it’s crazy that we’re just evolving to CSS 2.1 candidate recommendation after what, six years? (And I could have sworn we already passed the mark but, ok, I’ve complained enough about it enough this week).
Anyway, it’s all well and good. Things are slow. (per Zeldman: “a slow bitch.”)
Besides, really, most of us wouldn’t have a job if it was not for IE6. :)
But one of most the interesting points raised somewhere in the debate goes something like “We need to sometimes ignore web standards and screw around with doing cool stuff. Then the people who write the specs will HAVE to include all these cool ideas we came up with. YAY! Bring on the browser wars!”
I think this is awesome. Geek out with your canvas elements already.
One thing I would observe, however, is that most web developers are not professionals. And this is a Good Thing. The network is good because it is made up of people, real people, who are much better at Whatever They Do than they are at creating websites.
One thing I would observe, however, is that most web developers are not professionals. And this is a Good Thing. The network is good because it is made up of people, real people, who are much better at Whatever They Do than they are at creating websites. They write about industrial ergonomics or your new nephew or architectural criticism or lolcats. Smart stuff, stupid stuff, it all aggregates into a wonderful brown sludge and the one thing that 99% of the network has in common is that they can’t write code to save their life and really they could not give a damn about about all. At ALL. And they never will of course.
Amid all of the verysmart talk about the need for more advanced specifications, we should remember that no one really pays attention to them. They don’t even know that they freaking exist. I mean, do you care about the fancy traffic-law setting bodies that surely exist? No, of course, not you just want to go somewhere.
So the reason this whole debate doesn’t matter for the millions of Real People is that people don’t need to write code anymore. They just need tools to help them publish their content. And, oh yeah, let’s remember that there are BILLIONS of people don’t even have the luxury of doing any of this stuff yet.
Somehow, Real People people need tools that help them just go somewhere. Nothing in any spec matters until it filters into the tools that real people can use, like blogging platforms, CMS’s , and IDE’s. So let’s keep out heads and remember there is so much more to this “web” thing than proper validating HTML5 or CSS2.1 or XHTML2 fancy things, as good as those will be.
Thinking about this seems depressing at first. The issue really is about browsers and blogging tools, content rendering and content creation. The problem is even bigger than IE (which, holeeshit, passes ACID2!!).
But, for me at least, it is a reminder that we already have more capability on the web than we ever could use.
So yeah, think of the photocopier and zines.
What can you do with a fancy new photocopier that you couldn’t do with one from 10 years ago? Not much. Once you’ve cleared the hurdle of cheap, pushbutton printing, you’ve launched yourself into a world of possibility greater than most people can deal with. You accomplish the most important part of the web just by being a great writer, and photocopying it. So I would submit The most important thing about the web is simple, powerful, ultra-low-fi communication, multiplied over and over and over. Connecting people to people. Photocopier innovation, traffic rules, W3C debates … they just really doesn’t matter to the DIY kids making zines, because, well, who CARES?
The best thing you could do is give people more photocopiers, and make them really really easy to use. Make em cheaper, make more of em and screw the Canon XTRZ-992834 with laminating and pink staples. Screw variables in CSS. Because lots of people haven’t got photocopiers, much less telephones, much less usenet or blogspot and definitely none of us really have the capacity to use any of it to its community-centered potential.
Just sayin.
The Future of CSS is Here …. It’s Just Not Evenly Distributed
In light of the litigious, melodramatic backwater that the CSS spec has fallen into, I thought it would be worth writing up a teensy, non-brilliant-but-incredibly-useful DIY hack for stylesheets.
In my mind, there is really no way of getting around CSS if you are working on the web. CSS makes your site ugly or beautiful, rendering a site in just a split second of processing right before your retinas pass information to your brain. I love it; it’s one of my trustiest tools. Back in the day I did enough hard time with tables and inline FONT and MARGIN stuff that CSS really was a revelation for me.
So yeah, CSS, I love you, even if you are spooky and crusty and awkward sometimes. And did I mention annoying? Ok sometimes REALLY annoying. … Sometimes it’s late, stuff’s completely hosed by SOMETHING in this bloated stylesheet, and I realize that I’ve just learned to survive on CSS island with a sturdy coconut helmet and strong superstitions about absolute positioning or a negative margin or that extra wrapper div.
That’s mostly Microsoft’s fault, but besides all the browser bugs, it’s really a pretty dumb language. Seriously, what does it take to do a just bit of real vertical positioning without total hackery? And aren’t computers good at this whole MATH thing? So why can’t I do p { width:(100% - 40px);}
Huh? I’m talking to you, CSS. I would break up with you if my salary didn’t depend you.
ANYWAY, there’s a good open source philosophy that goes something like “don’t bitch without a better idea” so here’s three issues that have a solution that I’d like to humbly point out actually have an existing solution.
First, The Solution:
Parse your stylesheets on the server! You can do this in all kinds of languages and frameworks. Hell, you could even do it client-side with javascript if you really wanted to, but for my purposes I’m banging on Ruby on Rails and have fallen in love with the CSS Dryer Plugin which processes the stylesheet dynamically with ERB. (NOTE: READ THAT THERE FULL POST BEFORE JUMPING IN, COWBOY. There’s an important bug with comments in blocks.)
This is decidedly a Not New Idea. But for some reason it’s Just Not Done among most of the developers I work with, who I guess are probably also wearing coconut helmets and carrying around good luck charms.
And, let me tell you, this is decidedly one hack that I no longer am without. As long as you are already proficient with CSS it takes about an hour to figure it out, and then you will never look back. Seriously. This is a good one. I don’t often write much technical stuff here.
Here are the gigantic CSS annoyances that server-side CSS parsing solves for me:
Problem 1: No Variables!
This is a trivial problem really when you start parsing your stylesheet. Most useful for setting a few color variables at the top of the sheet, then you can swap out pallets sitewide. Whiz Bang! Reason enough.
Problem 2: Ridiculous Redundancy
A decent stylesheet has some degree of scope, which makes your stylesheet more readable and your styles most contextual. That is, instead of just saying p {color:fuchsia;} it really is best to have something more specific like div.column p {color:fuchsia;}. But then when you have to repeat the contextual selector (the stuff in front of the p element) every time. So CSS Dryer lets you turn this:
body#homepage div.column p {color:fuscia;}
body#homepage div.column p span {color:black;}
into this:
body#homepage
div.column {
p {color:fuscia;
span {color:black;}
}
}
}
WOOO! This is completely DRY code that renders into exactly the same thing as above before it hits the browser. So this example actually adds a few lines, sure, and it looks more complicated at first, but trust me, this is MONEY. On a stylesheet for a decent size application I ended up with about 25% fewer lines. This is great and all, but the real benefit of having every style nested in its proper context is actually solving …
Problem 3: Stylesheets Get Really Bloody Complicated for Big Sites and Teams
Have you ever been on deadline and cranked out a big stylesheet at 3am and then had to come back to it in a month and actually make a tiny change, only to realize that hey, look, it seems like this should work, but somehow the damn padding on this div is being set in three places, and when I fix it the good and proper way just makes things go ALL to hell and now for some reason I’ve got to put negative freaking margin on this thing but it looks right so I guess I better get back to real work? I hate that. I write bad CSS. A lot. I’m busy and dumb. And it’s maybe that I’m just distractible and impatient but dammit I’m gonna blame it on the fact that this stylesheet is HUGE and I’m tired and I can’t Firebug this page enough to find all the relevant styles. You could also blame it on the other dorks on your team who don’t use the same organizational rules that you’ve been using for years. Blame it on you ex-girlfriend. I don’t care. Cause nested CSS fixes this junk COLD. Take an afternoon and rewrite the project you’re on with nested CSS and you will have a stunning beauty of a stylesheet in which EVERYTHING has it’s place. You feel like a samurai when you come back in a month. That style is set in ONE place. It won’t save you from IE, but you feel like you’re back in touch with the craft.





