Create a git repository from an existing XCode project

The following steps can be followed to create a Git repository from an existing XCode project.

  1. Open the terminal and navigate to the directory containing your XCode project.
  2. Execute the following commands to create a local Git repository:
    > git init
    > git add .
  3. Open your project using XCode.
  4. Navigate to the menu “Source control” > “your project” > “Configure”.
  5.  Open the “Remotes” tab as shown in the following screenshot.
    git step 3
  6. Click on the + button.
  7. Add the remote repository indicating its remote address.
    git step 4
    git step 4 b
  8. Now that the remote repository has been configured, we can commit the project. Navigate to “Source control” > “Commit”. You can check the “Push to remote” option or we can do it in two different steps. Click on the Commit button.
    git step 5
  9. Push the local commit to the remote repository. Navigate to “Source control” > “Push”.
    git step 6
    git step 6 b

Read More

This is my mother’s smartphone

Similarly to my old post: This is my Smartphone, now I want to show my mother’s smartphone.
The reason why I’m writing this post is because my mother isn’t very familiar with computers or technology in general, even less with smartphones. Using her previous phone, not a smartphone, she started having problems with reading the small screen and the small text sizes. Even so, she didn’t want to change her phone for a touchscreen smartphone, simply because smartphones seemed very difficult to understand for her.
I decided to configure my old smartphone adapting it to her and finally I persuaded her.

The device

The device is a Sony Ericsson Xperia arc S. This smartphone was released in 2011 but my mother’s one was bought in 2012. I want to convince her to buy a newer one, although the Xperia arc S works very well. The Android version of the device is 4.0.3.
Xperia arc S

The launcher

Android allows a large degree of customization. Launchers can serve different purposes, for example the launchers intended for older people, which provide an easier interface for novice users. My mother’s smartphone uses the launcher known as Wiser – Simple Launcher. This launcher is free, colorful, with big buttons, big text sizes and very easy to use.
Android app on Google Play
The home screen shows the main applications. The disadvantage is that you can’t change these main applications, they are fixed. The second screen (to the right) contains the favorite contacts and on the third screen, more applications are listed. You can configure the applications that are listed on the third screen.

Wiser homeWiser phone

The keyboard

Keyboards in Android can also be customized. My first idea was to change the default colors of the keyboard, so the letters had a strong contrast with that of the background. But that wasn’t enough, my mother needed bigger buttons. Finally I installed the Big Buttons Keyboard.
Android app on Google Play
The letters of this keyboard are not displayed like in a standard keyboard, but that’s ok for my mother, since she isn’t used to a qwerty keyboard anyway.
Big keyboard

Read More

Assessing the Privacy Policies in Mobile Personal Health Records

My third accepted article was already published. For my PhD I write scientific articles that are submitted to scientific journals or conferences. This article is in English and it has been presented in the 36th IEEE Engineering in Medicine and Biology Society Conference, held in Chicago, USA.

The theme of the IEEE Engineering in Medicine and Biology Society Conference is “Discovering, Innovating, and Engineering Future Biomedicine”. It covers diverse topics from cutting-edge biomedical and healthcare technology research and development, clinical applications, to biomedical education.

Here is the reference and the link to my article:

Zapata BC, Niñirola AH, et al. (2014) Assessing the Privacy Policies in Mobile Personal Health Records. IEEE Engineering in Medicine and Biology Society Conference.

The abstract of the article:


The huge increase in the number and use of smartphones and tablets has led health service providers to take an interest in mHealth. Popular mobile app markets like Apple App Store or Google Play contain thousands of health applications. Although mobile personal health records (mPHRs) have a number of benefits, important challenges appear in the form of adoption barriers. Security and privacy have been identified as part of these barriers and should be addressed. This paper analyzes and assesses a total of 24 free mPHRs for Android and iOS. Characteristics regarding privacy and security were extracted from the HIPAA. The results show important differences in both the mPHRs and the characteristics analyzed. A questionnaire containing six questions concerning privacy policies was defined. Our questionnaire may assist developers and stakeholders to evaluate the security and privacy of their mPHRs.

Read More

Giveaway Winners: Free copy of new book on Android Studio

The giveaway that was published here has ended. The winners were generated automatically and they will be contacted to let them know about it.

Angel (entry #53)
Paul (entry #106)
Victor (entry #41)

I used an external tool, PromoSimple ( to register the entrants and their number of entries. The following screenshot shows the Manage Winners page in which you can generate a winner for each prize.

Manage winners

To generate a random number, you can use the external site of or the PromoSimple generator.

Generate winners randomly

Thanks to everyone who participated and shared it!

You can still buy it at several sites:

Testing and Securing Android Studio Applications cover

Read More

My new destination: San Francisco

After spending the last 10 months living in Rabat (Morocco), in a few weeks I’m starting a new project. My new destination is San Francisco, California, US.
I’m going to start working at SWARM mobile: As described in Swarm webpage,

Swarm is committed to helping small business retailers understand their businesses and customers better. Our family of smart retail devices, coupled with advanced retail analytics and a comprehensive retail management platform, can help retailers increase sales through superior insights.

This opportunity is thanks to the Jóvenes con Futuro program:

The goal of the program is to match the brightest technical minds in Spain and arrange placement with companies in the San Francisco Bay Area and New York City.

I’m very excited about this new project. I expect to learn a lot and from the best.


Read More

Win Free copy of new book on Android Studio

Readers would be pleased to know that I have teamed up with Packt Publishing  to organize a Giveaway of my book “Testing and Securing Android Studio Applications

Three lucky winners stand a chance to win e-copy of the book. Keep reading to find out how you can be one of the Lucky Ones.

Testing and Securing Android Studio Applications cover


  • Explore the foundations of security and learn how to apply these measures to create secure applications using Android Studio
  • Create effective test cases, unit tests, and functional tests to ensure your Android applications function correctly
  • Optimize the performance of your app by debugging and using high-quality code

How to Enter?

All you need to do is write your e-mail and name below. It’s that simple. Winners will be contacted by email, so be sure to use your real email address when you comment!

In the second step, you can get extra entries if:

  • You head on over to the book page (Testing and Securing Android Studio Applications) and look through the product description of the book and drop a line via the comments after sending your email, to let us know what interests you the most about this book.
  • You tweet about this giveaway.
  • You follow me on twitter.

Winners will get an e-copy of the Book.

Read More

Testing and Securing Android Studio Applications

Testing and Securing Android Studio Applications is my second book that has been recently published by Packt Publishing here. You can get it also from Amazon here.

Testing and Securing Android Studio Applications coverTesting and Securing Android Studio Applications cover

Today, mobile applications are increasingly being used to access the Web. Mobile developers play a key role in how consumers access the Web with millions of people depending on them to create secure and functional applications. This book, beginning with the fundamentals of Android security, will guide you through the process of creating a secure and debugged application. We will look at the Android Studio development environment and take you through the steps needed to protect your local data and secure your network communications.

Initially covering the threats, risks, and vulnerabilities in software and in the Android environment, this book will then dig deeper, exploring different types of authentication methods that can be adopted in your Android application. You will be introduced to techniques and classes to test your application, before finally learning about supporting tools that will help you to improve your application.

By the end of this book, your Android application will be debugged and secure and you will be able to apply what you’ve learned to further application projects.

Read More

Mobile Usability Study

For my article “Mobile PHRs compliance with Android and iOS usability guidelines”, a short mobile usability survey was conducted to validate the questionnaire in the article. The survey was created online using Google Forms and it was published on my Twitter account. Since some participants asked me if I could publish the results, here they are. The survey contained 13 questions that participants had to evaluate on a scale of 1-5 regarding their interaction with mobile applications.

Participants’ age: between 18 and 51.

Simple writing style. Everything is understandable and simple, avoid unexplained terms or acronyms. 3.64
Pictures used to explain concepts. Pictures to support text for a faster and easier navigation. 3.95
Known icons used for common actions. Same icons for same actions in different apps. 4.18
Vertical and horizontal orientations. Adaptation to different device orientations. 3.59
Preferences are learned over time. Store settings, logs, search history, autocomplete fields, etc. 3.45
Reactions of interactive items. Change color or illumination after the user interacts with an element. 3.64
Messages showing information related to actions that the user needs to consider. 3.55
Acknowleding messages to let you know that an action has been completed. e.g. after updating a set of data a message saying “Updated”. 4.23
Activity indicators for long tasks. e.g. progress bars. 4.27
Fast load of the app. e.g. immediate startup with no splash. 4.00
Delay login/register. Let you test some functionalities of the app before requiring login or register. 3.59
Known structure patterns. Tabs (on the bottom or top), Navigation Drawer (e.g. Facebook mobile app), etc. 3.73
Navigation consistent between hierarchical screens. e.g. Hitting the back button will lead you to the previous page rather than the home screen. 4.23

Read More

Test project setup in Android Studio – Updated

Android Studio IDE is gradually improving. One of these improvements is the management of tests cases in the Android projects. In this old post: Test project setup in Android Studio, I explained how to prepare your Android project to run test cases.
In the last versions of Android Studio, v0.8 and above, this process has been simplified. When a new project is created, a test package is automatically added. Tests will be saved in this package under the folder: /src/androidTest/java/<your_package>. Notice that the classes under test and the test classes are in the same package.
The project structure now looks like:
Project structure
Add your test classes in the test folder. To execute them, click on the package using the right mouse button and select the Run ‘Tests in <your_package>’ command. You can also run only one test class if you directly select it instead of the whole package.
Run Tests

Read More

Mobile PHRs Compliance with Android and iOS Usability Guidelines

My second accepted article has already been published. For my PhD I write scientific articles that are submitted to scientific journals or conferences. This article is in English and it is published in the Journal of Medical Systems. The Journal of Medical Systems is indexed in the Journal Citation Reports (JCR) and its current impact factor is 1.783.

The Journal of Medical Systems provides a forum for the presentation and discussion of the increasingly extensive applications of new information systems techniques and methods across all health care settings. It features four sections focusing on mobile systems, systems level quality improvement, transaction processing systems, and patient facing systems.

Here is the reference and the link to my article:

Zapata BC, Niñirola AH, Idri A, et al. (2014) Mobile PHRs Compliance with Android and iOS Usability Guidelines. J Med Syst 38:1–16. doi: 10.1007/s10916-014-0081-6

The abstract of the article:


Mobile Personal Health Records (PHRs) have achieved a particularly strong market share since the appearance of more powerful mobile devices and popular worldwide mobile application markets such as Apple’s App Store and Android’s Google Play. However, Android and Apple have a set of recommendations on design and usability targeted towards developers who wish to publish apps in their stores: Android Design Guidelines and iOS Human Interface Guidelines. This paper aims to evaluate compliance with these guidelines by assessing the usability recommendations of a set of 24 selected mobile PHR applications. An analysis process based on a well-known Systematic Literature Review (SLR) protocol was used. The results show that the 24 mobile PHR applications studied are not suitably structured. 46 % of these applications do not use any of the recommended patterns, using instead lists or springboards, which are deprecated patterns for top-level menus. 70 % of the PHRs require a registration to be able to test the application when these interactions should be delayed. Our study will help both PHR users to select user-friendly mobile PHRs and PHR providers and developers to identify the good usability practices implemented by the applications with the highest scores.

Read More