Friday, December 4, 2015

With Amazon Underground apps and games for free on Android and Kindle – Reuters

With Amazon Underground apps and games for free on Android and Kindle

Also available in Italy the store parallel Bezos: over a thousand titles to payment become free, without advertising and no in app purchases. You can be installed on the Kindle Fire, but also on tablets and smartphones with Google’s operating system

After a few months of experimentation in the United States and in other countries, starts today in Italy Amazon Underground . It is a new model of distribution of the app: are free for its users, but who develops makes money anyway, even if there is no advertising or in-app purchases. A charge is Amazon, with a mechanism reminiscent of Spotify, or – to stay among offers of Jeff Bezos – Kindle Unlimited: If the first pay the musicians for each listen, the second counts the fees depending on the number of pages read . Underground work time and every minute of actual use of the app brings to the developer 0.0018 euro. “We do not collect personal information – specify to Amazon – we count only the minutes of use: there is no advertising in the app, so there would outline its users.”

The initial offering is limited, about 1000 app, which will grow over time (“Only in the first two months of availability of Amazon Underground We tripled our selection of stocks with free content,” said Steve Rabuchin, Deputy President of the App-Shop Amazon). Underground is available as an upgrade of the mobile application shopping Amazon tablet on Fire HD and HDX and the recent fire, newest member of the family. It seems the perfect gift for children: a tablet by good features, designed with more robustness in mind that design, at a very low price. And now with free apps, without limits, without commercials and without purchases. There are currently about thirty games available, with titles such as Monument Valley, Final Kick, Ruzzle, Star Wars: Knights of the Old Republic, Goat Simulator, Angry Birds Slingshot Star, 8Bad Piggies . All free, including advanced features: downloaders Frozen Flashes of Gems , for example, will have free unlimited lives and in-app content to a value of EUR 31.87.

In Amazon Underground are not just games: the offer of productivity app is well-balanced, with various office suites, functional and complete ( DocsToGo, Polaris Office and OfficeSuite Professional ), voice recorders, computers, password managers; no shortage of weather apps, those for education, music, fitness, and more.

But why is it called Underground? “We could not distribute these directly in the app store Google” explain to Amazon. Yeah, and this is the great idea of ​​Bezos: since the Kindle tablet work with a modified version of Android, all the underground app are compatible with the operating system of Google. So you download the app Amazon (not from the Play Store but the site of the US, and do not even need the registration), then through the app you can in turn install other free apps and paid on any compatible Android device . The catchment area for developers, then, is not just limited to the Kindle Fire, but – at least in theory – more than 80 percent of smartphones and tablets worldwide.

The business model is curious, but consistent with the vision of Bezos: “Let’s imagine that in addition to the free app, users acquire a number of securities payment directly through the Amazon app.” We’ll see: while the figures show that in 2015 in their smartphones, Italians on average 32 apps, of which only 5 used every day, against 13 app used at least once a month and the same number used only once or twice from the time of ‘ installation. But for Amazon Underground it is perhaps more useful to consider other numbers: in Italy, 71 percent of those who use Android devices download only free apps, compared to 55 percent of iPhone owners. The idea of ​​Bezos may decrease this gap, as well as suggesting new forms of monetization for developers; even small shifts in the percentage gains could lead interesting, given that the total turnover of the Italian market of the app is worth about 400 million Euros.

 

 Did you enjoy this article?
 

 
 Subscribe to the newsletter LaStampa
 

“);
 }
 // ———————————————— -
 //
 // Move to column 2 related articles
 //
 // ———————————————— -
 if (device.mobile () & amp; & amp; urlPagina.indexOf (“newsletter”) == -1) {
 ArtCorr var j = $ (“# col1ContainerArtCorr”). detach ();
 J $ (“# ed_Related_Box”). Before (ArtCorr);
 var cont = ArtCorr.find (“. ls-box-items-related .LS-boxcontent-body .LS-boxcontent-body-view”);
 ArtCorr.find (“. Ls-boxcontent #scrollArrows”). Css (“display”, “none”);
 if (cont.find (“. ls-boxUltimoArticolo”). length & gt; 0) {
 cont.find (“. ls-boxUltimoArticolo”). each (
 function (index) {
 cont.append (j $ (this) .html ());
 J $ (this) .detach ();
 }
 );
 ArtCorr.show ();
 var base = ArtCorr.find (“. ls-box-related items”);
 base.swiper ({
 Container: base.find (“. ls-boxcontent-body”),
 content: base.find (“. ls-boxcontent-body-view”)
 });
 }
 
 ExpertCorr var j = $ (“# col1ContainerExpertCorr”). detach ();
 J $ (“# ed_Related_Box”). Before (ExpertCorr);
 var cont = ExpertCorr.find (“. ls-box-items-related .LS-boxcontent-body .LS-boxcontent-body-view”);
 ExpertCorr.find (“. Ls-boxcontent #scrollArrows”). Css (“display”, “none”);
 if (cont.find (“. ls-boxUltimoArticolo”). length & gt; 0) {
 cont.find (“. ls-boxUltimoArticolo”). each (
 function (index) {
 cont.append (j $ (this) .html ());
 J $ (this) .detach ();
 }
 );
 ExpertCorr.show ();
 var base = ExpertCorr.find (“. ls-box-related items”);
 base.swiper ({
 Container: base.find (“. ls-boxcontent-body”),
 content: base.find (“. ls-boxcontent-body-view”)
 });
 }
 }
 else {
 if ($ j (“# col1ContainerArtCorr .LS-boxUltimoArticolo”). size () & gt; 0) {
 J $ (“# frame1PlaceHolder”). After (“

” + j $ (“# col1ContainerArtCorr”). Html () + “

“); } Else if ($ j (“# col1ContainerExpertCorr .LS-boxUltimoArticolo”). Size () & gt; 0) {$ j (“# frame1PlaceHolder”). After (“

” + j $ (“# col1ContainerExpertCorr”) .html () + “

“); }} // ———————————————- —- // // Hide the box if there are no related articles and multimedia // // ————————— ———————– if (j $ (“# containerMMCorr .LS-boxUltimoArticolo”). size () == 0) {$ j (” #containerMMCorr “). css (” display “,” none “); } If ($ j (“# containerArtCorr .LS-boxUltimoArticolo”). Size () == 0) {$ j (“# containerArtCorr”). Css (“display”, “none”); } If ($ j (“# containerExpertCorr .LS-boxUltimoArticolo”). Size () == 0) {$ j (“# containerExpertCorr”). Css (“display”, “none”); } // ———————————————– — // // Management box recent articles in opening // // ——————————– —————— $ j (“. ls-new-leaf-.LS boxUltimiArticoli-top-.LS boxcontent-body”). height (60); boxManual = true; boxOpened = false; var topBannerHeight; var topUltimiArticoliHeight; var topTotalTopHeight; // // ———————————————- —- // // // // Display Expert System ———————————- —————- if ($ j (“. ls-articoloTesto”). height () & gt; 550) j {$ (“. ls-articoloImmagini-Spacer”). css (“height”, $ j (“. ls-image-article”). height () + 120); $ J (“. Ls-image-article”). Css (“display”, “inline”); } If ($ j (‘. Ls-articoloES-Links’). Height () == 0) {$ j (‘. Ls-articoloES-Links’). Css (‘display’, ‘none’); } // ———————————————– — // // // // Initialization loading page ———————————— ————– $ j (document) .ready (function () {// Articles premium in the box Expert System should not have the title blue j $ (“# containerExpertCorr .LS .LS-box-title-scream-titoloLink “). removeClass (” title_premium_true “); // Adaptation of video for mobile if (device.mobile ()) {$ j (‘. ls-articoloScript iframe’). width (j $ (window) .width ()); $ j (‘. ls-articoloScript iframe’). height (j $ (window) .width () * 9/16);} // // Initialize the top by removing 4px of padding-top box to align the thread blue top topbannerSectionHeight // var j = $ (‘. ls-topBannerSection’). outerHeight (true) – 4; // // Initialization of the arrows Latest Articles // $ j (‘.arrow_up_big’). css (“display”, “none”); $ j (‘. arrow_down_big’). css (“display”, “block”); // // Initialization edges Latest Articles // var rightBoxUltimiArticoli j = $ (‘# containerLista #boxUltimoArticolo’). last (); rightBoxUltimiArticoli.addClass (‘BorderRight’); // // // Initialization related articles maxAltezzaBox var = 730; hContainerArt var j = $ (“# containerArtCorr .LS-boxcontent-body-view”). height (); hViewArt var j = $ (“# containerArtCorr .LS-boxcontent .LS-box-items-related .LS-boxcontent-body”) .height (); var height = Math.min (hContainerArt, hViewArt); height = Math.min (height, maxAltezzaBox); J $ (‘# containerArtCorr .LS-boxcontent .LS-box-items-related .LS-boxcontent-body’). Height (height); J $ (“# containerArtCorr #articoliCorrScrollUp”). Attr (‘src’, ‘/ common / img / arrow_up_disabled.png’); J $ (“# containerArtCorr #articoliCorrScrollUp”). RemoveClass (‘. Active’); // // I hide the arrows to scroll if there are fewer than three articles // if ($ j (“# containerArtCorr .LS-boxUltimoArticolo”). Size () 60) {$ j (node) .text (titolo.substring (0, 60) + ‘…’); }}); // // Add the div for the management of the scroll // j $ (‘. Ls-topBannerSection’). After (”); J $ (‘# afterTopBanner’). Height (topBannerHeight); J $ (‘# getFixed’). After (”); J $ (‘# afterUltimiArticoli’). Height (topTotalTopHeight); afterUltimiArticoliTop var j = $ (‘# afterUltimiArticoli’). position (). top; // // Management box in column 2 // var height = (j $ (‘. Ls-articoloTesto’). Height () + j $ (‘. Ls-articoloTesto’). Position (). Top) – $ j (‘# containerMMCorr’). height () – j $ (‘# containerArtCorr’). height () – $ j (‘. ls-column2′). offset (). top; J $ (‘# containerMMCorr’). After (”);
 
 //
 
 
 J $ (window) .scroll (function (event) {
 
 var y = j $ (this) .scrollTop ();
 
 if (($ j (window) .scrollTop () & gt; $ j (‘. ls-articoloTesto’). height ()) & amp; & amp; ($ j (window) .scrollTop () & gt; 800)) {
 if ($ j (“# sh_socialized_bottom”). css (‘display’) == ‘none’) {
 J $ (“# sh_socialized_bottom”). Css (‘display’, ‘block’);
 $ J (“# sh_socialized_bottom”). Html ($ j (“# sh_socialized”). Html ());
 }
 } Else {
 J $ (“# sh_socialized_bottom”). Css (‘display’, ‘none’);
 J $ (“# sh_socialized_bottom”). Html (”);
 }
 
 if (device.tablet () || device.mobile ()) {
 return;
 }
 
 //
 // Management of the top header
 //
 if (y & gt; 0) {
 if (j $ (window) .scrollTop () & gt; j = $ (‘# page_header’). offset (). top) {
 //
 // Top header fixed
 //
 
 if (if! = 1) {
 If = 1;
 
 $ J (‘. Ls-topBannerSection’). AddClass (‘fixed’);
 $ J (‘. Ls-topBannerSection’). AddClass (‘fixedTopHeader’);
 
 J $ (‘# afterTopBanner’). Css (‘display’, ‘block’);
 
 topBannerHeight j = $ (‘. ls-topBannerSection’). height () + j $ (‘. ls-boxUltimiArticoliLista’). height ();
 
 // Console.log (‘Case:’ + event);
 }
 
 if (j $ (window) .scrollTop () (j $ (‘# getFixed’). offset (). top – $ j (‘. ls-topBannerSection’). height ())) {
 //
 // Management box recent articles
 //
 if (if! = 3) {
 case = 3;
 
 J $ (‘# afterUltimiArticoli’). Css (‘display’, ‘block’);
 
 J $ (‘# getFixed’). AddClass (‘fixed’);
 J $ (‘# getFixed’). AddClass (‘fixedTopArticoli’);
 
 // J $ (‘. FixedTopArticoli’). Css (‘top’, topbannerSectionHeight + ‘px’);
 // AfterUltimiArticoliTop j = $ (‘# getFixed’). Offset (). Top + j $ (‘# getFixed’). Height () – $ j (‘. Ls-topBannerSection’). Height ();
 
 // Console.log (‘Case:’ + event);
 }
 } Else {
 
 }
 
 //
 // Management of related articles in column 2
 //
 
 if (j $ (window) .scrollTop () & gt; j $ (‘. ls-articoloTesto’). height ()) {
 if ($ j (“# containerArtCorr”). css (‘top’) == ’0px’) {
 if ($ j (“# containerArtCorr”). css (‘display’) == ‘block’) {
 postop var j = $ (‘# ad_frame2′). offset (). top – $ j (‘. ls-column2′). offset (). top + 250;
 var posBottom postop = + j $ (“# containerArtCorr”). height ();
 
 if ($ j (‘# ed_Related_Box’). offset (). top & gt; posBottom) {
 J $ (“# containerArtCorr”). Css (‘display’, ‘none’);
 J $ (“# containerArtCorr”). Css (‘position’, ‘relative’);
 
 
 J $ (“# containerArtCorr”). Css (‘top’, postop + ‘px’);
 $ J (“. Ls-column2″). Height ($ j (‘. Ls-column1′). Height ());
 J $ (“# containerArtCorr”). FadeIn (600);
 }
 }
 }
 } Else {
 J $ (“# containerArtCorr”). Css (‘top’, ’0px’);
 }
 } Else {
 if (if! = 4) {
 event = 4;
 
 J $ (‘# afterTopBanner’). Css (‘display’, ‘none’);
 J $ (‘# afterUltimiArticoli’). Css (‘display’, ‘none’);
 
 $ J (‘. Ls-colonneArticolo’). Css (‘position’, ‘static’);
 $ J (‘. Ls-colonneArticolo’). Css (‘top’, ’0px’);
 
 $ J (‘. Ls-topBannerSection’). RemoveClass (‘fixed’);
 $ J (‘. Ls-topBannerSection’). RemoveClass (‘fixedTopHeader’);
 
 $ J (‘. Ls-spinster’). Css (‘position’, ‘static’);
 $ J (‘. Ls-spinster’). Css (‘top’, ’0px’);
 
 J $ (‘# getFixed’). RemoveClass (‘fixed’);
 J $ (‘# getFixed’). RemoveClass (‘fixedTopArticoli’);
 
 // Console.log (‘Case:’ + event);
 }
 }
 });
 });
 
 // ———————————————— -
 //
 // Management of the box past articles in opening
 //
 // ———————————————— -
 
 // Store the open / close status of the box to avoid
 // Handle the same event in the scroll
 boxOpened var = false;
 
 // Store if the box was New hotel opened or closed
 // Manually to not change the state
 // In automatic mode during the scroll
 boxManual var = false;
 
 $ J (‘. Arrow_down_big’). Click (function () {
 // I open the box
 boxManual = true;
 ultimiArticoliBox (‘open’);
 });
 
 $ J (‘. Arrow_up_big’). Click (function () {
 // I close the box
 boxManual = true;
 ultimiArticoliBox (‘close’);
 });
 
 ultimiArticoliBox function (action) {
 var speed1 = 300;
 speed2 var = 500;
 
 if ((action == ‘open’) & amp; & amp; (boxOpened == false)) {
 var cssProp;
 
 $ J (‘. Arrow_up_big’). Css (“display”, “block”);
 $ J (‘. Arrow_down_big’). Css (“display”, “none”);
 
 cssProp = {height: ’180px’};
 $ J (“. Ls-new-leaf-.LS boxUltimiArticoli-top-.LS boxcontent-body”). Animate (cssProp, speed2);
 
 cssProp = {top: ’20px’};
 // J $ (‘# getFixed #boxUltimoArticolo .LS-boxUltimoArticolo-info’). Animate (cssProp, speed2);
 J $ (‘# getFixed #boxUltimoArticolo .LS-box-text’). Animate (cssProp, speed2);
 
 
 cssProp = {top: ’0px’};
 // J $ (‘# getFixed #boxUltimoArticolo .imgUltimoArticolo’). Animate (cssProp, speed2);
 J $ (‘# getFixed #boxUltimoArticolo .LS-box-image’). Animate (cssProp, speed2);
 
 cssProp = {height: ’179px’};
 $ J (“. Ls-new-leaf-.LS boxUltimiArticoli-top-.LS boxUltimiArticoliLista”). Animate (cssProp, speed2,
 function ()
 {
 var height = j $ (‘# getFixed’). height ()
 cssProp = {height: + height + ‘px’};
 J $ (‘# afterUltimiArticoli’). Animate (cssProp, speed1);
 }
 );
 
 boxOpened = true;
 }
 if ((action == ‘close’) & amp; & amp; (boxOpened == true)) {
 var cssProp;
 
 $ J (‘. Arrow_up_big’). Css (“display”, “none”);
 $ J (‘. Arrow_down_big’). Css (“display”, “block”);
 
 cssProp = {top: ‘-130px’};
 // J $ (‘# getFixed #boxUltimoArticolo .imgUltimoArticolo’). Css (‘position’, ‘relative’);
 // J $ (‘# getFixed #boxUltimoArticolo .imgUltimoArticolo’). Animate (cssProp, speed2);
 
 J $ (‘# getFixed #boxUltimoArticolo .LS-box-image’). Css (‘position’, ‘relative’);
 J $ (‘# getFixed #boxUltimoArticolo .LS-box-image’). Animate (cssProp, speed2);
 
 
 cssProp = {top: ‘-100px’};
 // J $ (‘# getFixed #boxUltimoArticolo .LS-boxUltimoArticolo-info’). Css (‘position’, ‘relative’);
 // J $ (‘# getFixed #boxUltimoArticolo .LS-boxUltimoArticolo-info’). Animate (cssProp, speed2);
 
 J $ (‘# getFixed #boxUltimoArticolo .LS-box-text’). Css (‘position’, ‘relative’);
 J $ (‘# getFixed #boxUltimoArticolo .LS-box-text’). Animate (cssProp, speed2);
 
 cssProp = {height: ’59px’};
 $ J (“. Ls-new-leaf-.LS boxUltimiArticoli-top-.LS boxUltimiArticoliLista”). Animate (cssProp, speed2);
 
 cssProp = {height: ’60px’};
 $ J (“. Ls-new-leaf-.LS boxUltimiArticoli-top-.LS boxcontent-body”). Animate (cssProp, speed2,
 function ()
 {
 var height = j $ (‘# getFixed’). height ()
 cssProp = {height: + height + ‘px’};
 J $ (‘# afterUltimiArticoli’). Animate (cssProp, speed1);
 }
 );
 
 J $ (‘# afterUltimiArticoli’). Height (j $ (‘# getFixed’). Height ());
 
 boxOpened = false;
 }
 }
 
 
 // ———————————————— -
 //
 // Management related articles
 //
 // ———————————————— -
 
 var speed = 300;
 var valueArt = 0;
 var topValueArt = 0;
 var minValueArt = 0;
 numArticoli var j = $ (“# containerArtCorr .LS-boxcontent-body-view .LS-boxUltimoArticolo”). length;
 currArticolo var = 1;
 
 // ———————————————— -
 // Click Arrow pointing down
 //
 // ———————————————— -
 J $ (“# containerArtCorr #articoliCorrScrollDown”). Click (function () {
 
 valueArt = valueArt – $ j (j $ (“# containerArtCorr .LS-boxUltimoArticolo”). get (currArticolo – 1)). outerHeight ();
 cssProp var = {top: + valueArt + ‘px’};
 
 if ($ j (“# containerArtCorr #articoliCorrScrollDown”). hasClass (‘. active’) == false)
 return;
 
 currArticolo ++;
 
 J $ (“# containerArtCorr .LS-boxcontent .LS-box-items-related .LS-boxcontent-body .LS-boxcontent-body-view”). Animate (cssProp, speed,
 function () {
 J $ (“# containerArtCorr #articoliCorrScrollUp”). Attr (‘src’, ‘/ form / new-leaf / img / arrow_up.png’);
 J $ (“# containerArtCorr #articoliCorrScrollUp”). AddClass (‘. Active’);
 
 heightContainer var j = $ (“# containerArtCorr .LS-boxcontent .LS-box-items-related .LS-boxcontent-body .LS-boxcontent-body-view”). height ();
 if (currArticolo & gt; (numArticoli – 1)) {
 J $ (“# containerArtCorr #articoliCorrScrollDown”). Attr (‘src’, ‘/ common / img / arrow_down_disabled.png’);
 J $ (“# containerArtCorr #articoliCorrScrollDown”). RemoveClass (‘. Active’);
 } Else {
 J $ (“# containerArtCorr #articoliCorrScrollDown”). Attr (‘src’, ‘/ common / img / arrow_down.png’);
 J $ (“# containerArtCorr #articoliCorrScrollDown”). AddClass (‘. Active’);
 }
 }
 );
 
 });
 
 // ———————————————— -
 // Arrow upwards Click
 //
 // ———————————————— -
 J $ (“# containerArtCorr #articoliCorrScrollUp”). Click (function () {
 
 valueArt = valueArt + $ j (j $ (“# containerArtCorr .LS-boxUltimoArticolo”). get (currArticolo – 2)). outerHeight ();
 
 cssProp var = {top: + valueArt + ‘px’};
 
 if ($ j (“# containerArtCorr #articoliCorrScrollUp”). hasClass (‘. active’) == false)
 return;
 
 currArticolo–;
 
 J $ (“# containerArtCorr .LS-boxcontent .LS-box-items-related .LS-boxcontent-body .LS-boxcontent-body-view”). Animate (cssProp, speed,
 function () {
 J $ (“# containerArtCorr #articoliCorrScrollDown”). Attr (‘src’, ‘/ form / new-leaf / img / arrow_down.png’);
 J $ (“# containerArtCorr #articoliCorrScrollDown”). AddClass (‘. Active’);
 
 if (numArticoli

LikeTweet

No comments:

Post a Comment