Cellphone System Usage Guide
Table of Contents
installation and maintenance guide
Simple Demo
Email or text message a barcode, eg 18675309, to score@…
score@… should reply with
18675309 is Taza - BILUMI Commemorative Launch Bar Community Involvement: 9.0 Ecological Sustainability: 8.5 Organic Adherence: 7.0 Labor Relations: 9.0 Add more at http://bilumi.org
Expanded Demo
Our server accepts a number of domains as if they were bilumi.org. These include (case does not matter):
- bilumi.com
- bilymi.org
- bilymi.com
- BuyItLikeYouMeanIt.com
- BuyItLikeYouMeanIt.org
- ThoughtAndMemory.org
Sending email to cocoa or score uses our production database and production cellphone code. You will get real reviews and ratings via stable code.
Sending email to query uses our development (aka staging) database and development code. You will get fake reviews and ratings via cutting-edge unstable code.
What kind of messages (queries) can I send?
Currently: a single barcode.
On deck:
- list of barcodes
- list of product names
- list of company names
- search terms
Can I SMS a phone number?
Not yet. Setting up a SMS gateway or doing something scrappy with existing API's is complicated beyond our current volunteer effort. Shortcodes (5-digit SMS phone numbers) are hugely expensive.
Currently we are working to make the existing cellphone system and web application featurefull, usable and robust. Near the end of duck (August) we will re-evaluate potential tasks.
I didn't receive a reply. What do I do?
Send us (dev-flock aatt mit ddoott edu) the number or email from which you sent the message, as well as the message itself, including the subject line if applicable. Thanks for the feedback!
Note that we do log when errors occur, so we may already be working on the problem. Still, it's nice to know you care, and we can't be sure we're catching every error.
Why is the barcode not in the database?
We first lookup the barcode in the BILUMI database. Currently, very few BILUMI products have barcodes.
If we can't find a BILUMI product with the requested barcode we then try UPCdatabase (another open source, non-profit, community-driven project). The UPCdatabase, if it locates the product matching the barcode, sends back information about the product, such as its name and weight.
In order to connect the UPCdatabase product with a product or company in the BILUMI database we need to match the product or company names. This is a little tricky and isn't done yet. It's hot on our plate once we beef up the testing and logging infrastructure.
Check out the Cellphone Developer Guide? for the full scoop.
It looked up a different barcode than the one I asked for
Oops! The emails (whether from a computer, smart-phone or SMS) our system receives contain one to two dozen lines of header information. It looks something like:
_From a.downy.hint@gmail.com Thu Jun 5 02:44:05 2008 _ _Return-Path: <a.downy.hint@gmail.com> _ _X-Original-To: score@bilumi.org _ _Delivered-To: score@bilumi.org _ _Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.244]) _ _ by thoughtandmemory.org (Postfix) with ESMTP id 1A2C275AEC _ _ for <score@bilumi.org>; Thu, 5 Jun 2008 02:44:05 -0400 (EDT) _ _Received: by an-out-0708.google.com with SMTP id c28so109144ana.104 _ _ for <score@bilumi.org>; Wed, 04 Jun 2008 23:44:04 -0700 (PDT) _ _DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; _ _ d=gmail.com; s=gamma; _ _ h=domainkey-signature:received:received:message-id:date:from:sender _ _ :to:subject:mime-version:content-type:content-transfer-encoding _ _ :content-disposition:x-google-sender-auth; _ _ bh=47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=; _ _ b=NToIh1+SYImYPV0yDmqBQCPmpE4sViHpQApro9lQ/BBCQr/YQaLHAV7DOiIG0CRUCU _ _ mKRh+ShUQdFzZsEq0g2ecd0Car1dPBrUZkUkFhUUOoo+mHyzg6tWXiGbi2syyclSLL3y _ _ f1Ou5LPoxfX7Hg4UkaDSP46Cc7qvUqyOCWmIs= _ _DomainKey-Signature: a=rsa-sha1; c=nofws; _ _ d=gmail.com; s=gamma; _ _ h=message-id:date:from:sender:to:subject:mime-version:content-type _ _ :content-transfer-encoding:content-disposition:x-google-sender-auth; _ _ b=o3GbyEqp5P90WlS2a2nLhsBk9Iq4rDb7Dg5lBlCQjuzxq/QTJRi1KBEBB+StMamFm2 _ _ q0Dar/7NQNZR9v/zChzUiqmek3lDF8LLcbQJqy4jc9zWTEUPUcKtwY41VspdV34sNcaG _ _ 9517zarhpXFS3iUTzibf4yKDm88mr80MmtKxg= _ _Received: by 10.101.71.16 with SMTP id y16mr1683937ank.121.1212648244747; _ _ Wed, 04 Jun 2008 23:44:04 -0700 (PDT) _ _Received: by 10.100.38.2 with HTTP; Wed, 4 Jun 2008 23:44:04 -0700 (PDT) _ _Message-ID: <c570b9dc0806042344p42cf4b9euf97baa61213e135@mail.gmail.com> _ _Date: Thu, 5 Jun 2008 02:44:04 -0400 _ _From: "Lucy Mendel" <lucy@thoughtandmemory.org> _ _Sender: a.downy.hint@gmail.com _ _To: score@bilumi.org _ _Subject: 18675309 _ _MIME-Version: 1.0 _ _Content-Type: text/plain; charset=UTF-8 _ _Content-Transfer-Encoding: 7bit _ _Content-Disposition: inline _ _X-Google-Sender-Auth: 99fa63d10d31510c _ _ _ free as in freedom _ _
The above email was sent from lucy@… through my gmail account a.downy.hint@…. The subject of the email is 18675309 and the message body is free as in freedom.
Most importantly, it contains a lot of numbers. UPCs (now called EANs) come in various sizes, from 5 digits to 13 digits. The last digit of a UPC is a checksum, so we might be able to sort out which numbers are valid UPCs.
What we currently do is first check the subject line. If it finds a number there we're good. Otherwise, it reads the email in reverse order looking for the first number it finds. This means we read the message body before the header. The only problem with this is that some emails send signatures, which might include numbers. Ideally, our system would keep trying as long as it found numbers that turned out to be invalid UPCs.
Interested in working on this? Check out the code and let us know.