Object Oriented Programming Data Structure Decisions

When it comes to organizing data in an Object Oriented Program, there are lots of choices and decisions to make. It can at times be difficult to think through all the criteria for selecting and implementing the right data structure.

The decision table below can help work through the data design process.

Google Improving Mobile Ad Relevance

Google has just announced improvements in mobile search advertising. (See the Google Blog post for more information.) Apps that incorporate search capabilities will see more relevant ads appearing on their screens.

To date, mobile ads appearing on smartphones have not been particularly relevant to the nature of the apps displaying them. In contrast, desktop search ads are highly relevant to the search terms used. So, for example, if I'm searching for information on bicycles, I'll see ads related to this topic.

Making mobile ads more targeted should improve ad click through rates and improve user satisfaction.

If I'm searching on my smartphone for bicycles, I'll see ads related to bicycles, including information on bicycle shops near my current location.

Android 4.0 (Ice Cream Sandwich) Released

Google's latest Android release is now available. You can find a good summary on the Android website.

There are significant improvements/additions to:

  • User Interface
  • Multitasking
  • Voice Input
  • Control Over Network Data
  • Social Networking Interfaces
  • Camera Capabilities
  • Gallery and Photo Editing
  • Web Browsing
  • Email
  • Wi-Fi Connection
  • Unified Framework for Phones and Tablets

Look for phone manufacturers and service providers to start releasing phones running Ice Cream Sandwich.

Newly Released Smartphone and Tablet Apps Cut Through Screen Clutter

Imagine being in a hurry between meetings and needing to find a nearby restaurant for a fast lunch. The QuickClick Restaurants app can locate and map places to go with one button tap. Or realizing that you're out of cash. A single click of the ATM app shows the nearest locations.

In developing software for the QuickClick Locale series, Marketimpacts.com took an approach different from other developers. "Many apps try to be too many things to too many people" said Don Cowan, the lead QuickClick apps developer and Director of Software Engineering at Marketimpacts.com. "As a result, it can take valuable time to scan through a sequence of app screens to find what you're looking for. We made speed and ease of use the top priority in our design."

See our press release.

The Software Revolution

As software transforms industry after industry, it's becoming apparent that the world is transitioning to a software driven paradigm that won't be denied.

Manufacturing, entertainment, journalism, music ... they are just a few of the business domains that have been dramatically altered by the power of software.

Software often gives an order of magnitude or two advantage to the new businesses that fully leverage its capabilities.

Some of the effects on society are profound:

  • Radical lowering of costs.
  • Shifting of the demands of labor from the physical to the intellectual.
  • Increasing the rate of change.

What are some takeaways for businesses large and small?

  • Embrace the change ... don't fight it.
  • Try to get ahead of the curve instead of playing catch-up.
  • Develop an understanding of the latest new technologies, which are, today, things like smartphones, cloud computing and tablet computing.
  • Don't rely on yesterday's technology to carry the day. Witness the speed with which tablet computing is replacing PCs.
  • Give some of the latest technologies a try. Test them. See what they can do for you.

 

 

Generation Smartphone

Could this really follow Generation Y to become the name of the newest generation? Some think so.
 
According to a number of reports, the young are foregoing other media for the smartphone. They tend to always have their smartphones with them. They use them more than many would like. And they are changing the nature of social interaction.
 
Many are ditching their televisions, computers, iPods, cameras, maps and address books in favor of the combined convenience of smartphones.
 
Some see this, in part, as a serious addiction problem. The trend, however, seems irreversible.
 
The young have always been obsessed with communicating. It's understandable why a device with so many ways of communicating would be a big hit.

Marketing and Technology ... Not So Far Apart Any More

Certainly traditional media such as newspapers, TV, radio and magazines are still very important to marketing products and services. But the newer, high tech, internet driven media and tools are playing an ever increasing role. Consider:

And the list goes on. Some long for the 'good old days' as portrayed in the popular TV series Mad Men. Come up with a great angle on a product, buy a lot of space in paper media and watch the sales roll in. Technology was left up to the back room gnomes who would calculate results and play with budgets.

Today, technology is center stage in most marketing campaigns. There are, of course, challenges in the marriage of the two domains. Consider this list:

  • Finding the right balance between the new and the traditional.
  • Knowing how far to go with technology. Just like traditional media, it can get expensive.
  • Getting the traditional media folks to interact with the new media folks.
  • Not forgetting the importance of branding, positioning, images and other 'soft' elements when dealing with 'hard' technology.

So, how to deal with all this? Some thoughts:

  • Technology can be applied incrementally. Small scale at first to judge results, then a broader roll out.
  • Technology can provide a lot of detail about results and how it is working. It can be much more transparent than traditional media if reported correctly.
  • Technology can provide two way dialogues with the audience. This can be informative and allow adjustments as time passes.

A good example showing that today's audiences want both old and new media is the YouTube phenomenon. People like watching moving images. It's been around for 100 years. YouTube provides audiences a new element of control and interaction that enhances their experience.

Find ways to marry the two like that, and you're on your way to success. 

Smartphone Apps for Android Tablets

There is speculation that an upcoming version of the Google Android platform (possibly 3.2) may have better options for displaying apps on tablets that are sized for smartphones.

Apps would have both stretch and zoom options. Zoom would be a new mode that would simulate a smartphone display and then fill the tablet screen with it.

The purpose is to give Android tablet users greater access to Android Market apps, the majority of which are designed for smartphone screens. Since smartphones greatly outnumber tablets, this seems to us to be a great idea. Some smartphone apps incorporate a mixture of screen size optimizations. For example, our QuickClick Locales series of apps use a smartphone sized screen for user query input and mapping function that is optimized for both smartphones and tablets. 

 

How Many Smartphone App Clicks is Too Many?

At what point will the user of a smartphone app just give up and move on to the next app? It's an important question for app developers. 
 
Although it's difficult to come up with an exact answer, we can understand at least something about the factors involved and how we might improve that chances that an app user will have a satisfying, non-frustrating experience.
 

First, there are factors that are out of the control of the developer:
  
Situational Pressure.
Smartphones are generally used in a higher pressure environment than is the case with a PC. People are one the move, busy and anxious to get results as fast as possible.
 
Information Needs.
How badly the user needs the information provided by an app will be highly variable. If they're late for a meeting and need a phone number or address quickly, user tolerence for clicking through multiple screens and waiting through delays in displays will be quite low.
 
App Knowledge.
All app developers would like users to take the time to completely understand every aspect of how to use their app. This usually is not the case. Users learn only the minimum they need and want apps to respond quickly.
 
Given this challenging environment, app developers need to focus on what they can control to make an app as usable as possible:
 
Design.
Apps need to be understood quickly and easily. Navigation, layout, colors, text, images, buttons ... all the elements of design play a role in creating a good user experience.
 
Information Load.
Is the user presented with just the right amount of information necessary to get the job done? Too much or too little can lead to an unsatisfactory experience and poor app ratings.
 
Click Sequences.
Can the user get to what they need directly? Having to click through long sequences of screens can frustrate users. People are impatient. 
 
In summary, app developers need to focus on what they can control and not assume favorable conditions for those factors that are out of their control.

Smartphone App User Interface - Lessons from Websites

Apps are relatively new compared to websites.  There's a lot of hard earned knowledge about website user interfaces. It might be useful to take some lessons from websites and apply them to apps. Here are a few starters:
 
At a glance understanding.
People skim computer based interfaces, they don't read them like you would a book. It's important to get people's attention and convey meaning quickly. Use elements such as images and symbols in addition to text.
 
Obvious navigation.  
People want to know where they are as they pass through an application. Give them hints about where they are and how to move around easily.
 
Appealing graphic design (colors, placement, font,...).  
People have visceral reactions to the look and feel of what they see on a screen. You may not be able to judge a book by it's cover, but if the cover isn't appealing, the content may never be seen.
 
Important elements above the fold.  
Don't make people scroll to see critical information. Put the important elements on the first part of the screen to appear.
 
Importance of names, symbols, etc.

Naming and creating symbols for your app, tabs, sections is important as an aid in remembering where users have been and where they want to go.

 

Ranking Sticky Apps

Apple and Google are changing the way they rank apps in their markets. Although the exact formulas are kept secret, there is talk and news that they are moving away from basing rankings on downloads and now using a formula based on the "sticky-ness" of apps.

The sticky formula is based on the ratio daily active users to monthly active users. So just getting users to download an app no longer gets a high rating. Users need to actually use an app to move it up in the ratings. Seems to make sense. After all, they are called "users" not "downloaders." 

Cloud Computing and Smartphones

The news is full of stories about interest in and growth of cloud computing ... relying on services hosted on servers owned, operated and maintained by others. Some get nervous about having their information located in places they don't control. The growth of smartphones should, however, accelerate the move to cloud computing and gradually ameliorate those fears.

Relying on cloud computing with a smartphone, or tablet, isn't an option. It's all controlled "in the clouds." Faster and more reliable networks will also help. Over time, whether computing is done on your device or in the cloud should become a somewhat meaningless distinction.

Android for Control of Real World Objects

Google has just announced a group of hardware and software platforms for using Android tablets and other devices to control real world objects. Developers are being invited to create applications for these platforms that could control anything from lighting to heavy duty equipment. Android@Home is part of the initiative and will let Android software apps discover, connect and communicate with devices in the home. Below is a photo of the hardware controller used to interface Android with objects.

Military to Use Android Battlefield Apps

The U.S. military has chosen the Android platform as a base for the development of battlefield applications.

Known as a Joint Battle Command-Platform, or JBC-P Handheld, it is the first developed under an Army effort to devise an Android-based smartphone framework and suite of applications for tactical operations.

The government-owned framework, known as Mobile/Handheld Computing Environment, or CE, ensures that regardless of who develops them, applications will be secure and interoperable with existing mission command systems so information flows seamlessly across all echelons of the force.