Leaked: Cortana's language library (UPDATE 6)
https://www.facebook.com/wplvrs have just posted a 145 pages long document (http://goo.gl/yaLpkF) found in the Windows Phone 8.1 SDK, containing what looks like a language library for Cortana (so basically a collection of things Cortana can say). It doesn't seem to cover all of Cortana's functionality but mainly local tasks that don't require data from online services.
It's a little hard for me - not being an IT guy - to interpret those parts that are not just plain sentences but contain complex code, but I will try and go through the whole document and extract some interesting information about Cortana's functionality. I will post the results here later.
I've only gone through a third of the document, but here are my first observations
- First of all I wanna point out that it's obvious that Cortana is designed to use a style of language and conversation that sounds casual and personal. There are no such phrases as "There are no results for this query".
- For a lot of things Cortana says, there are multiple versions meaning the same things (for example, "I didn't get that" and "I didn't understand what you meant", "The time is xxx" and "The last time I checked it was xxx"). Seems like this is meant to avoid repetitive phrases.
- There's a lot of slang going on ("Sure thing", "Super", "I didn't catch that", "wanna" instead of "want to", etc.)
- Certain phrases are associated with certain emotions (which are expressed by the animated emoticon which represents Cortana).
- There's a lot of conversation going on in the sense that in a lot of situations when you tell Cortana a command, she will ask back question to specify your command.
- Those functionalities that are about having Cortana do certain actions in certain apps (such as setting an alarm or creating an appointment) are more sophisticated than I expected. Cortana will ask you about all the details instead of taking you to the alarms app or calendar app.
- Some of the useful stuff Cortana can do for you won't be initiated by you asking her to do so, but by Cortana asking you if you want her to do it ("Do you want me to remember that CONTACT is NICKNAME?).
- In some situations, when Cortana asks the user to confirm an action or to specify a command (for example "Did you wanna change the title, time or location?"). In those cases she will offer you a number of possible answers to say (for example "You can say The title, the time, the location, or Cancel").
- Not sure about this one, but it seems like in a lot of situations Cortana shows you examples of what type of things you can tell her.
- There's a phrase that says "I can't do this while on a call". Does this mean that you can use Cortana during a call? Interesting...
- There's a huge collection of terms that people use to refer to relatives (father, dad, daddy, old man, husband, hubby, and so on). I think Cortana will know who you're talking about when you say "Call daddy", even if that's not his contact name.
- The call and text related functionality seems to be quite sophisticated. There's much more than just "Call xxx" and "Text xxx".
- Cortana can show you schedules for specific days, weekends, events between two days, etc. She displays them in different views (week template etc.).
- You can ask her to display or change certain events by saying the title or date of the event (if there are multiple results, she will ask you to tap the one you want to edit)
- In a lot of situations Cortana will ask you to confirm an action, for example she would say "I can add EVENTTITLE from DATE at TIME to DATE at TIME", then you would have to confirm (probably by saying "OK" or something like that).
- When creating an appointment using Cortana, she will warn you if you have an event scheduled at the same time.
- You don't always have to say an exact command. If you just tell her to change a certain appointment, she will ask you whether it's the time, title or location that you wanna change.
- You can tell her to remember a contact under a nickname of your choice.
- You can turn on and manage call forwarding via Cortana.
- You can tell her to call a contact on speakerphone.
- When a contact has multiple numbers, she will ask you which number to call.
- You can tell her to call someone via speed dial, and tell her to assign speed dial numbers.
- You can search for mails and messages by saying the contact's name or by dictating a phrase to search for in the mails and messages.
- She can create reminders. Reminders consist of a text, a date and a time. She can also remind you of something the next time you talk to a specific contact, or when you're at a certain location. Reminders can be set to reoccur on certain days of the week.
- There's a phrase that says "I will remind you. You can see it in the Notebook anytime". So the user will not only have control over what's in the notebook, but will also be able to view what's added to it.
- After dictating a message, she will ask you "Send it, add more, or try again?". This is pretty clever.
- When you get an incoming message, you can say "read it" or "ignore". After reading it you can say "reply", "call" or "I'm done"
UPDATE 4 (just some of Cortana's most interesting phrases)
"I can't do this while on a call."
"You just need to unlock your phone first."
"your grandpa's Gramps gramps your gramps' Grandpappy grandpappy your grandpappy your grandpappy's"
"Sorry, I'm not getting it."
"Did you wanna read the message from XXX or ignore it?"
"What was the last part? Did you want to change the title or the time?"
"Voilà, all of your alarms. Tap the one you wanna change."
"You've got a lot going on this weekend. Let me show you."
"Sunday is wide open".
"Where's the location?"
"Oh dear, I can't change events that have more than one person."
"The nickname XXX is not assigned to anyone? Would you like to assign it?"
"I can't play XXX when streaming music is turned off in the Music app."
"Shuffling your music. Everyday I'm shuffling!"
I've got some bad news: According to the source there are no such language library files for other languages, so Cortana might be an English only thing at release (as previously predicted by other sources).
I'd like to point out that the file doesn't reflect all of Cortana's functionality but mainly local tasks that don't require data from online services. So there's much more to be revealed feature-wise! (traffic, directions, stock, places, weather, etc.)