*Coder Blog

Life, Technology, and Meteorology

Category: iPad

Apple’s Rumored 12″ Notebook

The rumors are growing for a new 12 inch MacBook Air.  According to MacRumors, this laptop would be slimmer than the current MacBook Airs, fanless, and come in the same silver/gold/space gray color variations as the iPhone.

Sounds like an clamshell iPad with a keyboard to me.

The new notebook has a much thinner design the appears to sacrifice many of the usual ports seen on Apple’s current notebooks and may adopt the new reversible USB Type C connector that has seen its specifications recently finalized.

The MacBook Air has very few ports to begin with (video, USB, headphone and an SD card slot on the 13″).   If you are sacrificing many of the usual ports, you end up with no ports at all, like the iPad.

Interestingly, the report raises some questions about charging on the notebook, indicating that the usual MagSafe port has been removed in favor of a new, unspecified charging method.

Hmm, like a Lightning cable?  It’s reversible too.

In line with previous rumors, the machine is reportedly fanless, suggesting it will adopt an ultra low-power processor such as the Broadwell-Y Core M processors recently announced by Intel.

The A8 is another ultra low-power processor…

Many people prefer the iPad as a productivity machine.  With a standard keyboard attached, you can definitely get some serious work done.  A 12″ iPad with a permanent keyboard attached sounds like a great little mobile computer.

GSGradientEditor

A fairly significant feature in Seasonality Pro is the ability to edit the gradients used to show weather data on a map.  When looking around for some sample open source gradient editors online, I didn’t come across anything I could really use.  So I decided to write my own and offer it under an MIT license.  I posted the source code (link below) on GitHub.  Here’s what it looks like:

I’ve included a lot of documentation as well as a sample Xcode project to show how to use it over on the GitHub page:

GSGradientEditor on GitHub

I looked at quite a few different graphics apps when working on the UI.  I wanted to see not only how other implementations looked, but how they worked.  With iOS 7 being more gesture-centric, I wanted to make sure that interaction with GSGradientEditor was intuitive.  I found the Inkpad app most helpful during this process.  In the end, I like how GSGradientEditor turned out.

Enjoy!

Storyboard Change

This Storyboard change bit me this morning. I was trying to do some initial calculations from my view geometry before it is displayed at app launch. Previously, when using XIB files to define an interface, you would be able to see your view geometry as early as viewWillAppear: in your UIViewController.

With Storyboards, view geometry will not be ready until later. In my case, within viewWillAppear: the view bounds returned all zeros. Took a bit of Googling to find the answer, but eventually came across this question at StackOverflow:

Gettting [sp] subViews’ frames in Storyboard

In short, if you need your view geometry as early as possible, use viewDidLayoutSubviews in your UIViewController.

Overhead while using GCD

Today I spent some time optimizing the Particle Mode simulation code in Seasonality Core. While doing some measurements, I discovered that quite a bit of time was spent in GCD code while starting new tasks. I use dispatch_apply to iterate through the particles and run the position and color calculations for the next frame. In the tests below, I was simulating approximately 200,000 particles on the Macs, and 11,000 particles on the iPad.

I decided to try breaking the tasks up into fewer blocks, and run the dispatch_apply for groups of around 50 particles instead of running it for each particle. After making this change, the simulation ran in up to 59% less CPU time than before. Here are some informal numbers, just by looking at Activity Monitor and roughly estimating:

CPU Usage
Device   Before   After   Time Savings
Mac Pro (2009, Oct 2.26Ghz Xeon)   390%   160%   59%
Retina MBP (2012, Quad 2.6Ghz i7)   110%   90%   18%
MacBook Air (2011, Duo 1.8Ghz i7)   130%   110%   15%
 
iPad 3 (fewer particles)   85%   85%   0%

As you can see, the benefits from the new code running on the Mac Pro are substantial. In my earlier code, I was somewhat suspicious of why the simulation took so many more resources on the Mac Pro than on the laptops. Clearly the overhead in thread creation was a lot higher on the older Xeon CPU. This brings the Mac Pro’s processing times closer to what the other more modern processors can accomplish.

Perhaps an even more surprising result is the lack of a speedup on the iPad. While measuring both runs, the two versions averaged about the same usage. Perhaps if I had a more formal way to measure the processing time, a small difference might become apparent, but overall the difference was minimal. I’m guessing that Apple has built logic into the A-series CPUs that allows for a near 0 cost in context switching. Makes you wonder how much quicker something like this would run if Apple built their own desktop-class CPUs.

Race to the Bottom

A few years ago, developers of mobile apps were on a “race to the bottom.” When the iPhone App Store opened, apps were priced reasonably, but in the months that followed developers dropped prices to remain competitive until the most popular price point became just $0.99.

Today I read this article on Engadget about Amazon and Google selling their latest tablets at or below cost. Sounds familiar…

Honestly, I think the only reason Google and Amazon are doing so well in the tablet market is because they have this no-profit hardware model. Apple is the big player here, and has always priced their products to have a healthy hardware profit margin. There were several earlier Android-based tablets before the Nexus series and the Kindle Fire, all priced in the same ballpark as the iPad. Unfortunately (for these other companies), customers decided that at the same price point they would rather have an iOS device.

Amazon realized the only way they could break into the market would be to sell at cost, and make up the profits when customers purchased content to read or watch. Since Amazon also sells that same content, they are in a good position to turn a profit using this model.

The problem is consumers are now expecting all hardware to be sold at this lower price. Just look at the reaction to Apple’s recent $329 starting price of the iPad Mini. The Mini’s starting price is $80-130 more expensive than Android-based competitors, and people have had something to say about it. In reality, Apple is just pricing it in a way where it can sustain their business.

I don’t place the blame on consumers for this attitude. The latest mobile craze has people buying the newest models year after year. Corporations like Apple and Google are pushing for this consumerism attitude, so they can continue to sell record numbers of devices and maximize profit. The thing is, many people don’t need and can’t afford to buy the latest tablet/phone/etc year after year (at least not at prices with a healthy profit margin). So consumers continue to pressure the corporations to sell at lower prices. In this respect, this consumerism attitude the corporations have pushed has backfired on them.

The tablet market is still young. Last year, I thought Apple had such a big lead with the iPad, that it would be very difficult for other platforms to catch up. But a lot has happened in the last 12 months. It should be interesting to see just how this plays out in the long term.

Yet another iPad 3 Review

I thought I would throw an iPad 3 review together, now that I’ve had about a week to use it. There are a bunch of features I won’t mention, either because it’s not a key feature to me, or because it’s not available in my area (4G LTE).

Retina Display
There are no words to fully describe it. The sharpest computer display I’ve ever seen. Photos look like glossy prints. Text looks better than a magazine. It’s not just prettier though, it’s easier on the eyes as well. Try reading all day on a standard resolution iPad, and then again on the iPad 3, and you’ll be a lot less fatigued after reading on the iPad 3.

The only drawback of the Retina Display is that I’ve found you have to be careful when picking home screen backgrounds (yep, such a 21st century “issue”). Pick a photo with too much detail in it, and it will be so sharp as to actually distract from finding the app you’re looking for. Choose your background images carefully.

Memory
This is the second biggest feature, to me. This iPad has 1024MB of RAM instead of 512MB on the iPad 2 (or 256MB on the iPad 1). This means more apps stay open in the background, and switching between recently used apps happens a lot faster. I’ll often switch to an app I haven’t used for several hours, expecting it to need to relaunch, only to find that it’s still in memory. It’s a big difference.

From a development standpoint, this iPad would have been crippled if Apple stuck with 512MB of RAM. With the new display, just to show an image full screen takes 12.5MB of RAM. Even if you wanted a simple app to show a 10 frame animation, that’s 125MB of memory gone. With Seasonality Go, I’m seeing about 4-5 times the memory usage when using a full screen radar map with animation. With the iPad 3 though, it’s not a problem, there’s still plenty of memory to spare.

“This Runs Warm”
The press (most notably Consumer Reports) has made a big stink about how the new iPad runs warmer than the old one. Does it? Yep. Does it matter? Nope. It feels warm only when playing games or doing something equally intense. During typical usage, it stays cool. Mine has never gotten what I would call “hot” or even uncomfortable. What do people expect when you pack a faster processor, bigger battery, LTE networking, and a screen that requires twice as many backlights all into a device the same size as the last generation? It’s going to run warmer, that’s all there is to it.

There is one drawback to this, and it’s more of a psychological issue. When using an iPad, if it gets warm, you start to realize the tablet is really like any other computer with hot components and things inside that are “working hard”. My iPad 1 always stayed cool to the touch while I was using it, and I think that made it feel like less of a computer and more of a pane of glass with some information I could interact with. With an iPad that gets warm, some of the magic is gone.

Ergonomics
Coming from the iPad 1, this is the biggest drawback. Yes, the iPad 3 is thinner, and that is nice. But Apple also decided to taper the edges (this happened first with the iPad 2), resulting in there being no real “sides” to the device. This makes it difficult to push any of the buttons to adjust the volume or turn the device on/off. It’s easy to hit a button on a flat side, but difficult when you have to come from the back at a 45° angle. A similar change happened on the iPod touch a few generations back, and I can’t wait until Apple decides that having sides is cool again.

Camera
This iPad has a new camera on the back. From what I’ve read, it’s the 5 megapixel image sensor from the iPhone 4, mated to the new lens elements in the iPhone 4S. The resulting images are impressive, but they’re not going to take the place of a digital camera (unless you only take pictures outside on a sunny day, I suppose). Still, I’m glad I have one more 1080p video camera close by for when my 1-year-old daughter does something new.

Summary
Overall, this iPad is the best one ever, but you already knew that. Should you upgrade? If you have an iPad 1, then by all means buy a new iPad 3. You’ll love it, and it will feel so much more refreshing with the speed bump and the amazing display.

The decision isn’t as easy if you have an iPad 2, of course. If I had an iPad 2, I would wait and upgrade once the iPad 4 comes out next year. But that’s just me.

© 2017 *Coder Blog

Theme by Anders NorenUp ↑