Hacker News new | past | comments | ask | show | jobs | submit login
Cortana available on iOS and Android (windows.com)
256 points by dalanmiller on Dec 9, 2015 | hide | past | favorite | 127 comments



I want to like Cortana, I really do. Unfortunately, it's linked to my phone's default language. So even though I could speak English, Cortana will not talk to me because my phone's interface is in Spanish.

That is something I can understand - maybe there are development reasons why second language voice recognition is not possible. However, every time I update my OS, Cortana is added to my main screen again, perhaps to remind me of the wonderful times we could have together if only I changed my phone's main language.

It shouldn't be too hard to add an extra "if" somewhere in the installation process, right?


Sigh, that's sad.

It baffles me that there are still so many services that try to 'automagically' intuit which language someone wants to have a service in, instead of just simply .. asking.

Google play is a prime culprit, for example, showing a mixture of language content on the play store. See also subtitles, dubbed content, books..

Another one - Sony's Playstation store, where if you choose a country, then the language (despite them having the assets available through their international presence) is permanently set and impossible to change.


> It baffles me that there are still so many services that try to 'automagically' intuit which language someone wants to have a service in, instead of just simply .. asking.

My experience is that language/locale implementation for a big project is so complex that PMs like to handwave the language selection part away. On a recent project I had to go back and ask, "What if an english-speaking user is traveling in Germany, do we show them the German-language site? What if a German-speaking user is traveling to France, do we show them English (since we didn't have an FR localization)?"

Confounding the issue is that many implementations combine locale with language, which can be a problem if you have locale-exclusive features. As a made-up example, maybe Cortana's contract for stock data specifies it can only be used in the US, and you're a US-based Spanish speaker. But Cortana assumes Spanish == Mexico, so if you use Spanish now stock quotes don't work. It's really attractive to just call those problems edge cases to be worked out in the next release.

(I think Etsy handles this really well, you can specify ship-to location, interface language, and currency separately. Although for some reason they auto-detected me, in the Bay Area, as UK, EN-GB, CAD which was strange. Obviously some work to be done.)


When I was in China for a while, a frustrating thing was that many websites I've visited often started assuming and practically insisting that I knew Chinese. There was more than one site that I couldn't figure out how to switch back to English. I checked that my browser was still giving the "Accept-Language: en-US,en;q=0.5" header, but clearly websites know better than me.


Accept-Language is fun. I have an accept-language that orders them en, ja, other. aa.com (American Airlines) then uses that to display the content to me in English, except dates and times which always appear in Japanese (12月25日 午後1時10分). Fun times.


For a while I had my system language preferences set as en-UK, ja, en-US and every so often I'd get an installation that was in Japanese because there was no UK English version.


The country code for the United Kingdom is GB, not UK. There's no such language code as en-UK. British English is designated en-GB.


That sounds correct behavior to me. You should add a plain "en" before ja.


Is that a problem? It sounds like what you asked for.


Some browsers used to send a default Accept-Language that specified English without asking the user (and, IIRC, even if the UI language of the browser was different). Thus, many sites still ignore those particular values of Accept-Language. This seems to be one of them.


There are definitely more web browsers in China that have the Accept-Language header wrongly set to English, than there are English readers there who want English. So the websites may not know better than you, but they know better than the majority of the web browsers. It's not perfect, but they are making the correct general decision IMO.


> web browsers in China that have the Accept-Language header wrongly set to English

How? Seriously, how? Assuming the browser's interface is in Chinese, the Accept-Language header should be set properly.


I don't think there's a problem with automagically inferring the language. It sounds like the problem lies in not being able to override that decision.


The route to revert language must be clear though, even when the UI is in a foreign language.

This can be trickier than it sounds. For instance, selecting English from a Japanese UI should be "English" not 英語. Conversely, from English to select Japanese has to be 日本語 not "Japanese".


That's exactly the thing, in an ideal world it would try to infer the language automatically, but still let you change it if you are not happy with it.


Well then you open up the possibility of being unable to override the language because you cannot interpret the one inferred.


Worst one for me is Google Now's voice service (simply because that's the only one I've ever really used).

Many features and recognition roll out to English (US) first and remain unavailable to me for a long time. I'm in Canada. It's the exact same language, just with some extra "u"s scattered around in the written form.


> It baffles me that there are still so many services that try to 'automagically' intuit which language someone wants to have a service in, instead of just simply .. asking.

Well, because they should and rightfully so. You shouldn't have to select a language every time you start an app. Instead it should use whatever language was set on your system. Anything else just isn't intuitive and would add more friction before a user could get anything meaningful done.

The parent comment was referring to Cortana only working with English and thus assumes the user can't speak English as he has his system set to Spanish. That's an unfortunate edge case but one that could be overcome with advanced settings should they want to deal with it. But again, the anecdote is an edge case and shouldn't be used to go against best practices in regards to localization.


Localization is all about edge cases, though. If you ignore edge cases, you'll ignore most world languages, after all.

By all means, make a guess at what language to use, but always allow the user to choose in case you guess wrong.


> Localization is all about edge cases, though. If you ignore edge cases, you'll ignore most world languages, after all.

The edge case of someone setting their device to a different language than the one they want to use in a specific application is not one of localization but of usability.

> By all means, make a guess at what language to use, but always allow the user to choose in case you guess wrong.

While I agree I wouldn't call it a guess as it's a setting a user set when setting up their device.


You make the problem sound more obscure than it actually is, which to be fair is very understandable (and I guess common) if you're from an English-speaking country.

Many people outside of those know English well enough that they'd rather have a feature in English than not at all.

Also, many if not most applications and services that aren't billion-dollar businesses or otherwise have had insane amounts of resources poured into them have terrible localization. And even if the localization is good, it can be beneficial to use the English version.

English is the international language, it is taught to children all over the world, it is used in business, academia and so on, all over the world. You know that, everyone knows that, but sadly, to all-English dev teams, it is all too often an afterthought.

And that doesn't even take expats, travelers etc. into account, who might want to use their native language system-wide but need certain applications to use the local language, or vice versa.


I would say that UI language and speech input language are different enough that taking them to be the same would qualify as a good guess, not simply obeying a setting.

Apple takes this approach with Siri, for example.


I'm used to switch between three different languages to take advantage of the prediction thing in the default android keyboard and I think it's very comfortable, just one or two taps and you are ready to go.


> It baffles me that there are still so many services that try to 'automagically' intuit which language someone wants to have a service in, instead of just simply .. asking.

There's a simple explanation for that. Adding a UI may end up being much more involved than a somewhat complicated guessing infrastructure. And if that's fine for most of users, an organization might not care enough to make it better.


It baffles me that there are still so many services that try to 'automagically' intuit which language someone wants to have a service in, instead of just simply .. asking.

They are damned if they do and damned if they don't. If they don't automatically intuit users will call them lazy or declare it bad UX for not using the same language the phone is set to.


If only it was possible to automatically determine sensible defaults, but override default settings in applications.


Except, at least for Android, it's not easy to override the language settings just for an app.


Both of your examples could easily be licensing issues though.


Honestly, at least when it comes to Android development, it's far, far easier to "intuit" (use the phone's default language) than it is to let you choose on a per app basis. The system will automatically select the proper resources, meaning I don't have to write special code to load a Spanish string instead of the English one.


I have similar experiences living in a country where the dominant language is not my own. I hate the assumption that location should determine language preference.

I've worked with several really smart programmers from the US during my career. However, I've noticed that their geographical knowledge of anything outside the US is extremely poor (generalisation I know).

I assume this is due to the education system. Could this be the reason why large global players like Facebook and Google have such a poor acceptance and understanding concerning language, location and locales? Simply because many of the programmers are American?

I often give the example that there are vastly more Catalan speakers in the world than those that speak Norwegian. However Catalan speakers are treated like second class citizens because most of them live in Spain, and programmers assume that Spain equals Spanish. And we are talking millions of people more. It isn't a small number.

I'm often reminded of the urban tale of the man who approached a well known seller of washing-up liquid. He promised them a 25% increase in sales and he's receive 5% of the 25%. They agreed since they had nothing to lose and he told them to make the hole in the squeezy bottle 25% bigger. The people still squeezed the bottle for the same amount of time and the genius went home happy.

So I say to Facebook and Google, "use the language of the user, as defined in their browser language s settings primarily, but offer the user a choice to change it. I'd like 25% of the increased sales" .

The user's location should never be used unless you have legal obligations that are tied to geography. In which case, don't show an ad, since they'll not only be ineffective, but they make your company appear incompetent to the end user as well. Especially when I've registered to use your service and selected a preferred language!


> So I say to Facebook and Google, "use the language of the user, as defined in their browser language s settings primarily, but offer the user a choice to change it. I'd like 25% of the increased sales"

Unfortunately this is not always accurate. Chrome on my Mac for example uses "en-us" despite the fact that my machine is entirely configured to use British English (en-gb). For my own websites I'm forced to geoip the location to infer which subset of English to use - most annoying.


You do know Chrome has a way to change that?


Even better: If the location and browser’s language setting don’t match, offer the person a choice.


Google navigation is the best example of this. Because of aesthetics I keep my phone in English even though I live in a Spanish speaking country. It's ok for Navigation to assume my language to be English but they should offer the option of changing it. The English voice completely mangles the Spanish street names and makes directions difficult to follow at times. It really isn't difficult for Google to just offer the option of changing the language.


Same in Germany.

"Turn Left on A U T O B A H N TWO ONE FIVE". Thanks for spelling every character in english separately >_>

(proper would be "Turn left on A215", or even better, with German pronunciation for street names)


Same situation but for french, I live in Quebec. Earlier today I was trying the voice detection to say a direction, I tried to say the street name in the normal french accent, I tried to tell it in a mangled English accent, I tried to read it literally as if it was an English word. Nothing to do, Google directions was making ridiculous interpretations of what I was saying or sending me to locations on other continents. :/


Microsoft has some really weird approach to languages.

Take Xbox One. You cannot possibly set your location to say France and language to English. Nope. If you want your console in English, you HAVE to set your location to one of the English-speaking countries. It's really infuriating.


This is truly the worst thing ever! Because I have to change my Xbox back to my location and language just to buy new games and then change it back again to an English speaking country and English as language, just so I can actually use the voice control...


Same boat here, with Japanese/English.

Google started getting this correct, and now they let me choose two languages, so I can either speak to it in Japanese or English.

Devs need to realize that there are disconnects in language and usage context for some people, and I'd think this will get worse, not better. Some apps (Amazon MP3 back in Android 2.x era last I tried -- I'm not sure they've fixed that or not now) went so far and even said the service is not available in your country, for solely by the choice of language.


Interestingly, Google Now lets you enable multiple languages, and it can tell which you're speaking at the moment. I was quite impressed when it could understand my Japanese.


Until just a few weeks ago, even switching the phone region and language, I couldn't use Cortana because it just wouldn't download the Language Pack for english. It only started working after a system update. It didn't take me another day to notice that it was useless to me and that I shouldn't even have bothered.


I have the same problem with Android Wear. My phone's setting overrides my language choice when I set up the watch.


Microsoft region-lock languages on the Xbox, too.

https://xbox.uservoice.com/forums/253802-home-settings/sugge...


That reminds me of telling Siri to play [any english band/artist name] when you're using anything but english as default language - she won't recognize anything in that case which renders most of the music related commands useless on iOS.


Not trying to change your way to doing things but why don't try using English for the interface? Spanish is my first language as well and I don't have problem writing in spanish while using english as main language for the UI.


It could be worse. You could live in a French speaking country that is not France but Cortana only works when you switch the whole phone to the French region. Then you get French specific news only (among other things).


On PC it refuses even if my user interface is English.


Indeed. I think Cortana does not have the knowledge and data it needs as an assistant (such as restaurants, shops, transportation) for many countries even if you set the language to English.


Cortana also does reminders, why can't they offer the locale independent parts of Cortana everywhere?


I couldn't get it to work because my region is Canada but my speech language was set to English (US). I had to install the speech recognition pack for English (Canada). In a way I sort of flattered that Cortana recognizes my distinct cultural identity.


For me it was the same, but the cause was that the region was set to Germany. So language English, region Germany. After I set the region to the US, I was able to turn on Cortana. //Edit: The reason is probably because of what Maarten88 said.


Well, interestingly, Bing and Here have better data for Germany than Google does...


I had to download the canadian English audio pack to make it work, since I'm using the Canadian dictionary. It came bundled with the American English audio pack.

...

We sound the same.


Polyglots need not apply.


Can anyone that has used Cortana say how it compares to Google Now? The Google Play preview screenshots show a lot of great stuff - flight tracking and so on - that Google Now already has. I'm not wedded to Google by any means (in fact, I like the idea of diversifying the services I use) but I'm not seeing huge pluses to Cortana yet.

Irrespective, Microsoft has really been impressive lately. If I were in the market for a new laptop I would be strongly considering a Surface Book - I imagine Cortana on my phone would be a great addition if I had one.


I used it for a solid year when it first came out and have recently switched to Android, so that I can use Project Fi.

I found the systems to be pretty comparable. Google Now still creeps me out a bit because it assumes I want it to do many things without asking. This may be a product of me not customizing the options, but the fact that it has pinged me while I was sleeping to tell me I was late for a flight in a different country that a family member was taking was irritating. I didn't have that kind of issue with Cortana because it seemed to only do what I directly requested of it.

The voice recognition and speed seemed a little better than Google and Siri at the time too. During lunch, we frequently had faceoffs between digital assistants and Cortana won more than its share. It also seemed to be better at not just showing search results for a question, but actually answering it like a human would. I've even found that it's song recognition works faster than Shazaam, although it has a higher rate of returning no results.

From my experience, unless you are in the MS ecosystem, there is probably little reason to switch from your native assistant. The one exception being, if you find the data policies or certain features to be too intrusive in your current assistant.


I've owned a Windows Phone for a year, only got around to trying Cortana on Sunday evening entirely by accident. It worked flawlessly for adding 2 calendar entries, at which point I was impressed enough to try and engage it in conversation, which (thankfully) failed. All the more impressive as I was a case of beer in, slurring my words, and speaking in a thick local accent that would confuse any Englishman.

Definitely a convenient feature, though I don't know if it has all the knowledge search stuff Siri has, or any of the random pointless gimmicks that iPhone users seem to mainly coo over.


It does have a huge collection of bad jokes, which is a draw to silly people like me! You can even ask it for categories like "tell me a science joke".


Cortana does have a sense of humour. Try asking her what she's wearing. Her answer, while still funny, will not land you an HR violation.


I recently switched from a Windows phone with Cortana to an Android phone. The only thing I miss from my old phone is Cortana. The voice recognition was better. Cortana never made me feel aware of how I was speaking or when I was pausing, but I am constantly aware that I am talking to a fallible machine with Ok Google.


Since I couldn't find the iOS link anywhere (even on their main Cortana page), here it is for everyone else: https://appsto.re/us/hTM2-.i



It is currently only available in the US and China as far as I can see (UK here).


Also not available in Canada. Boo-urns.


They just launched Cortana in Canada like last week.


[deleted]


"They have lost the right to manage software, so we the creators, will manage it for them - on a perpetual plan."

I hope we drive creators like this out of business. You don't get to make decisions like that about the user and if you do you should be punished in your wallet and with public denunciation. This is the reason RMS was and is right about GPL.

I am increasingly convinced that people need to start open-sourcing their life now before it's too late and they get too locked into and used to the proprietary walled garden ecosystems.


[deleted]


"No, people choose my software over the others, over the free, yet they steal access to it ... because they can."

I think if you really took the time to analysis this situation an honest conclusion would be different than this. Personally I think the future model is going to be FOSS with upfront cost and you get source when you pay, or FOSS and service and support when you pay. FOSS is the future either way. I would like to emphasize since you seem to misunderstand some fundamental principles, that the F in FOSS stands for free as in speech, not as in beer. Of course us Americans value free speech more than most so it could also be a cultural difference.


I've been using Cortana a lot because of my Surface Book being my primary dev laptop.

I like it. In particular its recording, geofencing, and exposure of reminders is just MUCH more reliable than Google Now, which was previously my go-to for such tasks.


do Siri, OK Google or Cortana offer any API's for 3rd party apps? So that I could do things like get X app to do Y with voice commands?

Either when I've got the app open/focused, or even when the app isn't running?


Yes, someone else linked it.

Another interesting point, Cortana is itself a CLIENT of open APIs you can build on as well.

https://graph.microsoft.io/

It's a pretty interesting concept. It means it's really easy to knit together a user. One of the most fascinating concepts is this notion exposed by mbrace of "just in time" and "user specific" clusters. You can use a user's Azure environment to do distributed computation on their behalf (after getting them to agree to charges, of course) without exporting their data to a generalized cloud infrastructure.

This has a lot of potential for giving the user the best of both worlds. It's a hell of a lot more approachable than a DIY approach like Sovereign.


What is Sovereign? It isn't googleable for me.



Not what you are asking about, but I find it very useful; Microsoft has a product called power BI which is a dashboarding/BI solution and you can create dashboards for Cortana.


Of course Google now has an api that can be used for issuing voice commands for third party apps


No support for voice actions on Android TV it seems, shame.

Bought an Nvidia Shield TV recently and while voice search is really good, it would be awesome to have wider voice control.


Of course? How do I use it, because I have used a third party app for this for a while.



I think both Siri and Google Now offer third-party hooks, even on the watches. I'm not sure about Cortana.


Siri does not, at least at the moment. It's widely hoped that it will, but today no.


A notable exception to this is HomeKit devices. While it's not close to what you'd want for a general third-party API, it does let you integrate some things. I've messed around a bit with using a server to fake being a HomeKit device to get some custom things working with Siri.


Just tried it out on my Nexus 6. Scrolling the "home" list feels sluggish to me, as does the "Notebook" feature. Is this written in something like Cordova? I certainly hope not.


MS pushes hard on Xamarin. But yeah that scrolling is hell of chunky.


Giving this a shot because I've always liked Windows Phone as a different experience from iOS and Android. I'm on a 5s with iOS 9.

Maybe the cortana servers are over loaded, but none of my questions are even being registered. All that happens is the app just keeps showing recommended news articles.

Finally got it to recognize a weather question. But I have headphones plugged in and somehow the app plays through the iPhone speakers instead of my headphones. I didn't even think that was possible.

Even speaking loudly and succinctly, the voice recognition only catches parts of a sentence or starts searching after only getting a single word like "what" or "who".

Gonna pass on this for now.


It's on-boarding process needs to consist of entering an email address/password for account creation only and or a social sign in option.

After going through a frustrating sign up with many screens and processes I was able to use Cortana. There I realized if it's not built into the phone it's going to be hard to delight users and or compete with each devices' built in assistant. I use Siri daily and she is useful when driving to control what Apple Music plays and other quick requests/actions.

I'm looking forward to trying Facebook's assistant .. hopefully it gives Siri a run for it's money and more!


You shouldn't even need an account... unless you want to enable advanced features. Access to your location and maybe your address book should be enough. I deleted Cortana on my phone as soon as it asked me to login with a Microsoft account :-)


I'm really excited about this, because it gives us another option that isn't constrained by specific platforms. I know there are complaints left and right, but we have to bear in mind it's only just been released, Microsoft is competent enough to fix the warts. Hopefully they're quickly responsive during these crucial moments of the apps release. I'm going to install Cortana and leave it on my phone even if I have to avoid using "her" for a little while. Though I hope that's not the case.


Is there any clear benefit to using Cortana over Siri?


Not having to buy an Apple device which is unaffordable for many...


Presumably if you're asking about benefits to Cortana over Siri in a thread announcing Cortana is now available on Apple mobile devices, it is somewhat implied that those interested in such a comparison already have a Apple mobile device with Siri.

Because otherwise such a comparison is pointless.


Not having to buy an Apple device even if you can afford one.

(I'll get my coat.)


In that case, is there a clear benefit to Cortana over Google Now?


If you are a windows 10 user and use cortana on desktop, and xbox one user which is likely to get cortana, you will have one personal assistant across all your devices. Is it a clear benefit, it entirely depends on your use case. As Windows 10 notebook owner, even though I mostly use Cortana on my phone, she/it has enough context when I use her on my notebook.


Problem is Microsoft will likely abandon Cortana before very long, like they've done with SO many of their products.

Plays4Sure, the original Surface, Silverlight, I could go on. MS has no stomach for long-term commitment to their non-core products, and as such I'm always counting down the days till their latest innovation/copyvation gets the ax.


All of your examples (maybe with the exception of Plays4Sure) were consumer flops. Silverlight could never beat Flash and wasn't highly adopted. Surface/Windows RT was lambasted by the media and confused customers. Plays4Sure was moved into Certified for Vista then eventually killed off when services that were using it were also killed off. Meanwhile, there's been more than a few services and products that lived well after their prime, Silverlight really being one of them. The fact that XP was supported for 13(!) years in a tech world is crazy.

But really, what do you want a company to do when it has a failing product that isn't getting traction? It's unreasonable to keep it on life support for years for absolutely no reason whatsoever.

Edit: Also, Silverlight was updated yesterday to address https://technet.microsoft.com/en-us/library/security/ms15-12...


I don't think "abandoned products" is something you want to bring up in favor of Google.


A hit, a palpable hit ;-)


Search with Bing instead of Google ;)


I purchased Nokia with Windows Phone 7 expecting the same kind of OS updates that I got as an Apple user. My iPad 2 (from 2011) is on the latest iOS version. Instead Microsoft abandoned Windows Phone 7 users. It's mildly annoying that I can get Cortana on my iPad now but not my Windows Phone device.


Anyone know if it's possible to install this or the Arrow launcher without installing Google Play Services?


apkmirror.com may be able to help you there. It's a pretty reputable source, and isn't run by shady people.


Neat. Thanks.


The Android app is really choppy and slow, I couldn't get the voice search to work, and uses Android design themes/elements from four years ago.

I also had to create a Microsoft account in order to check it out for the 5 minutes I did so before it was summarily uninstalled.


No way to say "hey Cortana" even if the app is open? Personally, I'm looking for an app where I can say "take a note" then spend the next 15 minutes saying my notes into my device with having to touch the screen.


The Android version can use "Hey Cortana"; it's under Settings. No idea about the iOS version, though.


It's an hour long project for Android Wear. The default note taking does what you say, but I doubt it would work very well for 15 minutes.


Cyanogen integration? Will this mean default Cortana install on Chinese phones?


Does this mean I can use cortana from my band via my android phone?


It won't let my peek without asking to create an account :(


still not available in a ton of countries in EU like denmark


The problem with EU is high customization per capita, given the diversity.


That doesn't mean that english functions have to be disabled. Google Now and Siri work just fine across EU. Cortana is deliberately disabled.


Why are both Cortana and Siri considered females ?


The name Siri came from the original company's name which, in turn, came from the founder's desire to name his daughter after a female Norwegian coworker of the same name [1]. Cortana is a female AI character from the Halo series. Of course in neither case does that mean they had to keep the gender the same for those reasons but it would appear the simplest explanation.

[1] http://theweek.com/articles/476851/how-apples-siri-got-name


Wish it worked on my BlackBerry!


Looks nice. Too bad I can't try it out without signing in.


How about you let me strip it completely out of Windows 10 instead of just turning/disabling it mostly off?


You can disable all its callback features. All that's left is the interface to windows search. 9)% of what Cortana is is just a new cross-entity search framework for your stuff. But you can turn it all off by unpairing it (or just using an local Win10 Account).

Or you can keep squatting on Windows 7 until it EOLs and use a desktop OS that manages to be even more dated than Mac OS X.


> You can disable all its callback features.

The fact I have to write a host file to do that makes it rather irritating but, yes, with a local account and the appropriate host file and all the features turned off it sorta-works.

The concern is Windows Update will turn it back on as it has with other things in the past.


Which OS do you use? OSX does the as-you-type requests too. Last time I looked wasn't Ubuntu doing it as well?


I primarily use Debian, I use Windows for gaming.

And Ubuntu actually lets you shut it off relatively easily fyi.


If only Ubuntu could make it easier to run package updates 6 months continuously.


Do you mean get all the features in windows 10 ported to iOS and android?

Cortana integrates pretty deeply into the OS for that to happen.. Apple/Google would have to allow it and THATS not happening :)


No, he means having Windows 10 without Cortana.

Regarding integration - what is integrating so deeply, that it needs special handling? Google Now runs entirely with public API.


Went to install it on Android until I saw the list of permissions:

  - Device & app history
  - Identity
  - Calendar
  - Contacts
  - Location
  - SMS
  - Phone
  - Photos/Media/Files
  - Microphone
  - WiFi connection information
  - Bluetooth connection information
  - Device ID & call information
Wow!


How else do you expect your virtual assistant to assist?


How else would a voice activated personal assistant work?


Isn't this less permissions than Facebook apps use anyway?




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: