Mostrando entradas con la etiqueta mobile. Mostrar todas las entradas
Mostrando entradas con la etiqueta mobile. Mostrar todas las entradas

domingo, 1 de diciembre de 2013

Are context-aware systems finally here?

A few weeks ago, I received the recommendation from Roberto Serrano about the book "The Age of Context", I was very interested in the concept and to be honest the content of the book has not disappointed me.

Is not a new concept, nothing further of the reality, if we analize the google trends history of context-aware we could see, the same with smart cities, they were widely used concepts in the past decade.



I've also included a more contemporary concept as omnichannel.

The book talks about five technologies allow us TODAY to create context aware systems, like Google Now etc. but before start talking about technology, let me make an introduction about philosophy.

I was evaluating the reviews of the book on Amazon when I saw one deep and interesting review from Thomas Wendt (Surrounding Signifiers) based on Thomas point of view the complexity of the context is based on the next three pillars:
  • Emotional - How are you? How do you feel? Are you angry, happy, sad?
  • Cognitive - How do you arrived here? Which is your background? Your expertise, your experience?
  • Situation or Physical - Where are you? What are you doing? What are you plan to do next?

There are a lot of excellent presentation of Thomas Wendts here.

I reviewed some week ago one of my favorite TED Talks, from Simon Sinek about the power of why, and in my personal opinion that's the main principal missing thing of "The Age of Context" book and also the reason because I considerate Thomas Wendt's point of view the key, because is the why of the history.

Returning to the book, the authors talk about five technologies involved on the age of context:
  • Social Media. Based on the last statistics only facebook has 1.8B of MAU (Monthly Active Users) from the 7B people in the world. There is a huge number of people sharing information through social media, sharing content that could be managed to identify their feelings, their emotions.
  • Big Data. We're generating huge quantity of information every second, and is complex to process in order to generate knowledge. The big data term is applied to this new tools designed to allow us to process that complexity instead of the tools and database management traditional products.
  • Sensors. Just one smartphone provide about 15-20 sensors capturing information about the owner, gps, wify, accelerometer, nfc, ble... we could also include the external sensors provided for smart cities systems, or for in-door solutions and so on
  • LBS (Location Based Services) The location is maybe one of the most important information to target one customer. We could also evaluate the recent studies from Google Think about the use of the smartphone to manage local needs of the user
  • Mobile. Well, it's difficult to provide here something new to talk about the mobile, It's clear today we've more mobile devices than people on the world, and the Internet consumption from the mobile devices has passed the desktop consumption during the current 2013
Well, that's why I thought that Thomas Wendt point of view is so important, because if we evaluate this five technology, or maybe with the glasses, or smartwatches ... we're giving focus on the WHAT, and not on the WHY.


The mobile is, in my opinion, the key on the equation, is the big bang of the future, and this scenario give us the answer for example, why facebook is trying to buy blackberry, or any other mobile platform? Because the information you could get from the mobile about the user (the information we're providing to Apple, Google, Amazon (Kindle) and so force has an incredible value) is the key for the future and it supose one of the biggest threats or opportunities for Facebook.

That's also why the brands need a clear mobile strategy, because they NEED to be in our pocket

Before finalize this post, let me talk about one of the most commons mistakes of the companies when they are designing the mobile strategy, some of us use the term "mobile myopia", and is the tendency to think on the mobile as the solution and forget that mobile is part of it.

We need to give a consistent experience to our customers, because now they want to interact with us using the old channels and, of course, with the new ones, depending on the location, or the moment (living room, office, car, transports...) And that's why terms like omnichannel, responsive design and so on should be present in our mind, at least for a while.

Because, like Thomas Wendt express in some of the presentations, we're just learning to walk.

So yes, the context aware systems are already here, and not just around the corner, they were here some time ago, waiting the right moment, when the early majority is ready to understand and welcome to the big brothers systems!

:-)

Regards,

domingo, 17 de marzo de 2013

Mobile developer / Survival Kit

This is my first post in English, I decide to switch the usual language of the blog to arrive to most people, according to the visits of the blog. So, be comprehensive ... ;-)

As a Software Engineer, every day we have more and more applications and tools to improve our life and be more productive, is part of our professional commitment to be alert about them and try to aggregate to our work method.

We will not discuss about general tools for code storage, continuous integration, continuous delivery, and other essential tools. I'll assume is part of your life.

I will focus on:
  • Beta distribution
  • Quality Assurance: Crash Report Management
  • Analytics
  • Multi-language distribution

TestFlight | www.testflightapp.com

If you are developing for Android, Windows Phone or BlackBerry maybe is not the most interesting tool for you, all of these platforms allow you to distribute your beta versions easily through any way (e-mail distribution, cloud storage services like dropbox, box, ... and so force)

But for the iOs development Team, TestFlight is a "MUST" on our survival kit. You could manage some applications, and some distribution list, you can also contact with testers ... but in general, the most important thing, at least based on my requirements:

You could distribute your beta releases periodically to partners, stakeholders, customers, testers before release your final version to the app store.

In general, on the Apple market is critical to guarantee the stability of the release, according to the distribution lifecycle (5-6 business days). You could try to use the fast release way if you make the mistake to release a buggy version ... firstly because this way has a limited number of bullets ... but the most important reason because you should guarantee your customer confidence.


Crittercism | www.crittercism.com / BugSense | www.bugsense.com

The second weapon to store in our survival kit is the crash report management, in order to control the customer crashes that our users are suffering. 

There are a lot of competitors in this market, but after a product research my decision was to integrate crittercism for iOS and Android solutions, they also support HTML5 and the Windows 8 Beta is announced (we're waiting for...)

BugSense seems also a very nice alternative, I meet with the CEO on the last Tech Mobile event at Barcelona. He was one of the Pitch elevator competitors.

The reason to integrate one of these tools is not only according to collect information of the crashes, and solve in next releases. Is also to have critical KPI related to the quality assurance of the product, and also analytics about the customers.

For example with crittercism you could evaluate (using the Trends Analytics) insights like:
  • DAU - Daily active users
  • MAU - Monthly active users
  • # Application loads - Number of loads of your application
  • # Crash - Number of crashes
  • % Loads with a crash
  • % Users affected by at least one crash
  • ...

All the information segmented by the version of the application.

In my opinion you have enough KPI hear to define goals for you (your team) to succeed (In quality assurance terms)




You can get this information using crittercism or other consolidated products like flurry or AdMob, but I decided to integrate with Google Analytics, the main reason was because it is a familiar tool for me. And, although is not a mobile specific tool, is one of the best tools for analytics ... 

The mission of the analytics tools is evaluate the engage of the users, the usual navigation path ... and a lot of insight you could get from your customers using these tools. Please take a look for example to the Web Analytics 2.0 (Avinash Kaushik) book.




The best development decision here, is create a wrapper for logging the user action when the view controller is loaded for example, in order to maintain your code clean to the partners SDK's. Then, create a wrapper in your code where integrate with these partners.

For example, in iOS application, I setUp the session for crittercism and google Analytics when the AppDelegate has been started. But after that I have a logger shared instance, who is the responsible to manage the tracking of the users activity, now for crittercism and google analytics, maybe tomorrow with other tools. 


OneSkyApp | www.oneskyapp.com/

The last weapon I want to include in my survival kit is not just for mobile developers, in any case, for me is one of the most customer designed tools I had been evaluated the last years.

We're on a global age, and we should provide our products in as many languages as we can. Manage the translation of your application is usually dangerous, keys without all the translations, different words and phrases in different applications ... and so force.

And is difficult to have a global visibility of the situation. One Sky is a product focus in help you on that purpose. You could create as many application as you have in your solution, upload the files in the original format, evaluate the state of the translations (All the language's resources files have the same keys? All the translations have a similar length? ...) Contract the translation for a new language? Define a glossary for all the application ... And, at the end of the process, download the translation on the native resource format that you need.

Simply amazing!



Waiting for your contributions.

Best regards,