Amadeus Consulting Discusses Android App Development QA Testing and Fragmentation

One of the big challenges to developing Android apps is the number of Android devices on the market. In fact, with almost 100 unique Android devices available there is a severe challenge with quality assurance and ensuring compatibility on all devices. The different sizes and capabilities of each device create a fragmented platform that makes quality app development more challenging. Although fragmentation has been a longtime issue for Android, Google is taking steps to help alleviate the problem with future devices.

The Problem: Android Fragmentation

In the PC market, every piece of software comes with “system requirements” printed clearly on the box. These state the basic requirements for properly running software, including operating system, disk space, and memory requirements. Compatibility isnt usually a big issue with most commercial PC software, but the system requirements help the user judge whether or not their computer can run it.

For smartphone app development, there is no “system requirements” listing, and consumers mostly assume that all Android phones and devices should be able to run all Android apps. The truth is that there is not universal compatibility among all Android devices.

Compatibility problems can be caused by:

Hardware differences, including different processors, various screen sizes and available memory (This is reportedly why the Netflix Android app is initially only launching on five devices).

Different OS versions, which may be due to different hardware abilities. Newer versions of the OS provide different capabilities and capacities which an app may need to run.

Different Carrier Software. Many carriers create or sell devices that use software built on top of the standard Android operating system. This may be different interfaces, or other software that changes how the OS acts. This can make it challenging to update the underlying OS which creates compatibility problems, or it may actually directly interfere with the app.

In the past Google has only loosely controlled hardware requirements for a handset to use the Android operating system, which has led to a very broad range of devices and device capabilities. Compatibility for apps was controlled through the licensing of the Android Market, which let manufacturers provide access to the 200,000+ Android apps.

Unfortunately with so many devices and so many unique differences (not to mention the sheer number of devices), it has become challenging as an Android app developer to properly test an app before launch.

The Current Solution

The common strategy for launching an app on Android is pretty straightforward: you test on a few devices and then work with the community to identify problems on other devices and resolve them as best you can.

Many major brands do this and state that their app is only compatible with specific devices. Of course it may work or may partially work with other devices as well, but that helps defer some of the bad press if the app has problems. For example, when the popular app Angry Birds was released in Android it came with a disclaimer which listed 21 specific devices that were “not officially supported by Angry Birds” at the time, as well as any devices running certain older versions of Android.

Choosing those initial devices to test with also takes a bit of background knowledge. You need to balance having a good representation of different types of devices with a representation of the most popular devices. In other words, your list of testing devices will change every few months and then you may need to update your testing process and purchase new units.

For example, when TweetDeck was creating an Android version of its immensely popular Twitter client, it ran into extreme fragmentation issues which the company summed up nicely in a chart and explanation on their blog. In this case TweetDeck used it as a point of pride to show how well the app worked across hundreds of different devices, customizations, roms, and what can best be described as hacks.

At Amadeus Consulting, we generally have a select list of representative devices that we use when developing Android apps for clients, but it is very hard to guarantee compatibility beyond that. For our clients, we find that it is most cost efficient to test on the “representative” devices, and then work out a support agreement to address issues that arise on less popular devices.

The other challenge is what to do when you have launched an app and it doesnt work on a particular handset. With the exception of a tiny handful of app developers (most of whom receive sponsored handsets anyways since manufacturers want to ensure that the apps work on their devices), most developers do not have $3+ million to spend buying every available Android device and then spend the time fully testing it on every one.

In some cases developers can find (or borrow) that particular device for testing, or in other cases it may be most practical to create and foster a community that can help each other address these kinds of problems.

Googles New Solution

At the Google I/O developer conference last week, Google announced important changes to how it will be managing new Android devices. First, Google will begin requiring that all new handsets be able to handle OS updates for at least the next 18 months following their launch.

This will increase the minimum capability of hardware devices as well as make it easier to provide upgrades to all devices at once. Currently some new devices are incompatible with newer versions, or must wait several months to receive the OS.

Along with this will be the launch of a new version of Android (version 3.1 presumably) called Ice Cream Sandwich. This will upgrade the current versions 2.2 (Froyo) and 2.3 (Gingerbread) as well as version 3.0 (Honeycomb). And in case you havent caught on, Googles naming scheme for Android versions is alphabetical with a dessert themed acronym.

The biggest benefit and feature of Ice Cream Sandwich is that it is specifically designed to be a cross platform OS and will combine tablets, smartphones, and other devices into a single cross-compatible OS.
This helps resolve incompatibility problems in two ways. First, it ensures that all new devices will be able to run the same OS, which helps reduce hardware compatibility problems. And since all devices are all running the same base OS, it will help reduce compatibility problems there too.

Starting in June, Google will also give developers more control on the Android Market and let them filter out incompatible devices. This is a positive move that gives developers the ability to offer quality, tested apps to the market, but it also has the potential to exclude devices that would otherwise work fine.

These changes will help solve some of the larger issues with Android fragmentation, but it will not reduce problems with custom ROMs or other carrier-specific customizations. Even so, these changes will make life much easier for developers during QA testing and will be extremely important as Android expands outside of just smartphones and powers tablets, TVs, and possibly everything in your house via [email protected]

Computer And Internet Privacy Basics

The Computer Privacy protection is a very serious issue to be ignored these days.”Everything you do online and offline is monitored by someone.”, say many people out there and they are right not because of their paranoia but because the Private Information is too valued for its owner. But is it possible to protect our Computer Privacy without plugging the cable?

See how somebody could steal your Private Information. Reveal what is the difference between Computer Privacy and Internet Privacy. Read how to generate Secure Passwords that hackers can not break.

1. What is Computer Privacy?

This is the power to control what computer information you reveal about yourself and to control who can access this personal information.

2. What is Internet Privacy?

It is a part of the computer privacy. It is the power to control what information you reveal about yourself in Internet, the power to control which web sites, remote scripts and web applications can access this personal information, and the power to know if these web sites, scripts, and web applications are enough trustworthy.

3. What is Private Information?

No doubt, your computer keeps tons of information about:

* all web sites you have visited
* all documents, folders, pictures, videos, files you have opened and created
* all e-mail, forum names and passwords you have
* all bank and credit card information you have saved
* all Skype-to-Skype calls and ICQ chats you have made
* all technology, writing or art you have invented
* your online shopping activities: when you visit the online store order page of some web site
* your shared photos, videos, age/sex data, hobbies, preferences, even thoughts with everyone out there
* generally all your computer habits and things-to-do

All computer and web data you consider to private is your private information.

4. How to Generate Secure Passwords that Hackers can not break?

We use passwords every day to access our computer accounts, e-mail accounts, bank accounts, Facebook and Twitter accounts and hundreds of other services. There is great temptation to use one password for all accounts and to make it short and easy to remember. However, this has devastating effect on our security and privacy. If you think that you have nothing to hide, think again.

In most cases the passwords are hacked to use your computer as spam bot, to steal your money and private information, to infect your computer with computer viruses and spyware and so on.

Learn to avoid the following weak and easy to crack passwords:

* Generic passwords and default passwords. Examples: admin, administrator, user, guest, pass, password, iloveyou, 2010, etc. These are the first passwords that are tried by the password cracking software.

* Meaningful words or names. Examples: sandbox, NY, lion, john, mary, USA, love, myspouse, dragon, etc. Easily cracked by the dictionary-assisted cracking tools.

* Words or names with added numbers. Examples: john123, pass123, 123456, number1, abc123, 654321, etc. Easily cracked by the automated cracking tools.

* Personal names, birthdates or similar information. These are used a lot as passwords and are very easily cracked. For example, if the password is a birthday, there are only hundreds or few thousands (if the year is included) possible combinations, which is very weak for a password.

Learn to generate strong random passwords through these rules:

* Choosing “randomly” letters and numbers. It appears random but only at first sight. Numerous research studies have proven that humans are not very good at random picks – they always try to spread the things too evenly, which is not random behavior.

* “Random” typing on the keyboard with closed eyes. This is slightly better than random choosing but still nowhere random enough.

* Online random password generators. Much better than the previous two alternatives but have 2 major drawbacks. The first is the possibility that the generated password may be saved on the website with malicious purposes or someone may eavesdrop on your connection and intercept the generated passwords. The second major problem is the quality of the random number generators, which very often is not up to the task. Many of them are naively implemented and provide a lot fewer combinations than theoretically possible (no more that tens or hundreds of millions, which is not strong password by any means – see the table in the previous chapter).

* Specialized random password generator programs. The best option as long as they are implemented properly and come from trusted source.

Android Os Advancing The Mobile Technology

New operating systems are necessary to keep up with the demands of today’s users. Mobile phones available right now work on a few such systems like Java, Symbian, Flash, an exclusive OS like the ones utilised by the iPhone and the Windows seven phone.

The most progressive pparticipant in the cell telephone OS market is the Android OS. It’s an open source operating software developed by Google along with other tech corporations. The Android operating system is superb for the tech world and here are the reasons why.

Less expensive mobile products
A chunk of the mobile telephone cost is the O. S. Unless the phone uses special devices and materials like camera lens similar to pro cameras or dear metals for the body, the hardware cost may not amount to a significant value since production costs are going down because of more recent technologies. The free Android OS allows the telephone costs to go down because a gigantic portion of the price isn’t applicable .

Improving Technology
Mobile systems have continuously become better and faster. The advent of this new OS will certainly allow the development of better service and features to the final user. Users should be excited with the chance of larger adventure – like the 90s when we initially began to enjoy SMS, MMS, etc .

Better Services
We’re all acquainted with the iPhone’s ability to allow 3rd party programmers to develop applications, the Android OS is not different as it also inspires other programmers to develop the technology. This allows the end users to enjoy more modern and better applications and will certainly increase the phone’s value. At the end, you’ll get more than you paid for.

Google Products
most of use Google services like Gmail and Google Documents, having an Android device will make this experience more pleasant and pleasurable. With the increasing renown of Google products you may be warranted you are getting onto a good team.

These top reasons make the Android phones a wanted product that will surely make a massive impact on the mobile industry. There are already several brilliantly designed Android phones available in the market, and these phones are getting better and cost less each quarter.

Broadening Our Inventions With New Technology

Many of the inventions that we use today are successful because they can be used in a variety of settings and produce more than one product. If an invention of some kind is able to cross industry boundaries and lend itself to many different products, then it is easy to assume that this invention will be very marketable and profitable. For this to happen, the same science that this product uses for the most basic models can be tweaked and updated for a variety of models with similar uses. This article will demonstrate this concept by giving an example.

Do you know what a vacuum pump is? We probably think first and foremost of our personal household vacuum cleaners. At least those of us who typically use vacuum cleaners might think of them first. What other objects besides household vacuums are around us that use vacuum pumps? There are so many different products and processes which use vacuum pumps. This invention was created hundreds of years ago and yet we still use it today. It is used in a variety of settings and environments. That shows you how useful it has proven to be for us. There have been many additions and recreations of this product which make it very versatile. Modern technology has also helped this creation branch out into many different industries and fields.

There are many products that use vacuum pumps which we may not fully realize. Did you know that there are different instruments on airplanes that use vacuum pumps to function? In most cases, this is just used so that in case there is any engine failure and the instruments do not receive power anymore, the instruments will still work because of the energy produced by the vacuum pump. This is such a unique way to use a vacuum pump. If you have a trash compactor at your home or work place, this device also uses a vacuum pump to function.

There are many inventions that we use today which give us a variety of formulas to get different results. The science is the general base of the invention, but the invention can be tweaked depending on what the intended result is. This way, we are able to continually increase along with technology to keep our inventions modern. These inventions help us live our lives in a very convenient way which we have grown accustomed to and they help us live safer lives as well.

Information Technology In Hospitality Industry

Traditionally, hotels were largely dependent on cards and paperwork at the front desk to keep in touch with old and current customers. They were largely at the mercy of the desires of vacationers to arrive, and on their own efforts and staff to be ready for potential surges or long droughts of occupancy. Luckily, such inconvenience and old-fashioned methods are long since past, thanks to advances in information technology.

The first area in which information technology became important was in regards to billing. Old-fashioned paper-based book-keeping was time consuming and inefficient, and was not able to quickly tell a hotel owner what the situation of their hotel was. Luckily, advances in modern record keeping allow for a hotel owner to keep track of what they have on hand, how much of it they have, and how much it costs. Accounting is complicated, but advanced accounting software, especially that tailored to the unique needs of the hospitality industry, helps to enable hotel owners to make smart decisions. Services and products that are no longer used can be quickly cut off to save money, while those who show demand can be increased in quantity or modified so as to reduce the heavy usage.

Most hotels are familiar with booking rooms and reservations over the phone, but information technology has expanded well beyond that. Hotels can now work with various online travel companies and booking services to have their rooms booked online, with no need to employ expensive staff. This also allows a hotel to advertise their open rooms and special deals directly to persons who would be most likely to purchase them, instead of wasting lots of money advertising in an unfocused manner. High quality information technology thus allows for better arrangement and management of bookings in order to allow a hotel to better maximize occupancy, and to know in advance when large groups or lean times are approaching. This allows a hotel manager to make plans regarding temporary staff, good times to renovate or expand, or other concerns, because he/she can determine the state of their hotel currently and for the next few months with only a few clicks on the computer.

The advances in information technology extend well beyond booking, however. The internet is essential for vacationers who wish to contact those back home, and for those traveling on business to get in touch with the office. Therefore, wireless internet has become a very common and very useful service for hotels to provide. Many business minded persons even require that a hotel offer internet services so that they can keep working while on the road. Luckily, such services are easy to provide, as all that is required is a wireless router and various devices to ensure the entire hotel is filled with the network. Modern advances in wireless internet also allow for the wireless internet provided for hotel visitors to be used to network the hotel itself. Security cameras, door locks, and other devices essential to hotel security and safety can be wired into the network, so that staff are alerted whenever a door is propped open, a fire alarm goes off or suspicious activity occurs. Though the hotel guests are wholly unaware of it, this sort of added safety and security keeps them safe, and in the event of a problem they will most certainly appreciate the benefits of such a system.

As advanced as it is, information technology in the hospitality industry is still going forward. Intelligent booking systems enable rapid and efficient guest feedback, along with the ability to predict who is likely to use the hotel again and inform them via e-mail or text messages when good deals arrive. Hotels with room service or other guest services can offer their menus online, allowing for quick updates, high-quality photos, and other ways to allow guests to see and order services before they even arrive. There are also advances in terms of payroll and inventory which make information technology a valuable asset for saving money and maximizing profits. The unique nature of the hospitality industry makes it a great place for new and emerging information technology, and forward-thinking hotel owners and managers are always looking for smart equipment and software to invest in.