Knowledge7

The Linux and Mobile Solution Provider

  • About
  • Training
  • Services
  • Clients
  • In the news
  • Blog
  • Contact Us
You are here: Home / Archives for Mobile

Top rated libraries for Android development

Software development is hard. Developing mobile apps is even harder as mobile devices have a lot of constraints (small screens, limited amount of resources, network connectivity drops, a high level of expectations from end-users, etc.)

That is why software engineers tend to depend a lot on existing libraries to simplify their lives. Here are some of the top-rated libraries on Github to make the development of Android apps easier. All of them are open-source software and are free to use. Some are easy to start with, some have a very steep learning curve, but all have the potential to allow developers to create better quality apps which are easier to maintain. Here they are:

ReactiveX/RxJava (22,523 stars on Github) & ReactiveX/RxAndroid (11,582 stars)

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM & RxJava bindings for Android. (RxJava Website)

square/retrofit (19,823 stars)

Type-safe HTTP client for Android and Java by Square. (Website)

square/leakcanary (14,225 stars)

A memory leak detection library for Android and Java.

greenrobot/EventBus (13,807 stars)

Android optimized event bus that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality. (Website)

square/picasso (12,958 stars)

A powerful image downloading and caching library for Android. (Website)

greenrobot/greenDAO (7,127 stars)

greenDAO is a light & fast ORM solution for Android that maps objects to SQLite databases. (Website)

google/gson (8,116 stars)

A Java serialization/deserialization library that can convert Java Objects into JSON and back.

google/dagger (6,517 stars)

A fast dependency injector for Android and Java. (Website)

Before I forget, software development is not only a question of using the right libraries. It is first and foremost about identifying a real problem to solve (so, pay attention to what users really need) and choosing the best solution to solve the problem (where having a clean software architecture is paramount).

Our forthcoming training courses

  • No training courses are scheduled.

Mobile marketing: the new game changer

20120306-rotator-mobile

The invention of the Internet was a game changer in business and marketing. At first, all businesses started by simply creating their websites but as the Internet matured, businesses started seeing other opportunities for using it as a highly effective marketing channel. While most businesses are now aware of its potential, although many of them haven’t really started embracing it, very few are aware of an even more effective emerging marketing channel – mobile technologies.

Why is mobile marketing so great?

Digital marketing research firm InsightExpress found that mobile ad campaign norms were four-and-a-half to five times more effective than online norms. One can easily understand why. The adoption rate of smartphones and tablets is truly amazing. eMarketer expects 4.55 billion people worldwide to use a mobile phone in 2014.

Now let me ask you a question. What are the three things you take with you before leaving your house?

Your keys, your wallet and your smartphone!

People check their smart phones and tablets several times a day whether they are at work, while travelling or at home. Moreover, mobile devices provide capabilities such as geolocation. Thus, advertising through a mobile channel allows you to target customers not only at the time you want but also based on their location.

Let’s take an example:

Android Application Development course at Knowledge7

This course has been designed for people who need to acquire the skills to develop powerful Android applications. It covers key topics such as using databases, asynchronous networking and the use of geolocation and Google Maps. You will also learn about the Android best design patterns.

Learn more

Let’s say you sell shoes and you have several retail stores around the country. You decide to use newspapers to advertise your shops. People will most probably read the newspapers at home or at work. They might be attracted by your awesome ad design and find your product really interesting. However, very often they will forget about it. Imagine now that you could send a notification to a person, through a mobile application, only when that person is within 25 metres of any one of your shops telling them about a special offer available on presentation of a coupon (a mobile coupon which is available through the application itself!). The chances of that person getting into your shop will increase greatly. Mobile marketing takes marketing to a whole new level.

In order to give you some inspiration on how to leverage the power of mobile marketing, below are three real-world examples of businesses who have created great mobile marketing campaigns.

Heineken Star Player Game

The Dutch brewing company Heineken, has created a mobile application called Star Player. Star Player is a game which allows players to predict what will happen at key moments in UEFA Champions League football matches. The game works in real-time and invites players to forecast the outcome of corners, free kicks, penalties, when goals will take place etc. and are awarded points accordingly. This game results in people being exposed to the Heineken brand during the whole match and well, we all know that it feels really good to drink beer while watching a football match…

Quidco

Cashback and voucher website Quidco.com has launched a mobile application that rewards users with cash and exclusive offers for checking in to certain stores and restaurants.

Cashback is paid when people click through and make a purchase at any of the retailers listed on their website. The Quidco app provides users with all the money-saving offers available nearby, including vouchers and in-store cashback deals. It also presents cash incentives and bigger offers for users who check in to certain restaurants and stores.

“While other apps inform the users of offers in their local area, the incentivised check-ins on the Quidco app will encourage consumers inside stores, thereby giving retailers more of an opportunity to influence customers and make a sale,” says Quidco’s Hannah Green.

https://www.youtube.com/watch?v=l0iVdUDEziU

Edendale

Edendale is a Mauritian company which specializes in the distribution of dairy products, juice, cereals etc. They contacted us last year to develop a mobile application – an Anchor Nutritional Game. The game shows you examples of balanced diets and allows you to create your own from a list of food items provided. It then explains how using Anchor products can help you achieve a balanced diet. When customers visit a supermarket, they can play the game on a tablet. This is specially fun for kids and will you be able to say no when your 8 years old daughter will ask you to buy that bottle of milk?

20140114-edendale-in-nexus-7

Mobile marketing offers an endless number of possibilities. The only limit is your imagination and your ability to develop mobile applications.

Here’s a piece of advice: mobile is the future and is here to stay. Successful companies will be those who will adopt both online and mobile marketing.

It is possible to outsource the development of the mobile application (to Knowledge7 say). However, if you plan to create several mobile apps, having your own development team might be less costly. In this case too, Knowledge7 can help.

Do not hesitate to contact us for FREE advice.

Our forthcoming training courses

  • No training courses are scheduled.

5 rules to make a great Android app

20140709-morpheus

Since Android 1.0 was released in 2008,  Android has conquered 80% of the mobile market. There’s no doubt that Android is the present as well as the future. And Android is moving fast. Very fast.

Don’t believe me? Have a look for yourself at the Google I/O 2014 keynote. Remember Android 1.5 Cupcake? Or Android 2.2 Froyo? The time when Apple was boasting about the great design of iPhone apps? And where, to be honest, the Android user interface was not so great? Well, Android has come a long way. Version after version, Google has added new features which allow developers today to make Android apps which look as good, if not better, than their iOS counterparts. Of course, good design is not only about look. It’s also about functionality, usefulness, intuitiveness, unobtrusiveness, user-friendliness and aesthetics. As an Android developer, you need to be able to cope with this rapid pace.

Here are five things you should take into consideration when developing for the Android platform.  This is not an exhaustive list but it should give you some insights on how to create great apps.

20140524-1

Supporting various screen sizes, orientations and devices

Our next Android Application Development training starts on Thursday 20 November 2014

Learn more

Unlike iOS developers who have a limited number of devices to design for, as an Android developer, you have a more challenging job. You have to cater for the wide variety of devices and, failure to do so, inevitably means a risk of missing a large audience.

Fortunately, Android was developed with this in mind and Android will perform scaling and resizing to make your application work on different screens provided you follow design best practices. For example, using density-independent-pixels (dip) to specify components sizes is recommended. Android also allows you to provide images in various sizes for different kinds of devices.

20140524-2

Optimizing for tablets

Although Android performs scaling and resizing, you should make the effort to optimize your application for large screen sizes and densities especially tablets.

Here’s is an example of a typical list-detail application. The first screen displays a list of items. Clicking on one of those items, you get a second screen displaying the details related to that particular item.

list-display

detail-display

The list screen and detail screen looks like they work in landscape on tablets. While this would look great on a 4″ smartphone, this design is not optimized for 7″ or 10″ tablets. The look is not great but the app is not optimally using the screen real estate as there are a lot of unused space. Optimizing the design for tablets might result in:

display-mode-when-landscape-1024x715

Here, a multi-pane layout is used to display both the list and details side by side. By clicking on one of the items in the list, the details for that particular item is updated. The design is much better as it makes better use of the available space and offers a better user experience. There is no need to switch from one screen to another. The only thing that it might need is some colors.

In Android 3.0 Honeycomb, fragments were added in Android which allows you to build more flexible and dynamic user interfaces. For example, the list and details parts above are distinct fragments which are shown on the same screen. Note that fragments have been backported to earlier versions of Android (1.6 Doughnut) thanks to the Android Support Library v4. Make sure to use them.

20140524-3

Using an action bar, touch gestures, a navigation drawer, etc.

Over the years, Android has introduced new features and patterns in order to provide a more appealing and rich user experience: the action bar, new touch gestures and the navigation drawer among others. You should leverage those capabilities in your app.

A word of caution here however: don’t use new features only because they exist! New UI features are introduced for to solve specific UI issues: some provide better navigation while others are used to allow users to better browse content. Make sure to understand the rationale behind each UI pattern and follow best practices!

20140524-4

Make sure that your app is intuitive and easy to use

Often, you might want to develop an application which will run on different platforms using a cross-platform framework such as Apache Cordova (aka Phonegap). While using the same code on different platforms can help you save time, it can greatly affect user experience.

You should be aware that there is a world of difference between Android and iOS (to take the two most common mobile platforms used worldwide). For instance, in Android, people expect to use the back button located at the bottom of a screen to move to a previous screen. In iOS, there is no permanent back button. iOS apps have to provide their own back functionality, for example, as a button at the top of the screen.

In general, people do things on their phones without really thinking. These are called user reflexes. Android users have developed reflexes when using Android applications. This is true for iOS users too. And, of course, the reflexes are not necessarily the same.

If your Android app doesn’t follow Android guidelines and design patterns, your users will have a really hard time figuring out how to perform simple tasks. Believe me: many will rapidly give up and just uninstall your app. Don’t try to mimic elements from other platforms: a back button at the top of an Android app is completely out of place!

20140524-5

Focus on the content

My last point will be about aesthetics. Confused? Aesthetics? What is this focus on the content?

Often, when you think about aesthetics, you think about what can be done to make your design pleasing to the eye only. But aesthetics is also about usability. Be particularly careful about making you app difficult to use while making it beautiful!

The solution is to use typography, regular grids, white space, bold colors and recognisable images.

Effective use of the above does much more than just please the eye: they create hierarchy, meaning and focus.

Our next Android Application Development training starts on Thursday 20 November 2014

Learn more

Users download apps which provide them with information they need. Make this information prominent and easy to consume. Focus on the content. Focus on helping your users achieve their aims. Don’t use colours for the sake of having colours, use easy to read text with a nice typography and use white spaces to make the screen less crammed. You’ll have a beautiful app, simple to use, and loved by users.

During the last Google I/O conference, Google introduced Android 5.0 L, to be release at the end of the year, and one of the major innovation is Material Design.

Material Design is a new way to design apps to make them behave like real objects. UI components are placed on distinct layers with subtle shadows. They react when touched like real objects do. Material Design is not revolutionary. But it has the potential to make apps much easier to understand and use by normal people. And, we developers, need to cater for normal people.

Don’t forget to have fun in the process 😉

Our forthcoming training courses

  • No training courses are scheduled.

Driving Business Forward with Android

20130701-android-business-0

 
 

Smartphones and tablets are becoming more and more commonplace and this is true in businesses too. People expect to be able to work from anywhere, anytime and with secure access to enterprise resources.

From a business perspective, it makes sense to have a mobile strategy using custom enterprise applications.

20130701-android-business-1

Interestingly, we are experiencing two trends at this moment:

  • First, a number of companies are gradually replacing old PCs and laptops with modern smartphones and tablets especially for employees who are constantly on the move.
  • Secondly, employees now own powerful smartphones and tablets and it makes sense to allow them to use their own devices at work and, hence, reduce costs.

20130701-android-business-4

Since it was released by Google in 2008, Android has quickly become the best-selling mobile platform worldwide. This is true in Mauritius too thanks to popular brands such as Samsung, Sony, HTC, LG, etc. Examples of Android devices are the new Samsung Galaxy S4, the Orange tablets and the Google Nexus 4.

Developing customised enterprise Android apps

20130701-android-business-2

 
 

An enterprise app has a number of attributes:

  • It is used by a large number of employees and, possibly, clients
  • It integrates with existing enterprise capabilities (especially access to enterprise data)
  • It respects enterprise-wide standards and security best practices
  • It offers a well customised user experience both for smartphones and tablets

There are basically two ways to create such enterprise apps: either develop them in-house or outsource the development.

 
 

20130701-android-business-3

 
 

Training for in-house teams

Our next Android Application Development training starts on Thursday 20 November 2014

Learn more

In my opinion, if a company needs to develop more than two mobile apps per year (e.g. two simple and one complex entreprise app) and has a team of developers, it makes sense to upgrade their skills to make them become full-fledged Android app developers.

We offer training in Android Application Development. During this training, participants develop powerful Android applications and master important concepts such as the user interface, SQL database, geolocation (GPS) and Google Maps. They will benefit from experienced trainers who are Android developers themselves and who have released applications in the Google Play Store.

 
 

On the other hand, if the company only has a few enterprise apps to develop or does not have a team of developers in hand, it is sensible to outsource the development to a third-party. At Knowledge7, we develop customised Android applications for smartphones and tablets. From your unique requirements, we can create secure, powerful and user-friendly mobile apps for your organisation.

Our forthcoming training courses

  • No training courses are scheduled.

Looking for something?

Want to know more?

Get our newsletter

Discover the latest news, tips and tricks on Linux, the Web and Mobile technologies every week for FREE

This work is licensed by Knowledge7 under an Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.