Lot of delay in receiving timeline cards - google-mirror-api

In my case, the Glassware is inserting a jpeg image as a timeline card as a response to User's Voice query using "Take a note" Voice command. I keep waiting sometimes 10-15 mins before I see that timeline card on Glass. Sometimes, I see the inserted timeline card on Glass device only after I reboot the Glass device.
The way I have implemented this is:-
I do the Boot-strapping, that also includes inserting my Glassware Contact that accepts Voice command "Take a Note". Then on Glass I make a voice query using "Take a note", my Glassware accepts that query, sends an OK message to the Mirror Service and then inserts a new Timeline with jpeg image.
The Glass displays the Voice query however, it is not able to receive the inserted Timeline card in a consistent way.

We're currently investigating the issue, which seems to be affecting multiple users. Please keep an eye on this issue on our issue tracker for more information.
8/23/2013: We believe that the cause of this issue has been tracked down and fixed. If you still find yourself experiencing significant lag times, please let us know via the issue tracker.

Related

what exactly does the Gmail API push notification rate limit mean?

I'm building a messaging system for GCP-hosted platform and plan to use Gmail as a backing system. Users can write their messages through our system which will invoke Gmail API to send emails to other recipients. When someone responds, Gmail API sends a push notification and our system in turn notifies a used.
As I expect high spikes of user activity, the limitation of 1 notification per second (https://developers.google.com/gmail/api/guides/push):
Each Gmail user being watched has a maximum notification rate of 1 event/sec. Any user notifications above that rate will be dropped.
doesn't seem to work for me. But to be sure I want to understand what does it exactly mean.
In particular:
what will happen if my mailbox receive 100 emails in a second? Will Gmail generate a single notification which will include all 100 messages? Or there will be several notifications generated which will eventually notify me about all messages? Or due to high messages rate and the above-mentioned limit of 1 notification per second I will receive a single notification for the first message and the rest 99 will not be pushed to my backend?
What the documentation tells you is that, if 100 notifications appear on the same user on gmail at the same time, the first notification would come thru, then the other 99 would be dropped.
However, there is a way to recover changes by using history events, this is referred to as sync and there are multiple ways to do this. I suggest you read up on the Partial Synchronization guide.
The documentation also offers some advice on how you should architect your code to deal with this, specially in the Reliability section of the documentation.

Twilio Video in ReactJS - how do I access the room object after the initial setup?

My app is built in reactjs. There are a lot of "how tos" for the twilio video javascript sdk, but very little for people who are building in reactjs.
My problem is this: I have successfully implemented the construction and subscription of my users to a room. This is the process:
User 1 lands on user 2's profile, and decides to call. He presses the "call" button.
The server creates a call in the database, contacts Twilio with his info, and returns a twilio token to him.
He then connects to the room, publishes his local audio and video track to it, and waits the invitee
User 2's browser is informed of the call through a push notification from firebase messaging. He is sent a Twilio token from the server in that message, as well as information about the call and the room. His browser pulls up the "incoming call" page.
Assuming he answers, he begins publishing his own local audio and video tracks, and connects to the room.
The video and audio tracks of the other participant are attached to a couple react refs pointing to specific divs on the dom.
The video call is now progressing.
All this works well. However, my question is how do I access the actual room object at this point? Specifically, I want to mute the audio and video tracks based on input from the user. There are enable and disable methods in the Twilio library, but how to get to the tracks? The room creation and set up templates I have found online, which work, do not produce an object which can be modified, after the initial set up. All I get from let room = Video.connect... is a promise. If I use the Video.connect method AGAIN, it seems overkill - why contact Twilio again with my token when I already have a room in progress - and doesn't seem to work when I try.
Any help would be appreciated!

Trigger Alexa Remotely

Is it possible to trigger Alexa remotely i.e I have a scenario where based on some action on Mobile App Alexa should be triggered and the response provided will be read out by echo dot.
Varun
There's no way to trigger a response without the user interacting with the Alexa-enabled device. But it looks like this may be changing soon: https://www.theverge.com/2017/5/16/15647074/alexa-notifications-being-added-amazon-echo
Currently there isn't a way to trigger a response from the device without interacting with the device it's self. Even skills created for the device by third parties currently only have access to get a response immediately (approximately with-in 10 seconds) after an interaction.

Persistent Group using XMPP

I am using XMPP and MUC for creating a group and it works fine till the user is online. The user leaves the group as soon as he goes offline. I want a user to stay in the room when he is offline and receive the unseen messages when he comes back. How to achieve this in XMPP. And how to create group and add users dynamically.
Can i make the user online all the time..is it is a good approach.? if so then how can i do this - making user online all the time
XMPP MUC is based on user presence. A new upcoming protocol address this issue. It is called MIX: https://xmpp.org/extensions/xep-0369.html
It is still preliminary, but you can expect fast iterations and improvements.

take and upload picture using Mirror API for Glass

while it's possible to send image to glass in a timeline card, it doesn't look like it's possible to to the opposite (take a picture and upload it).
If I'm correct, this operation would be performed as a user action in the mirror APIs (like SHARE, REPLY, NAVIGATE), but I don't see any camera related function.
While you can't add a user action to take a photo directly from one of your timeline cards, you can register a Contact and Subscription to receive photos.
When the user takes a photo using the normal camera function of Glass, they can then SHARE the photo with your Contact and you will get a notification at the endpoint you specified in the Subscription.
See the following URLs as reference:
https://developers.google.com/glass/contacts#how_sharing_works
https://developers.google.com/glass/subscriptions#shared_picture

Resources