Oh baby it’s a wild world… wide web

We are glad to announce that we have taken yet one more step towards user satisfaction.

Providing a secure web browsing experience is key to protect our users data. That is why from April 2018, streema.com and all its subdomains are secure sites encrypted with HTTPS.

HTTPS encryption ensures that users can access streema.com and enter private information like passwords without anyone intercepting their information. Moreover, even if users do not share any sensitive information, intruders can exploit unprotected websites to potentially reveal information about the behaviors and identities of their users. HTTPS helps prevent intruders from exploiting the communications between websites and users’ browsers.

From now on, Streema’s users are protected by HTTPS encryption even if they type “http://streema.com”, since they will be redirected to the secure HTTPS site.


At Streema we are committed to building better and safer products for our users, while contributing in making the Internet safer for everyone. We are proud to be joining forces with thousands of websites in achieving this mission and we’ll continue working hard to bring our users the experience they deserve.

Stay tuned!
The Streema Team

Simple Radio now available on Amazon Echo

At Streema we want to people to easily access great audio content and that’s why we are taking Simple Radio to every device on every platform. We are happy to share that Simple Radio is now available on Amazon Echo, so go ahead and check it out.

How do you enable Simple Radio on your Echo? The first step is to say: “Alexa, enable Simple Radio skill” or in the store.

Once you enable Simple Radio, can ask Alexa to play any station by just saying:
-“Alexa, ask Simple Radio to play KEXP”
-“Alexa, tell Simple Radio to play BBC Music”
-“Alexa, tell Simple Radio to tune in NPR”

Also, it’s easy to play the last station you listened to by just saying “Alexa, talk to Simple Radio” and Alexa will ask you if you want to resume.

At Streema we strive to go where people want to go and we firmly believe voice-activated platforms are the future of audio listening – they provide a simple way to seamlessly integrate into someone’s life, without friction, and we want your favorite radio station to make it there.

Stay tuned!
The Streema Team

A Voice-Activated Simple Radio

As we mentioned in the last post of 2016, this year will give us more insight into the changes coming in how people access great audio content.

According to the recently published Infinite Dial report by Edison Research, 7% of Americans 12+ own smart speakers and that number will only go up over time. We’ve even seen it with our own users, some of which buy a Google Home device or an Amazon Echo and want to activate Simple Radio with the sound of their voice.

At Streema we strive to go where people want to go and we firmly believe voice-activated platforms are the future of audio listening – they provide a simple way to seamlessly integrate into someone’s life, without friction, and we want your favorite radio station to make it there.

We are working on it…

 

Stay tuned!
The Streema Team

Radio Listeners Around The World [Real-Time Map]

Have you ever wondered how the World Map would looks like if we were able to see which radio station is listened in any place? Now you can do that!

Which radio stations would people walking along the Central Park be listening to? And which ones at Abbey Road 3, St. John’s Wood, London? And what about your very own neighbourhood?

Maybe you can remember some developments displaying the most listened artists in every US state according to Spotify, simultaneous listening worldwide or even a less known but very interesting work by Andrew Filer who mapped the reach of public radio stations in the United Stations, based on data from Wikipedia and the stations search from the Federal Communications Commission.

But what about the Radio Stations audience around the world? Well, this is what it looks like when the Listeners in Streema’s Platform (Streema.com & Simple Radio App for iOS):

World Online Radio Listeners

You can zoom in and out, and see a detail about what radio station is listening each user in real time:

New York World Online Radio Listeners

How we built it?

In order to develop this map, we’ve employed a few tools and services. In first place, we used Mapbox, whose Javascript Open Source Library allows you to create beautiful interactive maps and data visualizations and integrate them to your website in minutes. Mapbox also has a customizable map layer of streets, buildings and places around the World, known as Mapbox Streets, powered by open data from OpenStreetMap.

In addition, Mapbox also provides an easy way to add some really useful Leaflet plugins to add some awesome features and interactions. By instance, markers clustering is done using Leaflet.markercluster, and the zoom slider widget it’s here thanks to Leaflet.zoomslider.

Behind the scenes

So far, this is what you see. But how do we make everything work behind the scenes? Here at Streema, we have a set of services and applications, and between them we have Streema’s website and Simple Radio App for iOS.

Both applications keep track of several user actions and general metrics using an internal tracking tool which sends that information to a central service. By instance, we track every radio station played by every user. This central service also provides an interface to all our applications for listening to a subset of that actions and metrics. This way, we’ve been able to build a pretty simple application (using Tornado, a python framework and asynchronous networking library), that listens to every radio-played event and sends that information (using a websocket connection) to each visitor who’s seeing this map.

The simplicity of the application wouldn’t have been possible without the help from Maxmind whose geoip2 library gives us the power to localize each user; without the help from Heroku to get up and running quickly a production website; and NewRelic for keeping it constantly monitored and trace all the errors.

So, go and take a look at who’s near you and what radio station are they listening to. 😀

Stay tuned!

The Streema Team

Improving Radio Player Performance at Streema

Following the improvements we mentioned in our previous blog post, now we’re back with more news about our player – after all, Streema is about playing radio and TV. 🙂

Before we start, something important to mention is that, as we’ve explained before, Streema does not provide the streaming service, but rather it provides the platform for tuning in to stations. However, in many cases we’re not able to play a radio or TV station because there’s a broken stream or because we don’t find compatible players. Here are some figures to explain that better:

For our Radio Desktop users*, last month (August 2013) 70.3% of them were able to play a radio station, while that number was only 57.6% a year ago (August 2012).

*These figures do not include external players – if they did,
the percentage of successful tune ins would be much higher.

 

To do so, a big part of the work was fixing and updating thousands of streams. Additionally, we have also improved how the plugins work as well as the number of plugins supported – for example, last year 13.4% of our users couldn’t play a station because a of plugin compatibility issue, today that number is only 6.1%.

As you might know, a plugin is a software that allows, in our case, to play a station in your browser, so part of our job is to find plugins that will make the audio and video work on your desktop, tablet, or smartphone.

All this has been the result of both testing and measuring better as well as understanding the behavior of our users. Thanks for listening and watching!

Hopefully in the not so distant future we’ll have a chance to share some data regarding mobile as well as TV.

Stay tuned!

The Streema Team

Improving Testing Time at Streema

At Streema we like to develop at a fast pace.  One of the things that allows us to do that is to have an automatically tested codebase. We want to always be shipping and having our apps tested gives us some degree of confidence that we won’t break it all each time we commit a change.

But running tests takes time. A few months ago our unit tests were taking over 12 minutes to run. Each time someone wanted to run the tests, the situation was pretty much like this:

As you might recall, we use Python/Django. And our problem was the use of fixtures in our unit/functional tests. As @carljm said on his “Testing and Django” talk for PyCon 2012, they are slow to load, hard to maintain and increase test interdependence. We had huge fixtures, 1mb fixtures, which loaded thousands of models and they were used on dozens of tests!  With a little bit of patience we were able to remove them all and replace them by using factory boy.

The result:  we reduced the test run time from over 12 minutes to under a minute.  Yes, a single minute.  =)

Stay tuned for more news and insight on the technical details of Streema. We might have an interesting thing or two to share!

Stay tuned!

The Streema Team

Improving Uptime and Performance on Streema

Starting late last year, at Streema we’ve been working hard to improve the website’s uptime and performance – nothing is more annoying than a tech service or device when it doesn’t respond, right?

So we wanted to give you guys a quick update on this, but before we start, though, two important definitions:

Response Time: The interval between a request that enters and the answer that is received. In this case it’s the page load time, i.e. the time to retrieve the HTML page (without images, stylesheets, JavaScript, etc.). So, although it could be below a hundred ms (milliseconds), as a user, it could translate into seconds to load a complete page.

Downtime: It is the period when the system is unavailable, i.e. the period you wait, mostly doing nothing, and if it goes above what you expected, you start hitting your computer or anything around you, in addition to shouting out phrases such as “come on!”, “ahhhh” or others that we can’t publish right here. 🙂

So, we’re happy to share with you that we’ve reduced our Response Time almost by a half and the number of Downtimes by about 75%. Even better, some of the Downtimes we had before took hours, now they are less than 10 minutes – additionally, now they only happen because of our own updates to our site and not because of infrastructure problems!

For those techies out there, here’s a quick summary of what we’ve been doing to get results:

  • Increase the number of servers and balance the load with Nginx.
  • Improve the database setup to take advantage of the servers memory.
  • Rewrite many SQL queries, specially the ones that requested temporal tables on the hard drive.
  • Change the configuration of the Apache modwsgi and increase the number of processes to serve requests.

Finally, regarding the tools we’ve been using, the main ones were: Apache’s Server Status, Munin, New Relic, Percona Tools and Pingdom.

We’re planning to continue developing our performance infrastructure – and we hope you continue visiting Streema. 🙂

Stay tuned!

The Streema Team

How Python and Django power Streema

For a change, this month’s post is from our IT team! We wanted to give you a little sneak peek of the technology that Streema runs on as well as pay due respects to some really well known open source initiatives that make our service possible.

So, we use a ton of open source software*, and while each one has its special role in the Streema universe, there’s a couple we wanted to mention in today’s post. Many of our readers might not be aware of it, but most of our software is built with the Python Programming Language and our web application with the Django Framework. In our experience, they both have proven to be great choices for many reasons, among which we can include a great community, a large amount of available open source libraries and modules, and an elegant and pragmatic design.

Going into more detail, we recently upgraded to Django 1.3 and Python 2.7 as part of an ongoing effort of modernizing our stack and automatizing our processes. When you have a site that’s visited by an interesting amount of users each day (thank you everyone, do keep coming back!), such a change can’t be taken lightly. Thorough testing must be done to correct errors that might spring from the migration. All in all, the migration went pretty smoothly – in big part thanks to how well thought out Python and Django are, but also thanks to a good suite of automated tests we’ve built over time. Though our users might not see any noticeable changes, this upgrade will help us continue making our service better, faster, and stronger than ever.

Thanks again to the vibrant Python and Django communities (and the communities of the rest of the many open source softwares we use).

Stay tuned for more news and insight on the technical details of Streema. We might have an interesting thing or two to share!

————————
* The list is definitely not exhaustive: Apache, Nginx, Munin, MySQL, Redis, Eventlet, Fabric, MongoDB, SQLite, MooTools, Mplayer and of course, WordPress.org for this blog. =)

Powered by Django.

Python Programming Language