Data Blast

Data, Telecom, Maths, Astronomy, Origami, and so on

Leave a comment

Discovering RHIPE with SDN-Mininet

Some days ago I attended a series of lectures organized by Telefonica Research (TID) where they explained several projects that have been developing in the last years in the field of Big Data. These projects or use cases mostly are related to the use of data gathered from their mobile phone communications, besides other sources such as credit card transactions and social networks (e.g. twitter and facebook). In general, the talks showed interesting information both at content and format level.  In addition, two key concepts, as it might be expected, were mentioned repeatedly during the explanation: “anonymity” and “aggregation”, conveying that personal data they collected are protected, in order to ensure the privacy of their users. Although I don’t want to doubt about this, we must recognize that this is a controversial issue both for Telcos and OTTs and whose discussion isn’t over; still a lot of water under the bridge must flow in order to clarify the suitable use of personal data. I mean It’s necessary the existence  of a strict legal framework that protects users worldwide, but that’s another topic for another post.

Well then, I understand and guess that in general the focus of these talks was simply to present compelling and novel visualizations, so audience can glimpse the power behind the data and the endless options that the use of Big Data technology can bring us in the future. Visualizations such as the movement of Russian tourists or cruise passengers through Barcelona, where they sleep, eat or buy luxury items, food, etc, (all geo-located) or also sentiment analysis by means of twitter of a determined event, etc. etc. Also to mention some research projects with social scope where TID is involved in several countries as could be the analysis of crowd movement after an earthquake or during a flood, i.e. migration events. On the other hand, they highlighted also something very important and revealing: analyze the behaviour of people by means of their movements through cellular radio system (and social networks) provides a more accurate and less biased notion of the users (potential clients) than an opinion survey. Anyway, it gets the feeling that Big Data is a world of possibilities and as Henry Ford said: “If I had asked people what they wanted, they would have said faster horses”. See Smart Steps project by TID.

However, it’s logical to think all this is the tip of the iceberg of an emerging business that could be very lucrative: “sales data”…well in fact, it already is the case. This reminds me a news of October 2012 where Von McConnell, director of technology at Sprint said, in relation to if Telcos became nothing more than a dumb pipe, “we could make a living just out of analytics”, this is, Telcos can survive on Big Data alone. Besides, I remember last year at Telecom Big Data conference (Barcelona), Telcos were aware that they are “sitting” on a goldmine of data and already are working on mechanisms to get useful business information, at all level, with a main goal: data monetization. However, here I would like to mention briefly an aspect that can modify this scenario: there exists a war Telco vs OTT players for dominance over the data, but it’s another story which we must be alert. Anyway, currently some relevant topics in a telco are: marketing analytics, M2M solutions, voice analytics, operational management (network and devices), advertising models, recommendation systems (cross/ up selling) etc. This give us an idea about the topics that Telcos are currently working. By the way, I recommend to check Okapi project by TID (Tools for large-scale Machine Learning and Graph Analytics).

Configuring RHIPE and SDN-Mininet

Well, actually this preamble was only a pretext to present a simple example where is possible to see an application of Big Data & analytics tools (e.g. Map/Reduce Hadoop and R) over data gathered from a network. It’s true however, these are well-known issues that I already had mentioned in previous posts, but my intention this time (as well as to repeat my speech) is to place Big Data in a context purely of network. Typically when we talk about Big Data or analytics in a Telco, some common examples appear such as customer churn analysis or pattern analysis over a cellular radio system.  SDN (and NFV) in this sense, by decoupling control and data plane, offers a clear opportunity to manage network communications in a centralized way, with which now it’s possible to have server a farm (Data Center) that can process several network metric in real time using Big Data analytics, i.e. now can be possible to do an advanced network tomography: huge network matrix, delay matrix, loss matrix, link state, alarms, etc

Anyway… currently however, I don’t have access to real traffic data of a Telco, which would be ideal, but as proof of concept, a simple network created with Mininet is enough from my point of view. So, I programmed a tree-based topology with Python, with an external POX controller and a series of Open Flow switches and hosts. In this tree-based topology is possible to configure the fanout (number of ports) and some characteristics for the links such as bandwidth and delay. It’s very easy to add packet loss rate or CPU load, but this time I only used the first two features. Moreover, it isn’t very complicated to programme a fat-tree or jellyfish topologies or inclusive random networks, if you prefer to work with more complex networks.

On the other hand, I used wireshark tool to gather network data. In any case, I only want to capture ICMP packets in order to calculate simply the latencies between nodes and then construct a “Delay Matrix”. Actually this is very simple, but now all analysis will be done with RHIPE package, in order to apply a Map/Reduce & HDFS scheme. According to Tessera project: “RHIPE is a R-Hadoop Integrated Programming Environment. RHIPE allows an analyst to run Hadoop MapReduce jobs wholly from within R. RHIPE is used by datadr when the back end for datadr is Hadoop. You can also perform D&R (Divide and Recombine) operations directly through RHIPE MapReduce jobs, as MapReduce is sufficient for D&R, although in this case you are programming at a lower level than for datadr.” So, basically RHIPE is a R library that acts as “wrapper” which allows interact directly with Hadoop.

For Hadoop environment, I used Vagrant Virtual Machine by Tessera Project that includes CDH4 and RStudio.  My R Code is in Rpubs and csv file (traffic_wireshark.csv) is in Github.

Configuring Mininet  (see Github for

# Loading wireshark
sudo wireshark &
# Filter ICMP (hiding Open Flow messages)
icmp && !(of) && ip.addr ==
#Loading POX controller
~/pox$ ./ forwarding.l2_learning
#Loading tree-based topology
sudo python
SDN Topology

SDN Topology

Screenshot wireshark

Screenshot wireshark

Map-Reduce Scheme

Map-Reduce Scheme

Delay Matrix

Delay Matrix

Leave a comment

Venture Capital Fundraising, Crunchbase, and Barcelona ecosystem

Inspired by two readings apart in time, I decided to write this post. The first one, just a couple of days ago, when browsing I found a talk from Etsy, an e-commerce website, for “Business of APIs Conference 2012”. There, they talked about the need to think an API (Application Programming Interface) as a product and not simply as an interface to allow connections to a data repository. They also explained that in the development of a new product many people are involved from different disciplines or areas within the company as designers, project managers, marketers, etc. In contrast, the development of an API is more limited or restricted to the IT department, with the risk of losing focus on its usability and functionality, i.e. a vision too technical, maybe. With this I don’t mean that it always happens, surely many things have changed to date, but it’s clear that technical and commercial insights sometimes go in opposite directions and today an API is a great opportunity to make business, connect with customers more easily, and also to enhance the visibility of the business.

The second reading is older and goes back a few months ago; March to be exact., when I read an interesting blog post from Beautiful Data site in which the authors analyzed the Big Data investment in technology in 2014 using data gathered from CrunchBase portal. Now, I remember I liked how they presented this issue and how used CrunchBase API (RESTful interface) in order to find relationships between companies and investors related to Big Data. Although the use of APIs wasn’t alien to me then, because I already had done some developments using APIs from Facebook and Flickr for sentiment analysis, but its approach, at least for me, it was very interesting and with a great potential for evaluating and analyzing investments into a startup ecosystem. So, I remember I checked out CrunchBase API documentation (version 1) and then I applied a series of Python scripts getting some results comparing for instance, startup ecosystems at Barcelona, London, and Paris. Although in this point, I must say that API version 1 wasn’t very robust, moreover some fields were somewhat ambiguous and the requests rather limited.

Back to the present and considering both “revelations”, I tried to dust off my old code in order to publish some results in my blog, but unfortunately CrunchBase API had migrated to version 2 and I was forced to rebuild the scripts completely. Well, finally after some hours fighting with Python, R and MongoDB reached my goal. I used MongoBD because CrunchBase limits its usage to 2,500 calls per day and 50 calls per minute and I needed to save the requests in order to reduce the traffic. Moreover, MongoDB is a robust Non-SQL DB, very easy to configure and works fairly good with JSON-like documents. As tip, there is a package called Python Crunchbase 1.0.2 that “in theory” works well with version 2 but personally I haven’t tried (uploaded 17/09/14). In any case, most of scripts that I used are in this IPython Notebook.

Some details

According to Wikipedia, CrunchBase is “a database of companies and startups, which comprises around 500,000 data points profiling companies, people, funds, fundings and events. The company claims to have more than 50,000 active contributors. Members of the public, subject to registration, can make submissions to the database; however, all changes are subject to review by a moderator before being accepted. Data are constantly reviewed by editors to ensure they are up to date. CrunchBase says it has 2 million users accessing its database each month”.

Now, it’s important to remember that each CrunchBase member fills the information that wants or considers appropriate, so it isn’t unusual to find companies with a bit of relevant information. On the other hand, now version 2 includes IDs (uuids) for all objects, which it’s a new advantage compared with version 1, however, still there are some details to debug. Also, when you write a script must be careful to include exceptions handling because requests are very sensitive when a field is empty or doesn’t exist, maybe because it wasn’t filled properly or was removed intentionally for the system, etc. Also, depending on your app, perhaps you want to search companies for a specific city and in this case a first answer for this query could be too broad, i.e. it could include companies from other cities. For example, if the query is for Barcelona (uuid), between the companies gathered appears Veeva whose global headquarters is in USA but has an office in Barcelona that is its European headquarters. In this case it would be necessary to apply some filter to avoid confusions specially when you want to analyze strictly startups in a city. Even so, all this depends on how a company is defined itself…I mean its category.

In Barcelona for instance, if you sort by location (Barcelona, uuid: eead2c0cb178ad334e6d6c813c955e99) and category (“Startups”, uuid: 568e63721763cf41d3f05a985edc3220) just get 15 startups, when in reality there are many more on the list that could be considered startups currently. Anyway, data quality will depend on what a company wants to show: funding round, fundraise, if the funding is undisclosed, private equity, etc. and it’s for this reason that data gathered should be considered only as something illustrative.

Some results for Barcelona Ecosystem

A) The following figure shows a VC fundraising graph where is possible to see the relationships between companies (690 orange circles, 145 connected) and investors (188 blue circles). In this case, the representation is an undirected and unweighted graph where some links could be parallel links between two nodes, i.e. a multigraph but visually we see only one link, this is, because there are investors that participate in different funding rounds with the same company.

For an interactive visualization click here.

For interactive visualization click here

Also, as an remarkable detail, there are 42 connected components, i.e. 42 subgraphs, where in each one of them, any two nodes are connected to each other by paths but not with others nodes in the “supergraph”. This last point is key because there exists a big component comprised by 220 nodes, 98 companies and 122 investors forming a significant investment group for the city. Depending on which information you want to get, it’s possible to define this scheme as a weighted directed graph (see IPython notebook), for instance to apply pagerank algorithm or in/out degree centrality algorithm.

B) Total Fundraised vs Year

For interactive visualization click here.

For interactive visualization click here.

C) Top 10 Companies

Company Total Fundraised
privalia EUR 395,668,000.00
desigual EUR 285,000,000.00
scytl EUR 89,427,998.42
strands EUR 43,450,000.00
groupalia EUR 35,899,996.00
social-point EUR 34,845,998.42
arcplan-information-services-ag EUR 26,907,400.00
ntr-global EUR 26,860,000.00
gigle-semiconductor EUR 24,489,998.42

D) Top 10 Investors

investor money
eurazeo EUR 285,000,000.00
cabiedes-partners EUR 203,989,256.00
index-ventures EUR 66,547,928.00
general-atlantic EUR 66,547,928.00
vulcan-capital EUR 31,600,000.00
insight-venture-partners EUR 29,022,928.00
sofina EUR 25,000,000.00
highland-capital-partners EUR 24,371,500.00
nauta-capital EUR 23,557,527.14

E) Total Fundraised vs Pagerank

By Networkx, “PageRank computes a ranking of the nodes in the graph G based on the structure of the incoming links. It was originally designed as an algorithm to rank web pages”.

For interactive visualization click here.

For interactive visualization click here.

F) Total Funraised vs Degree Centrality (in-degree)

by Networkx, “the in-degree centrality for a node v is the fraction of nodes its incoming edges are connected to. The degree centrality values are normalized by dividing by the maximum possible degree in a simple graph n-1 where n is the number of nodes in G.”

For interactive visualization click here.

For interactive visualization click here.

G) Percentage Category

For interactive visualization click here.

For interactive visualization click here.

The increase in the value for both Pagerank and Degree Centrality indicate also an increase in the position within of the fundraising ecosystem, i.e. conditions more favourable to get funds. So, it isn’t necessary to reinvent the wheel to know that having a greater and better connection to big investors gives advantages to a company when it seeks more funding. As Arthur Conan Doyle wrote in The Great Keinplatz Experiment: “Knowledge begets knowledge, as money bears interest” and this makes even more sense when we think for instance in a startup that is well connected in the network and possibly can have access to better mentors, new opportunities of fundings, etc.,although also it’s true this isn’t guarantee of success because many other factors must be considered surely. On the other hand, from investor point of view, the position in the network of a startup could be a decision parameter to invest, maybe.

Anyway, with this post my intention was to dust off my code and also to share some thoughts about APIs…better APIs attract more developers and therefore it’s possible to develop better products and new businesses…visualizations, data analysis and so on. As tip, this website gathers links to 531 reference APIs. Finally given the data, many other conclusions can be said, such as fashion is the industry that has received more investments (total fundraised) followed by the e-commerce or that 2014 is being the year with biggest investment, etc etc.  but as I mentioned before, these data should be compared with other sources in order to validate certain trends. My example of Barcelona maybe wasn’t very representative, because in Spain, I think CrunchBase doesn’t have a critical mass, yet, but it’s a matter of changing city and making other analysis. Also, there are many other investor matchmaking websites. For example, Angellist is a case that could be interesting to analyze. Furthermore, there are companies like SiSense that develop analytics dashboard software with this type of data, or websites like Startup Genome, Foundum, etc.

In my github repository are the csv files, so anyone can try VC Fundraising graph with R.


d1 <- read.csv("barcelona_link.csv",header = TRUE, sep = ",",stringsAsFactors=FALSE)
d2 <- read.csv("barcelona_role.csv",header = TRUE, sep = ",",stringsAsFactors=FALSE)
links<-data.frame(d1$company, d1$investor)
m=match(links$source, nodes$name)
g <-, directed=TRUE,nodes)
dat1<-(data.frame(get.edgelist(g, names=FALSE))-1)
d3ForceNetwork(Links = links, Nodes = nodes, Source = "source", Target = "target", NodeID = "name",Group = "group",width = 550, height = 400, opacity = 2, linkColour = "#000000", zoom = TRUE,file = "b_new.html")

1 Comment

Remembering “The Way of St. James” ( and The_Way R Shiny App)

People say there is a before and after of “The Way”. I can’t make sure it’s true (for everybody), but I know that the way has something that catches the pilgrim. Although one exact month has already passed since my wonderful and exciting trip through a part of way of St. James from Leon (French way), I still keep thinking about it. For me, it was an extraordinary and vital experience; two weeks where I met many people from different countries, all united by a common goal: to reach Santiago. I shared many experiences, joys and sorrows, wishes and hopes, some philosophical conversations and others more mundane, but mostly I met wonderful and endearing friends that until today, fortunately, I keep being in touch thanks to the email and whatsapp.

When I started the way, of course, had many doubts and fears of what I would find there. A week before, I remember I read a quote, which initially didn’t pay much attention but during the path, I realized that it had all the sense: “The way is never long if beside you goes a good friend”. This phrase I think encompasses the sense of the way, something like the hymn of Liverpool “You’ll never walk alone” haha Actually, I practice regularly trekking but for some reason, for several months I was not able to do it and my feet were the first to notice it: the fearsome blisters (which came to be raw, oops)…..simply I’m a rookie. Here I also must say that only thanks to encouragment words from kind travel-mates I was able to finish the journey and reach my initial goal.


Well, my intention, however, isn’t to mystify the way because each person will give the sense that he or she wants, but I must recognize that “The Way” isn’t an ordinary path, has “an aura” that makes it special. I mean, unlike other routes I’ve done, here there is a great willingness for talking and sharing and the only keyword to start a conversation is a simple phrase: Buen Camino!!!!. Moreover, in an astonishing way, language barriers disappear because you have all the time, people can practice the patience and the tolerance, and finally somehow people understand each other; I myself was witness to idiomatic miracles like this. On the other hand, wonderful landscapes and monuments make this a worthwhile adventure and an unforgettable experience despite the effort made. Hopefully, next year I wish to go back…maybe by the Northern way or French way but now from Saint Jean; only time will tell. Finally from here, I’d like to send greetings to all my friends at the way: Italian team and friends from Seville, Navarra, Galicia, Canary Islands, France, Poland, etc. etc. Meanwhile, I’m practicing from now the hymn: “Tous les matins nous prenons le chemin, tous les matins nous allons plus loin……… Ultreia, ultreia et suseia.”.


The_ Way R Shinny App

Coming back to the reality (or at least I’m trying), these last days I was considering to make a simple web app using R Shiny which is made up of three parts: Map, Altitude, and Distance. Map section shows the paths and some markers by using leaflet library and kml files. I should have liked to use mapbox.js library in order to control layers in the map, but I had problems in the integration with R Shiny. In the Altitude section, I used morris.js (rCharts package) and rgbif package based on Google Elevation API to calculate elevation from gps coordinates. Finally, Distance section shows a distance table for a specific site. Github link.



    titlePanel("St. James's Way (The French Way)"),
    selectInput("var1", label = "Choose a Stage:",choices = s$id,selected = "stage1"),
    selectInput("var2",label = "Choose a Site:", choices = cam$Site, selected = "Saint Jean Pied de Port"),
        img(src = "camino.png", height = 72, width = 72),
        span("by Andre", style = "color:blue")
    tabPanel("Map", tags$style('.leaflet {height: 400px;}'),
    tabPanel("Altitude", textOutput("text1"),showOutput("plot1", lib = "morris")),
    tabPanel("Distance",textOutput("text2"),tableOutput ("tab2"),tableOutput ("tab1"))


shinyServer(function(input, output,session) {
    dinput <- reactive({switch(input$var1,,"stage1"= s1,"stage2"= s2,"stage3"= s3,"stage4"= s4,
    "stage5"= s5,"stage6"= s6,"stage7"=s7,"stage8"= s8,"stage9"= s9,"stage10"= s10,"stage11"= s11,
    "stage12"= s12,"stage13"= s13,"stage14"= s14,"stage15"= s15,"stage16"= s16,"stage17"= s17,
    "stage18a"= s18a,"stage18b"= s18b,"stage19"= s19,"stage20"=s20,"stage21"= s21,"stage22a"= s22a,
    "stage22b"= s22b,"stage23a"= s23a,"stage23b"= s23b,"stage24"= s24,"stage25"= s25,"stage26"= s26,
    "stage27a"= s27a,"stage27b"= s27b,"stage28a"= s28a,"stage28b"= s28b,"stage29"= s29,"stage30"= s30,
    "stage31"= s31,"stage32"= s32,"stage33"= s33)})
    output$text1 <- renderText({s$name[s$id == input$var1]})
    output$text2 <- renderText({input$var2})
    output$plot1 <- renderChart({
        m2<-mPlot(x='index',y='alt', type = "Line", data = di)
        m2$set(pointSize = 0, lineWidth = 1)
        m2$set(hoverCallback = "#! function(index, options, content){
        var row =[index]
        return '<b>' + 'Altitude' + '</b>' + '<br/>' +
        'alt: ' + row.alt + '<br/>'
        } !#")
    output$mapPlot <- renderUI({
        map1 = Leaflet$new()
        for (i in (1:dim(ps)[1])) {
        map1$marker(c(ps[i,3], ps[i,2]), bindPopup = ps[i,1])
        HTML(map1$html(chartId = "mapPlot"))
     output$tab1 <- renderTable({
        df1=subset(cam, index >= cam$index[cam$Site == input$var2])[,1:2]
        colnames(df1)<-c('Name','Distance (Km)')
     output$tab2 <- renderTable({
        g=cam$Total[cam$Site == input$var2]
        df2<-data.frame('from'= g, 'to'= (sum(cam$Partial)-g))
        colnames(df2)<-c('Distance from Saint Jean (Km)','Distance to Santiago (Km)')

PS. I have pending to write about Origami, another of my hobbies, but still cannot set a idea. I continue reading “Origami Design Secrets: Mathematical Methods for an Ancient Art” by Robert J. Lang. Now, I have a sketch but need to spend more time in Treemaker and Oripa. BTW, here is the Origami Kit for “The Way”: a shell (vieira) and an arrow.


Leave a comment

Exploring the BigBangData exhibition in Barcelona

Since its opening in May of this year, I had wanted to attend BigBangData exhibition at Barcelona, but for diverse reasons hadn’t found the time to do it; a curious thing, thinking I live very close to CCCB where the event is held. Anyway, last Sunday I visited the exhibition and in general lines was glad with the format and content presented. I must recognize, however, I had some doubts about the event, in the sense of how organizers would be able to present a complete and comprehensive picture about everything related to the world of Big Data, but in synthesized way and accessible to every public. Now, I can say it’s a very well done exhibition that combines several elements that help the understanding the increase of the volume of data that we are currently experiencing, showing for example, a plenty of interactive apps, description of relevant projects, typical and novel visualisations, use cases, videos with interviews with experts, and many reflexions about the power of data in diverse areas of society. So I highly recommend to visit this exhibition that will be open in Barcelona until October 26th. Madrid will be its next stop from February 25th, 2015.

Today, data blast is an unstoppable phenomenon with unexpected consequences. In this sense, the exhibition starts with the proliferation of data centers worldwide and the rise of the bandwidth in the global communications. In this point, it’s interesting to observe the submarine cable map with the fiber optic intercontinental connexions. All this it’s motivated by a recurrent concept (a buzzword, maybe) throughout the exhibition: “datification”, i.e., the use of data as the element key that will move the business in the future as a new form of value, thinking in a simple analogy with our dependence on oil today. On the other hand, other fundamental concepts are added to the speech to make sense of all this thanks to for instance the increase of the data storage capacity, processing power, and the use of new data analysis techniques. Concepts such as: correlation, prediction, pattern, metadata, data mining, aggregation, geolocation, and algorithms are already very present in our lives. In this part of the exhibition, an obvious but fundamental idea in data analysis arises: “Don’t let you can’t see the wood for the trees”, this is, having a lot of data doesn’t mean having useful information and also it’s too easy to get lost in a tangle of data, so it’s necessary to have methodologies and contrasted analysis process that we allow us to find the gold nugget among many rocks. Moreover, it’s precise to take distance in order to see the things correctly, so we can see the real dimension of a problem.

As couldn’t be otherwise, an introduction to data visualisation has to start with two emblematic examples to allow us to appreciate the power of the graphical representation of a problem in order to find patterns that help to solve it. The first historical example presented in the exhibition is the cholera map by John Snow (1854) which changed definitely how we see a outbreak and the second one is the flow map by Charles Joseph Minard (1869) that shows the path of Napoleon’s troops across the Russian empire of Alexander I. The latter sometimes is considered as the first example in data visualisation. Also other example mentioned is the Königsberg Bridge Problem by Euler (1736), which is considered as the starting point for the graph theory and network analysis. Moreover, a book that has an important place in the exhibition is the “Visual Complexity: Mapping patterns of information” (2013) by Manuel Lima (website) that gathers many of the best known visualisations.


Furthermore, many other interesting data visualisations and interactive apps are presented. Some examples are: Flight Patterns (2006, by Aaron Koblin), Barcelona cruise passenger behaviour (2012, by Telefónica), Russian tourism in Catalonia (2012, by Telefónica), and Barcelona commercial footprints (2013, by BBVA). There is also a visitor data analytic system (by Counterest) based on a camera and a facial recognition algorithm, which allows to get, among other things, the number of visitors in a site, their gender, and their average visit time. With this example, I would like to comment something about the use of this technology. Although the approach presented by Counterest is to monitor for example, a store or a supermarket in order to get the customer profile and so to improve its product offering, etc also it’s truth that the use of personal images is against the privacy and anonymity of the consumer. In this sense, I remember a news of 2012 where a mobile app called SceneTap (website / news) caused some controversy because, say, a similar system was used in a bar to determine the gender and approximate age of its customers and then all information could also be available through social networks. It’s easy to imagine various ways in which this information can be used positively or negatively. However, the use of this kind of algorithms (and similar technologies) isn’t new. In fact, different universities worldwide for years are working on pattern recognition mechanisms, but now with all available resources (processing, communications, storage, etc.), it’s already possible to apply them massively and so a new scenario is open and the rules of the game are still fuzzy. Maybe it’s the moment to apply some type of regulation, although I understand it’s a complicated topic because restrictions generally could stop the innovation and often ethical aspects are at disadvantage in comparison with business.

Other group of apps are related to the sentiment analysis, i.e. identification and extraction of subjective information from different sources (e.g. Twitter, Facebook, etc.) by using techniques such as NPL, text analysis, semantic analysis, etc. Here an interesting app is “We feel fine”, a project that explores human emotions on a global scale. Moreover, other project that caught my attention was “Prime Numeric: Live Remix of the UK Leaders Debate” (2010) by SoSo Limited where they apply LIWC (Linguistic Inquiry and Word Count) text analysis libraries to track things like emotion or keyword used by candidates in a debate and then to try to assess the accuracy or vagueness in their expressions and finally to indicate the degree of credibility of each candidate. Now, I wonder how it would work with our politicians in Spain?. Better, don’t answer.

Other topic in the exhibition was how data can be used to improve the democracy in terms of transparency, the promotion of open data politics, and data as a social asset. Civio Foundation is present with some projects that help to understand the responsibility to inform correctly and transparently to the citizen topics of public interest; so its slogan is very revealing: “Bye Obscurity, Hello Democracy”. Some of their projects are: The Pardonometer (Indultometro in Spanish) and Where do my taxes go?. Also I would like to mention a project called Afghanistan: The War Logs by The Guardian where shows insurgent fatalities and cleared devices (IED Attacks) in this troubled region. In general there exists a clear emphasis on the use of data as a key element to inform more rigorously and there is a special nod to data journalism that is very trendy today.

Finally, it isn’t my intention to enumerate all applications or visualisations in the exhibition, I only wanted to present an overall vision about the event and of course recommend it. Now, as final point, there is an issue at the end of the route that I would like to highlight which is “the tyranny of data-centrism” or to put data culture in the center of decision-making. A poster says that there are many possibilities associated to the analysis of massive datasets, but also there are risks and a latent danger of thinking that always the answer to the problems lies in data and “values as subjectivity and ambiguity are especially important at the time when it’s easy to believe that all solutions are computable”. By the way, as curiosity there is a installation called “24 HRs in photos” by Erik Kessels formed by mound of printed photographs that correspond to the images uploaded to Flickr over a 24-hour period…. really a dump of photos which also is an invitation to reflection on the use of our personal photos.


Leave a comment

Basic Web App for Exoplanets by using RShiny

Before vacation I took an extraordinary course in Coursera platform given by Université of Genève called “The Diversity of Exoplanets“. In general terms, this course presented an overview of the knowledge acquired during the last 20 years in the scope of exoplanets, highlighting the different detection methods and their limitations, and also relevant information provided on the orbital system and the planet itself, and how this information is useful to understand the planets formation. Probably, next year it’s will be available again. For astronomy enthusiasts and everything related to exoplanets and “new worlds”, I recommend highly to take this course.

During the course, I thought of making a simple web app by using R-Shiny solution to display the information gathered by Kepler mission. I finally did it, but I didn’t get a chance to upload it to my blog, until now. It’s true, however, that this app is very simple, but I was excited to do it. On the other hand, by using for example, data in csv format also it’s possible to plot directly by means of Excel or R commands, but I think the use of some javascript libraries could give a better result from the visualization point of view. This app needs to be improved (e.g. adding more variables, using log scale, etc.) or extended to apply ML techniques as I described in my last post for light curve analysis. Here, I basically just tried to plot data without to apply any algorithms. Well, github link is here. I used two datasets: koi.csv (Kepler Object of Interest) and planet_confirmed.csv updated July 2014 from NASA Exoplanet Archive.



#Load Data (Fri Jun  6 10:22:10 2014)
dfk <- read.table("data/koi.csv", sep=",",header=TRUE,stringsAsFactors=FALSE)
dfp <- read.table("data/planets_confirmed.csv", sep=",",header=TRUE,stringsAsFactors=FALSE)

# Confirmed Planets by Kepler Spacecraft
dfp1<-subset(dfp, pl_kepflag == 1)

# Kepler Object of Interest
dfk1<-subset(dfk,koi_disposition == 'CANDIDATE' | koi_disposition == 'CONFIRMED')

#Number Exoplanets by Methods and Years
dfp2<-aggregate(dfp$value,list(Method = dfp$pl_discmethod, Year = dfp$pl_disc),sum)


options(RCHART_LIB = 'polycharts')
options(RCHART_LIB = 'NVD3')

# Define UI for application that draws a histogram
  # Application title
  titlePanel("Exploring NASA Exoplanet Archive"),

  # Sidebar with a slider input for the number of bins
      helpText("Kepler Object of Interest"),
      selectInput(inputId = "var1", label = "X-axis Variable",list("Orbital_Period"= "pl_orbper","Temperature" = "pl_eqt")),
      selectInput(inputId = "var2", label = "Y-axis Variable",list("Distance"= "pl_orbsmax", "Planet_Mass" = "pl_masse","Planet_Radius" = "pl_rade")),
      helpText("Confirmed Planet"),
      selectInput(inputId = "var3", label = "X-axis Variable",list("Temperature"= "koi_teq","Period"= "koi_period")),
      selectInput(inputId = "var4", label = "Y-axis Variable",list("Distance"= "koi_dor", "Eccentricity"= "koi_eccen"))

    # Show a plot of the generated distribution
    tabPanel("KOI", showOutput("plot1", "polycharts")),
    tabPanel("Confirmed Planet", showOutput("plot2", "polycharts")),
    tabPanel("Summary", showOutput("plot3", "NVD3"))


options(RCHART_WIDTH = 800)
# Define server logic required to draw a histogram
shinyServer(function(input, output) {
  output$plot1 <- renderChart({
    mytooltip = "#! function(item){return item.pl_name} !#"
    p1 <- rPlot(x = input$var1, y = input$var2, data = dfp1, type = "point",tooltip = mytooltip)
    p1$addParams(height = 400, dom = 'plot1')
  output$plot2 <- renderChart({
    p2 <- rPlot(x = input$var3, y = input$var4, data = dfk1, type = "point", color = "koi_disposition")
    p2$addParams(height = 400, dom = 'plot2')
    output$plot3 <- renderChart({
      p3 <- nPlot(x= "Year", y= "Freq", group = "Method", data = dfp2, type = "multiBarChart")
      p3$addParams(height = 400, dom = 'plot3')

Extra Data:

1) September 8th, 2014 begins a course called “Imagining Other Earths” by Coursera and Princeton University.

2) Exoplanets Explained (PhD Comics TV)

3) The Extrasolar
Planets Encyclopedia (link)

Leave a comment

Remembrances, Exoplanets, and Data Mining in Astronomy

Just a couple of weeks ago I read an interesting article in Scientific American (Feb 26) about the Kepler mission and the search of the extrasolar planets or exoplanets. This report talked about the number of exoplanets validated to date by Kepler Telecope Team: 715 exoplanets; a revealing number since the mission was just launched in 2009 and in 2012 stopped taking data for technical glitches. It’s clear that all this is a promising fact because to date only a negligible zone of de Universe has been explored within a short time. There are many planets that remain undiscovered, although the most important thing is to find planets with habitability conditions. In this sense other approach that now comes to my mind is the Phoenix Project (SETI) devoted to extraterrestrial intelligence search based on the analysis of patterns in radio signals. In 2004 however, it was announced that after checking the 800 stars, the project had failed to find any evidence of extraterrestrial signals. In any case, all these attempts have huge value to improve our knowledge about the Universe.

Also, two weeks ago, in a boring Sunday, I bumped into a TV show called “How the Universe works: Planets from Hell” (S02E03, Discovery Max). It explained the features and conditions of the planets detected to date: most of them were gas giants and massive planets; i.e. new worlds with extreme environments in both senses: cold and heat, which make impossible life as we know it. However, an interesting concept called “Circumstellar habitable zone” (Goldlocks zone) was mentioned, which corresponds to a region around a star, neither too cold nor too hot, where are orbiting planets similar to the Earth. A shared particularity among them is that they can support liquid water, which is an essential ingredient necessary for life (as we know it). Continuing with this idea, other concept emerged: “Earth Similarity Index” (ESI), although it isn’t a measure of habitability, is at least a reference point because it measures how physically a planetary mass object is similar to the Earth. ESI is a formula that depends on the following planet parameters: radius, density, escape velocity and surface temperature. The output of the formula is a value on a scale from 0 to 1, with the Earth having a reference value of one.

Also, in the same TV-show, Michio Kaku, an outstanding theoretical physicist, I remember he said: “that science fiction writers of the 50s had fallen short in the description of these strange worlds and where clearly the reality has exceeded the fiction”. In this point, I would like to remind an amazing book “The Face of the Deep” (1943) written by Edmond Hamilton where “Captain Future” (my childhood hero, I admit it, specially his Japanese cartoon) along with a group of outlaws fall to a planet at the verge of extinction. Actually, this “planetoid” was in the Roche’s Limit, i.e. the closest that a moon (or a planetoid in this case, say) can come to other planet more massive without being broken up by the planet gravitational forces. It lies at about 2 ½ times the radius of the planet from the planet’s centre. Well, better to go to the source as a tribute:

 “He swept his hand in a grandiloquent gesture. “Out there beyond Pluto’s orbit is a whole universe for our refuge! Out there across the interstellar void are stars and worlds beyond number. You know that exploring expeditions have already visited the worlds of Alpha Centauri, and returned. They found those worlds wild and strange, but habitable.

The Martian’s voice deepened. “I propose that we steer for Alpha Centauri. It’s billions of miles away, I know. But we can use the auxiliary vibration-drive to pump this ship gradually up to a speed that will take it to that other star in several months.

Two months from now, this planetoid will be so near the System that its tidal strains will burst it asunder. Roche’s Limit, which determines the critical distance at which a celestial body nearing a larger body will burst into fragments, operates in the case of this world let as though the whole System were one great body it was approaching.

The fat Uranian’s moonlike yellow face twitched with fear, and his voice was husky. “It’s true that Roche’s Limit will operate for the whole System as though for one body, in affecting an unstable planetoid like this. If this planetoid gets much nearer than four billion miles, it will burst”.

My childhood memories and my old astronomical dictionary (by Ian Ridpath). Now, there exists a modern version called Oxford Dictionary of Astronomy (2012).

My childhood memories and my old astronomical dictionary (by Ian Ridpath). Now, there exists a modern version called Oxford Dictionary of Astronomy (2012).

Continuing with my memories, I must say Astronomy has been always a very interesting topic to me, even more during my engineering student days, where I was fortunate to work as a summer intern in Electronic Lab at two main observatories in Chile: ESO-La Silla Observatory in 1995 and Cerro Tololo Inter-American Observatory in 1996. On the other hand, I also worked in a university project for the development of an autoguider system for a telescope, i.e. an electronic system that helps to improve astrophotography sessions in order to get perfect round stars during long exposure time. For this, I still remember to work with different elements such as CCD image sensor TC-211 (165 x 192 pixels, today, it’s a joke), programming microprocessors via Assembler, a Peltier cell as a cooling system, and a servomotor controller for an equatorial mount, among other things.


With all this, at that time, I felt like an amateur astronomer or at least an Astronomy enthusiast. However, looking back, now I have the feeling that an amateur astronomer in 1995 or 1996 was only able to take astronomical photos and maybe then to apply some filtering technique (e.g. Richardson-Lucy algorithm) to improve the image, or inclusive a person could make a homemade telescope with a robotic dome, etc. In this sense, I remember some amazing reports from Sky & Telescope magazine (I was subscribed five years, I recommend it) where people shared their experiences in astrophotography, gave tips about telescopes construction, and sometimes some “visionary” came into stage, teaching how to make a spectrograph with fiber optic, for example or another advanced technique. But beyond this, I don’t remember any remarkable report related to astronomical data analysis made by an amateur.

At that time, I know Internet didn’t have the development that currently has, also it’s true that available technical resources were scarce, and external information from astronomical organization was minimal or non-existent; I mean astronomical open data. Well, unfortunately after many years of being disconnected to Astronomy, I have newly discovered a “new world” thanks to many astronomical organizations have opened their databases enabled APIs, and where any person can download an astronomical file or, even, there are websites that include powerful analysis tools. Surely, someone can tell me, it isn’t novel and surely also he/she is absolutely right, but at least for me it’s a real discovery due to today I spend my time analyzing data, all this is really a gold mine and a great opportunity to continue with my hobby. By using tools like Python or R, it’s possible extract interesting information, for example, about exoplanets or another astronomical object of interest, and therefore, any person can contribute even more to enrich and expand the general knowledge in Astronomy. However, in spite of how challenging is to analyze data “from scratch and from my home”, to look at a starry night is an incomparable sensation to anything, especially in the Southern hemisphere (Atacama desert) with the Magellanic Clouds.

In Python there exist many packages and libraries associated to astronomical data analysis. AstroPython for example, is a great website where it’s possible to find different resources from emailing-lists or tutorials to Machine Learning and Data Mining tools like AstroML, whose authors also recently (January 2014) published an excellent book called “Statistics, Data Mining, and Machine Learning in Astronomy: A Practical Python Guide for the Analysis of Survey Data” (2014) by Zeljko Ivezic et al. Moreover in R there is a similar book called “Modern Statistical Methods for Astronomy: with R Applications “ (2012) by Eric D. Feigelson and G. Jogesh Babu. In general, many astronomical data are in FITS (Flexible Image Transport System) format and once you decode them, say, you can use any programming language (e.g. Python, C, Java, R, etc.) and any Machine Learning tool such as: Weka, Knime, RapidMiner, Orange or directly via Python (by using Scikit-Learn and Pandas) or R scripts (here, I also recommend RStudio).

Well, coming back to initial topic “explanets”, I would like to share some things that you can make with astronomical open data and Python, but previously I would like to comment some things about exoplanets.

A brief glance at Exoplanets

As mentioned before, Kepler Mission was launched in 2009 and from that moment till 2012 sent valuable information about possible exoplanets. Kepler satellite orbits the Sun (not Earth orbit) points its photometer to a field in the northern constellations of Cygnus, Lyra and Draco. In NASA Exoplanet Archive is possible to find much information about mission, technical characteristics, current statistics, and as well as access to interesting tools for data analysis.

I merely want to add that there are mainly two methods for detecting explanets: direct method and indirect method. The former is simply based on the direct observation of a planet i.e. direct imaging. It’s a complicated method because, as we know, a planet is an extremely faint light source compared to star and this light tends to be lost in the glare of the host star. In the case of indirect method, it consists in observing the effects that the planet produces (or exhibits) on the host star (see Table).


As it can be seen in the following figures, Transit method based on light curves is currently the most common technique used in exoplanets detection. A light curve is simply an astronomical time series of brightness of a celestial object over time.Light curve analysis is an important tool in astrophysics used for estimation of stellar masses and distances to astronomical objects. Additional information in these links: Link1, Link2 and Link3.

Number of Exoplanet detected to date (Source NASA, more plots in this link)

Number of Exoplanet detected to date (Source NASA)

Mass of the detected planets with regard to Jupiter (Source NASA)

Mass of the detected planets with regard to Jupiter (Source NASA)

On MAST Kepler Public Light Curve website it’s possible to download light curves from Kepler Mission as tarfile or individually in FITS format for different quarters and type of cadence period. However, for easier access, I recommend to use Python packages such as Klpr and PyFITS . The following figure shows a simple example on how to get light curves for confirmed exoplanet Kepler-7b (KepID: 5780885, KOI Name: K00097.01, Q5, long cadence (lc) and normalized data). Also you can use NASA Exoplanet Archive tools to visualize the data. A light curve contains different data columns (see more detail here) but, in this example, I only used the following parameters:

  • TIME (64-bit floating point): The time at the mid-point of the cadence in BKJD. Kepler Barycentric Julian Day is Julian day minus 2454833.0 (UTC=January 1, 2009 12:00:00) and corrected to be the arrival times at the barycenter of the Solar System.
  • PDCSAP_FLUX (32-bit floating point): The flux contained in the optimal aperture in electrons per second after the PDC (Presearch Data Conditioning) module has applied its detrending algorithm to the PA (Photometric Analysis module) light curve. Actually, it’s a preprocessed and calibrated flux. Generating light curves from images isn’t trivial process. First it’s necessary calibrate the images because there are many systematic source of errors in the detector (e.g. bias and flat field). Next, it’s needed to select reference stars and correcting for image motion and then to apply some method like aperture photometry. It’s to be welcomed that in this case everything is OK.



Now, given these light curves, you can to get interesting data about exoplanets just “from the plot” as proof of concept. However, I used only one curve in a specific quarter and cadence, but actually it’s necessary for more accuracy (and statistical rigor) to use many light curves in the measurement. Anyway, by using the same example, Kepler-7b light curve (Q5, lc), we can approximately estimate: Orbital Period (T), Total Transit Duration (T_t), Transit Flat (T_f, duration of the “flat” part of the transit), and Planet-Star radius ratio. The latter can be also calculated by using the phase plot, i.e. flux vs phase. In Python simply you can use “phase=(time % T)/T” and to create a new column in your DataFrame.



So, by applying some assumptions and simplifications from “A Unique Solution of Planet and Star Parameters from an Extrasolar Planet Transit Light Curve (2003) by S. Seager and G. Mallé́n-Ornelas, we can get additional parameters such as “a” (Orbit Semi-Major Axis) or Impact Parameter “b”. By means of using other formulas it’s possible to find stellar density, stellar mass-radius relation, etc.



Machine Learning for Exoplanets

As initial point, I would like to mention an interesting project called PlanetHunters, which is a citizen-driven initiative from ZooUniverse project launched in December 16, 2010 to detect exoplanet from light curves of stars recorded by Kepler Mission. It’s a tool that exploits the fact that humans are better at recognizing visual patterns than computers. Here, each user contributes with his/her own assessment indicating whether a light curve shows evidence of the presence of a planet orbiting the star.

Classifying a light curve isn’t an easy task. For example, a little planet could be undetectable because its effect in the dip of the light curve is imperceptible. Many times, variations in the intensity of a star are due to internal star processes (variable stars) or for the presence of an eclipsing binary system, i.e. a pair of stars that orbit each other. In this sense, it’s worth mentioning that a light curve associated to the transit of an exoplanet will be a light curve relatively constant, with certain regularity, and with small dips corresponding to the transit.

In fact, NASA defines three categories in Kepler Objects of Interest (KOI): confirmed, candidate and false positive. According to them, “a false positive has failed at least one of the tests described in Batalha et al. (2012). A planetary candidate has passed all prior tests conducted to identify false positives, although this does not a priori mean that all possible tests have been conducted. A future test may confirm this KOI as a false positive. False positives can occur when 1) the KOI is in reality an eclipsing binary star, 2) the Kepler light curve is contaminated by a background eclipsing binary, 3) stellar variability is confused for coherent planetary transits, or 4) instrumental artifacts are confused for coherent planetary transits.”

Taking as inspiration the paper called “Astronomical Implications of Machine Learning” (2013) by Arun Debray and Raymond Wu, I decided to try some ML supervised models to classify light curves and determine whether these correspond to exoplanets (confirmed) or non-exoplanets (false positive). As a footnote: All this is just a “proof of concept”. I don’t intend to write an academic paper and my interest is only at hobby level. Well, I selected 112 confirmed exoplanets and 112 false positives. I just considered the parameters PDCSAP_FLUX and Time from each light curve by using Q12-lc and normalized data. Here, a key point is to characterize a light curve in term of attributes (features) that allow its classification.

According to Matthew Graham in his talk “Characterizing Light Curves” (March 2012, Caltech), “light curves can show tremendous variation in their temporal coverage, sampling rates, errors and missing values, etc., which makes comparisons between them difficult and training classifiers even harder. A common approach to tackling this is to characterize a set of light curves via a set of common features and then use this alternate homogeneous representation as the basis for further analysis or training. Many different types of features are used in the literature to capture information contained in the light curve: moments, flux and shape ratios, variability indices, periodicity measures, model representations”.

In my case, I simply used the following attributes: basic dispersion measures (e.g. percentile 25/50/75 and standard deviation), shape ratio (e.g. fraction of curve below median), periodicity measures (e.g. amplitudes, frequencies-harmonics, and amplitude ratios between harmonics by means of the periodogram based on Lomb-Scargle algorithm), and distance from a baseline light curve (false positive) by using Dynamic Time Warping (DTW) algorithm.

For getting periodogram, I used the pYSOVAR module and the Scipy Signal Processing module. According to Peter Plavchan, “A periodogram calculates the significance of different frequencies in time series data to identify any intrinsic periodic signals. A periodogram is similar to the Fourier Transform, but is optimized for unevenly time-sampled data, and for different shapes in periodic signals. Unevenly sampled data is particularly common in Astronomy, where your target might rise and set over several nights, or you have to stop observing with your spacecraft to download the data”. Moreover, for DTW, I used the mlpy module. Alternatively, it’s also possible to use R scripts over Python by using the Rpy2 module. Regarding to this topic, in the paper called “Pattern Recognition in Time Series” (2012), Jessica Lin et al. mention: “the classical Euclidian distance is very brittle because its use requires that input sequences be of the same length, and it’s sensitive to distortions, e.g. shifting, along the time axis and such a problem can generally be handled by elastic distance measures as DTW. DTW algorithm searches for the best alignment between two time series, attempting to minimize the distance between them”. For this reason, distance DTW could be a interesting metric to characterize a light curve. Finally, two examples for periodogram and DTW.



After generating a DataFrame and creating a csv file (or .tab), I used Orange tool to apply different classification techniques over the dataset. At this point, as I said above, there are many tools that you can use. Also, I tested available classifiers on the dataset by using 10-folds cross-validation scheme. Previously, it’s possible to see some relationships between attributes such as: sd (standard deviation), sr (shape ratio), f1 (maximum frequency in periodogram) Amax (maximum amplitude periodogram), and dist1 (DTW distance). Shape ratio, as we see, is an attribute that can give advantage in the task of classification because it would allow a clearer separation of classes.


As first approach, I used 5 basic methods: Classification Tree, Random Forest, k-NN, Naïve Bayes and SVM. The results are presented in the following tables and plots (ROC curve). There are a large variety of measures that can used to evaluate classifiers. However, some measures used in a particular research project may not be appropriate to the particular problem domain. Choosing the best model is almost an art because it‘s necessary to consider the effect of different features and operating condition of the algorithms such as type of data (e.g. categorical, discrete, continuous), number of samples for class (e.g. large or little difference between classes which can impact in the classification bias), performance (e.g. execution time), complexity (to avoid overfitting), accuracy, etc. Well, in order to simplify the selection and taking into account for example CA and AuC, Classification Tree, Random Forest and k-NN (k=3) are the best options. Also, applying performance formulas over Confusion Matrix it’s possible to reach this obvious conclusion. Moreover, according to literature an AuC value between 0.8 and 0.9 is considered “good” so that three methods are in the range. By the way, for more detail how Orange calculates some index, I recommend to read this link. As final comment, it’s true, however, that a more detailed study is needed (e.g. statistical test, new advanced models, etc.), but my intention was only to show that with a few scripts could be possible to do amateur Astronomy of “certain” quality.




Leave a comment

Mobile World Congress 2014: A Deep Dive Into Our Digital Future

(Published in Barcinno  on March 07, 2014).

MWC 2014 ended about a week ago and I thought it’s appropriate to share some things that I saw, heard, and read during this event. It was also my fourth year attending this event, always with high expectations. To the point; although it’s common, specially on this type of event, to discuss which is the best mobile device launched by this or that manufacturer or which are the most promising apps for this starting year, my personal interest is to talk about technological trends in the mobile industry and some other interesting things, at least for me, such as which is the state of the Telco APIs, what happen in the OTT-Telco relationship, and also to comment briefly the Dr. Genevieve’s talk from Intel. However, I would like to say that my post at first sight doesn’t have a defined storyline, because my initial idea was just to mention noteworthy topics without having in mind a special order; though all these topics are part of the mobile communications ecosystem and therefore these are related each other somehow.

I just attended a couple of talks and main exhibition but unfortunately I was unable to attend Mark Zuckenberg’s talk in situ.  It’s clear that his presence was the most expected thanks to WhatsApp acquisition by Facebook for USD 19 billions but the key point in my view was to know, among other things, which is the new scenario opens in the fight for supremacy of the instant messaging and specially of the mobile voice calls at the global level, once WhatsApp announced in Q2 of this year will include this new last feature for free. It’s true that apps such as Line or Viber already have voice services but Whatsapp is a giant and in this sense, Jan Koum, WhatsApp CEO, he talked about figures: “To date, we have 330 million daily and 465 million monthly active users. We also have detected an increase of 15 million on the number of users when Facebook acquisition was known”. It suggests that in the upcoming months there will be significant movements in relation to OTT-Telco battle, which will be fought not only here but also in other scenarios such as Netflix vs US Telcos (Who should pay for the upgrade of the network?, network neutrality obsolete?), but it’s another interesting story.

An inspirational Talk: Dr. Genevieve Bell from Intel

I went to the Dr. Bell’s talk with many expectations. I wanted to know her vision about technology today and I wasn’t disappointed. Let’s see, all she said is a bit expected or say obvious, she doesn’t reinvent the wheel but her vision is valuable because as anthropologist and director of Intel Corporation’s Interaction and Experience Research, presented a clear and inspiring idea about which things we should keep in mind when develop applications or services currently. I want to remember this talk was given within the scope of WIPjam workshop where audience is typically technical.

At times, apps developers and designers tend to focus on technology forgetting the real needs, this is, “technology must grasp human nature” in order to have success apps. In this sense, she explained that, despite of passage of time, there are 5 things that haven’t changed in human behaviour:  “1) We need friends and family, 2) We need share interest, 3) We need a big picture 4) We need objects that talk for us and 5) We need our secrets”.  So, with this in mind, it’s logical to think the reasons why social networks have been successful. On the other hand she also mentioned 5 things that technology is reshaping the human behaviour and where new questions arise: “1) How to guard our reputations?, 2) How to be surprised or bored?, 3) How to be different?, 4) How to have a sense of time?, and 5) How to be forgotten?”.


It’s true that all these are generic issues which have multiple implications such as privacy and anonymity, but it also points to the fact that human being “wants to be human not digital” and this must be considered as a starting point in the development of new services and applications.

Coming back to MWC…

Telco APIs

Telco API workshop was interesting in general terms: different visions and one common goal: to provide a flexible and robust APIs ecosystem that allow to Telcos develop solutions more quickly under the premise of interoperability, scalability and security overall. Telcos want to bridge the gap with OTT trying to recover territory in some businesses as instant messaging and proposing advanced solutions in the area of mobile calls and video streaming by means of RCS (Rich Communications) suite. For this, GSMA, a global association of mobile operators, want to give a new boost to solutions as Joyn (app for chat, voice calls,  file sharing, etc) which to date hasn’t given the expected results.  On the other hand WebRTC, a multimedia framework focused on real-time communications over web browsers, is gaining momentum from last months. It’s doesn’t clear that WebRTC is going to be fully embraced by Telcos, but sure they are planning some synergies with its RCS, at least this I perceived in MWC.

For all is known the slowness in innovation of the operators either due to internal bureaucracy of organizations, interoperability and integration issues or standardization delay, but according to different speakers in this workshop, Telcos are aware of this lack and, as it would expect are working with manufacturers on solutions associated to RCS and VoLTE (Voice over LTE).  Moreover, new business models are need because with free competitor solution such as Line, Viber or soon Whatsapp in voice calls, they cannot charge for services such as SMS or perhaps mobile calls inclusive. Although it’s true that there is a big difference in the targeted markets. At least I don’t know a big company that uses Whatsapp for its corporative communications for security aspects and on the other hand when you pay for a service you demand quality, security, etc and therefore Telcos play in another league (for now). In any case, Telco are convinced to create a robust Telco API ecosystem that allows them to take advantage over OTTs.

Some interesting companies present in Telco API workshop were: ApigeeAepona and Solaiemes (from Spain). In general Telco APIs are focused on improving interoperability, integration, monetization, service creation, among other things and can be grouped as follows: Communications (Voice, Messaging, Conferencing), Commerce (Payment, Settlement, Refund, and Identity), Context (Location, Presence, Profile, Device Type), and Control (QoS, Data Connection Profile, Policy, and Security & Trust).  For more detail, I also recommend to read about OneAPI, a global GSMA initiative to provide APIs that enable applications to exploit mobile network capabilities.

Big Data and SDN

From my recent posts about Big Data and SDN nothing has changed in my appraisal. So, I just would like to add some ideas to complement the information given previously.  I can see that Big Data and SDN/NFV are on track to become key elements to support OSS (Operational Support Systems) and BSS (Business Support Systems) within Telcos. OSS and BSS are considered main assets whose importance in the current and future business is now unquestionable. For example, churn is a challenge problem for the Telcos whose predictive analysis is key in order to avoid customer attrition. Another example, no without controversy, is the sale of anonymized and aggregate data. Here, telco thanks to information gather from cellular cells indicate areas where an enterprise can install this or that type of business and other demographic data. Also, I could see some interesting solutions given by SAP (Hana platform) or Hitachi Data System. Unfortunately, I also was unable to attend to keynote panel “Up to Close and Personal: The Power of Big Data” where representatives from Alcatel-Lucent, EMC and SK Planet debated about the convergence of ubiquitous connectivity, cloud computing and Big Data analytics. I guess they talked about these issues and challenges in the industry. It’s a new world to explore.

Although SDN and NFV are solutions, say, mainly focus on data centers and backbone networks (also SDN WAN), it seems that mobile networks neither have escaped to “the charm” of SDN. It’s proposed to use the SDN capabilities in centralization/abstraction of the control plane in order to apply traffic optimization functions (also for radio resources). From technical point of view, this is very interesting because, as we all know, mobile traffic is increasing and Telcos and researchers are searching practical solutions to mitigate some capacity problems and SDN and NFV could be a real alternative. In MWC, HP also launched its Open NFV strategy for telcos with the purpose to help them in the acceleration of the innovation and generation of new services.

Hetnets, Backhaul, Small Cells and Hotspot 2.0

MWC is the great meeting point where Telcos (mainly Mobile Carriers) and manufacturers can discuss their network needs and to present their services and products respectively. As in 2013, many well-known concepts were heard again in the talks, halls, and booths of the exhibition. However a key idea always is present in the environment: How to provide better bandwidth (network capacity) and QoS under an increasing traffic or radio spectrum depletion. In this sense, many people are currently talking about “mobile data crunch” which is indicative that it’s necessary to search possible solutions. Small Cell, for example, is a solution to improve the mobile service coverage and so to expand network capacity for indoor and outdoor locations.  This solution can be used in complementary way to macro cell or to cover a new zone faster and over licensed or unlicensed spectrum. Depending on the needs there are many options in choosing a small cell: pico cells, femto cells, etc.

On the other hand, Wifi networks are again seeing the light of day, thanks to Hotspot 2.0, which is a set of protocols to enable cellular-like roaming (i.e. automatic Wifi authentication and connection). This allows that Wifi is a real alternative to improve coverage and many Telcos is already exploring this solution or inclusive planning alliances with established Wifi operators like Fon or Boingo.

All this brings us another recurrent concept: Hetnet, this is, heterogeneous network but focus on the use of multiple types of access nodes in a wireless network, i.e. integration and interoperability for traditional macro cells, small cells and Wifi. And now, How can we connect all these type of access points to backbone?  Well, the answer is simple: through Mobile Backhaul, which is a part of mobile network that interconnect cell towers with core network.  In MWC were presented different solutions: wired and wireless, based on Ethernet IP/MPLS, Microwave, with line-of-sight (LoS), near line-of-sight (nLoS), and non-line-of sight (NLoS), etc. It’s is an area very active and broad but in this post isn’t worth to enter into too details.

Wearables and Digital Life

Finally, I would like to comment two ideas that were highlighted in MWC 2014.  First, “wearables”, a buzzword that refers to small electronic devices based on sensors (body-borne computing) that may be worn under, with or on top of clothing, i.e. watches, wristbands, glasses and other fitness sensors. Many companies presented their products that will set trend this 2014: FitbitSmartband (Sony), Gear2/Neo(Samsung), etc, etc. According to Dr. Bell, wearable computing has much potential because also fit with the human nature, although all this is an early stage (even though, it’s a old idea), it’s clear that technology as said she, “is changing some of our behaviours and preferences”.


Digital Life is another buzzword. Basically is commercial name given to an advanced home automation system by ATT. I suppose Digital Life, as name or concept, is related to research from MIT about rethinking of the human-computer interactive experience. Well, ATT solution basically uses Internet of things (IoT), Augmented Reality (AR) and many other technologies that “supposedly” will make our life most secure, comfortable and easy at home. I mention all this because “wearables” and “Digital Life” are two old concepts that today again are gaining strength and it’s expected are trends in the next months or years. Many things I have left out (e.g. LTE evolution, VoLTE, Fronthaul, 5G, Internet of Things, Connected Car/Home, 4YFN initiative, some local startups, and many etc.). Perhaps in an upcoming post I come back to comment some of the topics.


Get every new post delivered to your Inbox.