Apple Muncher Project Postmortem: Developing for Panasonic VIERA Connect SmartTV (Part 4)

Apple Muncher IconThis is the final part of a four-part series detailing my personal experience developing an indie game for Panasonic’s obscure VIERA Connect television app market years ago.

In the first part of the series, I detailed the pains of becoming a VIERA Connect third party developer and struggles of setting up the rigid development environment required by Panasonic. For the second part, I documented the development process of actually creating a game using the often restrictive VIERA Connect framework. The third part of the story focused on the obstacles of actually publishing the app to the market. This part discusses the aftermath.

Summary of Launch

    After a nine-week approval process in 2012, my indie game Apple Muncher finally debuted on the Panasonic VIERA Connect app store on April  1, 2012. At the time, there were fewer than two dozen games in their store and I was one of the first non-partner independent developers enrolled. No publicly dispersed statistics were available as to how many compatible devices were shipped.

Since I was also charging $1.99 for my app, I knew that the user base would be heavily diminished since paid apps were only available in the US and Europe (eventually Canada would be added). It was likewise a hassle to establish a billing account via a TV remote and something that most people would try to avoid. Still, I was cautiously optimistic that this newfound market would result in some magnitude of success. Before starting development, I found a few press releases from Panasonic projecting 19 million TV sales for that fiscal year, albeit a downward trending spiral from years prior and no indication of how many of them had compatible hardware and software for the then-newly unveiled app store.

All told, I invested $129 and an estimated 160 hours of development time (including learning the Panasonic API) between January 1 and its launch in April. If I could simply break even I would consider it a success given the then-uncharted nature of this smart TV ecosystem.

The First Month of Sales (...or Lack Thereof)

The payment processing for Panasonic apps was, at the time, handled through a third party service known as Digital River (Ireland). The fine-print of the Digital River agreement noted:

E. Payment Method and Frequency. Within thirty (30) calendar days of the end of each calendar month (except as otherwise stated below): (1) DR will make available to You a report which shows each Transaction involving the sale of a copy of Your Application(s) for which DR processed payment during that calendar month and the calculation of the DR Purchase Price for the copy of the Application sold in each such Transaction, and the aggregate amount of DR Purchase Price amounts for that calendar month; and (2) DR will send to You a payment of accrued DR Purchase Price amounts on sales of copies of Your Applications, net of returns, Chargebacks, applicable withholding taxes, and other amounts due to DR under this Agreement (“Due Amounts”)...

With the app live and on the market, I anxiously awaited the prospect of new users purchasing it and setting high scores. Although I was able to glean the general usage patterns through rudimentary analytics and server logs, I primarily looked forward to the first 30 day report that'd detail and verify the total units sold in its first 30 days.

That report arrived in May in the form of an "ePen Report" by Digital River. The data was contained within five separate CSV spreadsheets, including summary and detail views of US and non-US sales (net sales, profits and so forth).

Apple Muncher Sales (April 2012)

Date
Region
Sales
Gross
Fees
Net
April 2012
North America
7
13.97
4.22
9.75
April 2012
Europe
11
21.51
6.50
15.01
April 2012
Total
18
35.48
10.72
24.76

To summarize, over a 30 day span there were 18 total sales. Seven of them came from North America (AB, WI, CA, OR, IL, WA, Mexico) and the remaining 11 came from European countries (AD, DE, GB, SK, CZ, PL, PT, IT). I raked in a net profit of $24.76 after the approximate 30% industry standard transaction fees.

Lowering the Cost and Panasonic's Impossible Suggestions

Following the less than smashing success of its debut, I decided to lower the cost down to $0.99 to match the common cost that many mobile games were charging at the time. I submitted a request for this price change through the development portal and then verified it with Panasonic Developer Support through email. The updated price went live on May 15.

On May 20, I received an email from VIERA Connect Developers Team. In it they wrote: "we are delighted to let you know that your app has been frequently executed since it is [sic] launched." They also suggested that to increase usage and sales, I should consider the following changes:

  • Implement an in-app purchase. Mark your app as free and then charge the user in the application.
  • Offer a free trial. Consider charging the user only if they have executed the app more than four times.

One problem with Panasonic's suggestions — the advice they offered was technically impossible to implement using their own API. There was simply no way to solicit payments from users within the app to unlock or upgrade it. Payments were always handled on Panasonic's side as part of the app acquisition process (prior to apps actually being installed). The only potential solution would had been to develop a second "free" version and then struggle through the entire submission and approval process again.

On May 28, Panasonic announced support for additional European currencies including GBP, CHF, SEK, CZK and PLN. I had to revise the app entry in the portal to reflect these new currencies, which went into effect by June 4. With all of this in place, I let it ride for the next several months without any intervention. Below are the subsequent results.

Apple Muncher Sales (May—December 2012)

Date
Region
Sales
Gross
Fees
Net
May 2012
North America
1
0.99
0.30
0.69
May 2012
Europe
0
0.00
0.00
0.00
June 2012
North America
2
1.95
0.59
1.36
June 2012
Europe
3
4.00
1.20
2.80
July 2012
North America
2
1.98
0.60
1.38
July 2012
Europe
7
8.88
2.70
6.18
August 2012
North America
2
1.98
0.60
1.38
August 2012
Europe
3
4.37
1.32
3.05
September 2012
North America
5
5.0
1.51
3.49
September 2012
Europe
5
3.45
1.04
2.41
October 2012
North America
3
2.97
0.90
2.07
October 2012
Europe
3
4.16
1.26
2.90
November 2012
North America
2
1.98
0.60
1.38
November 2012
Europe
7
8.54
2.59
5.95
December 2012
North America
5
4.99
1.52
3.47
December 2012
Europe
6
7.12
2.18
4.94
Total
56
62.36
18.91
43.45

In the end, my decision to lower the cost to $0.99 really made no difference in sales and they continued to diminish after the first 30 days. From April through December of its debut year, Apple Muncher sold a whopping 74 copies worldwide and grossed $97.84. After the fees of $29.63, the net profit was $68.21. I was still at a deficit of -$60.79 when factoring in the initial cost to develop for this platform.

Additional Correspondence with Panasonic

Throughout the first year of my involvement in the Panasonic market, I corresponded occasionally with their team to inquire about various limitations and drawbacks of their API. I explain this in much more depth in the prior three installments of this story. What always aggravated me was that Panasonic's hardware was perfectly capable of rendering native HTML5/WebGL-based applications as evidenced by some of the "partner" applications that shipped with the television, including the 3D-rich Asphalt 5 racing game by GameLoft. Yet, third party developers who forked over the hefty developer fee were restricted to a woefully incapable proprietary API, without any access to standard HTML5 components.

In the summer of 2012, I noticed that a non-partner app was able to store and retrieve user settings on launch. This was another major pitfall with Panasonic's developer platform—their API documentation offered no method to store or retrieve local data, nor to uniquely identify the device for managing it externally. The result is a stateless app that defaults all of its settings each time it is launched. After inquiring to Panasonic about this topic, they provided me with some undisclosed documentation and source code that would allow reading and writing from the NVRAM of the TV for preserving the user's session or tracking basic configuration options. This knowledge would had been vastly helpful during development but Panasonic indicated it was not documented due to the "sensitive nature" of doing such. Third party developers were still not able to write to external sources such as an SD Card, or perhaps that was another undocumented feature.

Additional exchanges with Panasonic ensued to ascertain why Gameloft was able to port their popular apps easily to the Panasonic platform whereas I (as an independent developer) had to succumb to their "Ajax-CE" SDK that was so restrictive. Panasonic's response was simply: "Gameloft is a strategic partner and have access to 'native' API. This API is not published in the developer portal."

Panasonic also requested the completion of a revenue report that September, which contained a Word document table where I was to input the total sales to that point as part of the license agreement and 30% dispersion. Of course the payment processor had already been withholding the 30% so I would had assumed these details would be communicated directly between the processor and Panasonic (as occurs in all other app markets I've participated in) but alas I still followed through to the best of my ability at the time. The remittance department listed for Panasonic was stationed in Osaka, Japan.

In November 2012, Panasonic updated its license agreement with some minor changes including: "You should notify Panasonic immediately in case of any issues experienced in your Apps or server," "When you have made a change (including major bug fixes) you should consult Panasonic on whether a resubmission is needed or not," and "Clarification on Auditing of Revenue Share." Since the VIERA apps are hosted on the developers' own servers, any changes made to the code base instantly affects the live app. This also means the apps will be inaccessible if the hosting service ever gets interrupted or the files otherwise deleted.

December 2012 rolled around where Panasonic approached me about renewing my developer license. Given the lackluster results and related frustrations throughout the year, I wasn't keen on investing another $129 and had no intentions of developing any more applications using their limited API.

2013-2015: Pleads to Go Free, HTML5 API and a Trickling Userbase

By the start of 2013, Panasonic had already sent several emails asking if I was interested in making my app free to increase usage. Alternatively, they postured that I could create a freemium payment structure—as I detailed previously this was technically not possible using their own API. Since I was still hoping to recoup at least a bit more of my expenses, I simply let it ride as-is.

More notably, by 2013 they had finally rolled out an HTML5 SDK to better support common app development and easy porting from existing platforms. Although this was after my stint developing for their architecture, the new API accomodated many standard HTML elements including MP4 video, AAC audio, WebGL (Binary), Canvas 2D Context, Ajax, Local Session Storage, FormsWeb Workers, Cookies,Iframes, ECMA-262 Spec Javascript, standard DOM manipulation and CSS.

With no intervention, Apple Muncher remained active on the market as-is for $0.99 through January 2015.  Below are the statistics:

Apple Muncher Sales (January—December 2013)

Date
Region
Sales
Gross
Fees
Net
January 2013
North America
3
2.97
0.90
2.07
January 2013
Europe
5
7.34
2.23
5.11
February 2013
North America
6
5.92
1.79
4.13
February 2013
Europe
4
5.58
1.69
3.89
March 2013
North America
3
2.97
0.90
2.07
March 2013
Europe
1
1.29
0.39
0.90
April 2013
North America
0
0.00
0.00
0.00
April 2013
Europe
3
3.85
1.17
2.68
May 2013
North America
1
0.99
0.30
0.69
May 2013
Europe
5
5.42
1.63
3.79
June 2013
North America
0
0.00
0.00
0.00
June 2013
Europe
0
0.00
0.00
0.00
July 2013
North America
2
1.98
0.60
1.38
July 2013
Europe
2
3.03
0.92
2.11
August 2013
North America
3
2.97
0.90
2.07
August 2013
Europe
5
6.30
1.91
4.39
September 2013
North America
2
1.94
0.59
1.35
September 2013
Europe
3
3.68
1.12
2.56
October 2013
North America
1
0.99
0.30
0.69
October 2013
Europe
1
1.35
0.41
0.94
November 2013
North America
0
0.00
0.00
0.00
November 2013
Europe
4
5.10
1.55
3.55
December 2013
North America
2
1.98
0.60
1.38
December 2013
Europe
5
5.40
1.63
3.77
Total
61
71.05
21.53
49.52

Apple Muncher Sales (January—December 2014)

Date
Region
Sales
Gross
Fees
Net
January 2014
North America
0
0.00
0.00
0.00
January 2014
Europe
3
1.99
0.60
1.39
February 2014
North America
2
1.78
0.54
1.24
February 2014
Europe
6
8.05
2.43
5.62
March 2014
North America
1
0.99
0.30
0.69
March 2014
Europe
3
4.10
1.23
2.87
April 2014
North America
0
0.00
0.00
0.00
April 2014
Europe
3
4.15
1.25
2.90
May 2014
North America
0
0.00
0.00
0.00
May 2014
Europe
1
1.35
0.41
0.94
June 2014
North America
0
0.00
0.00
0.00
June 2014
Europe
0
0.00
0.00
0.00
July 2014
North America
1
0.99
0.30
0.69
July 2014
Europe
1
1.69
0.51
1.18
August 2014
North America
0
0.00
0.00
0.00
August 2014
Europe
1
1.33
0.41
0.92
September 2014
North America
1
0.99
0.30
0.69
September 2014
Europe
1
1.62
0.49
1.13
October 2014
North America
0
0.00
0.00
0.00
October 2014
Europe
1
1.59
0.48
1.11
November 2014
North America
1
0.99
0.30
0.69
November 2014
Europe
0
0.00
0.00
0.00
December 2014
North America
1
0.99
0.30
0.69
December 2014
Europe
1
0.89
0.27
0.62
Total
28
33.49
10.12
23.37

Apple Muncher Sales (January—March 2015)

Date
Region
Sales
Gross
Fees
Net
January 2015
North America
1
0.99
0.30
0.69
January 2015
Europe
1
1.19
0.36
0.83
February 2015
North America
1
0.99
0.30
0.69
February 2015
Europe
2
1.78
0.54
1.24
March 2015
North America
0
0.00
0.00
0.00
March 2015
Europe
1
0.27
0.08
0.19
Total
6
5.22
1.58
3.64

Final Paid Figures (April 2012—March 2015)

App Purchases
169
Total Launches
5,852
Gross Revenue
207.60
Fees
62.86
Net Revenue
144.74

I did it! After approximately three years I managed to recoup the license fee and essentially break even (excluding development time, resources and taxes).

169 users from around the world got to experience this Panasonic Exclusive title that I developed. Part of a very exclusive group!

March 2015: Panasonic Discontinues Paid Market

On January 15, 2015 I received an email from Panasonic. The message  indicated that "we are now considering termination of the Paid section of our market place." This left me with two options:

  • Deploy the game as a free app.
  • Remove the app from the store.

Their recommended suggestion, as had been alluded to off-and-on for the past two years, was to make the app freely available. In either case this signaled the imminent end of any revenue stream through their market. However, removing it from the market would do neither of us any good so I agreed to release it for free.

I was asked to create a new set of assets for the icon and other imagery to reflect that it was a free app. This seemed unnecessary considering all apps would soon be free and no other version of Apple Muncher existed, but I obliged.

The official switchover to a free-only market occurred on March 24, 2015. Four days earlier Panasonic wrote me to indicate "we are expecting a high usage of the app  after moving from Paid to Free section." Well, they weren't wrong.

Free Version Surges (2015—2019)

For the three years that Apple Muncher was a paid game, there had been 169 users who collectively connected and played the game 5,852 times. The majority of paid users launched the app 10-50 times, while a handful superusers played this game 100-500 times each.

Then the free version launched.

The first month of the free release (March 24, 2015 through April 30, 2015) saw 17,758 unique users¹ who launched the game 104,758 times! In other words, 105 times more users downloaded Apple Muncher in its first month of free release than had over the prior three years.

As you can see from the charts below, this trend continued quite consistently through the months and years. Note that Unique Users is assessed per-month and the totals in different months do not differentiate from new or return users.

Apple Muncher Free (2015)

Date
Unique Users
Total Launches
April 2015
17,745
104,758
May 2015
10,380
60,881
June 2015
9,808
54,010
July 2015
10,119
58,483
August 2015
10,758
60,183
September 2015
9,869
53,131
October 2015
10,389
54,828
November 2015
11,716
61,228
December 2015
12,631
68,205
Total
103,415 (93,416)
575,707

Apple Muncher Free (2016)

Date
Unique Users
Total Launches
January 2016
13,504
74,476
February 2016
13,086
69,566
March 2016
12,703
68,791
April 2016
13,005
69,205
May 2016
13,432
67,580
June 2016
14,403
74,943
July 2016
15,156
81,979
August 2016
14,834
79,359
September 2016
15,445
79,795
October 2016
16,080
78,616
November 2016
16,789
84,303
December 2016
19,085
100,344
Total
177,522 (154,929)
928,957

Apple Muncher Free (2017)

Date
Unique Users
Total Launches
January 2017
20,086
106,007
February 2017
19,371
103,355
March 2017
20,764
109,968
April 2017
21,392
115,152
May 2017
20,097
101,871
June 2017
21,696
115,219
July 2017
22,722
123,019
August 2017
23,256
129,244
September 2017
22,975
118,851
October 2017
22,948
117,751
November 2017
24,861
131,832
December 2017
28,236
154,653
Total
268,404 (231,926)
1,426,922

Apple Muncher Free (2018)

Date
Unique Users
Total Launches
January 2018
28,601
159,435
February 2018
27,496
160,328
March 2018
29,254
176,787
April 2018
28,367
167,628
May 2018
28,652
164,281
June 2018
30,159
173,917
July 2018
33,017
196,817
August 2018
34,419
206,387
September 2018
35,317
205,466
October 2018
32,952
185,377
November 2018
33,829
192,888
December 2018
36,555
211,728
Total
378,618 (320,859)
2,201,039

Apple Muncher Free (2019)

Date
Unique Users
Total Launches
January 2019
38,228
226,098
February 2019
35,033
208,194
March 2019
38,911
226,958
April 2019
37,527
215,486
May 2019
40,336
227,148
June 2019
41,418
243,246
Total
231,453 (199,499)
1,347,130

Final Free Figures (April 2015—June 2019)

Unique Users
943,172
Total Launches
6,479,755
Total High Scores
1,732,437

To my surprise, the popularity of this app appears to have increased quite massively year-to-year since 2015, despite the increasingly aging SmartTV technology that powers it.

High Scores

At the end of each game, users have the option to submit their score in competition with other players in daily, weekly, monthly and yearly record charts. The month of June 2019 saw 65,094 high scores submitted—27% of the month's active users (the rest opting not to submit scores).

All told, there have been 1,746,003 high score submissions since 2012. As of July 2019, there is an average of 2,500-3,000 high score submissions every single day. Of all of the high score submissions, only around 550 have managed to make it through all 25 levels of the game.

The highest score holder by quite a significant margin is KMS / KMS Master, with a top score of 21,380 set on January 30, 2019! I believe that score is close to the theoretical maximum possible and quite an achievement considering on the later levels not only does the speed and required length increase but due to API hindrance can actually bog down performance. (Kms reached out to me on an earlier blog entry, where he noted a few bugs and confirmed he plays the game using only the TV remote. It can also be played with a USB keyboard's arrow keys.)

Conclusion

I admit that I almost entirely tuned out of this project shortly after deploying v1.0 due to the initial scarcity of users and the fatigue of battling through the restrictive API and lengthy submission process. I paid no attention to how many active users were still playing the game but remain surprised by how popular it has become ever since going free.

Part of me wonders now if this game would be worth porting to other TV platforms (e.g., Amazon Fire) and mobile platforms. Since releasing this game back in 2012, the world saw the advent of related and wildly popular spin-off "snake" games including slither.io and Snake VS Block. Had the HTML5 API existed when first developing Apple Muncher, it would've been much more natural to port to other platforms.

To my knowledge, the VIERA Connect SDK has not been modified since the summer of 2015, when work was done to adopt the Smart TV Alliance Specification 3.0.0 which sought to standardize the features and capabilities of TV-based applications. Panasonic's own news page for the developer portal has likewise not been updated in 3.5 years.

Hopefully this meticulously detailed developer flashback and reflection will prove to be of some interest to anyone intrigued by these obscure and forgotten app markets.

Apple Muncher Project Postmortem - The Series

Below are the four installments of this series:


¹ Since it is common for users to have dynamic IPs and/or multiple devices, the actual number of genuinely unique users is likely less but there is no better way to gauge this figure in the app.

3 thoughts on “Apple Muncher Project Postmortem: Developing for Panasonic VIERA Connect SmartTV (Part 4)

  1. Pingback: Apple Muncher Project Postmortem: Developing for Panasonic VIERA Connect SmartTV (Part 3) | Matt's Repository

  2. Thank you for this great writeup! I was also intrigued by Panasonic's platform and had signed up for a free developer account a while back. When I finally logged in to check the API, the site said my account had expired and that I should pay the $129.

    This feels so weird in 2019 when there are so many fantastic SDKs out there available for free. Really brings me back to the days of Symbian and CodeWarrior, when you not only had to go through the excruciating pain of developing the app, but also pay Nokia for the privilege. And look at where they are now. 🙂

    I think Panasonic is really missing out on a potential market here - they could easily compete with all the set-top-boxes if they just modernized their developer platform. The fact is - everyone who wants a set-top-box still has to buy a TV. The only physical "add-ons" that should exist are for different kinds of (legacy) physical media - BD/DVD/CD. And Panasonic makes those too. The open web is chock-full of great content that I know my Viera could handle, yet still I have to buy a separate thing to access it. Not to mention all the cool private apps you could do - for instance an app for your DVR that would catalog all your physical media and could also rip them and play the copies over HDMI or the network? (my Panasonic DVR has all the hardware necessary for this, but no software).

    I was thinking of developing a client for the Finnish Broadcasting Company's streaming service as that's pretty much the only reason I still need an Apple TV, but your article really made me change my mind. I would be totally fine with hosting the app myself (and kind of even prefer it for rapid development) and obviously not charge anything because it's based on a free (geofenced) service, but the thing I need the most from a development platform is zero turnaround time and this definitely doesn't sound like it.

    Maybe Panasonic should start realizing that the modern TV market is potentially just as much a platform business as the mobile market and the only reason it's not, is because all the major manufacturers are equally crap at it. Make the Viera brand the leading smart TV platform and one of the best reasons to own a Panasonic (ie the user doesn't need any additional crap to make the the thing useful). Or then just make really good dumb displays and completely kill off the software platform. Granted, TVs will always lag behind because they have generally longer lifespans, but I think we're well beyond the point that a TV or DVR, bought say in the last 5 years, could handle whatever HTML5 can throw at it. All they would really need to do is focusing on porting WebKit or whatever to their hardware and provide a slim JavaScript API to access the platform-specific stuff on top of it.

    I wish they would simply provide a free account with which I could experiment on my local network. Make the API documentation publicly available and only charge the 129/500 price if the developer wants to show ads in their app. And for chrissake have somebody redo the "Diga dashboard". And design a better remote! But that's a rant for another time... 😀

    Again, big thanks for putting such a great effort into this article!

Leave a Reply to mattpilz.com Cancel reply

Time limit is exhausted. Please reload the CAPTCHA.