Archive for May 23, 2016

Monday, May 23, 2016

Apple Offers to Replace iPads With MacBooks in Maine Classrooms

Tim Hardwick:

According to a report in the Lewiston-Auburn Sun Journal, schools in Auburn and other districts in Maine are set to benefit from the “Refresh” swap, following surveys of students and teachers across grades 7 through 12, which revealed that 88.5 percent of teachers and 74 percent of students preferred laptops over iPads.

iPads were perceived to have poor educational value in the classroom and were often used to play games in class, while laptops allowed students better opportunities for school work. The preference gap widened even more when it came to older students, who saw laptops as better devices for coding and programming tasks.

Tom Warren:

Google’s low-cost Chromebooks outsold Apple’s range of Macs for the first time in the US recently. While IDC doesn’t typically break out Windows vs. Chromebook sales, IDC analyst Linn Huang confirmed the milestone to The Verge. “Chrome OS overtook Mac OS in the US in terms of shipments for the first time in 1Q16,” says Huang. “Chromebooks are still largely a US K-12 story.”

IDC estimates Apple’s US Mac shipments to be around 1.76 million in the latest quarter, meaning Dell, HP, and Lenovo sold nearly 2 million Chromebooks in Q1 combined. Chromebooks have been extremely popular in US schools, and it’s clear from IDC’s comments the demand is driving US shipments.

Update (2016-05-25): Matt Novak (via Adam Chandler):

But something happened about a year ago when my Macbook Air was running on fumes. I looked at the Macs and gave my brain a half-second to entertain other options. I owned a functioning Mac desktop, which is my primary machine for heavy lifting. But I started to wonder why I wasn’t entertaining other options for my mobile machine.

The biggest consideration was price. When all was said and done, even the cheapest Mac laptop was going to set me back about $1,300 after taxes and AppleCare. And the siren song of a computer under $200 was calling my name. I got the Acer Chromebook with 2GB of RAM and a 16GB drive. It cost a shockingly low $173. And

Monument Valley: iOS 42% of Downloads But 73% of Revenue

ustwogames (tweet, Hacker News):

3rd April 2016 marked the two year anniversary of Monument Valley’s release and with that we now have a lengthy window to analyse how the game’s performed and what we’ve managed to do with it post release. So with that in mind we’re happy to present Monument Valley in Numbers: Year 2.

Daniel Gray:

Numbers are slightly skewed due to the insanely high number of free downloads during iOS free week. Revenue came purely from IAP.

Jared Schnelle:

We’ve wanted to go free for a period on Google Play but unfortunately it’s not possible, when you go free with a paid game you can never go back.

fasteddie:

Monument Valley, one of the most polished and loved premium mobile games ever, has made $15m in its lifetime. Meanwhile, there are multiple F2P games with over $1b in revenue.

Now, $15m is fantastic, especially for a small studio. But high-production value F2P games from bigger studios cost around $3-5m to make, not including marketing/UA, so its pretty clear to see why studios aren’t investing in premium titles at all, unless they are ports of existing content.

Previously: iOS App Sales Data.

94% of App Store Revenue Comes From the Top 1%

Randy Nelson (via Ilja A. Iwas):

The most surprising takeaway from our analysis of U.S. App Store publishers is that the top 1 percent of those who monetize their apps accounted for 94 percent of the store’s revenue last quarter. That means approximately $1.34 billion of the estimated $1.43 billion in net revenue generated by the store during Q1 went to 623 publishers, the remaining 6 percent—approximately $85.8 million—was divided among the other 61,677 publishers whose apps are paid or feature in-app purchases.

[…]

There were approximately 1.38 billion app downloads on the U.S. store in Q1, and approximately 966 million of those were generated by the top 1,270 publishers out of 127,000 we analyzed. The remaining 99 percent of publishers split the other 414 million downloads between them.

Previously: Over 70% of App Store Purchases Are for Games.

C Compilers Break for Objects Larger Than PTRDIFF_MAX Bytes

Pascal Cuoq (via Jean-Francois Roy):

The malloc call in the program below succeeds (the program would return 0 if the malloc invocation failed), despite Clang having the same half-the-address-space limitation for 64-bit as for 32-bit.

[…]

Unfortunately, an optimizing compiler’s code appears to be littered with optimizations that assume object sizes are less than PTRDIFF_MAX. As an example, we all know that X86 Clang and GCC implement pointer comparison as an assembly unsigned comparison (“cmpl” is an agnostic comparison instruction, but here it is followed by “cmoval”, where the “a”, for “above”, indicates conditional move based on an unsigned comparison). This means that it is allowed to compare pointers inside a putative 2.5GiB array on a 32-bit platform, right?

Not all pointer comparisons.

Because of this optimization.

Continuous iOS Code Coverage With Jenkins and Slather

Matej Bukovinski:

Before Xcode 7, we already had code coverage reporting set up with Jenkins. We generated coverage data in the gcov format and used LCOV together with a custom script to integrate the coverage data into Jenkins. It all worked pretty well. However, with the introduction of Xcode 7, Apple dropped support for the legacy gcc coverage file format and introduced a format of its own: profdata. Of course this broke our setup as soon as we migrated our CI servers to Xcode 7. As framework developers, we always have to be early adopters of the latest iOS versions, so we can make sure our code is ready before our clients make the switch. Unfortunately, this means in some cases we need to make a few compromises. In this particular circumstance, it meant dropping code coverage because there were simply no convenient tools around to get the data into Jenkins. Xcode ships with llvm-cov, a command line tool that can convert the coverage data into a more human readable format. However, there is still quite a bit of work needed to get it into a format that Jenkins could handle.

[…]

After running llvm-cov Slather parses the output data, processes it a bit and then outputs it into one of the supported formats. In our case an XML file suitable for Cobertura.

To get all that running on Jenkins, we simply added a call to rake coverage_ios right after we run our test suite. We have some extra logic to prevent coverage from running in certain configurations or if the tests fail but that is essentially all that is needed to generate the XML coverage data. After adding the call, we just need to install the Cobertura plugin and configure it so it can find the generated XML.