Monday, October 15, 2012

Why I love the new Google Developer Console

Today Google released the preview of their new Developer Console to everyone.  I love it!  Why you may ask.  Well as someone who checks the statistics and ratings everyday of several applications, it's much easier to read and navigate.  The layout and design of the tables is very clean, allowing one to quickly get an overview of the current state of each application.



The new design allows you to quickly move between the statistics, ratings, app description, and apk uploads.  Previously you had to navigate between tabs and do a lot of extra clicking to get to similar pieces of information.



Yes, the new layout is very refreshing and I look forward to the other features that Google has in store for us developers.  What do you think?  Leave comments/feedback.

Monday, October 8, 2012

Game Development: Using Google Analytics to track user flow

Recently we have begun to take advantage of the flow visualizations available from Google Analytics for analyzing user behavior in Word Crank.



What is a Flow Report?
"Flow Reports in Google Analytics illustrate the paths visitors take through your website...In one graphic, you can see how visitors enter, engage, and exit your site. " -- Google Analytics

One aspect of these diagrams that I especially appreciate is the ability to compare two different time frames and see how the user flow differs.  I really recommend this if you include a new feature in your application and want to see what impact it has on user behavior.

How to Compare Two Dates:

  1. Select Compare to Past

  2. Choose a second date range

  3. Choose similar time periods ( full months or weeks )




Happy flow reporting!

Monday, September 3, 2012

Being Amazon's Free App of the Day: The Results

On Monday, August 27th, 2012, Word Crank Elite was the Free App of the Day in the Amazon App Store.  We were very excited about being given the opportunity and promised to share the results (find out how this opportunity came about, here).  So overall, we feel that the promotion was a success.  We were able to increase our game's visibility in the App Store and received some valuable feedback.

 

Here are a few statistics from the past week which help highlight the impact on our traffic:








Aug. 27 - Sep. 2


Visits: 50,677

Unique Visitors: 14,201

Pageviews: 38,010

Pages / Visit: 0.75

Avg. Visit Duration: 00:11:17

Aug. 19 - Aug. 26


Visits: 1,508

Unique Visitors: 251

Pageviews: 1,169

Pages / Visit: 0.78

Avg. Visit Duration: 00:15:16

Based on the above table you can see that we had a huge influx of traffic; an increase of over 33x. We also saw an increase in the number of downloads of the free version of Word Crank, in the other app stores, Google Play and iOS.

What was unexpected to us was the number of negative comments related to the use of OpenFeint in the game.  On Google Play we have 4.4 stars, but on Amazon with so many people complaining about the use of OpenFeint we have only 2 stars.  That is unfortunate as we thought that OpenFeint was allowing users the ability to compete with friends and gain achievements.  From what we have been able to find online, there really is no basis for such negativity.  However, as OpenFeint was recently bought by GREE we were already considering alternative scoring solutions.

So what were our major takeaways?

  • we should allow users the ability to choose which game level they wanted to start with, 3, 4, or 5 letter words (this will be included in version 1.3.5)

  • we should start the difficulty level at "Bonkers" (this will be included in version 1.3.5)

  • we should move away from use of OpenFeint (TBD)


We will share some additional statistics within the next few weeks, as the impact of these types of promotions can have lasting effects.

Sunday, August 26, 2012

Becoming Amazon's Free App of the Day

Word Crank Elite is Amazon's Free App of the Day for Monday, August 27th, 2012! So how did this come about?  First, we made an awesome game;-), next we received an email from Amazon:
"We noticed your app Word Crank Elite v 1.3.0 and think it is an interesting candidate for our Free App of the Day promotion."

Ok great, so what happens next?  We agreed to the terms as stated in the email and then we waited. We eventually heard from someone on the Free App of the Day (FAOTD) Team, and were notified that our application had passed all testing; however, they wanted us to reconsider how we were integrated with OpenFeint.

Apparently, other apps had received 1-star ratings by having the OpenFeint pop-up as soon as the application was loaded.  In order to work around, this we removed the default configuration and allowed users to choose if they wanted to use OpenFeint when they click the "SCORES" button.  Once that was done, we resubmitted the new version of the application and waited again.

This past Friday we received notice that our game would be featured on Monday, August 27th.  After which I personally ran through my house and kissed everyone!  We are very excited to have been given this opportunity and will report on the results in another week. So stay tuned!

Wednesday, August 8, 2012

Gimmie AR

You’re moving to a new place and are concerned that your furniture won’t fit.  That king size sleigh bed that you purchased and just can’t live without now seems to eclipse the space of your bedroom that reminds you more of a dorm minus the smell of stale pizza.

Instead of going for your measuring tape while crying inside over leaving behind a bed the size of your first car, you whip out your phone confident that if it’s physically possible, you’ll bring all your items.

With a simple scan of your mobile device around your room you’re able to take accurate measurements, place furniture, and get a 3D rendering of what your room will look like with all of your actual furniture.

In the nutshell, this illustrates what augmented reality is.

[caption id="attachment_297" align="alignright" width="150"] An example of Augmented Reality[/caption]

For the analytical mind, it can be defined as a live, direct or indirect, view of a physical, real-world environment whose elements are augmented by computer-generated sensory input such as sound, video, graphics or GPS data.

The abridged version - a view of reality (what you see) modified (augmented) by computer generation.

Augmented Reality “AR” has been around for years although many aren’t acquainted with its application.  Hollywood has been using the technology in the creation of countless movies.  What use to take millions of dollars and months of work can now be done with a computer and just a few minutes!

You may not be familiar with augmented reality but you’ve probably heard of its counterpart, virtual reality.  Difference being virtual reality replaces what you actually see, while augmented reality enhances it.  This technology will change how we view the entire world. 

Envision a world where a surgeon has at their disposal their patient’s vital signs and full medical records.

Or a navigation system that goes beyond providing just directions but gives information on weather, terrain and even traffic patterns all on your windshield.

No longer will your business card only encompass your contact information, but now can include a 3D reproduction of your product or even a video of services offered.

AR is not some gimmicky technology like “flying cars of the future” but is already being implemented by some of the top companies in the world.

Phones with the Android and IOS operating systems already contain applications that feature AR in a more embryonic version.

We have truly only scratched the surface of what may be the next revolution in technology.

Using Twitter Search Results for #babies

Our newest project Budding Baby, includes a tab with Twitter comments from the public that contains this hashtag, #babies. Not surprisingly, when you perform a generic Twitter search about babies almost anything could come back and does.  For instance, I just performed a search using the following:

[code]http://search.twitter.com/search.json?q=%23babies[/code]

Here is one of the many results:
"U will *neva knw until *dere* is a tragedy..eii so old people also cry *lyk* #babies"

Now that's not quite what we were going for, and that tweet really isn't very positive either.  So what can we do?

Twitter to the rescue...the Search API allows you to append an extra parameter to your query to filter out negative tweets. Wonderful!  So if I run the query again, this time using the "smiley face" parameter, I get much happier tweets.

Here is the new search query:

[code]http://search.twitter.com/search.json?q=%23babies%20:)[/code]

Much happier results:
"baby love. :) #babies #cute #love #life #motherhood http://t.co/mnhrqmlL"

Have you worked with the Twitter Search API?  Leave comments below.

Friday, July 13, 2012

This Week @Sivart Tech: July 13, 2012

It's been a while since we've done a "This Week..." post, but we have been very busy recently; especially this week and wanted to share.  Happily we announce the release of our newest application, Budding Baby, which is available for FREE on both the Google Play Store and the Amazon Market!

Budding Baby's Description:
Keep track of your baby's growth and developmental milestones for the first 24 months of their lives. Budding Baby provides a month-by-month list of baby's milestones and fun ideas that you can do to interact with your baby.

Receive a monthly notification to stay up-to-date with what your baby can do now.

Interact with other parents using the Budding Baby Comments feature. Via Twitter you can share ideas of games and activities that you and your baby can enjoy.

Please download it and give it a try! Please leave any comments below, we always welcome feedback.  Thanks.

Wednesday, June 27, 2012

Using the Android Monkey tool

Android comes with a command-line tool (Monkey) that allows you to stress-test your application.  Monkey generates some random user events and will stop and report any errors that it encounters. It is very useful in helping to flesh out some not so obvious bugs that could be lurking in your application.  Below is an example of how we used it to test one of our applications under development.


cmd> adb shell monkey -p com.sivart.buddingbaby -v 200


Results:
:Monkey: seed=0 count=200
:AllowPackage: com.sivart.buddingbaby
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
// Event percentages:
// 0: 15.0%
// 1: 10.0%
// 2: 15.0%
// 3: 25.0%
// 4: 15.0%
// 5: 2.0%
// 6: 2.0%
// 7: 1.0%
// 8: 15.0%
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10000000;component=com.sivart.buddingbaby/.SplashScreenActivity;end
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.sivart.buddingbaby/.SplashScreenActivity } in package com.sivart.buddingbaby
:Sending Pointer ACTION_MOVE x=-4.0 y=2.0
:Sending Pointer ACTION_UP x=0.0 y=0.0
// activityResuming(com.android.launcher)
// Rejecting resume of package com.android.launcher
:Sending Pointer ACTION_DOWN x=47.0 y=496.0
:Sending Pointer ACTION_UP x=29.0 y=503.0
:Sending Pointer ACTION_DOWN x=255.0 y=143.0
:Sending Pointer ACTION_UP x=255.0 y=143.0
:Sending Pointer ACTION_DOWN x=295.0 y=659.0
:Sending Pointer ACTION_UP x=290.0 y=649.0
:Sending Pointer ACTION_MOVE x=-5.0 y=3.0
:Sending Pointer ACTION_MOVE x=0.0 y=-5.0
// Rejecting start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] cmp=com.android.launcher/com.android.launcher2.Launcher } in package com.android.launcher
:Sending Pointer ACTION_DOWN x=74.0 y=803.0
:Sending Pointer ACTION_UP x=74.0 y=803.0
:Sending Pointer ACTION_MOVE x=3.0 y=-2.0
:Sending Pointer ACTION_UP x=0.0 y=0.0
:Sending Pointer ACTION_MOVE x=-4.0 y=2.0
//[calendar_time:2012-06-22 22:19:07.777 system_uptime:307227]
// Sending event #100
:Sending Pointer ACTION_MOVE x=4.0 y=2.0
:Sending Pointer ACTION_DOWN x=309.0 y=694.0
:Sending Pointer ACTION_UP x=322.0 y=694.0
:Sending Pointer ACTION_MOVE x=0.0 y=-1.0
:Sending Pointer ACTION_DOWN x=294.0 y=319.0
:Sending Pointer ACTION_UP x=294.0 y=319.0
:Sending Pointer ACTION_DOWN x=118.0 y=497.0
:Sending Pointer ACTION_UP x=119.0 y=493.0
:Sending Pointer ACTION_DOWN x=137.0 y=284.0
:Sending Pointer ACTION_UP x=124.0 y=295.0
:Sending Pointer ACTION_DOWN x=258.0 y=403.0
// Rejecting start of Intent { act=android.intent.action.CHOOSER cmp=android/com.android.internal.app.ChooserActivity } in package android
:Sending Pointer ACTION_UP x=273.0 y=403.0
:Sending Pointer ACTION_MOVE x=-5.0 y=-5.0
// Rejecting start of Intent { act=android.intent.action.CHOOSER cmp=android/com.android.internal.app.ChooserActivity } in package android
Events injected: 200
Dropped: keys=0 pointers=0 trackballs=0 flips=0
## Network stats: elapsed time=6268ms (6268ms mobile, 0ms wifi, 0ms not connected)
// Monkey finished


Have you used Monkey successfully?  Leave a comment below to share your results.

Sunday, April 22, 2012

Adding a Application Rating Dialog to your Android Game

UPDATE: Also get users to recommend your app via Google+

In order to increase the number of engaged users who were rating the Android version of Word Crank, we used a small piece of code from Android Snippets that shows a dialog to the user after a number of predefined uses to rate your Application. What were the results?

There were 0.2 App Ratings/day previous to adding the App Rater Dialog, after adding the App Rater dialog we went to 0.33 App Ratings/day.  That is equivalent to a 65% increase in user app ratings by making such a small change.  We felt that this was an important change as user ratings can help increase your placement in the Android Market.  Also, we were hoping to get more positive ratings as the dialog only appears after a user has played the game at least 3 times.

So why not give it a try in your game?  Let us know your results in the comments below.

Monday, March 5, 2012

Android Market Publisher Statistics Gets an Update

Last Thursday when logging into my Publisher account on the Android Market, I was pleasantly surprised to find out that Google had updated the available statistics.  Previously, the available data was very limited; focusing primarily on Active Device Installs.

The new statistics page now exposes the number of daily uninstalls, active installs, and user installs.  It also provides a comparison of your application's numbers versus other apps in your same category.  This additional information was very useful in seeing how Word Crank stacked up to other apps in the Brain and Puzzle category.



Word Crank Daily Installs



Word Crank Daily Installs by Version



Word Crank Installs Compared to Other Brain and Puzzle Apps

Have you found the new format useful?  Leave a comment below.

Tuesday, January 24, 2012

Adding GameFeed to your OpenFeint Enabled Cocos2d App

In order for us to add the new GameFeed feature of OpenFeint to our Word Crank app on iOS we needed to upgrade to the latest version of OpenFeint, version 2.12.5.  After a few issues with linking errors we were finally running with the latest and greatest that OpenFeint has to offer. Complete instructions for upgrading are included here.

Next we wanted to include the GameFeed component, but only on the home screen.  We used a similar approach to how we included AdMob in the free version.  Some code snippets are included below to help others.

 

[sourcecode language="objc"]
-(id) init
{
if ( (self=[super init]) ) {

CGSize s = [[CCDirector sharedDirector] winSize];

controller = [[RootViewController alloc] init];
controller.view.frame = CGRectMake(0,0,s.width,s.height);

gameFeed = [OFGameFeedView gameFeedView];

[controller.view addSubview:gameFeed];
[[[CCDirector sharedDirector] openGLView]addSubview : controller.view];
}

return self;
}

- (void) dealloc
{
[controller.view removeFromSuperview];
[controller release];

[super dealloc];
}
[/sourcecode]

Do you know a different way to do it? Leave a comment below.

Tuesday, January 3, 2012

2011 in Review

The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.



Here's an excerpt:
A San Francisco cable car holds 60 people. This blog was viewed about 1,500 times in 2011. If it were a cable car, it would take about 25 trips to carry that many people.

Click here to see the complete report.