הֲבֵ֥ל הֲבָלִ֖ים הַכֹּ֥ל הָֽבֶל 10¢ Contact
 
« Game Control Concept – Swordsman
A Programmer’s Greatest Enemy »

How Siri Works

By Jeff | Published: October 5, 2011

NEWS FLASH: Check out House of Shadows, my latest game for iPhone, iPad, and iPod Touch.

Once again someone has offered us incredible artificial intelligence, and once again we are bracing for disappointment. It happened with handwriting recognition on the Newton, which proved to be slow and clumsy. It happened with the not-as-smart-as-they-first-appeared creatures of Lionhead’s Black and White. And remember the Kinect debut video showing a kid interacting with an on-screen villain effortlessly, the AI character perfectly intoning the kid’s name? Kinect brought some of the innovations promised in that early teaser, but clearly the video implied a level of sophistication and polish that turned to vapor in the end.

But it’s Apple this time, with Siri on the iPhone 4S. And although Apple has screwed up before—witness the aforementioned Newton—if anyone has the motivation, the resources, and the smarts to get AI right, the iPhone dev team is it.

Having programmed and taught artificial intelligence in video games for almost twenty years, I am deeply skeptical—you might almost say cynical—about claims to offer a truly useful and usable intelligent agent. Ordinary people—those who don’t study AI—have big hopes (and fears) about AI, and marketers prey on these fantasies. In reality AI is, on the whole, a hoax. Virtually everything we call “AI” today is either a theatrical display of essentially scripted behavior (that’s how most game AI works), a massive database (such as Google Suggestions and expert systems) or a vague and decidedly unintelligent jumble of neural networks and genetic algorithms. So-called “artificially intelligent” programs are generally either too limited or too clumsy to be useful in helping ordinary people do ordinary tasks. So will Siri be different?

Despite my skepticism, I actually think the answer is “yes.” I think Siri will do more or less what Apple promised yesterday.

The reason it will work is that it actually has fairly modest ambitions—more modest than they first appear.

Take a close look at the Siri site. What exactly can you ask Siri to do? Apple gives you a list:

  • Ask for a reminder.
  • Ask to send a text.
  • Ask about the weather.
  • Ask for information (from Yelp, Wolfram|Alpha, or Wikipedia).
  • Ask to set a meeting.
  • Ask to send an email.
  • Ask for a number.
  • Ask to set an alarm.
  • Ask for directions.
  • Ask about stocks.
  • Ask to set the timer.
  • Ask Siri about Siri.

The last item simply gets Siri to repeat this very list.

Now if you consider the list closely, what you’ll notice is that it is not as open-ended as it first appears. Siri can’t understand just anything. It can do a certain set of key tasks. In a nutshell:

  • Interact with the calendar.
  • Search contacts.
  • Read and write messages (text and email).
  • Interact with the Maps app and location services.
  • Forward search phrases to certain pre-defined data providers (Yahoo! Weather, Yahoo! Finance, Yelp, Wolfram|Alpha, or Wikipedia).

This is still an impressive and—most importantly—wildly useful set of functions. But it is a limited, focused set. And that’s what makes me think Siri’s “AI” may actually work.

Looking at it from a programmer’s perspective, it seems to me that Siri consists of three layers: a speech-to-text analyzer, a grammar analyzer, and a set of service providers. If all three of these work well, then Siri will be fun and helpful. If one of them is as troubled as traditional intelligent agents have tended to be, then Siri will go the same way those other agents went—tumbling into the trash heap of misguided innovations.

A speech-to-text analyzer is a piece of software that takes audio and turns it into text. Simple as that. Except it’s not so simple—systems like Dragon have been refining this process for years. It’s really hard to get right, and I’ve never seen an analyzer that didn’t jumble a significant portion of what I say. (If you’ve got a Mac, you can experience the joy of being constantly misunderstood by a computer by playing with your “Speech Recognition” settings. Try a game of chess using nothing but speech. It’ll miss your move as often as not.)

Siri, however, has a much easier job than Dragon or your Mac’s Speech Recognition facility. And that, again, is because its job is limited and focused. It doesn’t have to understand just anything you might say. It only has to understand words and sentences that pertain to appointments, contacts, messages, and maps. This makes it easier for Siri to pick out what you’re saying, because there are only so many things that you’re allowed to talk about.

Another advantage is physical. A phone has a much better chance of hearing your voice up-close than a computer does. Phone microphone technology already incorporates a degree of noise cancellation. So your phone is more likely to be able to hear you clearly, even in the midst of noise, than your computer is.

Despite these advantages, Siri is likely to misunderstand much more than it seemed to during yesterday’s Apple presentation. Did you notice how carefully Scott Forstall asked, “What Is The Weather Like Today?” Each word clearly articulated. Contractions fastidiously avoided. Reading from a script. Siri understood him well, but note that this was in a quiet room—no TV going in the background, no car humming, no coworkers laughing, no kids arguing. I think it’s possible that Siri’s voice recognition could learn to understand my voice pretty darned reliably even under those conditions. But I wouldn’t be surprised if it often gets me wrong, sometimes with disastrous results. Just think how much fun it will be when I say, “Send a text to Andrea that says ‘I love you,’” and Siri hears, “Send a text to Andrew that says ‘I love you.’” I look forward to seeing how reliable it really is.

The job of the speech-to-text analyzer is to turn your voice into written text. Text on its own, however, is just a jumble of letters to a computer. An additional piece of software is needed to turn the text into something useful. Siri needs to recognize that the string “send a message…” maps to the action of creating a new text message. It needs to understand that the phrase “my son” refers to the contact “Liam Wofford.” It needs to connect the word “here” with your current GPS position. This complex mapping of strings to functions is the job of a lexical and grammatical analyzer.

This is a tough job. In the ’80s there was a game company called Infocom that dramatically raised the bar on how computers understand text. Before Infocom, text-based games could only understand two-word phrases. “Hit ball.” “Eat mushroom.” Infocom gave their games the ability to understand whole sentences, complete with nouns, verbs, objects—even prepositional phrases. You could tell the game, “Hit the ball with the wooden bat,” and it would reply, “You swing with all your might and knock the ball out of the park!” It was amazing, and it made for some terrific games.

Siri has taken that kind of grammatical analysis to a new level. But despite the gap of almost thirty years, Siri is inches—not lightyears—beyond Zork. Grammatical analysis still comes down to searching a string for certain key phrases and using those phrases to build up a simple model of what the user wants to do and what he or she wants to do it to. Again, Siri’s limited focus on appointments, contacts, messages, and maps makes this technically viable.

What makes Siri’s grammatical analysis impressive is its integration with other aspects of the phone. One of the most exciting parts of the demonstration was when Scott Forstall told Siri (at 79:45 in the linked video), “Remind me to call my wife when I leave work.” Along with understanding that “leave work” means move outside of a defined GPS area, Siri had to know that “my wife” mapped to Scott’s wife—an entry in his Contact list.

But how did Siri learn who Scott’s wife was? The demo didn’t show us, but I have a suspicion about how it works.

The Mac Address Book has long had an entry for setting up relationships between contacts. I can indicate who my spouse is in Address Book. I suspect that the iPhone Contacts app will gain similar new fields in iOS 5. Siri will use this information to create the mapping between the phrases “my husband”, “my wife”, “my spouse” and the person whom you’ve identified as your spouse. This mapping will no doubt be mechanical, not “insightful.” Siri won’t understand who your spouse is—it’ll just record a string-to-Contact mapping. For example, you might be able to say “my husband” and have Siri find your wife. As far as I know, Address Book doesn’t keep information about the sex of each person, so Siri will probably treat all “spouse” words as identical. Let’s try it when it comes out.

Will Siri be able to recognize the phrase, “my boyfriend” or “my girlfriend”? Perhaps. What about arbitrary terms of endearment, like “my pookums” or “honeybuns”? Again, it’s quite possible. Address Book has an option for “Custom…” in the relationship field. You can add a custom label “pookums” and indicate your spouse or girlfriend or dog or whatever there. Now if Siri hears you say “pookums,” Siri can recognize that contact.

What I hope you’re seeing is that what Siri does isn’t science fiction and it certainly isn’t magic. It is the old and still-developing technology of speech-to-text analysis and the old and fairly mature technology of simple grammatical analysis and string matching.

And then there’s the third component, which is the set of services that Siri can send your commands to. This is the most modest and familiar part of the system. You already have a calendar app and you can press buttons to view and create appointments. Siri will push those buttons for you, in essence. You already have a maps app and you can search and find directions there. Siri will enter your search text for you, and can toggle traffic on and off by voice rather than by button. You already have Wikipedia and you can type search terms into it. Now Siri can type your search terms for you.

At this level, Siri isn’t doing anything you can’t already do. It’s just doing it hands free, by voice. This, clearly, is the big benefit of Siri, even if it’s not the most technical interesting part of the system.

Whether Siri is successful will depend fundamentally on the quality of its speech-to-text analyzer. If it can understand me, it will work. The grammatical analysis and service providing parts of the system are relatively modest in terms of technical difficulty and I suspect Apple has these in hand. I don’t want to trivialize these technologies—judging from the demo, Apple has done it’s usual remarkable job of building a slick and natural-feeling user experience, and that takes tremendous skill and effort. But whether Siri becomes the model for how humans interact with computers in the future or whether it gets laughed off the stage of technical innovation like so many AI systems that have come before hinges on whether it can tell the difference between “Andrew” and “Andrea”—especially when I’m in a crowded coffee shop, speaking with a Southern drawl, with a stuffed-up nose from a bad cold.

I hope it does work. I’ve wanted this functionality for years—decades. I want it in my house and my car as well, but if I can get it on my phone the rest will follow.

Apple also deserves credit for doing some delightful things to amplify the “theatrics” of Siri’s AI. By that I mean that they’ve cooked up little alternative phrases and responses that make Siri seem smarter than it (she?) is. Like she’ll say, “Let me check on that,” or “Let me think,” when a traditional computer would spin a spinner or just say “Loading…”  In another demo video (see below) a woman asks whether it will be chilly in Napa Valley. (Actually she asks first about San Fransisco, then changes the location to Napa Valley without having to repeat the question. Nice.) Siri replies, “Doesn’t seem like it.” That’s a very nice alias for “No.” It doesn’t take any more “smarts” to say “Doesn’t seem like it” than “No,” but it sounds a lot smarter. More natural. That’s what I mean by “theatrics”—making the computer seem smarter by changing the way it expresses output. Again, I don’t want to trivialize what Apple has done—theatrics are important and getting them right is non-trivial. But it’s important to keep a realistic view of how intelligent Siri really is.

Here’s Apple’s Siri demo trailer.

Be Sociable, Share!
  • Tweet
This entry was posted in iPhone, programming, technology. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.
« Game Control Concept – Swordsman
A Programmer’s Greatest Enemy »

57 Comments

  1. Roddie
    Posted October 5, 2011 at 9:45 am | Permalink

    Hey Jeff,

    first of all, let me congratulate you on the most realistic and insightful article about Siri I’ve read so far.

    Now, as to Siri itself, I DO think that all the limitations in its functionality might actually render it completely useless in everyday life. Sure, there’s a grain of truth in saying that Siri could be used because it might work well, but what is that point of voice control when Siri can only do so much? Most of the tasks it can perform I hardly ever do on my iPhone anyway…

    Unless there’s a way for Siri to do the things that really matter, it will just turn out to be another misguided (and forgotten) innovation. It should do things like “Search youtube for that”, or “Change my facebook relationship status to single”, or “access cnn.com”, “open “, “launch that app”. Because that’s what we expect from a real assistant, a person who will do important things for you, and not just check the stocks, set up alarms and create reminders (How often have you REALLY used reminders?).

    At least, that’s the way I see it. If there’s no way to make Siri truly useful, then just don’t feed me that false advertisement!

    Reply
    • Jeff
      Posted October 5, 2011 at 10:02 am | Permalink

      Good point, Roddie. Sounds like you might not be the target audience. And it is interesting that in the promo video they highlight a jogger, a driver, a person cookin’ sloppy, and a blind person—these are clearly situations in which Siri’s usefulness is amplified.

      That said, I imagine it as pretty useful for me, simply because I do lean on my calendar like crazy and create timers and reminders constantly—several times a day, at least.

      And here’s another thing. Siri’s initial list of services is pretty short. But let’s say the technology works well enough to warrant further investment and horsepower. Imagine where it could be two, three years from now. Imagine if they open up the Siri API to games and other apps. Imagine a game where you can command your AI squad mates by voice: “Move out!,” “Hold your fire”, “Come back here!” etc. Imagine having one of those systems (SmartHome for example) that lets you control your house from your iPhone, and now imagine tossing your phone on the coffee table and have it listen to you all evening. Now you can just say, “Siri, dim the lights,” or “Siri, mute the TV” and you’ve got house control.

      Go out five years from now. “Siri, I’m about to go to work. Would you warm up the car for me?” “Siri, we’re almost home. Would you turn the air conditioner to 72?” “Siri, my hands are full. Would you pop open the front door?”

      Technically speaking, home- and car-control is not too far beyond writing text messages and checking maps for restaurants. It’s just another service (albeit some home services, like starting cars and opening doors, take a little more mechanical sophistication). Assuming Siri can understand what the heck I’m saying in a reasonably reliable manner, the potential applications are truly endless. It could truly change everything. Again.

      Reply
      • Ajay Juneja
        Posted October 14, 2011 at 3:08 pm | Permalink

        Jeff and Roddle,

        First off Jeff, thanks for your excellent tutorial on Siri. I think many people will find this helpful, as the natural language UI gains momentum.

        To answer your question of “extending functionality” with an API into all sorts of other services, there is another company, Speak With Me (a spinoff from CMU also funded by DARPA), that offers an API *today* for third party apps.

        The app we shipped a year ago, VoiceDJ, was just a demonstration of some features of our platform… and you will see more apps in the upcoming year utilizing our SDK.

        Speak With Me is different than Siri in that:

        - We currently support the 3GS, 4, 4S, iPad 1, and iPad 2. We also support Windows, and can easily support Android once the demand exists for Android.
        - We run local to your device, so there’s no network lag like Siri and Google Voice Actions, thus enabling responses in 1/10th of a second, rather than several seconds.
        - Because we are so fast, we are also fun and entertaining in video games too!
        - We were always a development platform from day one. Siri started out as an agent / application, not a development platform.

        Reply
      • Prisy
        Posted April 6, 2012 at 9:08 pm | Permalink

        Siri is very useful for me since i’m a blind person because I am able to do things more efficiently on my iPhone and feel that I have a small personal assistant 24-7 by my side. I carry her in my purse or put it on my nightstand. No more using clunky braille devices that are 3 times more expensive just to use that as a simple way or organizing my schedules. No more lost braille papers that has written information on scheduled appointments. I’m proud of apple for that. Siri even saved me from actually dialing my phone when I needed to dial a contact when i was pretty ill. One thing that would crucial if Siri worked with 911 especially if you’re too ill to dial a number. that’s critical.
        I’m positive in the fact that Siri will make big improvements for everyone.

        Reply
    • Andrew J
      Posted October 14, 2011 at 1:46 pm | Permalink

      @Roddie (and everyone else of course)

      Since this is apple, sadly Siri will probably never be open sourced. As Jeff said, the really hard part about this is the speech-to-text (although obviously natural language processing is not even close to trivial). I like you would probably never find much use for this, but what if there was a way that I could make it useful? Again as Jeff rightfully pointed out, Siri makes simple connections between what it processes to simple actions, so when you say “open calender”, it opens the calender and that’s that. What I think would be very cool/useful is if you could enter your own custom mappings, to make Siri truly useful to you. Want to search for that youtube video? Create a mapping between “search youtube for ” and Siri actually searching youtube for it. You could even have “sub-mappings”, so that after you search you could say “play the first video” and it would play the top result (although at this point clicking probably wouldn’t be too much harder”. I could see myself and many other programmers having a field day with his, either creating our own mappings, or “plug-ins for Siri” to extend its functionality.

      Reply
      • matt
        Posted December 2, 2011 at 10:48 am | Permalink

        there is a difference between Siri being “open sourced” and exposing an application API for app developers. Siri is a proprietary development investment (in addition to the original buyout), i wouldn’t expect it to be open sourced anytime soon. why would you?

        Reply
  2. Sashank Veligati
    Posted October 8, 2011 at 4:38 pm | Permalink

    http://www.youtube.com/watch?v=aTg00wIijNY

    Reply
  3. Superman's Twin
    Posted October 10, 2011 at 9:10 am | Permalink

    What an awesome article! Bravo. You should know this is getting passed around the internet like crazy. It is nice to see Apple finally catching up to the tech we have here on Krypton.

    Reply
  4. Joe
    Posted October 10, 2011 at 2:56 pm | Permalink

    I think the biggest struggle for most people will be to keep from feeding Siri garbage. How many people actually have their spouse set in their contacts? How many people delete old addresses when they enter new ones? (Certainly not my wife). How many people actually have their contact phone numbers categorized correctly (home, work, cell, etc.)? Siri will be great for people who keep their data clean.

    As for me, I spend over an hour and a half in the car every day. I see this being VERY useful there. At the office, not so much. And that is where the next leap in the technology will be: subvocalization. Until we can whisper to our assistant, many work places will not be appropriate for voice command.

    Reply
    • Aaron Westley
      Posted October 14, 2011 at 9:26 am | Permalink

      One thing worth mentioning is that siri lets you set relationships. You can say ___ is my wife. Later you can say “please call my wife”

      Reply
      • matt
        Posted December 2, 2011 at 10:58 am | Permalink

        even better — *first* you say “call my wife”, then it asks who your wife is.

        Reply
    • Montana Burr
      Posted April 7, 2012 at 11:28 pm | Permalink

      Sometimes Siri will understand you if you’re not completely whispering.

      Reply
  5. Martin
    Posted October 10, 2011 at 8:21 pm | Permalink

    But how did Siri learn who Scott’s wife was? The demo didn’t show us, but I have a suspicion about how it works.

    Actually, Scott says that Siri asked him in an earlier conversation. Scott probably said the world “wife” and Siri simply asked “Who is your wife?”. After mentioning his wife’s name Siri just had to store what contact to use when hearing the word “wife” in the future.

    Reply
    • Jeff
      Posted October 11, 2011 at 8:14 am | Permalink

      You’re right. It’s at about 80:00 in the video. Presumably that’s a common enough linkage that Siri asks for it during set up, or recognizes if you use a relational word for which Siri doesn’t know who the referent is and asks for the referent then. Good point, Martin.

      Reply
      • David Pedigo
        Posted October 14, 2011 at 8:31 am | Permalink

        From what I recall of the demos I’ve seen, Siri has the ability to ask clarifying questions. I think this is a key advance (from anything I’ve heard of or seen before), because not only does that capability allow it to (potentially) avoid confusion (“Do you mean ‘Andrew’ or ‘Andrea’?”), but it also makes the interaction more natural for the user.

        Reply
      • Aaron Westley
        Posted October 14, 2011 at 9:34 am | Permalink

        Siri lets you set relationships. “Frank is my brother” later… “Call my brother”

        Reply
      • Shesh
        Posted October 16, 2011 at 9:01 am | Permalink

        Probable responses to ‘Call My wife’ …
        1. Narcissistic – ‘There you go’ (my wife, is the entry in contact?)
        2. Socratic – ‘Who is your Wife?’ (there is no ‘my wife’ in contacts, so say it loud buddy!)
        3. Associatic (?) – ‘Which wife?’ (if two entries for my wife) OR ‘Weather in Tahoe’

        Probable responses to Good, the Bad and the Outrageous qns addressed to Siri
        4. vocabic (?) – ‘You are embarrassing me’ for ‘You are a Genius’
        ‘I did not get that’ for ‘You are Stupid’ and
        ‘That’s naughty’ or ‘Sweet of you’ (for ‘You are hot’ – depending upon Male or Female voice)

        …and the list of algorithms go on….

        Reply
  6. greenlight
    Posted October 14, 2011 at 8:45 am | Permalink

    «This makes it easier for Siri to pick out what you’re saying, because there are only so many things that you’re allowed to talk about.»

    This is also what made PlainTalk speech recognition work. It only understood words that were in the current set of available commands (which is why it worked much worse when you enabled voice menubar control). I remember hypothesizing that what PlainTalk did was use text-to-speech to generate the phonemes of all the possible words and do a phonetic probability matching on those (which I validated to myself by trying recognition on PlainTalk’s interpretation of non-english words)

    Reply
  7. Alex
    Posted October 14, 2011 at 9:58 am | Permalink

    I like the thinking that went into this article, but I think you are off-base about how Siri will manage and collect information. You are thinking about it from an AI engineer’s perspective, but Apple almost certainly thinks about it from a design perspective.

    From what I know of Apple, it would be incredibly strange for them to make you open your contacts to tell Siri about relationships. Typing text into address-book fields? Preposterous. One of your comment’s suggests that common info might be collected during setup. That also seems ugly.

    There are so many more elegant ways to get that information. “Who is your wife?” Siri asks when you hit a roadblock, and you respond. Such knowledge can certainly grow organically, and seamlessly from a user’s perspective. I think you underestimate the power of distributed machine learning. You see it all over the place, in GMail’s priority queue inbox, in Apple’s own Genius playlists, etc. Companies have gotten very good at picking up on people’s interactions and turning them into reasonably correct indicators.

    Where is home? Well, it’s probably the place where the phone is at rest for hours at a time, and off of the hip of the user while he/she sleeps (GPS and proximity sensors give you this). Where is work? Probably the place where the user spends 8 hours every weekday with a high call volume. Who is the significant other in our phone user’s life? Probably the person who calls the most, and more particularly texts the most.

    I predict that Siri is a data sponge. Picks up indicators from all over. I highly doubt that it will store information it learns in the address book, except to monitor it for new indicators, and to adjust it as explicitly instructed. Similarly I can imagine it learning from the maps app, tracking the names of locations you ask for guidance to and from, but probably not sharing that back.

    Siri can gather a lot of intelligence in a lot of ways. I don’t know how transparent it will be about its intelligence gathering, and I don’t have high hopes that it will be sharing that info with other apps, particularly third-party apps, but you never know.

    Reply
  8. Sherrod
    Posted October 14, 2011 at 10:10 am | Permalink

    The thing I’m most interested in, as if Siri itself were not interesting enough, is its proactive learning. The info page (http://www.apple.com/iphone/features/siri.html) says Siri will question you until it gets the answer it needs. To me, this has been a missing link in intelligent assistants — they always made the assumption they had all information from your hard data (contacts, calendars, maps), but what they were missing was the soft data (where is home? who is my wife? where am I now?), and they never knew how to get it. It remains to be seen how much Siri actually learns and remembers, but to me, THIS is the killer feature; that Siri can ask me, the (arguably) smarter agent, for answers to things it doesn’t know so it can use that information to help me even more.

    Reply
  9. HockeyBias.com
    Posted October 14, 2011 at 10:11 am | Permalink

    Thank you!

    Reply
  10. Eric
    Posted October 14, 2011 at 11:23 am | Permalink

    The speech-to-text engine in the original Siri app was the Nuance engine, I believe, done by sending the audio to a remote server. I assume that Apple has maintained a license to the Nuance engine for their newly integrated Siri.

    Reply
  11. SD
    Posted October 14, 2011 at 11:52 am | Permalink

    very well explained….but I am very optimistic on Siri and am sure it will go a long way….

    Reply
  12. Jonny
    Posted October 14, 2011 at 11:52 am | Permalink

    Good article. Siri is a pretty good example of Apple’s modus operandi. That is to take existing technologies and introduce them to the mainstream consumer market who is instantly impressed and convinced Apple has made magic.

    Reply
  13. Denzil
    Posted October 14, 2011 at 3:14 pm | Permalink

    http://semanticweb.com/web3-0-interview-with-tom-gruber-siri-com_b529

    A nice interview about Siri.

    Reply
  14. Niklas A
    Posted October 15, 2011 at 3:24 pm | Permalink

    I came here thinking I would learn how Siri works. Instead I find a bunch of guesses and a poorly researched set of facts (if you look at the actual Siri presentation it is clear how “wife” is defined).

    Reply
    • Jeff
      Posted October 15, 2011 at 4:51 pm | Permalink

      Oh, it’s speculation all right. Speculation from a couple of weeks before Siri came out, too. But informed speculation, I suggest.

      Reply
      • Niklas A
        Posted October 16, 2011 at 2:00 am | Permalink

        Right – so write an headline that reflects that.

        Reply
  15. Zak
    Posted October 15, 2011 at 8:10 pm | Permalink

    Great article- thanks.
    I’ve been using Siri for a couple days now and I love it. It has been very handy with dictating texts and emails. Being able to use Siri by just putting the phone up to your ear is very cool and quick. I’m looking forward to improvements and the evolution of this technology…

    Reply
  16. Hussien El-Sawy
    Posted October 17, 2011 at 1:31 pm | Permalink

    hey Jeff .. actually its awesome article .. and about the future thing u were saying about in the comment .. yea that may happened someday but it need a very high speech recognition analyzer.. i didnt used siri yet but from what i seen at the videos on youtube and so on siri have very good speech analyzer but not that high to understand everything .. or to do everything .. maybe later on it will get updated or something
    but to get updated to be understanding AI thats impossible after all .. its machine and all it have probabilities and so on ..
    am still student at Information Technology and computer Science faculty after all .. so maybe am not so good yet :) .. but from what am studying at AI .. i dont think there will ever be IRobot AI :)

    Reply
    • Jeff
      Posted October 17, 2011 at 3:14 pm | Permalink

      Unfortunately I haven’t tried Siri yet. I hope to get an iPhone 4S soon. The in-person experience may very well change my view of how the thing works.

      Reply
  17. Henk
    Posted October 17, 2011 at 1:34 pm | Permalink

    Hi Jeff

    Would be interested in your views now that Siri is “out there”. Seems to work brilliantly (except for the network congestion). Do you think that all iPhone 4s’s are now “linked” through somekind of Siri neural network spanning the globe, where all phones learn from one another through their connection to one giant, central, system? Why else the need for the network…what has Steve build here….is this the seed of something so much bigger, we can’t see yet (like the original iPod, perhaps)?

    I wonder. The fact that Siri requires a network connection really really makes me wonder what this already amazing first step is going to led us into. Can’t wait.

    Thx for your thoughts in advance.

    Reply
  18. johndburger
    Posted October 17, 2011 at 8:16 pm | Permalink

    Nice explanation, but why do you assume that there is a text layer in the stack? The system could get much better accuracy by eliding this, since some of the time it actually introduces ambiguity.

    Here’s a contorted example: Assume you have a “Jean Valjean” and a “Gene Smith” in your address book, and you say “Call Jean” (with the French pronunciation). In speech, there’s no ambiguity, you must mean Monsieur Valjean. But in text, you introduce the (incorrect) possibility that you meant Ms. Smith.

    Again, this is a bad example, but you get the idea.

    Reply
    • Jeff
      Posted October 18, 2011 at 7:05 am | Permalink

      Great point. I think you have to have some kind of intermediate format though. Siri probably doesn’t convert to ASCII text per se. It might use a phonetic alphabet. A phonetic alphabet would do a better job at preserving the kind of ambiguity you mentioned. But I do think you need some kind of intermediate representation of the data sitting between raw sound and search, because any kind of search—whether contacts, actions, Wikipedia, or whatever—definitely needs a relatively small search key. You can’t just send an audio file to a search engine and expect it to know what to do with it. Unless, of course, it has a processor on the front end that converts the audio to text—but here we are again.

      So yes, Siri probably uses some kind of phonetic coding at one stage of its processing. Whether this ambiguity-preserving code is used all the way to the grammar phase, or whether the ambiguities are resolved as well as possible early on so that the phonemes are converted into text, is another question. I suspect that Siri does the latter (converts to text early) just because this simplifies matters for the grammar and search components. Perhaps later versions of the system might preserve ambiguity for longer.

      It occurs to me that there’s a parallel with compiling and linking in C and related programming languages. In the old days, you had to compile first, then link. This simplified matters, but neglected the ability for the linker to make decisions about how compilation should happen. Most modern compiler/linkers have the ability to reverse this process: to drive the compiler with the linker, so that the linker can “preserve ambiguity” in the compilation phase and make disambiguation decisions (about whether to inline a function, for example) as late as possible.

      I suspect that Siri is early enough technology that it probably chooses the unambiguous approach over the ambiguity-preserving approach.

      Reply
      • johndburger
        Posted October 18, 2011 at 5:42 pm | Permalink

        I agree, there must be some intermediate representation. Despite my silly example, I wouldn’t be surprised if it had some text elements, at least. Maybe a mix of phonetic and textual.

        Reply
  19. sam
    Posted October 18, 2011 at 1:02 am | Permalink

    Got my iPhone 4s last friday, first thing used was Siri. Love it, though its not as good as we would all love to see, it does work better then any voice items i’ve tried before. The network congestion is a bit of an annoyance at times though Apple did and still say’s its in Beta. Also tried it during a 3 doors down concert and it got extremly close to what I was trying to, that was very impressive. Also on a random note if you haven’t tried the video recording on the iphone 4s, try it, cause its epic, it is clear even on a 55 inch tv.

    Reply
  20. Cameron
    Posted October 20, 2011 at 2:51 am | Permalink

    So, now that the phone is out and all, is it a huge dissapointment? Im of the 22 and younger generation, it takes alot to please me, or make me want to use something on a daily basis, but siri has done it, i use it for everything. Who needs to google a question anymore? when you can ask Siri and she will do it for you? I suggest you do a follow up article, and tell us how you like it!

    Reply
    • Jeff
      Posted October 20, 2011 at 8:31 am | Permalink

      Thanks for the suggestion Cameron. As soon as I’ve used Siri, I’ll write a follow-up.

      Reply
  21. Lupe Aquino
    Posted October 20, 2011 at 10:03 am | Permalink

    Jeff,

    Loved this article even if it is mere speculation….it is good to examine all possibilities rather stick to those given to us by Apple. Niklas A is completely wrong to judge this article. Science has been and will always be mere speculation, a pool of questions waiting to be answered. Those that want direct answers rather then searching for them and speculating them will never gain any knowledge. That being said I encourage you, and very much look forward to a new post from you once you have gotten the chance to examine Siri more personally.

    Thanks again!

    Reply
  22. Paul Hutson
    Posted October 23, 2011 at 3:50 am | Permalink

    Excellent article – and the read through the comments was also very interesting as well.

    I will also be coming back to see how you’ve found Siri once you’ve used it!

    Reply
  23. John of Melbourne
    Posted October 30, 2011 at 12:20 am | Permalink

    As someone who held off using Siri until today, it pains me to say it reminds me of my disastrous experience with the Newton in 1993, ie. the reality is so far from what the ads lead you to believe.

    After the Newton I was totally put off Apple until – except for several ipods – I bought the first Air in 2008 – FIFTEEN YEARS; all of the rest of the range soon followed … iMacs, every iPhone, more iPods, and a 17″ MacBook Pro. All of which we are very proud to own.

    The gap between the ads and reality with Siri IS most disappointing – as it was potentially the most interesting new element to the 4S – but hopefully the gap will be bridged reasonably quickly.

    Whilst it is stating the obvious: Apple’s challenge is that this is not a return to their old ways.

    Reply
  24. Erik Vos
    Posted November 15, 2011 at 1:17 am | Permalink

    Hello Jeff, I am writing an article about AI and AR and was wondering if there are systems (or projects) better then Siri at the moment. Te article is about the status quo of AI embedded in a story. Fiction and reality. I interview people who work on AI projects, social agents and augmented reality. My Mission with unlimited budget is to create an interactive augmented son with the possibilities of today. Lets say..Siri with a face.

    If you have any tips I appreciate it. Here is the article (can be translated into english with Google top right) http://www.extendlimits.nl/fictie/artikel/nicolas_deel_i/

    Regards, Erik

    Reply
    • Jeff
      Posted November 15, 2011 at 8:17 pm | Permalink

      Sigh. AI and AR are hoaxes, on the whole. They appeal to the imagination, and foolish millionaires invest in them, but there’s no real opportunity there.

      There will never be an AI remotely as complex or believable as a human. You can have calendar assistants and search engine agents, but you will never get a computer to pass a reasonable Turing test in the general case, where any topic of conversation is open for grabs and a competent human communicator is on the other side. And yes, when I say never I mean never. Not in a thousand years. Not in ten thousand years. Never. People who say that computers could produce human-like intelligence overestimate computers (of all kinds—even quantum) and underestimate humans.

      AR, likewise, is a buzzword for something banal. Video games in particular, and graphical interfaces in general, are pretty cool. If you want to call them “AR”, so be it, but why add a buzzword? Graphics will continue to get more vivid. Eventually, probably, we will develop neural interfaces that communicate directly into the vision and auditory centers of the brain, bypassing the eyes and ears and potentially adding other senses. But those kinds of advances are decades from reaching the market. So 3D screens and Dolby Surround are as good as it gets for a long time.

      No doubt there is money to be made in suckering people into getting excited about huge AI and AR efforts. The same thing happened with “VR” in the 90s. But there are better places to spend time and money—research and products that are actually delivering real results now. Like video games. Or, perhaps, Siri.

      Reply
  25. Erik Vos
    Posted November 16, 2011 at 2:31 am | Permalink

    Hello Jeff, reading your comments I suppose, at this moment, there is no alternative for Siri. (I can not discover the answer on my question) And no wonder that I do not agree with your vision on AR. Following the developments intensively I know there is a lot to come. If you just have a look at this video (http://augmentedrealityoverview.blogspot.com/2011/08/wearable-computers-ralph-osterhhout.html) of inventor and entrepreneur Ralph Osterhout you’ll understand that AR will change the way we look at our environments. Without any doubt Siri is a success and the combination of augmented reality and artificial intelligence will create new opportities for social agents parexample. In the US they are developing the ‘Always On’ programm for lonesome elderly people using advanced chatterbot techniques. Take a look: http://www.youtube.com/watch?v=DrFScR2mUVs YOu may think only older people and kids can be fooled but this is a serious research project with respected researchers working on it and only the beginning. We are in an interesting time shift where different techniques come together and will be combined. AR and AI. If I would talk about Google only twelve years ago you would look at me and wonder where I was talking about. See how the world has changed in those 12 years. There is a lot to come.

    Reply
    • Jeff
      Posted November 16, 2011 at 8:56 am | Permalink

      When you’ve been in technology for as long as I have, you start to see these innovations in context. So little of what is promised is fulfilled. Those few innovative products that are released (Google search, Siri), turn out to be fairly modest and highly focused, with not nearly the wide-ranging impact that the imagination hopes for. They also turn out to usually have serious flaws that further limit their impact.

      So for example, it’s fun to think about walking around Washington, D.C. with a pair of glasses that label the streets and buildings for you. But then you have to imagine the network lag that will cause the information for those buildings to download slowly. You have to imagine the graphical lag that will cause the labels to track always behind the actual building (one of the problems that killed VR).

      In a word, when human beings learn to make a decent, reliable, non-flickering, secure, non-networking-laggy computer using the ca. 1980s technology that we’ve been working on for thirty years, then I’ll start to believe that we can build a pleasing pair of computerized glasses that I would actually want to stick 1/2″ in front of my eye in the next thirty years.

      Reply
      • Marcos El Malo
        Posted December 1, 2011 at 7:51 pm | Permalink

        Man, you really are a cynical hard ass! But I get it. I understand, too, that software needn’t be actually intelligent to get useful things done , nor does it have to be sophisticated enough to fool us for people to find “social” interactions with the software emotionally rewarding in some odd way. (Consider that I talk to my dogs and other animals. I know that they don’t understand me in any meaningful way, but I still find talking to them to be emotionally fulfilling.)

        In a way, the search for AI reminds me of the Alchemists’ search for the Philospher’s Stone. The search led nowhere, but interesting and useful techniques and concepts were developed and eventually used by those doing actual science.

        Anyway, thanks for a great article and thoughtful follow up comments.

        Reply
  26. Valerie
    Posted November 28, 2011 at 12:59 pm | Permalink

    Why does Siri keep telling me, from time to time, that it is really sorry but it “can’t take any requests right now.” What is that about? I find this incredibly frustrating, if not dangerous, because the iphone apparently has no speeddial function. So if Siri is feeling, I don’t know, moody, and I need to make a phone call while driving, poof – no hands free option. My experience with the iphone so far is that it is a great, fun, toy, but if you are actually a grown up who needs one for work type functions, then forget about it.

    Reply
    • matt
      Posted December 2, 2011 at 11:02 am | Permalink

      you can still use the non-Siri voice dial commands. also, you can mark numbers as Favorites in the phone app, becoming the speed dial.

      if you feel your phone is a toy, you’re using it wrong.

      Reply
  27. Mellie Mel
    Posted December 16, 2011 at 4:11 pm | Permalink

    > There will never be an AI remotely as complex or believable as a human.

    Possibly but really the goal is not to create human intelligence anyway. We already have humans for that.

    > You can have calendar assistants and search engine agents,

    Have you seen IBM’s Watson? It’s Siri to the billionth degree. Imagine what we can do with our iPhones when it can behave similar to this. And it’s not that farfetched either because the 90 servers that Watson uses can be accessed over the cell network as Siri does today. No longer are we limited by what we can embed on the device.

    Reply
  28. anon
    Posted February 6, 2012 at 9:13 am | Permalink

    Yes, siri does use a network. but i dont think it’s the same neural network as you might imagine. instead siri uses real human intelligence by using a network of live human call center agents who listen to your voice as you speak on your phone and increadibly using his real live human brain, the call center agent types on his computer the command you wish to be performed and sends it to your phone via internet. and voila! you’ve got the biggest hoax of an AI in history. notice how apple limits this technology to only their 4s. thats because they only have a limitted resource of manpower available to translate your every command…

    Reply
  29. James
    Posted March 3, 2012 at 5:40 pm | Permalink

    Intelligence to me is the ability to identify and resolve problems, the understanding part of problem solving is a function of knowledge and expert systems. I differentiate intelligent from smart in that being intelligent requires the ability to create, whereas smartness is merely the ability to recall and apply to the situation. While both intelligence and smartness can learn from interactions, intelligence is creative and thus capable of conjuring solutions that never existed before, where smartness is at a loss when there are no solutions from searches.

    So, is Siri intelligent, or smart? I agree with the notion that other than a living entity who has intelligence, there can be no intelligence. Without the ability to create from nothing, there is no intelligence. I would call the current AI ‘artificial smartness’.

    As to the language for implementing ‘artificial smartness’, I am a strong proponent of using Lisp instead of C-based languages.

    Mr. McCarthy implemented Lisp to be run on a interactive environment precisely of Lisp’s ability to interact and create new symbolic knowledge interactively, instead of being rendered incapacitated when its searches return either a null value (artificial smartness) or null set (neural network).

    Siri is written using webview, and perhaps XML to interact with Nuance and other websites. I wish Siri can be rewritten in Lisp, the iPhone / iPad interactive verbal user interface is absolutely perfect for Lisp.

    Reply
  30. Tiko Nelson
    Posted March 21, 2012 at 11:08 am | Permalink

    I just recently played through Mass Effect 3 (I’m a college student) and I was introduced to the idea of an Artificial Intelligence vs a Virtual Intelligence. An artificially intelligent being would be one that is self aware, one that could think for itself and create. A virtual intelligence on the other hand was a program written to assist a humans interface with a computer. This seems to be more or less what Siri is doing to a certain extent.

    It is my understanding that intelligence or smartness involves being able to look back at something that has happened in the past and apply it to any situation. So why not give a program the ability to ask questions and store data as references? For example, everyone speaks differently. If the program were to get a wording wrong, would it not be possible to tell it to go back to that last entry you just said, and next time, when you say what it messed up, to put in the new correct phrase? In this way you would able to teach the program how to correctly interact with you and to learn new key phrases making a program that learns or at least seems to.

    Reply
    • Jeff
      Posted March 23, 2012 at 10:10 am | Permalink

      That’s definitely a promising idea. We see something like this in the iPhone’s texting facility, which to a certain extent learns unfamiliar words and phrases. An expanded version for voice seems a natural extension, but would take a lot of development time and tuning to get it right.

      Reply
      • Tiko Nelson
        Posted March 25, 2012 at 7:06 pm | Permalink

        Thank you for your opinion on the idea. Problem with it is, it’s just an idea; i have no idea how to move it forward from being just an idea. Is there any way that you know of that I could move it past being that?

        Reply
        • Jeff
          Posted March 26, 2012 at 8:57 am | Permalink

          Could make your own iPhone app that features this kind of improved feature. Or post your suggestion to Apple somehow—but not sure how you’d do that or whether they’d care.

          Reply
  31. Tiko Nelson
    Posted March 25, 2012 at 7:07 pm | Permalink

    Thank you for your opinion on the idea. Problem with it is, it’s just an idea; i have no idea how to move it forward from being just an idea. Is there any way that you know of that I could move it past being that?..

    Reply
  32. next page
    Posted March 4, 2013 at 6:35 am | Permalink

    Yet another first person shooter game this time around, but
    the first Far Cry was quite good. So even at young ages
    and relatively low levels of the sport, goalies will have
    their helmets designed with various colors, prints and patterns, shapes or designs, and more.
    In essence, they appreciated each other and never lost sight of how
    lucky they felt to have each other as their spouse. When it comes to bridging your skills gap in
    gaming world then you can do anything to prove yourself.
    Cons. Those pain killers and medications hide the problem without dealing with the true cause.

    We actually become happier people. In an effort to counter the lack of support from Microsoft,
    an SVG plug-in for Internet Explorer was developed and supported by Adobe.

    Dependency enslaves you, giving others the ultimate
    power over how you perceive and feel about yourself.
    For people from non technical background these things look like rocket science.

    Reply

15 Trackbacks

  1. By rim MUST invest in a siri-like app - Page 10 - BlackBerry Forums at CrackBerry.com on October 10, 2011 at 8:37 am

    [...] a decent article about Siri: How Siri Works "Now if you consider the list closely, what you’ll notice is that it is not as [...]

  2. By DETart Blog on October 12, 2011 at 4:24 pm

    [...] erfahren möchte, dem Sie der BLOG-Artikel „How Siri Works“ von Jeff Wofford unter dem Link http://www.jeffwofford.com/?p=817 zu [...]

  3. By Dosis de links 14/10 | IdentidadGeek on October 14, 2011 at 8:33 pm

    [...] ¿Cómo funciona Siri? aquí nos dicen la verdad detrás de su limitada “inteligencia artificial” (JeffWofford) [...]

  4. By The Intelligent Agent « Austin Clements on October 16, 2011 at 1:07 am

    [...] release of the iPhone 4s I’ve seen several people post screenshots of their conversation with Siri, the personal assistant. I now believe the last monumental accomplishment of Jobs was ushering AI into the forefront of [...]

  5. By Hello, Hello, Can you here me? | on October 19, 2011 at 1:02 pm

    [...] The biggest development is voice recognition, and if you were one of the many thousands of people lining up oustide an Apple store last week, to get your hands on an iPhone 4s, you’ll have met Siri. Siri is Apples AI based virtual assistant, allowing you to in effect, control  your phone, by talking to it. What makes Siri different from other Voice recognition systems, is it learns exponentially, using data from the Cloud. Unlike traditional voice recognition systems this platform can be updated by Apples Dev team, and deployed via updates. So even though at the minute, its only designed to interact on a very basic level, and perform very specific functions, the future could be true AI (ish). There’s a great point of view on Apples Siri here, [...]

  6. By Why Siri’s limited functionality works to its advantage – for now | Apple Store Valencia on October 19, 2011 at 1:42 pm

    [...] that end, Jeff Wofford writes that it’s precisely Siri’s modest ambition that makes the feature so [...]

  7. By WHY SIRI’S LIMITED FUNCTIONALITY WORKS TO ITS ADVANTAGE – FOR NOW » SIRI, SIRIS, APPLE, AFTER, YAHOO, IPHONE » DAILY NEWS on October 20, 2011 at 12:17 am

    [...] that end, Jeff Wofford writes that it’s precisely Siri’s modest ambition that makes the feature so [...]

  8. By Twitter Link Roundup #107 – Small Business, Social Media, Design, Copywriting, Marketing And More « crowdSPRING Blog on October 20, 2011 at 7:53 am

    [...] Nicely detailed post about how Apple’s Siri works – http://bit.ly/pkxfDL [...]

  9. By Twitter Link Roundup #107 – Small Business, Social Media, Design, Copywriting, Marketing And More on October 20, 2011 at 7:56 am

    [...] Nicely detailed post about how Apple’s Siri works – http://bit.ly/pkxfDL [...]

  10. By siri answers tough questions - TECHNOLOGY GADGETS – TECHNOLOGY GADGETS on October 20, 2011 at 1:30 pm

    [...] once again we are bracing for disappointment. It happened with handwriting recognition on …http://www.jeffwofford.com/?p= [...]

  11. By Siri And The Last Mile To Utopia « So Entrepreneurial on November 27, 2011 at 7:45 pm

    [...] can see from the article How Siri Works we have a long way ahead to complete the last mile. Siri can’t understand everything. It can [...]

  12. By Siri And The Last Mile To Utopia | My Blog on November 29, 2011 at 2:03 am

    [...] can see from the article How Siri Works we have a long way ahead to complete the last mile. Siri can’t understand everything. It can [...]

  13. By Let’s Stop with the Siri Baiting | Apple Store Valencia on December 1, 2011 at 9:52 am

    [...] information encapsulated in those apps and services. (AI programmer and teacher Jeff Wofford has an interesting blog post speculating on how Siri works, though it’s worth remembering that he wrote it before the iPhone [...]

  14. By SIRI und Spracherkennung auf dem iPhone / iPad « aixvox on January 5, 2012 at 10:01 am

    [...] erfahren möchte, dem sei der BLOG-Artikel „How Siri Works“ von Jeff Wofford unter dem Link http://www.jeffwofford.com/?p=817 zu [...]

  15. By Automatic Transcription vs. Human Transcription - Speechpad on February 19, 2013 at 8:47 pm

    [...] software is so inaccurate? The reasons have to do with use case and training.  There is a fairly short list of what Siri can  be told to do and she is programed to learn how to recognize the particular way [...]

Post a Comment Cancel reply

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Holy Ghost Stories
Grandville Promenade
by
Jeff Wofford
  • Recent Posts

    • Finding C. S. Lewis’s Essays
    • What is Ethics?
    • SimCity to License Blizzard’s LocalServer™ Technology
    • When Game Development Stinks
    • An Invitation Back to Faith
    • The Four Moral Cultures
    • In Praise of Modern Board Games
    • Hitting a Dead End with FlasCC
    • My Top Ten Least Favorite Ethical Arguments
    • Suitors: A new, free card game for 2 to 4 players
    • The Sorry State of C++ Portability
    • The Sorry State of Game Portability
    • Come Play House of Shadows!
    • Elvis in Wonderland: An Example Game Pitch Document
    • I Cannot Read on My iPad
    • The Final Solution to the Travelling Salesman Problem
    • Angry Birds “Cloned” Crush the Castle, and That’s Okay
    • How Diablo 3′s Networked Standalone Campaign Secures the Auction House
    • In Defense of Article Clones
    • Diablo 4 to Feature LocalServer™ Technology
  • Recent Comments

    • Alyson on Never in a Hundred Million Years Will You Ever Sell Your Game Idea to a Company
    • Alyson on How to Get Your Game Idea Made into a Game
    • Paul on What Does the Bible Say about Divorce and Remarriage? (Part 2)
    • BenTennyson on How to Get Your Game Idea Made into a Game
    • Ben on How to Get Your Game Idea Made into a Game
  • Categories

    • blogging (3)
    • books (13)
    • culture (8)
    • employment (3)
    • ethics (6)
    • faith (35)
      • Bible (3)
    • family (7)
    • fiction (6)
    • games (51)
      • board games (2)
      • Crush the Castle (6)
      • House of Shadows (1)
    • iPhone (14)
    • language (1)
    • Mac (4)
    • music (4)
    • Phit (6)
    • politics (5)
    • productivity (8)
    • programming (35)
    • science (2)
    • technology (28)
    • thinking (13)
    • Uncategorized (7)
    • writing (15)
  • Archives

    • April 2013 (1)
    • March 2013 (3)
    • January 2013 (4)
    • December 2012 (1)
    • November 2012 (1)
    • October 2012 (3)
    • August 2012 (1)
    • July 2012 (1)
    • June 2012 (4)
    • May 2012 (3)
    • April 2012 (2)
    • March 2012 (3)
    • October 2011 (7)
    • September 2011 (3)
    • August 2011 (3)
    • July 2011 (2)
    • May 2011 (1)
    • January 2011 (2)
    • June 2010 (4)
    • May 2010 (2)
    • April 2010 (1)
    • February 2010 (1)
    • January 2010 (3)
    • December 2009 (8)
    • November 2009 (2)
    • October 2009 (2)
    • September 2009 (1)
    • June 2009 (10)
    • May 2009 (5)
    • January 2009 (1)
    • December 2008 (2)
    • November 2008 (3)
    • October 2008 (1)
    • September 2008 (2)
    • August 2008 (1)
    • July 2008 (1)
    • June 2008 (2)
    • May 2008 (8)
    • April 2008 (3)
    • November 2007 (1)
    • October 2007 (2)
    • August 2007 (5)
    • July 2007 (4)
    • June 2007 (8)
    • March 2007 (1)
    • November 2006 (3)
    • April 2006 (1)
    • March 2006 (1)
  • RSS Links

    • All posts
    • All comments
  • Meta

    • Log in
Copyright © 2013 Jeff Wofford. All rights reserved. Powered by WordPress. Built on the Thematic Theme Framework.