Archive for the ‘mobile apps’ Category

Cloud does not equal the Internet

November 13th, 2018 by Heather Maloney

Cloud does not equal the internet
People frequently use the term “cloud” or “in the cloud” to simply mean located on the internet or their private intranet. I’ve done it myself, for the sake of expedience. However, they aren’t the same thing, and it’s important to understand why so that you can wisely choose the internet services you are accessing for your business or in your personal life. For example, cloud hosting is not the same as shared web hosting, for the hosting of your organisation’s website.

The internet is the connection of computers around the globe using TCP/IP protocol to manage the connections, and participating in the sharing of information using the HTTP protocol (the worldwide web).

The term “Cloud” or “Cloud Computing” refers to technology services, usually delivered over the internet, which are characterised by:

  • Distribution of a system (program and its data) across many servers and locations, to provide for greater performance, but still providing up to date and correct data.
  • Automatic provisioning (addition of greater capacity via more CPUs, memory and disk space) to meet minute-by-minute requirements.

Applications embodying cloud computing are often further labelled as SaaS (software as a service), PaaS (platform as a service), IaaS (infrastructure as a service), and other ‘…aaS’ names. These labels draw attention to which part of the abstraction of the technology is controlled by the buyer compared to the service provider. However, not all applications given these labels actually provide the two main characteristics that I am asserting differentiates cloud computing ? distribution across many servers, and automatic provisioning. Instead, software delivered as a service via logging into a web application may in fact be stored on one server, in one location, with one database, and require the service provider to manually procure and set up new servers when usage demands the additional resources.

The characteristics of cloud technology provide advantages and disadvantages which I will discuss in a moment, but let’s first consider the technological challenge cloud technology is trying to solve.

As you can imagine, there’s an awful lot of information contained within Facebook. Millions of users each adding several posts, and making hundreds of comments, on a daily basis, adds up very, very quickly. Not only is there a lot of data being stored and accessed by users of Facebook, people are posting and reading comments from all around the globe; some on their phones while riding on a train, others are sitting at their desktop computer in the back of beyond, and everything in between. No one will use Facebook if it takes more than a few seconds for the content to appear on their screen, and Facebook is used by people all around the globe. Facebook is just one example of an application which handles vast amounts of data and serves vast numbers of people.

To make Facebook possible, as well as other applications like it, the underlying technology has to be distributed across multiple servers and locations – a distributed system. There are numerous technical models used to achieve a distributed system. Below are brief descriptions of just a few of the techniques to give you a feel for the complexities involved.

Techniques

Sharding. A term allowing a single database to be stored across multiple servers by allocating logical portions of the data onto different servers. A very rudimentary example would be determining which server to store the data based on a range of identifiers such as in the case of user accounts the decision could be made to store all data with a user ID between 1 and 100,000 on server 1, between 100,001 and 200,000 on server 2, and so on. The application retrieving the data would send the query to the application server, and then the database server would work out which server to get the data from based on the user ID, get that data and return it back to the user. There are many options for the way that a database may be divided; the right way for a particular application will need to consider the way current data is spread across it’s attributes as well as how future data may grow.

NOSQL. The example given above for sharding described separation of data contained within a relational database; the most common database architecture up until very recently, which as the name suggests relates tables of information to one another by linking IDs. A person’s record in a database may contain an ID to another table storing the details of the school they attend (name, address, phone number etc) – hence being called a relational database. NOSQL or Document Databases have become more popular recently as they can be spread more easily across multiple servers because all the data associated with the person in the sharding example would be stored in one document rather than spread amongst related tables. Document databases often come with functionality built into them to manage distributing documents in the collection across multiple servers.

Caching. Storing data located near to users, providing faster access particularly for commonly used information is referred to as caching. Facebook makes heavy use of memcache to store recently accessed Facebook information in memory, which is much faster to read than from the Facebook MySQL database which is housed on hundreds of thousands of servers. Content Delivery Networks (‘CDN’) are an example of caching of web content to ensure it is closer to your website visitor.

Other concepts such as virtualization, utility computing, and grid computing are also key in the implementation of cloud computing particularly with regard to auto-provisioning of additional computing resources.

Advantages

We have touched on some of the advantages of cloud computing in relation to the problems it is trying to solve. The advantages can be summarised as:

  • Security. A cloud solution must be focused on security in order to have success over the long term, and they usually have significant resources at the ready to keep security up to date, and respond quickly when a new threat arises. Look for:
    • End-to-end encryption which ensures the encryption of all data in-transit across the Internet and stored at-rest in the cloud, with the encryption keys held by you and used to encrypt the data before it leaves your computer.
    • Sophisticated access controls allowing you to set role-based authentication to control what exact data each user can and cannot view, edit or share.
  • Performance. Because there is likely a server nearby to the user, rather than the user’s request needing to travel half way around the world and back, you can expect the speed of cloud systems to be significantly better. Performance is a key factor for organisations with a workforce distributed around the globe.
  • Scale. The ability to distribute an application and/or its data across multiple servers and locations removes or significantly reduces the constraints on how large an application can grow or how many customers it can efficiently serve.
  • Cost. Another key benefit of cloud is that usually someone else is responsible for concerns such as installation of software and purchase of licenses, management of software patches, backups, hardware upgrades and repairs, anti-virus and protecting against malicious attacks, all handled by the provider of cloud computing rather than the organisation requiring the technology. When comparing the cost of cloud and non-cloud you must take into consideration the total cost of ownership of the alternatives. Auto-scaling (also referred to as elastic computing) is a factor in both cost and performance, as it allows systems to scale up (additional costs) when demand increases, and scale back (reduce costs) when demand is low, allowing the owner of the system to only pay for resources when they are required.

Disadvantages

It is important to also be aware of the potentially significant disadvantages of cloud computing:

  • Data ownership / sovereignty. Where is your data really? Who has access to it? Have you read the terms and conditions with respect to the ownership of the data? Can you remove your data permanently, or will it still be accessible by the cloud provider even after your account is closed? Often the owner of the data you place into a cloud computing solution is actually the cloud provider, not you. To help mitigate this issue, some cloud providers are implementing servers in additional countries including Australia, to help organisations to use cloud services without moving their data overseas, but you need to check where your data is stored; often such storage choice will increase the cost of the solution. NB: even if your data starts out being stored in Australia, if the data is owned by a US company, they may be forced to move the data back to the US for scrutiny by American law enforcement agencies – this has already happened in the case of Google in February 2017.
  • Privacy. Facebook has been criticised at the highest levels of American government, and by governments around the world, for the way in which the data it gathers (albeit via their free service) has been used and sold on to 3rd parties. The situation with Facebook and other cloud solutions has been a factor in leading to the new European privacy legislation (GDPR). When you utilise cloud platforms, are you comfortable with manner in which they use the data that you are storing within it (read their terms and conditions)? Can you trust the organisation to abide by their promises?
  • Control. Can you create the functionality you need to support your particular processes, or are you now constrained by the services provided by the cloud platform? Using a cloud service to remove the need to create that service constrains you to the functionality the service offers. The more you depend on a 3rd party service, the less likely you are to be able to innovate in that area of your business on application, which may well slow your organisation down and remove your opportunity to create competitive advantage.
  • Cost. Whilst being able to pay per second for your application using cloud technologies may sound like it is going to reduce your cost, if your application isn’t built to take advantage of cloud technologies, the opposite may occur and your costs can be significantly more than using simpler internet technologies. Cost can also be significantly greater if you use the wrong technology on the wrong cloud provider. For example, whilst the major suppliers of cloud technology usually allow you to run any type of application on their cloud servers, the cost of running those different types may be very different. Running a MS SQL database on Google Cloud is extremely expensive, for example, compared to running it in the Microsoft Azure platform. You need to choose your technology wisely.
  • Skills. Not everyone developing applications is experienced in working on large scale applications, and the implementation of applications using cloud technologies is relatively new, so finding personnel with the required skills can be very challenging.

Whilst I have primarily been discussing cloud computing from the point of view of building an application such as Facebook, cloud computing underpins solutions such as Office365, DropBox and GSuite. These applications allow users all over the world, sometimes the one person in different parts of the world in one day, to access their data – emails and files for example – and programs such as GSuite and Word Online, with great performance, and without the data being [noticeably] out of date, most of the time. Such applications are also increasingly providing users with the capability to collaborate on files e.g. contributing to an online document simultaneously, again while located in different cities and countries.

For such commodity type applications, where easy access from anywhere, across multiple devices, makes business much easier, the decision to sign up for cloud computing may feel like a no-brainer. But you still need to consider the disadvantages discussed above.

In summary, not all internet applications are using cloud computing technologies. Cloud computing is a complex area, utilising multiple strategies aimed at providing up to date information, to mass users all around the world, with great speed. It is important that you way up the advantages and disadvantages of cloud computing for both your commodity technology needs (email, file sharing, file storage, and other operational systems) as well as when developing your own applications.

If you would like to read more:
https://enterprisersproject.com/article/2017/1/three-things-companies-must-know-about-data-sovereignty-when-moving-cloud
Use of Memcache by Facebook: https://www.usenix.org/system/files/conference/nsdi13/nsdi13-final170_update.pdf

Facebooktwitterredditpinterestlinkedinmailby feather

Technology Predictions for 2018 around online tech

December 11th, 2017 by Heather Maloney

2018 Tech Predictions

As we wrap up the last 2 weeks of 2017, we have been considering what we are likely to see in 2018 technology. You might like to mull over this with your mulled wine and Christmas pudding (or beer and BBQ). Better still; give it some thought as you carry out new year planning.

The Top 8 things we expect to see around online technologies during 2018:

  1. Increased pressure on smaller online retailers. If you don’t provide a very niche product or experience, that is, if the products you are selling online have many competitors, then your customers are likely to migrate to the larger online retailers including Amazon. The winners will be those with the most products, with the more consistently lower price, providing an easy shopping experience, and fast low cost delivery.
  2. Increased percentage of market share to smart phones running the Android operating system, particularly due to the uptake of Google pixel, but also lower cost Android smart phones.
  3. Increased automation of homes using internet-connected devices due to the major marketing push of Google Home.
  4. Increased integration between apps to make completing the jobs you need to get done even easier.
  5. Increased specialisation of apps for niche markets, again with the intention of making it super easy for people carrying out a task in a well-defined category, to achieve that task as efficiently as possible.
  6. Increased online shopping and therefore parcel delivery into homes; delivery costs paid by the consumer will continue to fall.
  7. Increased use of Apple Pay and Android Pay as more and more people use their smart phones as their payment device.
  8. Increased development of apps that utilise AI / machine learning, making decisions on behalf of organisations in order to more rapidly provide a personalised experience for individual app users.

Feel free to contribute your thoughts!

Facebooktwitterredditpinterestlinkedinmailby feather

Controlling my App using Voice

October 15th, 2017 by Heather Maloney

Adding voice recognition to my mobile app
In order for the apps on your smartphone to be voice controlled, they need to be specifically programmed that way.

Some of the more common voice-enabled apps you are likely to find on your smartphone are:

  • Calendar – ask your smartphone the time of your next / first appointment, on a particular day, and it will tell you the answer and automatically show your calendar appointments for that day on screen
  • Phone – tell your smartphone to call person X, or send a text message to person Y, and it will take care of these tasks, prompting you for the details as required
  • Alarm – set an alarm to go off at a particular date and time
  • Search – ask your phone to search for a topic, and it will display a clickable list of search results

Voice recognition technologies have improved significantly over the last few years, providing numerous options with regard to voice enabling mobile apps, including:

  1. The Android operating system for wearables (e.g. Galaxy watch), smart phones and tablets includes in-built voice control actions for carrying out commonly used tasks such as writing a note. It also comprises the ability for an app to include its own “intents” which listen for voice activation once the user has launched the app. Finally it includes methods for allowing the user to enter free form text for processing by your app.
  2. Google Voice Interactions API – a code library provided by Google which allows an app to be triggered via the Google Now interface – that’s what you’re using when you say ‘Okay Google’ and then say a command.
    okay-google
  3. Apple devices (iPhones, iPads, iWatch) are built on the iOS operating system. Native iOS apps are written in either Objective C or Swift (a more recent language). With the launch of iOS 10, the Swift programming language included a Speech framework to allow developers to more easily implement listen for voice commands, and manipulate voice into text for use within apps.
  4. SiriKit was released in 2016, providing a toolkit for iOS developers to add voice interaction through Siri into their iOS 10 apps.

    What-is-my-heart-rate-voice-interaction-with-mobile-app
  5. Cross platform apps need to use 3rd party libraries to interface with the native speech recognition functions.

It’s important to know that the speech of the user is processed by Apple’s servers or Google’s servers, and then returned to the mobile device, so some lag may be noticed particularly when dealing with longer bursts of voice. It may also have privacy considerations for your users.

3rd party APIs exist which are completely contained within the mobile device, meaning that the user doesn’t need to have an internet connection to use them, and the privacy issues are reduced. An example of such a 3rd party API is the CMU Sphinx – Speech Recognition Toolkit. The downside of using such a library is that you can’t avail yourself of the amazingly accurate voice recognition the large players have developed over time, including for many different languages.

Obvious apps which provide the user with significant benefit from the use of voice control include:

  • An app which improves or assists the job of a hands-on task e.g. chefs, surgeons, artists, hairdressers …
  • An app which is needed while a person is driving e.g. navigation, finding locations, dictating ideas on-the-go …
  • An app needed by a person with disability.
  • An app which involves the entry of lots of text.

We expect to see more and more support for voice in all sorts of applications in future. What would you like to be able to achieve through voice commands?

Facebooktwitterredditpinterestlinkedinmailby feather

The evolution of the mobile phone

August 27th, 2016 by Heather Maloney

image-evolution-of-the-phone

10 years ago, who would have thought that a mobile phone would one day replace your:

  • schedule – and alert you when your appointment is coming up
  • watch – many people no longer where a watch; me … I wear a Samsung Galaxy watch which displays all the notifications on my phone … I accidentally keep calling it my phone, as it nearly is…
  • camera – taking better photos than most of the cameras of 10 years ago. Film free, and easy to share with your family at the press of a button
  • selfie taker – well selfies didn’t exist before the smart phone!
  • photo album – showing off your latest collection of baby photos couldn’t be easier
  • notepad – and store those notes in the cloud so that you can get them from wherever you are
  • weather service – do yo remember the phone number you could call to have todays’ weather read to you. I’m not sure that exists anymore. You probably have todays’ weather showing constantly on your phone home screen. At the press of a button you can get the next 5 days forecast, or the temperature as it will change throughout the day.
  • encyclopedia – need to read up about a particular topic? no problem just type in your search and Google / Bing will have the answer in a jiffy. I wonder who the last person in the world was to buy an Encyclopedia Britannica?
  • map – not only can you find where you need to go, it will also read directions to you as you travel
  • teletext service – write and deliver short messages to anyone in an instant
  • personal music collection – storing not just one ‘album’ of songs, but your whole collection, also backed up in the cloud just in case. Add to your personal collection on the go.
  • word processor – yes, you can write documents on the fly, if you are keen enough
  • calculator – including a scientific version
  • credit card – with the launch of Apple Pay and Samsung Pay, it is now commonplace to see people paying at the PayWave machines using their mobile phone. Leave the wallet at home!
  • banking – check your balances, pay your bills, transfer money from one account to another
  • shop – many online stores are now making it super easy for you to shop through their website, even on a mobile phone. Order your new clothes, or your groceries for delivery to your home, while you are on the go.
  • tracking device – let others know where you are, know when the Uber driver is about to arrive, know where your lost phone is …
  • pedometer – not everyone uses one of these, but not having to attach a pedometer to your belt is very convenient. Just make sure it’s not set to track the distance you travel as an indicator of your steps!
  • stop watch – time your sprint, your presentation …
  • health and fitness diary – your smart phone will also come with an app to track your daily exercise, diet and weight. Great for those attuned to the health and fitness of their bodies.
  • your latest novel – reading a book on your phone means one less thing to take with you on your daily commute
  • reference books – for example, the Bible is a hugely popular download, with many options, and allowing you to search and annotate
  • newspaper – catching up on the news is a cinch; no need to buy the newspaper (and don’t the news companies know this!)
  • magazine – most popular magazines now have a phone version
  • dictionary – check the meaning of a word as you read it
  • compass – for those who need to know what direction they are travelling in!
  • radio – and not just the local stations; we’re talking free radio from around the world
  • TV – or playing short videos shared through You Tube and other video platforms
  • in-flight entertainment – connect into the airline provider’s app and play from their collection of TV shows, radio and movies
  • video phone – not just talking … seeing the person you are talking to as well

But wait, you say, some of the above list are only if you have certain apps installed. Well, every function on your smart phone is facilitated via an app. The following are also examples of the apps commonly being used on mobile phones:

  • door key – yes, that’s right … no need to carry your keys; approach your door and voila it opens
  • parking meter minder – one of my favourite apps which makes my life so much easier, particularly as I rarely have coins on my person
  • taxi pager – Uber is the most incredible service combined with app. I’m sorry, but now I’ve used Uber, I’m unlikely to ever hire a taxi again. The benefits are amazing compared to the traditional way of getting a taxi ride, dealing with the driver, and paying at the end.
  • AFL fixture as well as the up to the minute ladder, and scores during the big game
  • watering system controller – another personal favourite of mine, allowing me to stop the watering of my lawn and other parts of the garden if it’s already raining. If I got organised, the watering could adjust itself based on the local weather station
  • mirror – okay, it’s really a live selfie!
  • torch – not the most powerful, but definitely that feature has come in handy for me more than once!
  • spreadsheet – I remember when the first spreadsheet program came out. Amazingly useful for all manner of mathematical modelling or just keeping track of and charting data.
  • expense tracker – there are a myriad apps for keeping track of your expenses, including scanning your receipts
  • shopping list – including ticking off as you fill your basket
  • recipe book – it can be a little tedious keeping the screen alive as you move between steps in your recipe, but I’ve used my phone for this purpose numerous times
  • heart rate monitor – more and more medical apps are coming out to help people monitor not only their heart rate but other important vital readings
  • social commentary – what’s going on in the news / TV / politics / sport … you can be part of it quickly and easily by posting on social media via your phone
  • game console – some games have been developed specifically for small phone screens and the unique way they are held; think tilt

Of course … you can also make phone calls! And you can make those free around the globe, if you have the right app installed.

No wonder people experience anxiety when they lose or break their phone!

Want to re-live the transitioning of the mobile phone? This article captures the main mobile phone models from 1973 through to 2008. The first smart phone only hit the market in 2006. How far they have come in just 10 years!

Facebooktwitterredditpinterestlinkedinmailby feather

Exploring the Introduction of 3D Touch for iPhone 6S

November 22nd, 2015 by Hubert Yap

The release of iOS 9 on 16th September, 2015 introduced two significant new features on iOS devices: Multitasking on iPad, and 3D Touch on iPhone. This blog post will explain what 3D Touch means for users, and how it can be incorporated into mobile apps to improve the user experience.
3D Touch for iPhones

At the time of writing, 3D Touch is only available for two device models: iPhone 6S and iPhone 6S Plus. Unfortunately the iPad Pro, which was released on November 2015, does not support this feature.

3D Touch introduces three new ways to interact with compatible iPhone apps:

  • Home Screen Quick Actions
  • Peek and Pop
  • Force Properties

Home Screen Quick Actions gives the user a kind of shortcut to up to four of the app’s key functions from the app icon on their home screen. Think of it like an additional navigation on the user’s home screen that allows them to navigate quickly to a specific screen or feature inside the app. This is a great time-saver for users, allowing them super quick access to their favourite function within your app.

The Home Screen Quick Actions can be a simple static set of shortcuts, or it can be a dynamic list of actions, or a combination of both. The static shortcut will always appear on top of the dynamically generated shortcut. They can contain up to two lines of text and an optional icon. The user can activate this feature by pressing the app’s icon on the home screen until they feel a small vibration which will then open the list of shortcuts (this is instead of the simple press to open the app, which of course is still available).

Peek and Pop allows the user to quickly preview content, such as a web page, from a link in their browser. This feature activates when pressing a user interface component (e.g. a link). If the link has any previewable content, its surrounding will be blurred to let the user know they can preview the content of that link. As the user keeps pressing with additional pressure, they will feel a small vibration, then a preview window (“Peek” window) will appear, displaying the content that will be shown if the user presses the link in the usual manner.

Whilst seeing the ‘peek’ view, the user has 3 options:

  1. Release the link. By releasing the pressed link, the “Peek” window will disappear, returning the user to the previous screen.
  2. Keep pressing. The user will feel another vibration and this is will “Pop” the window and take the user to the next screen as if they have clicked the link.
  3. Slide the screen up. This action shows additional buttons that the user can click to trigger a related action. For example, if they were pressing a website link, there will be an option to open the link, copy the link, or add it to a reading list.

The peek and pop feature is very useful when the user is not sure what will happen if they click a link, or when they are not sure if the link contains the information they require. For example, your application might present a collection of PDF files, listed by name. “Peek and Pop” allows the user to “Peek” on each file and release or “Pop” it instead of needing to click on each file and go back to the previous screen to click another file, until they find the file they are seeking. Again, it’s all about speed and convenience for the user.

Finally, Force Properties allows the app to detect the force applied to a certain UI component and triggers the app to react on the force event. For example, a piano app can now play a piano sound louder if the user presses the piano key harder; a drawing app can draw wider lines when the user strokes with greater pressure. Force Properties adds to pre-existing gestures such as tapping, tap-and-holding, swiping, and pinching, to allow intuitive behaviour upon additional pressure being applied to the screen.

3D touch opens up possibilities not previously available inside Apple apps. Whilst Force Properties usefulness depends on the interactivity of the app itself, we expect that most applications can enhance their user experience with the Home Screen Quick Actions, and Peek and Pop capability.

Facebooktwitterredditpinterestlinkedinmailby feather

Reach Mobile Melbournians billboard

June 27th, 2015 by Heather Maloney

After passing the billboard on the Westgate freeway several times, I just had to know what the advertising was all about. I mean … a Google search box containing the search phrase “reach mobile Melbournians” had to be somehow relevant to the endeavours of Contact Point!

So I grabbed my mobile phone (hubby was driving so that presented no problem) and typed in the search term “reach mobile melbournians” only to find a collection of random unrelated search results for page after page. Very frustrating! I am fairly of-fey with searching, having been involved in search engine optimisation since it began, so I continued on regardless to find what the billboard was all about. I refined my search to ‘reach mobile Melbournians billboard’ and was fortunate enough to get to the right place. The answer? A big new digital billboard coming into Melbourne City. So the ‘mobile’ in those search terms referred to people on their feet (rather than on a mobile device), and the Melbournians was actually people visiting the heart of the city of Melbourne.

Actually, to be completely honest, this was the second I had searched for this search term – the first time, after passing the sign at a pretty good speed, I searched for ‘reach mobile Melburnians’ because I thought that was how it was spelled.

Today I was glad to have my curiosity satisfied, however it struck me that the effort I was prepared to put in so that I could find the answer to the burning question raised by the billboard surely wouldn’t be the norm, and therefore the cost of that billboard wasn’t capitalised on with a complementary search engine marketing campaign.

If Contact Point had been engaged to assist the promoter we would have recommended the following:

  1. Write an article or two like this, explaining the meaning of the billboard advertising, and publishing the blog a day before or on the day that the billboard ad appeared.
  2. Ensure that the blog was well optimised for the search engines.
  3. Include a custom, short URL in the billboard to help the curious find it.
  4. Use social media simultaneously on the launch day or just before, to talk about the billboard, pointing to the explanatory webpage, and using useful hash tags to help searchers find it (eg multiple spellings of words if necessary)
  5. Once the billboard was actually out in the public, take a video of it and post that on the company YouTube account, including appropriate hash tags and including a URL that points back to the landing page on the website.

There’s more you could do if you have budget, but all of the above could be done for very little cost and effort, making it much easier for me to solve my burning question. That’s my two cents worth!

We love helping businesses to grow using technology, so if you are planning to reach mobile Melbournians or Melburnians for that matter, especially through search engines or through the use of mobile apps or a mobile responsive website, feel free to get in touch.

Facebooktwitterredditpinterestlinkedinmailby feather

Harnessing GPS (Location Services) within mobile applications

November 15th, 2014 by Hubert Yap

In this post PC era, large numbers of people now use smartphones and/or tablets to connect to each other in realtime because, unlike PCs, smartphones and tablets are not locked down in one location. Millions of people now carry a smartphone in their pocket (or tablet in their bag), pull it out anytime, and within seconds use it to chat with their friends/families, check what is on the news, find out what is causing the current traffic jam, share a photo of what they are experiencing, etc.

Mobile Apps and Location Services

One particular feature of smartphones and tablets that takes advantage of our mobility, is Location Services. Location Services allows a smartphone/tablet application to determine the device location via wireless connection or GPS and send it back to a server. This article will cover how Location Services can be useful for users and businesses alike, challenges in retrieving the device location, and how to address those challenges.

From a user point of view, Location Services allows them to send their location and receive specific information in return. Take for example the Google Map application. By using Google Map, users can send their device location and receive information about their whereabouts. This feature is particularly useful when we are travelling to a place we have never visited before. Generally people use Location Services to receive information that may only be relevant when they are at a specific location (i.e. nearby restaurants, local weather, nearby traffic congestion, movies in nearby cinema, friends who are nearby, etc).

From a business point of view, Location Services can be used to promote discoverability. An app can be configured to send specific information when a user is in a particular area. For example, if a business has a specific product catalogue for each city, their app can show the correct product catalogue to each user by retrieving the users’ location beforehand. Location Services can also be used to determine where business or consumer activities took place. This data has a wide range of uses.

All benefits come with drawbacks. For Location Services, one of the major concerns is battery life. If an app runs down the battery life of your device, you will limit your use of the app. That’s obviously not an option if the app is being used to carry out your job.

Wireless and GPS can only give a rough estimation of where the user is located. Therefore an app sometimes need to retrieve the users location 2-3 times in order to achieve better location precision. The longer we want the app to keep retrieving user location, the more battery power it will consume. This is one reason why a map application drains a lot of battery power. A typical map application needs to constantly retrieve the user’s location because the app is most often used when the user is walking or driving. It is important to achieve a balance between the battery power consumed and the location precision required. For example, if the app only needs to find which city the user is currently in, it can simply define a location precision of about 5 kilometres. Doing so will reduce the amount of battery power consumed compared to a location precision of a few hundred metres.

Another challenge that affects battery life is whether the app uses wireless, GPS, or a combination of both. GPS is more precise and faster when it comes to retrieving user location and is therefore a more recommended approach if your app needs to constantly updates the location. However, GPS is not suitable to retrieve user location when the user is inside a building due to the signal attenuation caused by construction materials. In such case, the app can only retrieve user location via the wireless network, assuming the user device is connected to one.

If the application needs to be able to retrieve user location in both indoor and outdoor, a combination of wireless and GPS is required. The app can be configured to use primarily GPS and only use wireless when GPS fails to retrieve user location, or use both at the same time and stop them if one has successfully received the location. The former will consume less battery power when the device is outdoor but there will be performance overhead when the device is indoors because the app will wait until GPS fails to retrieve user location before using wireless. On the other hand, the latter consumes more battery power on both indoor and outdoor but has better performance indoors.

Building an app that takes advantage of Location Services can give mutual benefits to both users and businesses. In summary, to make the best use of Location Services it is important to consider:

  1. How precise the retrieved user location needs to be,
  2. How often the app should retrieve user location,
  3. Where the user will mostly use the app: indoors, outdoors, or both.

Some examples of apps we have built for our clients which use Location Services are:

Facebooktwitterredditpinterestlinkedinmailby feather

The impact of mobile browsing and mobile apps on website design trends

July 22nd, 2014 by Vincent Lai

With one in every five people in the world now holding a smartphone and one in seventeen owning a tablet, it’s easy to understand why website design has become immersed in catering for a wide range of device screens, and in fact why current digital design trends are being heavily influenced by the prevalence of mobile browsing. The mobile revolution brought with it the concept of the mobile app: the pocket sized utility that can do so much more than a website can, with access to the GPS, camera and other phone capabilities including the iPhone’s accelerometer and touch screen interactions. We now have apps for mapping, cooking, education, and entertainment. We even have apps that can control mini quadcopters that fly through the sky at your whim.

So how has mobile technology influenced digital design?

If you use your phone to view the Facebook website, in the top left or top right corner you will now see a very familiar icon, the menu button. Not long ago 3 horizontal lines meant nothing to most people, but now it is synonymous with opening up a navigation menu. Collapsing horizontal and vertical menus up into a single icon is a intelligent way to give visitors access to many pages, but take up the least amount of screen real estate. Many of our responsive website designs utilise this familiar icon, including inner pages of the Contact Point website when viewed on a smaller screen.
menu_icon

Another interesting design trend you might notice lately is the appearance of bold iconography. Many buttons, links, images and even logos, are now being simplified down to basic geometry, and cleverly illustrated symbols. Apart from being aesthetically pleasing, the main reason for this trend is simply to make life easier for mobile device browsing. Touch screen devices require pressing, swiping and other ‘gestures’ with your fingers to interact with the website or app. Using fingers is much less accurate than using a mouse and pointer. Large and simple icons and buttons are now ruling the way we browse because they are simply easier to press with a finger. They also grab our attention on the screen, no matter what size the screen.

In addition, apps have brought with them a range of standard icons that are used to achieve the same sorts of tasks across any website or app. The ‘settings’ icon is a good example of this. The image below shows the settings icon on Android, Windows and Apple devices. The commonality of the icons is obvious.
SettingIcons

Parallax scrolling, which I have posted about before, is also intermingling with mobile behaviours such as the appearance of new content at the bottom of the screen, triggered by swiping upwards to reveal more content. The ‘more content’ is only brought down from the web server when you “ask” for it via your touch gesture, making the initial content load faster, and also making the content feel more interactive. This behaviour is now appearing more in websites, including shopping cart sites containing many products per category.

The introduction of high definition ‘retina’ displays on mobile devices is also changing the way we are creating an displaying images in websites. An image that looks perfectly good on your regular PC monitor now looks a little fuzzy on such high definition screens. We are now regularly creating two versions of buttons and icons for display – one for high definition and one for regular screens.

These 5 design trends boil down to User Experience or UX (also known as User interface design or UI). The most successful apps have a potent combination of utility and user interface design. There’s no point in having a great product if it’s hard to use. By being simple yet bold, your users are more likely to pay attention and stay around for your message.

Has your use of mobile devices changed the way you expect a website to operate?

Facebooktwitterredditpinterestlinkedinmailby feather

Will we soon be able to view iOS (Apple) apps on Android devices?

June 4th, 2014 by Hubert Yap

And another question… will Windows mobile devices soon be capable of running Android apps?

According to report by ABIresearch, Android and AOSP (Android Open Source Project, used by Amazon and Nokia) dominates the mobile market share by 44% and 13% respectively. iOS has around 10% and Windows at 3%, while the other 30% belongs to basic mobile phones that is, phones predominantly used just to make phone calls.

ABI Research Q1 2014 report

If you belong to the 57% Android and AOSP user group, you have probably found yourself wondering whether a certain iOS app will soon be available to Android. Six PhD students from Columbia University decided to do something about this issue, and have created a software solution called ‘Cider’.

Cider allows your Android device to run both iOS and Android apps natively. It is still a prototype and doesn’t yet support device features such as camera or Bluetooth. Therefore if your iOS app specifically required those features, Cider will not be able to run it in your Android device at the moment. The six PhD students: Jeremy Andrus, Alexander Van’t Hof, Naser AlDuaij, Christoffer Dall, Nicolas Viennot, and Jason Nieh, are continuing their R&D efforts and I look forward to Cider being made publicly available, and providing a lot more features, hopefully in the near future!

From an app development point of view, Cider has the potential to reduce app development cost. By allowing Android devices to run iOS apps natively, app developers may no longer need to build separate applications for iOS and Android.

It is already possible to reduce app development cost by utilizing a component called “web view” that exists in iOS, Android, and the Windows platform to run virtually the same web application across multiple platforms (see the most recently released Contact Point Client Area app). However, using the web view method means that your app is running a website within it, and therefore if you don’t have internet connectivity, your app will not function, nor will it have native components (buttons, sliders) that you usually see in each platform. Using the web view method also reduces the app performance.

Once Cider is able to perfectly run iOS apps natively on Android devices, Android users will have the option to choose between 1,157,769* apps in iOS App Store in addition to 1,469,630* apps available in Google Playstore. With rumours that Microsoft are considering bringing Android apps to the Windows platform, one day the mobile app development world might be heading towards a future where a single app will be able to run natively on the 3 different platforms.

* Data as at 16th May, 2014

Facebooktwitterredditpinterestlinkedinmailby feather

Should I build an HTML5, iOS or Android native app?

September 8th, 2012 by Heather Maloney

This is a question I frequently hear from our clients, particularly those for whom we are building mobile apps.

The answer we give depends on the desired results, and the targest audience. My biggest concern is when I get a response of “we want to use HTML5 because that’s where everyone is heading”.

This article in The Age gives a good picture of the pros and cons of app development in the various platforms… the most insightful section is posted below:

“HTML5 is appropriate for forms-based apps, or information-driven apps. Apps that require social interactivity or features on the device, whether it’s the camera or software features like Siri or facial recognition – we just see our developers over and over leaning towards native.”

And this is where it gets tricky: cross-platform tools are just another point in the spectrum between HTML5 and native.

CardFlick’s Anjaria opted not to use a cross-platform tool, which he says are more commonly used by design agencies that are not building the kind of apps that are “life changing or industry shattering”.

The midway point for Anjaria was, like Facebook previously, embedded HTML5 with a trade-off.

“In CardFlick, everything is native except for one main feature: the cards that you see are an HTML5 webpage. I can change my card a million times and I don’t have to write a new rendering engine to display the card,” he explains.

“One of the negatives of that is that it is a little slower than native – I have to load a web page every time I want to show you your updated card.”

So, you can see my answer to the question is that it depends on your objectives, what trade offs you are willing to accept, and what your app is going to do. An online survey app is most likely suited to HTML5, whereas an app requiring the use of GPS or a camera is most likely suited to a native app, and which platform you choose (or if you choose both) will depend on your likely audience (and budget).

At Contact Point we build apps in either native iOS, native Android, or HTML5 & Javascript (using a 3rd party tool to build for all platforms). Feel free to chat to us about your app requirements.

Facebooktwitterredditpinterestlinkedinmailby feather

Subscribe to our monthly

Contactpoint Email News

Our enews is sent out approximately monthly, and contains information on latest digital technologies, and how these can be used to help your organisation grow.

To subscribe, simply fill in your details below: