I have created a small prototype where you can call a person if he/she is online on https://echo-land.herokuapp.com
It uses twilio's API to fetch STUN and TURN servers. Users create and accept offer and connect in a p2p fashion.
I have read many articles which mentions that this architecture(MESH) will fail when I create a room with multiple participant. Now I want to know that If i use Janus as a gateway where do I have to fit in to make the system functional?
In a mesh topology each user has to upload their video to each viewer, so if you had a 4 person conference call each user would need to upload video 3 times.
With Janus you upload your video once, and then Janus distributed to each viewer.
Janus has a videoroom construct that sounds like it could fit your design. You could have a user join a videoroom, and that would give you a concept of presence.
Related
I need an extension to my YouTube API quota allotment to conduct research for my dissertation. I have been trying to get an estimate of the available resources and costs for extensions for an NSF grant but have not been able to get in contact with a human for several weeks despite filing the quota extension form.
Currently, I've been trapped in a loop with the youtube API compliance team where they continuously ask me for the following info.
In order to proceed further, please provide us the following information:
Provide API Client link and demo credentials
Screenshots and/or video recording(s) that clearly demonstrates how your API Client and its users access and use the YouTube API Services.
Documents relating to your implementation, access and use of YouTube API Services.
I have attached the required responses mulitple times and still receive the same message. For the first I have attached my python code for accessing the API (the only usage of the service), the second I have attached the pictures of the terminal window and the data output, for the third I have attached the project summary, description, and data collection plan for the project plus the first paper I published using the limited quota on YouTube.
I've repeatedly asked to be connected with a human to go through their needs but have had no response. The project has received a great deal of interest in the Economics community and I am under a great deal of pressure to continue the work, it is very stressful for a graduate student to bear especially when barred by an automated response. Please help D:
The service tag is 1-0726000027117
I had in mind to make a website that pulls data from steam statistics to show how many players are currently playing a specific game. Is this possible or does it have to be an actual api?
If you're planning on this website only ever being a platform that displays the information you're pulling from the Steam API when users access your site, then no, you don't necessarily have to create a public-facing API.
However, if you're creating this application with the idea that other applications are going to programmatically retrieve the data you're displaying on the site, then yes, you should create an API that allows other applications to consume your data.
The best way to do the latter would be to create an independent service that consumes data from the Steam API and transforms it, then makes it available publicly (with authentication if deemed necessary). This API would then be consumed by a client that you create (your website that displays the data) as well as any other application that could make use of the data.
I wonder to know which technique and tools I should use to have the ability to send real time notifications to users. Specifically if I build a messaging system.
I can see that modern social networks can send notifications about new messages almost immediately. Even when the user 'A' from one country writes a message to the user 'B' in another country you can see that the user 'A' writes a message and you immediately see it (even if those users live in different continents).
I tried to figure out how it is possible and find any information about this but without success.
The only thing I found out is the technique when we use a Redis or RabbitMQ server with several servers which acts like publishers and subscribers. Our API servers receive new messages then they push a new message in the queue then subscribers receives the messages and if they have an open WebSocket with the recipient they push this message in the WebSocket and a client receives the message.
But it really won't work if you have a distributed project and your clients are connected to the nearest servers in the nearest data center.
The question is: what technologies/techniques/anything we should use to be able to build notifications in a distributed project?
If you develop your distributed app/system using web technologies, you can consider building what is referred to as a Progressive Web App. With PWAs you can add push notifications in a relatively easy way. You could start with a PWA approach, and then decide later on if developing a native app as well (i.e. iOS or Android) would be necessary.
There are many resources to learn and guide you in developing progressive web apps. Check the references I mentioned above, and you can do this codelab as a starting point.
Like many companies, the one I work for isn't comfortable in using Apple's APNS: No official library, stream that get cut-off randomly, etc... The same goes for Android's push system: Limited to small batches, completely different to Apple's APNS... That's why we are looking for an alternative and when Amazon claimed to be able to send millions of push notifications almost for free, we thought that SNS would be the perfect solution.
The issue is that we frequently have more than one million devices to address, and obviously our push campaigns rarely target the same devices.
As far as we dug, the only solution is to use the AWS API that only provides a method to create the endpoints one at a time! That is a big deal for us because after some testing, we figured that in order to create 1 000 000 endpoints, it would take approximately 15h (~17 calls/sec).
Even after all the endpoints are created, in order to send all the pushes at once, the endpoints need to be added to a topic, and again, this has to be done one endpoint at a time (so 15 more hours).
Event if we multithreaded our calls to let's say 30 threads, it would still take an hour!
So, could anyone tell us if there is anything that we missed? Is Amazon really expecting us to flood their webservices during 30 hours in order to create one push campaign? How can they pretend to send a million pushes in a second if it takes hours to prepare it? Are they working on a batch API for SNS? Is it possible to plug an Amazon DB containing the tokens to feed an SNS topic?
It looks like Amazon provides a few methods of adding endpoints/tokens, including a CSV importer (but limited to 2MB csv files at a time). They also provide an API and sample java application for bulk uploading tokens (link).
The topic subscription point is addressed by an Amazon SNS employee here, essentially explaining that there is no batch API available for this unfortunately.
There are a few other 3rd party push notification providers that may better meet your needs when it comes to frequently creating custom segments/topics:
OneSignal (Disclosure: I run this company)
MixPanel
Parse
How do I share files (music, video, image) create by my app? I am interested in sharing audio file specifically.
Imagine I have a program that generates wav file.
How do I take it from isolated storage?
Is it possible to sent an attachment with e-mail?
Save it on SkyDrive?
Share on Facebook?
Put it to media library?
At least in some convenient for a user way to take it out from WP7 device?
Any help regarding this topic would be welcome
You cannot directly send it as an attachment through the EmailComposerTask, however you can use your own implementation of an email sending mechanism.
You can save it to SkyDrive, but then again you have to use a custom API layer (developed by you or by a third-party) to achieve this.
A better choice in my opinion would be having a WCF service that will transmit the byte array of the generated content to a specific location - this will ultimately give you more control over the transmission layer.
You can save images to the MediaLibrary - from where you can access it via the Zune Software and transfer to PC, etc.
This can be done with the MediaLibrary.SavePicture method. (Yes, this is an XNA method but it can be used from within a Silverlight application also.)
The other alternative is to upload it to a webserver and send it from there.
There is currently no way to save songs or movies.
How to upload a file to a webserver very much depends on: the server; the software it is running; and any security concerns realting to the content.
There is the start of a discussion on this at Uploading XML files from WP7, possible, how to etc?