This week was the most expected by the Apple developers: we enjoyed the WWDC 2014 and the new (and dramatic!) changes that are coming with the next version of iOS (iOS 8).

One of the most striking changes was the release of a new language that will coexist (replace?) with Objective-C: SWIFT. Do we really need a new language in order to make things better? Not sure, but it is supposed that SWIFT will bring new changes, a easy way to develop iOS Apps and performance improvements, so it is time to try it out and see how powerful it is.

Some of the key features of Swift vs Objective-C:

  • Playgrounds, a way to see in real time what we are doing during the development process.
  • ARC Support
  • Co-existing with Objective-C
  • Backed by Cocoa and Cocoa Touch
  • New types (Int, Double, Float…abstracted as typical OO classes)
  • Keywords “let” and “var” will be used for defining variables and constants.
  • Methods and functions can return tuples for retrieving N values at the same time instead of the typical single result. It improves the limitation of retrieving a single result in one register of the processor (remember EAX? :-) )
  • Assertions – typical use for unit testing-
  • Two main structured types: Arrays and Dictionaries
  • Typical flow control instructions (if, for, while…). Switch-case sentences are more powerful as they can select a case inside an interval. Really interesting…
  • New structure for functions.
  • Closures: (it smells like Javascript…), embedded functionality that can be sent to other functions or methods, commonly used in scripting languages.
  • Class and Structures support: the first one support heritage, type casting and deinitializers – used when resources should be freed, as opposite to initializers-.
  • Subscripts – similars to functions / shortcuts-.
  • Heritage support – subclassing and overriding of methods and properties-.
  • Initializers and Deinitializers invoked when creating and destroying object instances.
  • Extensions, allow us to enlarge the functionality of any class or even of any native type!
  • Protocols support

Well, there are a lot of new features, at the moment these are the most relevant, but Apple has released a free book in iTunes (The Swift Programming Language) to have the first touch with Swift. Now it is time to try it out and move some projects to support iOS 8, so…good luck! :-)

Related articles

, , , , , , ,

How Mobile is hardly impacting in the day by day work of the companies? This week I had the pleasure of showing how the Mobile channel and sales will impact in e-commerce companies in Desigual HQs and what will be the next trends in m-commerce and retail business.

I was able to share the speech with Rafa Granados, who told us the details of how Windows Phone, WebApps and Hybrid Apps will impact on IT and will reduce the costs of developing Apps without making a big trade off with quality.

Speech at Desigual

Speech at Desigual

This speech was focused on:

* Introduction to Mobile context.
* Android and iOS history.
* Android and iOS users and behaviour.
* Android and iOS statistics.
* Fragmentation
* New Players: Windows Phone and HTML5
* Windows Phone context and stats
* Native vs WebApp vs Hybrid
* The mobile development process
* Main mobile enterprise architectures
* How mobile will impact in B2B, B2C and B2E areas
* Global quality guidelines.

New challenges!

After more than a year in Vueling and lots of really nice experiences, it is time to open new doors and become part of new experiences and projects!

determined-challenge-accepted-l Let’s do it!

As IT and mobile technologies evolve, it is important for IT consultants not remain still and grow at the same speed in order to not become deprecated. For these reasons, sometimes it is important to take decisions that will make you out of the comfort zone but at the same time will be part of your own experience. That’s why it is time to join a new adventure: becoming part of the amazing Desigual team as Mobile Architect where I’m sure I will live a lot of interesting experiences and situations that will allow me to work with big professionals. I will contribute in making them growing through the mobile channels, where m-commerce (B2C) and mobile strategy for B2B and B2E will be key for the next 5 years.

I’m sure it won’t be an easy way, but of course it will be funny! ;-)

How are users able to find my amazing App? It is a common question when planning mobile marketing strategy. Not easy to answer because of the difficult to capture the attention of the potential users in mobile environments, but we have some interesting metrics that will help us in order to focus marketing efforts.

Users discovery mobile Apps channels

Apps Android and iOS iPhone discovery

The “European Technographics Consumer Technology Online Survey 2012″ and via Forrester bring us some data about users behaviours when discovering and using mobile apps. The main top 7 are next:

  1. AppStore and Google Play browsing: it looks like users really love to get lost in the woods of millions of Apps without a clear destination and find something interesting to try out. Human curiosity! 63% iOS users, 58% Android users.
  2. Word to mouth: as usual, one of the most important way to be present in the user thoughts is to be recommended by someone really reliable for  her/him. For me, it is the critical channel. We can spend a lot of money in order to be present and top-positioned in the stores, but making other users talk about your App – in a positive way- is a cheaper and a powerful way to multiply your downloads. Be viral, my friend! 50% iOS users, 41% Android users.

    Google Play featured contents

    Google Play Apps

  3. Promoted by stores: well, similar to the main choice, featured Apps have a special place in the user heart. I will write a post with the best ways to be featured by both markets, but you know, they really love quality and high value apps.34% iOS users, 25% Android users.
  4. Preinstalled app into device: mmm…it’s ok, but there is not much thing to do about this. iPhone users really like to use the well-known iApps. Android users are more promiscuous in this sense, but if you can be part of a new manufacturer custom Android release for sure you will have a lot of things won.20% iOS users, 23% Android users.
  5. Social Media: my second favourite way to reach the user’s eyes. Social Media is a powerful tool in order to expand through the user’s friends. But in that sense I think we should be careful: bad Social Media plans, stupid-agressive and undesired notifications make me think about future changes in the Social channel behaviour. Be social, but dont be irritating!19% iOS users, 15% Android users.
  6. Internet browsing: typical navigation is still a way to find apps. Not so important as the others, Internet browsing has not to be discarded yet.16% iOS users, 13% Android users.
  7. Classical search engines: I heard Google? :-) Yes, the medieval way to find things is still working. Dont forget it. 14% iOS users, 16% Android users.

In next posts i will talk about the main options in order to make our App visible, some interestings platforms – as AppGratis, recently banned from Apple Stored –  that becomes interestings bridges between user and mobile apps developers.


Enhanced by Zemanta
, , , , ,

…what would happen?

Yesterday we received an interesting rumor for mobile world: will Google acquire WhatsApp?

According to an unknown source both companies have been trying to close a deal in the last month, and the estimated price is close to one billion dollars. Of course, that deal is not closed yet, so it is possible that that number changes over the next few days or even they abort this negotiation.

WhatsApp penetration

WhatsApp penetration

But, how can it be possible that a company like Google is interested in WhatsApp? What about Google Talk? Will they close this service, as they did a few weeks ago with Google Reader? We don’t think so…

At this time, Google has a lot of services related to messaging: GTalk, Google+ Messenger, Hangouts…It is possible that Google plans to merge all user communications – with Babble- in order to improve their “quality information”. The question is: why? In my opinion, having access to “real time” private communications is a powerful tool to learn more about users and a good way to face other real time information sources…we said twitter?:-) Obviously without breaking any privacy policy rule…
Whatever Google plans, what would it mean for Google’s competitors and mobile environment?

*    Facebook: both Google and Facebook are fighting for messaging features and centralizing information – see Android Home services -. It would be a fist in the face of Facebook so it is possible to see an aggressive reaction in the next months.

*    WhatsApp: with a revenue of about $100million, fifth in the App Store, 100 million downloads from Google Play, and Sequoia Capital as main investors in venture capital, the compan

Facebook vs WhatsApp

Facebook Messenger vs WhatsApp

y founded by Brian Acton and Jan Koum – Yahoo- will be turn into Google’s communications hammer.

*    Line: trying to overcome the number of download of WhatsApp, it would be a step backwards in its aggressive race against them, but still maintain a good position in the Asian market, a hard battlefield for communications especially for WhatsApp.

*    Apple: it is possible that its closed ecosystem and relative expensive platforms and services becomes a problem if they really want to be a serious competitor in messaging. iMessage is a service for iOS based devices, with a record of 2 billion messages per day versus 17 billion of WhatsApp. Lot of work to do in that sense…

Let’s wait for news and see the next steps!


Enhanced by Zemanta
, , ,

Obviously quality – by definition- implies certain subjective factors. But it is true that exists a global perception that – for the time being- there is a qualitative superiority of Apps iOS-based compared to Android. Warning, i dont want to be tendentious! Android  improved much from the first versions – 1.5, 1.6…- but I think they have a lot of homework pending yet.

After almost 5 years in mobile marketing and development with Android, iPhone – Blackberry also-, our experience has shown us the 5 main qualitative differences why Android Apps are not better – yet – compared to iPhone:

  1.  No restrictions in Google Play - old Android Market-: it is easy to virtually upload any App to the store. No minimum quality. Apple is very clear: try to send us an App that doesnt contribute the community and you will lost two or three weeks in the revision process. :-)

    Android low quality Apps

    Android low quality Apps

  2. Fragmentation: it sounds really happy to have available a new version every 3 or 4 months of the platform. But reallity hits your face: you have to maintain the quality in the wide ecosistem: 2.3.3, 3.x, 4.1.x, 4.2.x…Although Google ensures backward compatibility with the majority of the plataform features, our experience reveals that it is not really true. One of the most used word for Android Developers is: WORKAROUND – do some tricks to make something work-. And i will write an articule about the hidden fragmentation: manufacturers Android customization.
  3. Bad – very bad -Android API documentation: what should be a reference for developers contains documentation incomplete, inconsistent and careless. A little example: Stackoverflow becomes the main information source for Android Developers.
    In that sense, Apple takes care about developers, bringing them documentation with quality. Not perfect, of course, but it is something.
  4. Technical complexity: it is impressive the quantity of files, XML, and lines of source code to create a little feature in your Android App. Simple things as apply a simple style on a screen results on creating or modifying lots of files: styles.xml, colors.xml, AndroidManifest.xml, creation of shapes, drawables, backgrounds, selectors…Obviously, more things you get, more things you have to test, especially when you have much lines of codes for a simple feature.

    Android vs iPhone satisfaction

    Android vs iPhone satisfaction

  5. IDE immaturity: there are a lot of alternatives for Android development, as Intellij and Netbeans. But Eclipse remains as the main and favourity IDE for Android. In my opinion, here we have two main problems: operative bugs, intrinsec to Eclipse and its plugins – constant memory leaks, crashes, workspace corruption…- and Android problems – migrainous visual editor and visual XML leaks makes developer write their UI in raw XML, pitfall for visual bugs. It is easy to find Apps that are not visually correct in some types of screens.

It is my experience, sure we can make this list bigger or different. Did you find any other reason? I will appreciate it if you make me know! :-)

Enhanced by Zemanta
, , , ,


By 2014, mobile users will exceed desktop users (Morgan Stanley), and will be remembered as the year when there will be more smartphones that people on Earth :-D. Amazing? Maybe. But what does it mean for us? To face the challenge of making about 7,3 billion smartphones and their users happy :-). Mobile web browsing will also overcome Desktop web browsing.

Mobile Web usage growth

Mobile Web usage growth

This growing smartphone penetration has brought high expectations for quality and response time (resumed as UX or Mobile User Experience). Failures are not forgiven: if you cannot address the real user expectations about your company, all efforts will be turn into:

  • Fast decrease in revenues, whatever being your business model: sell channel, in-app purchase, content provider…
  • Brand damage: user can be an ally, but also can be your worst enemy, no empathy with him and you will have viral and negative branding.
  • Low ratings: some companyes are not aware of how dangerous can be not making efforts in quality. If you have a negative review, you will have to get married with that: you cannot delete it,you cannot ignore it, you can correct your mistake but…the review will be there. Forever. I repeat: failures are not forgiven!
Mobile Testing priorities

Mobile Testing priorities

Thats why we strongly believe that moving your business into mobile can be a really good revenue channel, but as they say, real business means real risk. So it is important to have a good quality assurance. Couriously, majority of companies focused in Q&A has a primary focus on testing the performance of the Apps further than functionality. Usual priorities such as functionality, security have lower-priority, and companies are focused on demands of end-user, totally different of desktop user!

Extracted from Perfecto Mobile, there are some strategies to take into account in order to build your mobile quality and test plan:

Measure what matters

It is important to clearly define KPIs – Key Performance Indicators- in order to measure what is acceptable for our App and what is not. For example, in a booking process, it is important that whatever your App does in background and no user-significative tasks never impacts on that process. So a good KPI in this case could be the time from the beginning of the transaction to the commit.

Never ever our Mobile Test Plan can include KPIs such as: the booking process has to be as fast as possible. Show me the time!:-)

Select the right devices

Most devices with the same OS – Android, iOS- has common functionalities. Especially in Android, specifications says that if you have the correct OS version, you can access a set of functionalities, APIs, and so on. It is true, but not totally true. It is easy to think

Challenges to Mobile Testing

Challenges to Mobile Testing

that testing an App with Android 4.2 on a Sony Ericsson Xperia will have the same results as testing the same App on a Samgung Galaxy SIV. Totally wrong. Our experience has shown how difficult can be to deal with the brand devices user alternatives.

Network conditions

Network Mobile testing is the major headache for the tester. It is really difficult to simulate all the real conditions that our App will be executed on, and it is a common pitfall that makes a lot of Apps crash. Manage the connectivity is a must in a Mobile App, and you can never assume that the request will reach the server, or the response will find the App, or the response will take less than 30 seconds…etc. Always try to simulate worst cases, delays, packet losses, bottlenecks…whatever your instinct says is a potential risk for your App.

Also, it is important to get the values of that indicators in real-world conditions. Mobile network is different to Desktop Apps networks: lower bandwidth, faster transactions and lower response times.  And remember, testing on a Wi-fi life looks happy :) but try to do the same with 3G or LTE when taking a bus :)

Enhanced by Zemanta
, , , , , ,


After the first day of Mobile World Congress 2013 we already have the first news of the main companies, manufacturers and software developers. This year the event changed its usual location from Fira-Montjuic to Fira-GranVia, at Hospitalet de Llobregat, placed at 4km in an extension of 90.000 m2 and about 18.000 assistants. As expected, this year we hadnt a lot of news about innovation, just another better-bigger-smarter-devices event but no news about originality nor omg!-feelings. :-)

Trying mobiles out!

Trying mobiles out!

This year has been focused in mobile marketing, LTE technologies and the all-present NFC. In my opinion, too many gadgets with this technology, in some cases it looks totally unnecesary but seems like this year a gadget without NFC is a gadget with no future…or present.

Lots of courious devices, as a double-screen mobile, smartwatches – maybe we will see soon an iWatch?:-)- and mobiles, mobiles and mobiles…Smart TVs have not been really present, there were some interesting concepts but is possible that the markets are not ready yet for that kind of technologies.

The remaining days we will see if there are some hidden suprises, at the moment we pay attention at the next steps of the giants of mobility and we hope to find something that make us feel really excited.

In short, the most relevant news about mobility are:



Windows Phone


  • Flagship devices with Firefox OS, powered by Mozilla and Telefónica.

    Mobile gadgets

    Mobile gadgets

Samsung Galaxy


4 news phones launched:

  • Nokia Lumia 720, with Windows Phone 8
  • Nokia Lumia 520, with Windows Phone 8, about 139 euros
  • Nokia 105, low cost, if you dont want complications.
  • Nokia 301, low cost, about 65 euros




  • Ascend P2


Other interesting compiled references:

Enhanced by Zemanta
, , , , , , ,


A falta de dos días para el Mobile World Congress 2013, este año parece que será bastante interesante desde el punto de vista de fabricantes de hierro. Por un lado, parece que en el evento se potenciará todo lo relacionado con tecnologías LTE según vaticinan los gurús. Por otro lado creo creo que hay buenas expectativas para ver qué ofrecen de novedoso los gigantes – con permiso de Google con Android y Apple con iOS – de la movilidad.

Mobile World Congress 2013

Mobile World Congress 2013

Este año es posible que veamos un punto de inflexión: durante los últimos años hemos visto evolucionar muy rápidamente el mercado móvil con novedades tan contundentes como el Smartphone – el de verdad-, el iPAD y los TabletPC. Pero es posible que se haya llegado al punto de saturación – quizás sí, quizás no, lo veremos durante el evento!-  y los fabricantes no puedan aportar nada más que una  vuelta de tuerca sobre los mismos conceptos. Un ejemplo es lo que sucedió con Apple con el paso del iPhone 4S al iPhone5: aunque potente, realmente la innovación se echó de menos y todas las expectativas se quedaron en unos pocos centímetros de más…Bonito, pero algo deprimente para ser Apple!

Por el momento, dejo entrever las expectativas de los principales pesos pesados y lo que se comenta en rumores y blogs:

  • Huawei: presentará su Ascend P2 mini, versión reducida del Ascend P2. Más info aquí
  • Samsung: uno de los grandes del que más se espera y posiblemente no decepcionará:
    Huawei Ascend P2

    Huawei Ascend P2

    Samsung Galaxy Star,  GT-S5282. Se descarta la presentación del Samsung Galaxy S4, descartado por JK Shin, su presidente.
    Samsung Galaxy Tab 3, nueva generación de tablets de Samsung.Samsung Galaxy Note 8, con una resolución 1280×800.
    Otros ya conocidos: Samsung Galaxy Q, Samsung Galaxy Young, Samsung Galaxy Fame, Samsung Galaxy XCover2

  • LG: Los coreanos aportan nuevas series de smartphones, concretamente 4:
    Serie L, con el L3, L5 y L7.
    Serie V estarÌa m·s enfocada a Phablets – ni smartphones ni tablets!:-)-.

    Serie G, con el Optimus G Pro, con pantalla de 5,5 pulgadas.
    Serie F, con el F5 y el F7, con prestaciones particulares a conocer.En general, parece que LG apostará por la interacción con los electrodomésticos desde el dispositivo, ¿posible reactivación de la futurista domótica?
    También se comenta una fuerte apuesta por la calidad de las cámaras fotográficas, anteriormente se apostó por la óptica alemana Schneider Kreuznach de muy buena calidad.

  • HTC: Potenciará la línea HTC One con Android 4.2.1, One V, One S, One X

    Nokia Lumia 920

    Nokia Lumia 920

  • Nokia: Nokia EOS (con cámara Pureview) y Nokia Lumia 920
  • RIM aka Blackberry: Después del año desastroso del pasado año y el poco éxito la tablet Playbook, la línea Blackberry10 intentará recuperar el mercado perdido. A título personal, tras “juguetear” con la Blackberry10, creo que es un buen dispositivo pero tengo la sensación que han llegado un año tarde, la aportación al usuario es mínima, aunque es una opinión y habrá que ver la aceptación de los mercados de consumo.
  • ZTE: Los chinos parece que apostarán por ZTE Open – de Open Source-, interesante y arriesgada apuesta con Firefox OS, primer smartphone comercial con este sistema y basado en tecnologías HTML5. El dispositivo en sí parece bastante mediocre, pero posiblemente levantará interés por ver cómo se comporta su sistema.

    Sony Ericsson Xperia Z

    Sony Ericsson Xperia Z

  • Acer: Acer Liquid E1, con pantalla de 4.5 pulgadas, cámara de 5 megapíxeles y Acer Liquid Z2, con pantalla de 3.5 y 512Mbs de RAM, de gamas medias y baja, basados en versiones Android 4.1.
  • Asus: tras sus Asus Transformer, este año se espera que aporte una nueva versión de tableta enfocadas al low-cost. No tengo mucha más información al respecto, así que habrá que esperar :-)

Alguna de esta información es de momento rumores, tenemos que ver realmente qué pasará los próximos días en el MWC para ver las tendencias del 2013-2014 en movilidad.

BlackBerry 10

BlackBerry 10

Por lo demás, es posible que los otros posibles winners del evento de este año sean las Smart TVs, aunque parece que es la típica tecnología que no acaba de arrancar, quizás este año empiece el repunte y veamos un nuevo mercado tan suculento como lo ha sido el del smartphone y del tablet.

También tenemos en el punto de mira a Windows Phone 8 y su alianza con Nokia, veremos realmente si el sistema de Microsoft cumple las expectativas del mercado, que más que una opción es una necesidad para realmente alcanzar un nivel competitivo para jugar en la misma liga que Apple y Google.

Veremos que pasa en los próximos días! Stay tuned!! :-)

Enhanced by Zemanta
, , , , , , ,


Una de las cosas que más llama la atención en el mundo del desarrollo de aplicaciones móviles es la – relativa – poca calidad de una gran parte del espectro de las Apps, tanto en iOS como en Android. Especialmente en la segunda, se puede comprobar que es relativamente sencillo encontrar aplicaciones – incluso de compañías importantes – que hacen aguas por todos lados, pero sin ser tendencioso este efecto lo encontramos en los dos ecosistemas.

Validando Test Plans de varias compañías, me dí cuenta lo que comentan algunos gurús del Q&A para mobile: no se realiza ningún o escasos testings en el update de la aplicación.

Update Testing o tests de actualización

WhatsApp problemas actualización iPhone

WhatsApp tuvo problemas en actualización para iPhone

Este tipo de testing – operacional – es bastante complicado de automatizar, por lo que va quedando en stand-by hasta que las prisas y los apretados TTMs – Time To Market- hacen que se omitan completamente, quedando al libre albedrío lo que pueda pasar al usuario al instalar la nueva versión – que le pregunten a WhatsApp – :-).

No es precisamente trivial: las aplicaciones móviles no tienen la suerte del mundo Web, donde la aplicación es una única y no convive con distintas versiones. ¿Qué sucede si el usuario tiene la versión 1.0 de nuestra aplicación y salta a la 2.0? ¿Y si lo hace de la 1.0 a la 3.0? ¿Podemos asegurar que la aplicación continúa usable, que los servicios que consumía históricamente no dejarán inestable la aplicación, o que los datos no desaparecerán o quedarán corruptos? Obviamente, sin un mínimo de validaciones esta tarea se complica.


Algunas pistas recopiladas para incluir en el Update Testing de nuestras Apps deberían incluir cosas tan fácilmente ignorables como:

*    Si el usuario está loqueado antes del update, debería continuar después. No crítico pero sí afecta a la usabilidad.
*    El update no debe afectar a los datos existentes en la base de datos local ni dejarla corrupta.
*    El proceso de instalación y upgrade desde el Store funcionará correctamente indistintamente de la versión del usuario.

Logo Apple

¿Cómo testear el update de aplicación en IOS?

*    Construir una versión adhoc de nuestra App que ya exista en el iTunes Store, manteniendo el mismo Bundle ID.

Drag & drop a iTunes

Drag & drop a iTunes

*    Arrastrar la App al iTunes y sincronizar la versión al dispositivo.
*    Ejecutar la App y probarla manualmente para validar el correcto funcionamiento.
*    Hasta aquí queda validado que de momento está todo OK.
*    Generar la nueva RC – Release Candidate- de la aplicación, arrastrar a iTunes y sincronizar al dispositivo. iTunes notificará que la versión anterior se eliminará, no hacerlo, ya que esto no sería un update! A continuación iTunes reinstalará la nueva versión como si fuera un update de la anterior – gracias al Bundle ID común -. En este punto ya tendríamos la versión updateada.
*    Validar que la App funciona correctamente.

Todos estos puntos se pueden simular a través de la herramienta iPhone Configuration Utility.


¿Como tester el update de aplicación de Android ?

A través de la herramienta ADB – Android Debug Bridge – :

Android adb install update

Android adb install update

*    Instalar la versión correspondiente, desde Google Play o IDE al dispositivo.

*    Validar el correcto funcionamiento para no condicionar errores.
*    Construir la versión RC de la App. Es importante firmar la versión correspondiente con el mismo keystore utilizado en la versión anterior. Android identifica una versión unívocamente a través del nombre del package, versión y firmado.
*    Una vez generado el APK – Android Package, o aplicación Android de toda la vida :-) – se puede instalar por línea de comandos a través del ADB: /adb install -r aplicación.APK. Sin la opción -r la instalación será limpia eliminando datos antiguos.
*    Probarla.

Estas son un par de pistas de cómo aproximar el testing de actualizaciones, pero obviamente todo el plan es más complejo y se deberían tener en cuenta distintas casuísticas. Pero con esto, ya tenemos un pequeño roadmap de como podemos enfocarlo, espero que sea útil. :-)

Enhanced by Zemanta
, , , , , , ,