How can Google(gmail) know the flight details before departure - gmail

Recently I booked one flight from A --> B ---> C. On the day before departure, I checked with Gmail and it reminded me that the flight from A to B will be delayed for about two hours. Then I got a message from the air company to tell me that they have changed my flight from B to C into another one which is almost two hours later than my original one. It seems Google already knew my 1st flight will be delayed even before the airline company.
I'm curious what's the channel for Google to get the information? I checked with flightaware and nothing about the delay of my flight.

Google gets a lot of data from several channels. To name a few:
gmail
adsense
google crawler
google+
google chrome
google maps
Naturally there are many projects not mentioned here, developed or owned by Google. Since Google is one of the biggest companies in the IT sector, it is no wonder that their database gathered the data earlier than your notification was sent.
From your case one cannot say that Google new about the information earlier, the only thing we know is that they have sent you the notification earlier. It is quite possible that one of the employees of the flight company uses gmail. If so, then his/her mails arrive to Google's server and some automatic analyzers parse the data and then trigger the notification event. If the company was still discussing how they should communicate the delay on gmail, in the meantime Google was analyzing the gathered data and as a result sent you the notification.
You will never know the exact details unless you will start to work for Google, since Google employees will not disclose the inner information of the company to outsiders, outsiders do not have the given information. We can only guess, but we can more-or-less know that the data was gathered by Google.

Events from Gmail
When you get an email about an event like a flight, concert, or restaurant reservation, it's added to your calendar automatically. If you don't want events from Gmail on your calendar, you can delete a single event, or change your settings so that events aren't added automatically.
Note: Events from Gmail aren't available for Government accounts, accounts with data location restrictions, or Google Accounts that don't have Gmail.

Related

Domain storytelling system

I want to create a website for selling and buying stuff. When a user offers to buy a product and the seller accepts the offer is getting a notification that the product is sold to him and the product's status is changed to sold. How would one visualize this with domain storytelling?
Currently, my story looks like this but I don't like how the notification looks like it comes from the seller but the seller doesn't do anything because the notification is sent automatically and not sent directly by the seller. Same problem for the status of the product.
There are two ready options:
You can view the story as saying that the offer updates the status and sends the notification
You can explicitly model that there's some process (I've seen gear icons used to denote this) watching for accepted offers and updating the status and another (or possibly the same, though beware of multiple changes in one process) process watching for accepted offers and sending the notification

Return response to Google Assistant via API

I have a Actions on Google project that uses api.ai for its actions. This is working well and I can see request/responses appear on the google assistant interface (On mobiles and simulator)
One of my usecases for api.ai needs to broken into 2 parts, in that we have to inform the user that the processing has started and then inform them again once its completed (without them reprompting for the output).
Im trying for a way to inform the user who is using the Google assistant when the processing is completed, but have failed so far. Something like this
User: I would like to see if my loan request is approved
Google Assistant: Hold on, let me check and let u know .
.... (Makes a webservice call to the backend asynchronously)
.... After few seconds ...
.... Postback to google assistant from the webservice
Google Assistant: Thanks for holding, your request is approved.
Im not sure how to do the "postback to google assistant" call. I have tried to get the SessionId from the Api.AI call and then use that to make a event request , but that doesnt seem to send the response to the assistant. Google Assistant seems to be using the formats defined in https://developers.google.com/actions/reference/rest/Shared.Types/AppRequest, but Im unsure how to get the ConversationToken and use that for sending the response back to the user.
Short answer: you can't do that.
Slightly longer answer: At least right now, there is no good way to send a notification. Your Action can only respond to a specific statement from the user. You can say something like "ask again in a minute and I should have a result for you", but that isn't a great experience. At Google I/O 2017, they announced that notifications would be coming to the Google Home at some point... but gave neither a time frame nor any information about an API.
Long, but probably still unsatisfying answer: You can look into Transactions which let them initiate purchase or request of some sort and then "check out". Once they have checked out, you would confirm that a transaction is being processed with an OrderUpdates and then can send updates with the status of the "order". These status updates can turn into notifications or user's can query the state of the order at any time. Transactions don't require payment, so this may work depending on your needs.
However, there are a few things to note. This is still in developer preview, so things may change in the future. It also doesn't work on all surfaces where the Assistant runs, so while it does work on Assistant on phones, it does not work on the Google Home right now.

setting up nexmo test messaging for classified listings

Here is what I am looking to setup & I'm wondering if it is possible:
I have a classified ads site where people can join the site and then are allowed the ability to email any listing. I would like to add the ability for people to text message listings as well.
Listing owners would add their cell numbers if they would like to be contacted via text message, the site would then allow user to text BUT it would not show real phone numbers, each listing owner would be assigned a nexmo number and if they choose to give out their phone numbers, they can.
Then, I would also like the ability to send out a general broadcast to all users. Is this possible? And, if so, how would I integrate something like this?
Yep all of that is possible with Nexmo you seem to have 3 or 4 separate use cases here so lets break those down:
When your users sign up for your site you'll want to capture their Cell numbers against their account, you might want to use the Nexmo Verify product as part of that signup to ensure you have a correct and valid mobile number.
For users to be able to add listing via text you would need to get a nexmo number for them to send their listing to, that would be one number for the whole site and you could look at the senders number to link the message to an account (from the one you captured at registration) If you don't recognise the sender of a listing message then you'll want to send back some kind of response asking them to register and a link.
For buyers to contact sellers without revealing their numbers this is a very common use case called 'Message (or Call) Proxy' you need to rent a number for each seller (or listing) so you'll need to factor that into your pricing, then you forward any messages sent to the number to the seller, you will also have to implement some logic to handle replies and track state in your application, within SMS there is no concept of a reply so each message has no association with the previous one, this is a bit tricky when you have several conversations going on over the same number.
Finally the 'broadcast' this would just be a case of iterating over the list of numbers you have for your users and sending the message to each one, you will need to ensure that you comply with any regulations around sending of bulk messages in the country you are sending to, more details for that are on the nexmo knowledgebase https://help.nexmo.com/hc/en-us

Signing up for AdSense without a domain (yet)

Everything that I read about AdSense says that I need a website (blog, domain, etc.) which I do plan to get. I'm just not sure about the name of the domain that I want.
However, I want to be moving on, because the address verification letter from Google may take several weeks.
So, I would like to put in the domain that I think that I'm going to use. Can I do that, even though I don't own it (yet)?
Do they check if it's registered? Or are they just saying that it won't work because I can't access the HTML (yet)?
Do not register yet if your website is not ready.
Google will manually check your site whether it is eligible for Google AdSense. If they don't see any or poor content, they will decline your site and you will have to wait several weeks, maybe even months to re-apply for the same site. What you should do is finalizing your website until it's 100% ready, put content on it, and – most importantly – drive some visitors to it. At the very beginning you won't earn much anyway when you only have a little amount of visitors. When your website gets more popular, you should apply for your site and in most times your website gets approved in a few days.
You then have to wait for the letter, that's right – but you can already create ad tags, show them on your site and earn money like any other AdSense user. The letter is sent for verification and you can't request a payout before you didn't verified your address and bank account, but you will have to wait for $100 anyway (or the equivalent in your currency) since that is the minimum payout. After you achieved $100 at the end of a month, you will have to wait an additional 21-23 days to see your payment in your bank account.
So finish your website, put content on it, register for AdSense. You can wait for the letter while you already see earnings in your account.

Gmail wronlgy classifies invoices/purchase emails

we sell software licenses but our emails end in the gmail Promotions tab of the main Inbox or even in the spam folder. During the purchase process we send one email with login details, another email with a link to download the invoice and finally another email with an attachment containing the license. Also on every new release, more or less every six months, we send an email notifying users about free upgrade to the new version. We have some complains from gmail users about not having received the license because they didn't notice the email was classified as a promotion or spam. All emails come dkim signed, from spf authorized servers, we are even on the main postmaster feedback loops and in several dns whitelists.
Is there any way to have gmail correctly classify this emails ?
I am not expert on bulk emails. My suggestions are based as my experiences as active Gmail consumer and experiences with learning algorithms
(1) Avoid being labeled spam:
Request/Advice users to add your Id into their contact list.
Follow the GMail Bulk Mail Guidelines link.
Apart from DKIM/SPF do you handle abuse, unsubscribe emails?
If a user marks you spam, nobody can help. Your emails are annoying to user and Gmail will honor user's preference.
(2) Make it to Primary Tab in Gmail Inbox:
Categories in the INBOX are filtered based on Gmail learning algorithm about user preference.
Play with keywords in your mail. If Gmail identifies email content to be important, they'll put it in Primary. I noticed emails from Godaddy.com with expiration/renewal/promo/profile complete request etc always make it to my Primary tab. Either they have figured it out or could be I have replied to them couple of time. Or I may have spend above threshold time staring at content of their emails.
You may request user to mark Star and Important. GMail learning algorithm should pick it.
Usually nobody replies emails in Promotion and Social tabs. Have your user reply your email. Not the best idea I know.
Noticed another ‘major’ retails emails practice :
For Order confirmation they used retailer#accounts.retailer.com : GMail classified Primary
For Reminders, Upgrade and feedback they used retailer#value.retailer.com : GMail classified Promotions
For Pure promotion they have yet another email ID dealnews#promo.retailer.com : GMail classified Promotions
If user is really annoyed with hundreds of promo email, GMAIL learning algorithm may classify promos to go into spam first than value emails. Three ID strategy seems promising.
Good luck !

Resources