Browsing Tag

Android

App Developer Conversations: Speculation around Google I/O & WWDC

By: Robi Ganguly

In this App Developer Conversations we talked about Google I/O (happening this week) and WWDC (in just a few weeks)

We focused on a few key things:

  • What do people want most out of the various conferences?
  • What can we typically expect?
  • What would be a big surprise?

Take a look and let us know in the comments what you think and what you’d add.

 

Enhanced by Zemanta

App Developer Conversations: Android News & Apple Critiques

By: Robi Ganguly

In this App Developer Conversations we dug into some recent Android news and some critiques coming out of Apple.

We focused on a couple key areas:

  • What’s the impact of Andy Rubin leaving the Android team at Google?
  • The table market is becoming so large companies can focus on just making apps for tablets

Be sure to visit MobileDevHQ to see the how to be successful with apps in China

Take a look for yourself and see if you learn something new. Be sure to let us know in the comments if there are other areas we can address!

The Transcript:

Robi: Hello. Welcome to App Developer Conversations. We’ve got Ryan Morel
back. You look a little tan. I hope you had fun in Hawaii. Ian is also
back from Hawaii.

Ian: Doesn’t look tan, because I stay in the shade.

Robi: Ian Sefferman of MobileDevHQ. I’m Robi Ganguly of Apptentive. Now
that the gang is back together, we’re going to talk about some new and
some old news, I guess. Let’s start off with something that’s old but
it’s always funny when it happens; Phil Schiller told us that Android
sucks, which is like, “Okay. Phil Schiller’s talking.” Then Android’s
chief, Andy Rubin is leaving. How about you talk to us a little bit
about the Android news around and Rubin leaving the [inaudible: 00:44]
and going into something else for Google.

Ian: I think it’s a potential huge shake-up. It could be really good, it
could be really bad. Andy Rubin has done a fantastic job of having a
vision of an open source operating system, finding a company who could
help get distribution for that operation system in Google, and making
it sort of . . . it’s not the standard, because I think iOS is the
standard to everybody here, but it is certainly comparable to the
standard; has huge numbers. That being said, if they do want to become
the standard, they’re going to have to figure out a 10x play and maybe
that involves shaking things up every once in awhile. This could work
out for them really well for them.

Robi: Do you have any thoughts on it?

Ryan: Yeah. I think it’s been an amazing run for Android; we all know that.
I think questions start to get raised when you have a market size that
is 5x the size of another, yet ¼ the size of the revenue. That starts
to become a little bit . . . that’s way out of balance. Then other
questions start to come up when you have OEMs with leverage. Amazon,
right across the street here, has essentially their own version of
Android, which Google has no control over. We can bet Samsung is
continuing to just push on their own version of Android, if not, going
to move slowly; Tizen, or whatever the hell they call their thing. Now
all of a sudden, you take those two players out of what you would
consider the core Google Android audience, and you’ve got problems.
You’ve got [inaudible: 02:28] devices.

Robi: I think that is probably Phil Schiller’s point. Phil Schiller is
like, “This fragmentation is real and it’s really messing with
consumers experiences, and look at the data. Sure, they have more
devices than us, a lot more now, but our people use their devices way
more often that are consuming more data.” When you think about it from
the developer’s perspective, we’re always talking about which
platforms developers prefer, what approach. It seems like you’ve got
to be developing for both if you’re going to be in this long-term.
This issue, are you seeing in your business what Phil Schiller is
saying, in terms of there being more money, people are using it more
often?

Ian: Yeah. The short answer to that is, yes. There’s obvious caveats to
that, and we talk about Amazon as a caveat to that. In the standard
Android world, absolutely, iOS rules the day.

Robi: How does this play out? Do we just get to hear for the next 10 years,
“Android sucks”? Then everybody’s buying Android devices. Is this the
scenario?

Ryan: I think at some point, people need to recognize that it’s okay to
have different audience segments. This has always been Apple’s play.
Apple’s like, “I don’t want these people who want free devices. We
don’t want them.” It’s arguable for game developers; you don’t want
them either, because they’re not paying you any money. Then there’s a
certain segment of the Android population, like you and other people
buying the Galaxy Nexus 3 and Nexus 4. Sorry.

Ian: Galaxy S3.

Ryan: Yeah, Galaxy S3 and Galaxy S4, etc., those are the high-end scope.
When you look at the handset breakdown between them, it’s still iOS.
If I’m a developer, I’m thinking about how do I maximize my game for
these handsets that appeal to this higher-end audience and then not
care so much about this lower end audience, maybe?

Robi: Then there is another side to this I think, which is Schiller and
Apple are up there saying fragmentation’s bad, it’s really hard for a
consumer to have a consistent experience, and their developers’ lives
are easier, but we continue to see more and more devices coming out of
them supporting different things. iPad 2 is different from the iPad 3,
which is different from the iPad Mini, which is different from the
iPhone 5, which is different from the iPhone 4S. There’s no shortage
of things that are confusing about the iOS ecosystem at this point.
Are you seeing any of that stuff coming out, playing out? Are you
hearing from developers, that that is becoming more challenging?

Ian: We really talk after the development cycle, but I haven’t actually
heard that. People still bang on that drum, and I think of Android is
fragmented but iOS is not. I think part of that is because Apple says,
“Android is fragmented and we are not.” People just listen to them. It
is fragmented.

Robi: I’m definitely seeing people developing just and iPad app or just an
iPhone app now. More and more being like, “I’m just choosing this one
thing. I’m just going after this. It’s too complicated to think about
the experiences across both.”

Ian: It’s probably right to do that. Depending on what your app is, there
are different use cases between having an app on your phone and having
an app on a tablet.

Ryan: Yep. We’ve talked about this before; they’re all big enough now. When
the iPad first released, an iPad-only app was a guaranteed failure.
Now, there are 120 million of them or something ridiculous. That’s a
huge market of people who are spending a lot of money. Perfect, Super
Cell, a good example, there’s an article about that making . . .
they’re calling the iPad the perfect gaming device or something, and
they’re focused almost solely on that.

Robi: Wow.

Ryan: Anyways.

Robi: Anything else?

Ryan: It’s good to be back.

Robi: Welcome back.

Ryan: I missed you guys.

Robi: We missed you, too. We talked about you quite a bit in the last ones
we showed, actually.

Mark: Fucking asshole, glad he’s gone.

Ian: I think there was fucking asshole, but it was because you were in
Hawaii.

Robi: Sipping Mai Tais.

Ian: Not editing the video.

Robi: Be sure to tune in for the next 2 installments of App Developer
Conversations. You can like this on YouTube. Share it with your
friends and subscribe.

Improve Customer Retention for Mobile Apps

Enhanced by Zemanta

App Marketing and Customer Relationships: The Best Posts from 2012

By: Ezra Siegel

2012 has been a wonderful year, full of some fantastic advances in app marketing and some incredible thinking about building wonderful customer relationships. Here are some of our favorites. Enjoy!

imgres

Tips For the Perfect Mobile App Launch

A case study of the iPad app, David and Goliath. Be smart about launching your app and it could make all the difference to cutting through the noise in the app stores.

Mobile Apps will Become the New Internet 

With a majority of Americans owning a mobile device, mobile apps are a key way to connect with consumers. As mobile apps are creating more and more revenue, all businesses need to consider having a mobile app.

A Customer’s Feedback is as Valuable as Gold

On average, less than 5% of unhappy customers complain to the company. Therefore, every piece of criticism and negative feedback is valuable to understand the other 95% that are not saying anything.

Tricks used by app developers to gain users – What Not To Do

In today’s app market, discovery and retention can be difficult for app publishers. Here is some advice on what shouldn’t be done to acquire users.

The Present and Future of Mobile Advertising

Even with the surging growth in mobile, spending on mobile ads continue to lag behind the spending on online ads. Here are some ideas for mobile advertisers to use now and later.

Make Sure Your App is Found in Every Store

Everyday more and more apps are accepted into the app stores. More time needs to be spent on optimizing your app for discovery, keeping in mind the different discovery algorithms between the stores. 

Are Native Apps a Dead End for Publishers?

With constant new versions of iOS, Android, and other platforms combined with HTML5’s improvements, are native apps still the best course for publishers?

FTC Guidelines for App Developers 

A helpful guide from the Federal Trade Commission (FTC) that helps app developers comply with truth-in-advertising standards and basic privacy/principles.

Report: Developer Economics 2012

A clear report on developer economics focusing on changes in the mobile environment, platform specialization, profit margins, marketing and distribution, and geographical mobile app usage.

Loyalty is just as Important as Downloads to Your Mobile App Success

A mobile app’s success used to be defined by the number of downloads it received, but loyalty is a vital component that developers should devote more time to. 

Trust is the Foundation of Business

Customer-Experience-Management-Customer-Centric-Organization-copyTrustworthiness is a core value that all companies need to embrace. People do business with the people they trust and the more trust a company can earn from its consumers the higher the customer loyalty will be.

Tips to Make a Great Customer Experience

Positive customer experiences often lead to repeat business. Here are a couple of tips that can easily be implemented to make a positive customer experience.

Customer Experience Strategy Should Focus on Trust

Your customer experience strategy needs to have an emphasis on building trust with customers. Here is some advice on how to earn your customer’s trust.

Of course there are many other great posts from 2012, so please share your suggestions in the comments.

Enhanced by Zemanta

App Developer Conversations: New Devices – the Nexus 4 and Lumia 920

By: Robi Ganguly

In this week’s App Developer Conversations we discussed new devices – specifically the Nexus 4 and the new Windows Phone 8 flagship: the Lumia 920

We had a couple key observations:

  • It’s a bit amazing that we hadn’t heard much about the Nexus 4 this week
  • Microsoft continues to put out better and better OSes with really sexy devices – are they going to sell more?

Watch to find out more and be sure to see the other two segments from this week:

App Developer Conversations is a weekly video series with Ian Sefferman of MobileDevHQ and Ryan Morel of PlacePlay covering current topics of interest for app developers. If you have suggestions for future conversations, please let us know!

Enhanced by Zemanta

App Developer Conversations: How to create and extend app franchises

By: Robi Ganguly

In this week’s App Developer Conversations we discussed Rovio’s recently released game: Bad Piggies and explored how app developers can create and extend franchises.

We had a couple key observations:

  • Rovio’s ability to promote its other games with a tremendously large installed base is significant.
  • In general, app developers are really just starting to wrap their heads around building a relationship with their customers, but it’s clear that those who are doing it well can really grow their business.

Watch to find out more and be sure to see the other two segments from this week:

  • PlacePlay talked in more detail about iOS6 – one week in
  • MobileDevHQ talked about hard core games and if they’re appropriate for mobile

App Developer Conversations is a weekly video series with Ian Sefferman of MobileDevHQ and Ryan Morel of PlacePlay covering current topics of interest for app developers. If you have suggestions for future conversations, please let us know!

The Transcript
Robi: Hello. Welcome to Part 2 of App Developers Conversations this week. I
am here with Ryan Morel, of PlacePlay, and Ian Sefferaman,
MobileDevHQ.

Angry Birds is Rovio’s big hit, but now Rovio is coming out with Bad
Piggies, and they are trying to see if they can extend this franchise
into something else. I think it makes sense to talk about how a
publisher can really build a franchise, and how you can take an
audience from one app, or one series of apps, to other apps. Let us
kick it off with you, Ryan. You played the game, what do you think?

Ryan: I think it is fun, at least the 2 or 3 levels that I played. It is
interesting enough that I will play maybe a couple more and either
stop or keep going. I think that the nice thing that it has, and was
really smart on Rovio’s part, was making the pigs the central theme,
the central character of the game. I think we saw that despite Rovio’s
massive marketing muscle, which is massive. Amazing Alex, probably for
Rovio’s standards, is a massive flop, so using a character from the
Angry Bird’s franchise may a ton of sense for them.

You played a level or 2.

Ian: Yes. It is a good game right. It is fun, relatively simple, it will
be a good time waster for when you are sitting on a bus, or at the
airport, or something like that. I totally agree, using, leveraging
the franchise of Angry Birds is super-smart. I am always amazed at
walking into, I am ashamed to admit it that I have walked into a
Walmart in the last few months, Walking into a Walmart and seeing
Angry Birds toys and things like that. This just totally leverages
that. It is straight out of . . . Rovio has done a good job at
pretending they are a movie studio that does not make movies. They
say, ‘We are going to act as if we are Paramount, and Paramount knows
exactly that, whoever makes it, that Pirates of the Caribbean is a
monster franchise, or Pixar knows that Toy Story is a monster
franchise, if we need to extend that franchise, we extend that
franchise, it makes us like killing in the short term. That is a long
term play because you can do it over and over again. From that
perspective, it makes a ton of sense. It is something that I do not
think a lot of . . . EA has done it with Madden, things like that,
that is just a continual franchise, but not a lot of the casual games
have been able to do that, and I think it is really interesting to see
somebody do that.

Robi: How did you find out about it? Did you read press, or were you told
about it in one of their apps?

Ryan: I read about it.

Robi: OK.

Ryan: They do, Rovio pushes their stuff hard. If you go into any of their
iPad or iPhone games and you press pause, you will see ads for their
other ones. Clearly, a lot of people are finding out about it through
that advertising. I think it will be, I think it is an interesting
little test to see how many people will convert from Angry Birds to
Bad Piggies versus Angry Birds to Amazing Alex, whether or not that
becomes a barometer for their ability to produce non-Angry Birds
content. Angry Birds has shown no signs of slowing down. It has been
3 years, but you would assume that eventually it will. Do you not
think so?

Robi: Probably. It is not always top of the charts though, which it was for
a good period of time. I think what is interesting is their using a
bunch of their inventory instead of for advertising external stuff,
advertising their internal stuff. We, at Yahoo!, call that house
advertising and it makes a ton of sense, especially you are as big as
they are.

I think what is weird, to me, is that Rovio has not really done a lot
else to really build up their franchise. They have the ability to
subscribe to a newsletter and some of the apps. I do not know if you
have ever clicked on that. It takes you out to a webpage, which is
just really dumb. You are leaving the app and it does not really look
good on your phone, so I would be surprised if that was very
meaningful to them. Do you not think they could be more sophisticated?

Ian: Yes, absolutely. They are sophisticated in some of the stunts that
they do. I remember the Space Needle, that was super-smart, covering
the Space Needle with a sling shot and putting a big bird on there was
really interesting. I think they way that they branded that stuff,
doing that type of marketing is smart. I think they have not done a
good job of the traditional digital marketing, building a community
around this franchise.

Robi: Right.

Ryan: Right. Do you think that, I would guess that the reason is that they
just have not needed to. By the time they need to, it will be too
late.

Robi: That is the thing. If I was them, you got the dollars in your wallet
and the ability to invest; I would be investing as much, if not more,
than I was in new games and new opportunities, and making sure that my
ability to take people from one game to the next, to the next, was
really smart and intelligent. I was taking that audience and I was
moving them around my assets, and making sure that they knew about
what else I was doing. I think that is one of the places we see most
developers being really behind the marketing ball, where we think in
app messaging and the ability to really take your audience and talk to
them about the right things, you drive significant results. It is
instructive of where we are in the market, that a company a successful
as Rovio, is still pretty early and somewhat primitive in thinking
about this.

Ryan: I think it could be just a result of the natural extension of the
console-days. With mobile, it is really the first opportunity and the
first platform that companies have that cannot ‘own’ the customer,
despite the fact that Apple technically owns it.

Robi: Right.

Ryan: Microsoft, Sony, and Nintendo have always been the gateways.
Although, Apple is now, there are still meaningful opportunities to
connect outside of the app experience with the App Store, Facebook,
their website, and all the different things you are talking about, but
just no one is doing it. EA is trying to build Origin. I cannot
remember the last time I heard anyone talk about it besides me. Could
they do a better job? The answer is obviously, yes, because eventually
someone’s going to. [inaudible: 06:43]

Robi: Anything else on this topic?

Ryan: I would just ask if you think, if either of you think Rovio has a
shot at doing something really successful, outside the Angry Birds
franchise?

Robi: I think that they probably could, if they were to take my advice.

Ian: Hire Rovi, and we can win.

Robi: Exactly. Founders@Apptentive.com. Seriously, I think if the fact of
the matter is that if they start to invest in turning their apps into
channels, to build a real meaningful audience, and it is not just
about the ads that they are using, but it is actually saying, ‘We are
going to turn this into a marketing funnel. We are going to get deeper
engagement from people.’ Then you can move folks, but otherwise, you
have to have a lose association that looks close enough to the Angry
Birds franchise and it is using the same characters, then of course,
somebody will click then go download your app. What do you think?

Ian: I think you are right on. It is interesting to me that, I think, EA
is a household name. Rovio is not, Angry Birds is. From that
perspective, it becomes hard. Angry Birds is the company, so branching
out of Angry Birds is a little bit more difficult, where as EA is the
company and EA has Madden, Tiger Wood’s Golf, and things like that. I
think they got to fix that problem first.

Ryan: The assumption that you can take a hardcore experience and put it out
into mobile and see the same levels of success, is naive and
borderline retarded. At least what I have seen in most the hardcore
games . . .

Robi: Stay Tuned for Part 3 of this week’s App Developer Conversations.
Thank you guys.

App Developer Conversations: Is developer interest in Android waning?

By: Robi Ganguly

In this week’s App Developer Conversations we discussed recent reports that developer interest in developing for Android continues to diminish.

We had a couple key observations:

  • Fragmentation is real and it’s definitely giving people pause.
  • In our businesses we’re actually still seeing positive trends in Android interest.

Watch to find out more and be sure to see the other two segments from this week:

App Developer Conversations is a weekly video series with Ian Sefferman of MobileDevHQ and Ryan Morel of PlacePlay covering current topics of interest for app developers. If you have suggestions for future conversations, please let us know!
The Transcript:
Robi: Hello. Welcome to the next installment of App Developer
Conversations. I am here with Ryan Morrell, of Place Play, and Ian
Sefferman, of Mobile Dev HQ. We are going to dig in a little bit on a
topic that a lot of people like to talk about.

Appcelerator came out with some data around, and that is Android’s
adoption among developers, is it waning? Appcelerator says over the
past four quarters it has been dropping and they are seeing more and
more healthy interest in iOS development, but that it is waning in the
Android space. The question is, should we take these numbers
seriously, and what should we be thinking about as app developers?
Ryan, why don’t you kick it off.

Ryan: It is a grain of salt, to some extent. I do not know that
Appcelerator would have any specific agenda for promoting data that
looks like this, but we have not seen any data to support that the
developers are losing interest in Android. We actually have more
Android developer than we do iOS, so I do not know if that is entirely
true. I certainly do hear people saying, ‘We are going to do Android
when we can,’ and that, lots of times, leads to, ‘My stuff is going so
well. Do we want to update the content so frequently that, that means
Android slips?’ We have had lots of conversations with developers who
say, “Yes, it is about 80% of the revenue. There is 1X to 2X the work,
in terms of development.’ I think that probably the biggest challenge
that developers have is now that once you create your app, now what?
There is Google Play, Android, and carrier stores, that’s a lot of
work. What do you guys think?

Ian: We are in the same thing, in that we have not firsthand noticed that.
We have always seen our customer base be 80/20, iOS to Android.
Anecdotally, I have seen an increase in people caring about Kindle,
and that might be a Seattle-bias or whatnot, but that is another
interesting data point. I think that if I were to look at, whether or
not that study is true, if I were to look at, if I were to assume it
is true and think about why it might be the case, one, Apple has done
a fantastic job of updating their OS so frequently that developers
just need to keep on the train and have a little bit less time and
resources to do other things. Two, traditionally, I have always
thought of Apple and iOS as [inaudible: 02:44], as the high-end of the
smartphone, but when you actually look at what they have done, I am
constantly surprised that they now have free phones. It is really not
super-expensive to get into iOS anymore. When you start to think about
how they have captured the low-end of the market, or they are
capturing the low-end of the market, at least in the United States,
that that is super-compelling to a developer who says, ‘I actually
want to focus on the lower-end because I am working a weird game or
some product that targets those consumers, rather than the high-end. I
would have traditionally said “Go to Android first,” but now you can
actually go to iOS first, even in that type of situation.

Robi: I think one of the things that Appcelerator stated when they came out
with their study was that people are fearful for the fragmentation,
that problem continues to be something that makes people hesitate or
might be limiting the interest. The fact of the matter is that Google
needs to be more aggressive about phasing things out and making sure
that the updates are going out. There is an argument to be made that
they have lost so much control that they cannot actually do that.
Apple is continuously doing things that upset the developer community,
but the thing that pleases the developer community is how quickly they
are pushing Legacy OS versions off, from a support perspective, and
they are not even supporting NX codes, so you cannot really build for
it, and so I think that makes a lot of lives easier.

Ryan: Every time Apple updates their OS, they also provide developers with
new features that they can take advantage of, as well as the consumer
community. When developers have new features they can play with, they
want to go do that. They are consistently updating apps to take
advantage of that, consumers are updating software to take advantage
of that, so it creates this nice rising tide. With Google, and now we
even see this with Windows Phones 7, software gets updated and only
some percentage of people do it. If you are a developer you say, ‘I
got to . . . not only did I develop this for multiple versions of OS,
now I got to go do individual updates based on . . .no.’ They think
that is too much work.

Robi: That too much work question hits organizations large and small. We
are saying it is not just the independent developers here facing this
problem, it is the large companies with mobile presences are already
behind the 8 ball, they do not have enough resources to do what they
are doing. Things are moving way too fast, so that decision is really
a painful one for everybody in the ecosystem, it seems like, to us.

Ian: Yes, I agree.

Ryan: How much of that do you think is reality versus the momentum of
perceived reality? I technically do not know. We are not developing
apps and doing stuff for Android, but my perception is that, and the
noise we hear is that it is hard. Is that really true, or is that just
the momentum of the perception, is it just perceived that way so
people say, ‘No, I do not think so’?

Robi: It does seem be challenging. We make an SDK for Android, more and
more people are using it, but what we have found is that there are
some issues with documentation. Recently we ran into an issue where
the documentation and the Java doc that you could download was not the
same as the doc online, and it was recently downloaded, so they did
not actually specify something that they did online, and that caused
an issue for us. That stuff is a little bit amateur hour, I think.
When we think about how we design the UI on iOS, we say, ‘Here is what
we want it to look like.’ We draw it out, design it, and make sure it
works. ‘OK. Good,’ you put it out there and do some testing.

With Android, you say, ‘This is what we want it to look like. Now what
can we actually accomplish? It looks like on this portion of devices,
that is going to be a crappy experience, so let us go back,’ And you
are constantly fighting that game of lowest common denominator. It is
just not a good place to be.

Ryan: Ian, you had mentioned the low-end market and Apple kind of capturing
that. That has historically been owned by Google, to some extent,
despite Samsung’s progress of the high-end. Do you think that over
time people . . . are developers caring less because that low-end does
not spend?

Ian: That is a really good question. You probably actually have more data
on that, in terms of advertising than we do. I think that, just as in
the real world, there is a lot of money to be made in the high-end,
there are also a lot of businesses to be built in the low-end of the
things, especially the Walmarts of the world do not carry luxury
goods, but Walmart makes a lot of money. I have a feeling that it is
both, and it is just dependant on who you are going to target. Did you
seen any of that on the [inaudible: 07:40] side?

Ryan: Yes, everything. Yes, of course. More people want advertising on the
Android because they cannot make money elsewhere. We all know that, A,
advertising revenue on Android is not as good as it is on iOS,
partially because of this low-end, high-end perception of people. How
long does that last? Our own advertising pays pretty well and
developers like it, but it is not Dragonvale, you are not bringing in
$15 million a month from the app store, so it is hard to know if that
can support an entire economy of app developers.

Robi: That was very good conversation of the wax and waning interest in the
Android ecosystem. Join us for the next installment of App Developer
Conversations.

The problem is somebody needs to actually be pushing the HTML5
platform forward. It seemed like Google is doing that, and maybe,
arguably, they still are but they have pulled back. They seem confused
about this. If it is not Google, then who else would it be?

Detecting Android App Starts and Stops

By: Sky Kelsey

tl;dr

Tracking app uses on Android is a pain because the Android SDK doesn’t provide hooks into the application lifecycle. We’ve fixed that. We created a class you can use to accomplish this. You can get it off github at apptentive/ApplicationSessionActivity. Integration is an easy 3 steps.

An Android Shortcoming

As most Android developers have, or will come to realize, there are many desired features that the Android SDK simply does not provide to the developer. The stumbling block we recently came across was how to track Application uses.

The use case seems obvious: You want to run some code when the user starts or stops using your app. The Android SDK doesn’t provide an easy way to do that. A developer can tell when the application is launched from a dead stop by hooking into the main Activity’s onCreate() method. They can also tell when an Activity is put into the background by hooking into the onStop() method. But for apps with multiple Activities, you can’t distinguish an Activity stopping because the app is going into the background, or simply because another Activity within the app is taking focus.

Devising a Solution

I first tried to look at the Application class, to see if it had any useful methods for tracking the application lifecycle. Unfortunately, it doesn’t.

Then, I ran across the ignition framework, which provides a method for detecting when an application is going to the background. It does this by checking the package name of the Activity that is about to start, and comparing it to the package name defined in the application’s AndroidManifest.xml. If they differ, then the app is in fact going to the background.

I soon realized that this was a flawed approach. If the app is integrating a third party SDK, such as Apptentive, then not all of the Activities included in the app are guaranteed to have the same package name. So I made a tweak, which compares the starting Activity name to the list of Activities defined in the manifest. If they match, then the app is not going to the background, else it is. Called from an Activity’s onStop() method, I can now tell if the Activity is giving way to another Activity defined in the app, or the app is stopping.

How we know when the app goes to the background

private static boolean isApplicationBroughtToBackground(final Activity activity) {
  ActivityManager activityManager = (ActivityManager) activity.getSystemService(Context.ACTIVITY_SERVICE);
  List tasks = null;
  try {
    tasks = activityManager.getRunningTasks(1);
  } catch (SecurityException e) {
    Log.e(TAG, "Missing required permission: \"android.permission.GET_TASKS\".", e);
    return false;
  }
  if (tasks != null && !tasks.isEmpty()) {
    ComponentName topActivity = tasks.get(0).topActivity;
    try {
      PackageInfo pi = activity.getPackageManager().getPackageInfo(activity.getPackageName(), PackageManager.GET_ACTIVITIES);
      for (ActivityInfo activityInfo : pi.activities) {
        if(topActivity.getClassName().equals(activityInfo.name)) {
          return false;
        }
      }
    } catch( PackageManager.NameNotFoundException e) {
      Log.e(TAG, "Package name not found: " + activity.getPackageName());
      return false; // Never happens.
    }
  }
  return true;
}

Introducing ApplicationSessionActivity

However, that only solved part of the problem.

    • An Android application can have an arbitrary number of Activities defined in it. I therefore need to check whether the app is going to background from each Activity.
    • I need to keep track of when the app is in the background so that I know a new use occurs when an Activity starts.
    • I need to know whether the Activity we are leaving is the main Activity or one of the child Activities.

It turned out that this was a little verbose in code, so I decided to create a new class, ApplicationSessionActivity, that developers can use to accomplish this goal. The integration is very simple:

1. Add the GET_TASKS permission to your AndroidManifest.xml.

<!--?xml version="1.0" encoding="utf-8"?-->
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.apptentive.android.example"
          android:versionCode="1"
          android:versionName="1.0">
    <uses-sdk android:minSdkVersion="7"/>
    <uses-permission android:name="android.permission.GET_TASKS"/>
    <application android:label="Session Example">
        <activity android:name=".MainExampleActivityApplication"
                  android:label="Session Example">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name=".ChildExampleActivityApplication"/>
    </application>
</manifest>

2. Make all of your Activities inherit from SessionLifecycleActivity.

import com.apptentive.android.sessionlifecycle.SessionLifecycleActivity;

public class MainExampleActivity extends SessionLifecycleActivity {

  @Override
  public void onCreate(Bundle savedInstanceState) {

3. Create listeners to get session start and stop notifications.

@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  // Pass a listener in so we can be notified of session starts.
  setOnSessionStartedListener(new SessionStartedListener() {
    public void onSessionStarted() {
      Log.e("SessionExample", "Starting session.");
    }
  });

  // Pass a listener in so we can be notified of session stops.
  setOnSessionStoppedListener(new SessionStoppedListener() {
    public void onSessionStopped() {
      Log.e("SessionExample", "Stopping session.");
    }
  });
}

The listeners will now be called when the app leaves the foreground, or comes back.

The code is available in a public git repo apptentive/ApplicationSessionActivity, and is free to use in your apps. Please let me know if you have any suggestions or feedback, and share with your fellow Android developers if you’ve found this to be useful.

[Note: Keep in mind that you may get weird results if you use an IDE to launch your app. The IDE launches the app differently than touching the app's icon on your launcher screen. A good practice is to always exit the app (press the back button) after launching from an IDE, and then start it up again and go about your testing.]

Improve Customer Retention for Mobile Apps

Join us at Xhack this weekend!

By: Robi Ganguly

In town for WWDC? Come check out Xhack

Logo for the Xhack mobile app hackathonJoin us this June 8-10 in San Francisco for XHack, put on by our friends at RadiumOne in support of their Via.Me product. XHack is about mashing APIs in the photo, video, audio, social, and mobile spaces (or some subset – focus is always good ☺). The fun begins Friday, June 8 with happy hour and brainstorming, with the coding set to being on Saturday, June 9. You can find more details at: http://xhack2012.com

We’ll be there with prizes!

Team Apptentive is excited to be participating and presenting our SDKs for Android and iOS. The Apptentive SDK makes it easy for app developers to optimize their app store ratings and solicit feedback from their customers.

App developers small and large are using Apptentive to increase their ratings, retention and revenues and we’re excited to offer all XHack participants a 6 month Pro subscription to our services.

The only requirement is that you actually publish the app you build within a month of XHack.

XHack is capping the event at 150 developers, so be sure to get registered today: www.xhack2012.eventbrite.com

Oh, btw, the hackathon prizes are pretty awesome

In case you need a little more motivation to come join us, there are a number of prizes up for grabs: By attending you’ll be getting a chance to win the $5000 Best in Show grand prize, $2500 prize for Best Use of the Via.Me API, and $1000 for People’s Choice.

We hope to see you there!

Enhanced by Zemanta

Awesome Ways To Integrate Customer Service Tools Into Your App

By: Robi Ganguly

Customer interactions = an opportunity to increase retention and loyalty

So you’ve built an app. Now what?

Hopefully, your customers find it useful, entertaining or life changing.

Invariably, though, some of them will find that they have an opinion, question or suggestion that they’d like to share with you.

Photo of a person with a question

Your app customers have questions

When customers want to reach out and talk to you, many developers think instantly, “Oh, something is wrong, there must be a problem”. To the contrary, however, many of our developers find that giving customers the ability to provide feedback from within the app results in a surprising number of kudos, suggestions and positive engagements.

Even when the customer is reaching out to tell you about a problem, they’re giving you the chance to truly win their loyalty over the long run. Think about it, your customer can’t get something to work right and you come in to save the day with A+, stellar customer service, surprising and delighting them. How great is that?

Put a name to your app

Even more importantly, when your customers are hearing back from you, they’re associating a name and a person with your app – giving it an identity that is more tangible than just an app icon. That customer you emailed with who started referring to you by your first name? They’re most likely going to be coming back to your app now that they know you.

Creating a personal connection with a customer is one of the biggest reasons why companies who are excellent at customer service continue to make significant gains in customer satisfaction, loyalty and profits. Companies like Zappos and Nordstrom have perfected the art of making each and every customer feel a personal connection with the company by delivering happiness.

Creating connections and delivering great customer service are easier than ever before

So how do you integrate awesome customer service into your app? Here are a few simple principles for doing so:

  1. Provide a way to contact you in the app. With smartphones, an email address or telephone number should be interactive and launch the necessary tool when clicked. Make this available so customers don’t have to search for your contact info. Services like ours actually allow you to embed feedback forms into your apps giving customers a way to contact you directly so they don’t have to switch apps in order to get in touch with you.
  2. Make it social. Let your customers leave feedback on whatever social channels you maintain. Facebook, Google+, Twitter, etc. If you are on it, integrate it.
  3. Chat it up. Email is great but some people feel that it takes too long to get a response. And seriously, nothing can turn a customer into a madman quicker than listening to Muzak versions of Nirvana while they are on hold. Chat, however, provides immediate satisfaction.
  4. The power of video. Go ahead make a tutorial. Incorporate that into your app and see all the happy users smile!
  5. Let people tell their story. Nothing sells better than positive reviews. Make it easy for your customers to tell others how easy it was for them to do this or that with your app or how well it worked for them. Not only will this help sales, but it will help existing customers feel like your stuff actually works.

Remember, feedback from your customers – both good and bad – can help make your app a smashing success. Make sure that before it gets into the hands of your customers you have given them some way to get their feedback to you directly!

How In-App Feedback is more Customer Friendly

By: Robi Ganguly

If you want customers to talk to you, you have to make it easy

Imagine you just downloaded the best app you’ve ever used for your smartphone. The app does more than advertised, the user interface is clean and easy to use, you get happier using it – it’s just a home run. It’s so good you feel compelled to write a positive review because, let’s face it, an app this good deserves a bit of review love.

This thought flits across your mind and then you think about what it’ll take to act on your impulse: you have to quit the app, visit the app store, write your review and then (hopefully) return to the app.

Did this experience make the app any less impressive and productive for you? Absolutely not. But, it was a bit inconvenient and it took you away from the app. Sadly,  because you had to go through those extra steps you:

  • Were a bit annoyed so your tone and language didn’t truly express your admiration for this app and what it does
  • You forgot the exact name of the feature you liked best about the app
  • In your annoyed haste, you forgot to tell them that there was one area of text that was too hard to read

This is not the outcome a developer wants

Now, imagine you are the one who developed that app. You know it kicks ass because you have heard it from a lot of people in your testing process but you want to see what the rest of the world else thinks.

As most app developers do, your first step is to check out the reviews and ratings. Just as you thought, there are some really high ratings but the comments are limited and somewhat muted, saying things like:

  • “Great app!”
  • “Thanks bro, your app rules!”
  • “I like it and use it every day.”

Those comments are encouraging, but they’re not exactly specific or actionable. They don’t tell you what you did right and they don’t address the things you can do to make the app better. To make things better for your customers you need feedback that can actually make your app better and that can help you truly understand the customer’s experience and their needs.

Generic quips that people leave when they are in a hurry or simply not interested in leaving something that takes a bit more effort are, unfortunately, more filler than substance.

The Answer: grab consumers at their moment of inspiration, in your app

Screenshot of the in-app feedback form powered by Apptentive

In-app feedback forms really boost customer input

For both the person using an app and the app’s developer, in-app feedback is the way to go. It allows the end consumer to provide immediate and uninterrupted feedback when they are actually using the app.

Instead of hoping that the consumer will get around to leaving feedback a few days later (which many don’t), capturing a consumer’s feedback at the moment they think about it ensures that you the feedback you get from customer is:

  • More detailed
  • Not tainted by the experience of seeking out a method to give feedback
  • Fresh and top of mind, rather than modified by the challenges of memory

As an app developer, you have a big challenge: making an app that is easy to use and love by consumers. While there are many ways to try and guess about how to accomplish this goal, the ultimate test is consumer sentiment – without truly understanding what people think, you’re just guessing.

By making it easy for your consumers to give feedback and ensuring that the feedback is as raw, honest and real-time as possible, you’re telling your customers that you care enough about their opinion to give them the tools to express it in a quick and easy manner. The results are astounding: more feedback, better ratings, more honest input and a significant number of customer relationships that are spawned through simple conversation. So, be more customer friendly and enable your customers to talk to you in your app.