Archi & Techno

Identify performance issues in your Android application

A smooth user experience is a common attribute of all the successful Android applications. It might sound as an obvious statement but many are the applications that are a little bit “laggy”. Moreover android developers are use to test their application mostly on high-end devices (generally their own devices), forgetting that their app will be run on cheaper devices, which will deteriorate the app smoothness a lot.

It is pretty easy to find documentation on the Internet that will give you advices to have an efficient android application (for instance the great android performance documentation page itself). In this article we propose the opposite: presenting tools that will help you benchmarking an existing Android application in order to find some room for improvement. It can also be a way to measure improvements when we are doing some performance related tasks. We will try to have first a macroscopic approach and then will go deeper and deeper in the analysis in order to find the hidden cause of a performance issue.
Some of the tools I will talk about are part of the android standard build tools, some are “external” products. All of them have proven their efficiency on the projects I have worked on, including Le Monde applications which are massively downloaded (over one million downloads) and need to be performant even on low end devices .

In the first part we will see how we can identify app launch slow downs thanks to two tools: Nimbledroid and AndroidDevMetrics. In the second part we will focus more generally on User Experience (UX) issues by using standard Android tools.

Read more

Archi & Techno

Protocol Buffers: Benchmark and mobile

Going faster on a mobile has become essential. Putting aside the actual choice on the means of communication, the data format used weighs in quite a bit when it comes to the speed. As of Today, JSON has proven to be a standard media for APIs. Still, is this data format suitable for mobile? For instance, handling JSON in an Android environment is difficult.

Other data formats are emerging in recent years like Thrift, Avro, Message Pack or Protocol Buffers.

Protocol Buffers has the ability to have a binary format that is easily adaptable and which can be manipulated. It also has a very basic structure to write and understand and easily generate source code for several languages.

This blog featured two articles on Protocol Buffers (protobuf) in 2012. The version used was 2.4.1, and the standard was proto2.

Read more

Archi & Techno

DockerCon 2016: “Nobody cares about containers!”

docker run busybox /bin/echo ‘hello boys and girls!’

As humans, we like new shinny things. And working in a wannabe devops world, that means solving problems with containers, too. We have been working with them for quite a while now, and we are more than happy with the results. We like them so much, that we decided to travel more than 8000 km, to Seattle, Washington, in order to go to this year’s DockerCon.

Dockercon16

So if you’re into containers as well, and you’re dying to hear the hot news, you’ve come to the right place. Fasten your seatbelts, and enjoy the ride!

Read more

Archi & Techno

USI Mobile Applications: A success in figures

The 9th USI Conference organised by OCTO took place this year on June, 6th and 7th. If you do not already know what USI is, you should have a look at www.usievents.com and the great video talks on their YouTube channel (https://www.youtube.com/user/usievents).

As USI lovers,  OCTO Mobility team cared to deliver the best experience to all attendees providing them good-designed, well-crafted mobile applications.

It is now time to have a deeper look into usage analytics during these two amazing days at the Carrousel du Louvre.  Read more

Archi & Techno

Immersive Experience app using VR holds productivity promise

AskbobAh, the old office directory: page after page, or screen after screen, of names and job titles. Wouldn’t it be great to have a virtual directory that displayed employees’ faces, included the company hierarchy, and grouped employees according to responsibilities and expertise? Better yet, what if that directory could be navigated by using natural hand gestures?

By combining the power of the Microsoft Kinect sensor and the Oculus Rift virtual reality (VR) headset, we have created just that – a VR company facebook that lets users traverse the company’s human resources and find the right employee with a flip of their hand.

Read more

Archi & Techno

Cloud Ready Applications

Days of traditional servers are counted. Flexibility of cloud platforms towards traditional datacenters is the root cause of the shift. As a developer, the question is no more where will be my application deployed but on which cloud platform. And designing an application in the cloud is more complex than on premise. As developers we must be ready for that, we must write code ready for the cloud. But, what is exactly a cloud ready application? Is it a one push action to Heroku? Yes, the Cloud can make life easier for the developer. But in order to unleash all its benefits you must design your code for the cloud. And this article aims to explain you why and how through 3 highlights of the shift of applicative architecture from the on-premise to the cloud world.
Read more

Archi & Techno

fpaste-cli: Share content with magic and style

Hey people,

TL;DR

I hacked something together in order to highlight text and send it automatically to fpaste, then put the fpaste link in your clipboard automatically.

Why?

Well, I just happen to share a lot of content (code snippets, application/middleware logs, ASCII art, you name it!) with other people using both fpaste and pastebin. It makes it easier to read text when trying to debug something.

Read more

Big Data

A chat with Doug Cutting about Hadoop

We had the chance to interview Doug Cutting during the Cloudera Sessions in Paris, October 2014. Doug is the creator behind Hadoop and Cloudera’s Chief Architect. Here is our exchange below:

DougBWSquare

A question is: how does it feel to see that Hadoop is actually becoming the must have, the default way of storing and computing over data in large enterprise companies?

Rationally it feels very good. It’s a technology that’s supposed to do that. Emotionally it’s very satisfying, but also I must say I must be very lucky. I was in the right place at the right time and happened to be the person. Someone else would have done this had I not, by now.

It’s funny because yesterday you were mentioning how Google released that paper about GFS and then about MapReduce, and you seemed surprised that no one else has gone and implemented the paper. How would you describe this, because it was a very big, big task that some people were daunted by taking on or…?

I think, again, I have the right experience from having put some work in open source. I worked on search engines and I could see the value in the technology, I understood the problem, and that combination. And I think I’ve also been in the software business long enough so that’s why I knew what it’d take to build a project that would be useful, that would be used. And I think no one else was positioned ready enough in the competition with that combination of properties. I’ve been able to take advantage of these papers and implement them as open source, and get them out to people. My guess, I don’t know. It wasn’t my plan.

Read more

Big Data

Geo localizing Medline citations

Where are the scientific publications coming from? Geolocalizing Medline citations

www.octo.chWhen and where are the scientific publications coming from? Which country are collaborating the most? To investigate those questions, we focused on Medline, the major biology and biomedical peer reviewed citations repository.

Big Data is not only a buzz word. A rich ecosystem of tools have emerged, together with new architectural paradigms, to tackle large problems. Open data are flowing around, waiting for new analysis angles. We have focused on the Medline challenge to demonstrate what can be achieved.

To provide some insights on how an interactive web application was built to explore such data, we will discuss the geographic localization method based on free text affiliation, Hadoop oriented treatment with Scala and Spark, interactive analysis with the Zeppelin notebook and rendering with React, a modern JavaScript framework. The code has been open sourced on github [1, 2] and the application is available on Amazon AWS.

Read more