iTunes 12.5.1

15 September 2016

iTunes 12.5.1 surprised me; Apple actually changed a lot of stuff with sweeping changes to many views of the music library. Mirroring iOS 10, the new iTunes removes dynamic colour tinting and translucency effects, in favour of a plain white theme with occasional accents providing a splash of colour.

iOS 10 uses a pink tint colour but — for some reason — the new iTunes on Mac uses a blue shade. This discrepancy in colour palettes is jarring and I don’t see a reason for it to not match the Music app on iPhone and iPad. Aside from that, I really like the changes. The design is much cleaner and they’ve tidied up many loose ends. There is also a noticeable performance jump: the list of albums finally scrolls at a solid frame rate on my Retina MacBook Pro.

As another example of Apple’s iOS 10 design trends, the selected album is now delineated by a subtle shadow. The chosen artwork pops up from the library. Heavy San Francisco font faces are also used for the main titles and subtitles. They fit in well with the rest of the app and the font sizes are appropriate, unlike the equivalent iPhone fonts.

I was pleasantly surprised with the breadth of the UI changes in an update that, on the surface, has a pretty innocuous bump in the version number.

Apple Font Weight

9 September 2016

Apple seems to be switching up its preferred font weights. There is a renewed tendency by Apple design towards heavier weights overall. The iPhone 7 packaging uses a heavier weight for the box branding. iOS 10 uses heavy fonts too with the News, Home and Music apps. The keynote slides used a lot of bold San Francisco too. It’s not all San Francisco though, Myriad is still used on the new product pages.

I like the move back towards thicker fonts. The super-thin font trend brought about by iOS 7 is annoying. When everything is thin, the impact is lost. There are also readability issues (which even Apple has to specially workaround sometimes) with using thin fonts for everything and limits the backgrounds the text can be superimposed on.

All text faces need to be used in moderation. Everything bold or everything light is not a good balance. Bold faces are good for titles and logos. Use them.

Monstermoji - Emoji Sticker Pack For iOS 10

8 September 2016

Download Monstermoji for iMessage now. 26 beautiful stickers. Emotive monsters. Original artwork.

Available with iOS 10 is a new sticker pack developed by me and James Byrd. Beautiful emoji monsters drawn just for the iMessage App Store. Send reactions like happiness, laziness or tears of joy with just a tap. Peel off the Monstermoji and place them anywhere in your conversation. Monstermoji adds a dimension of emotional communication that normal emojis can’t provide.

Version 1.0 is launching with 26 exclusive stickers. Stickers include VoiceOver Labels, so they are accessible to all. I hope you like them and send them to your friends.

To use Monstermoji, find it in the iMessage App Store on iOS 10. Select the iMessage app from the drawer and then simply tap or peel the stickers into an iMessage chat Use them as conversation starters or place onto individual bubbles to convey additional emotion and feeling.

Send or receive Monstermoji on iPhone, iPad and iPod touch. Buy them now. Use Monstermoji on your iOS device with iOS 10.

What’s a sticker pack?

Sticker packs are a new type of iMessage app for iOS 10. They appear in the Messages app and allow you to peel off and place little drawings and bits of clipart anywhere in a Messages conversation. Find Monstermoji (and other sticker packs) in the App Store for iMessage.

Two New Black Case Colours Expected For iPhone 7

4 September 2016


KGI’s Ming-Chi Kuo says that the iPhone 7 will be offered in two new case colors which are called “dark black” and “piano black”. Space Grey — as it is exists today — will be removed from the lineup meaning iPhone 7 and iPhone 7 Plus will be offered in a total of five colors. The piano black is described as glossy and corroborates leaked SIM trays seen previously. Due to low yield, piano black may only be offered exclusively on high-capacity iPhone 7 models, at least at first.

First off, KGI’s general accuracy does not seem to have extended to the names of these colours. “Dark black” makes no sense; there are no shades of black. I’m guessing what he means is dark grey, not wholly black but a substantially darker shade of grey than what Space Grey is today. Piano black is a descriptive name: it’s like the glossy finish of a grand piano. It’s worth noting that KGI does not know (or claim to know) the final marketing names.

I’ve been lusting for an obelisk black iPhone finish for several years. It’s finally happening and in a better way than I even wanted; two new black options are coming along at once. It will be interesting to compare the piano finish with the Apple Watch’s Space Black appearance; it’s the same idea but with different raw metals. I am also a bit concerned about propensity to smudge or scratch.

KGI says that the glossy black will be reserved for the more expensive iPhones, at least initially, due to yield issues. Regardless, it’s a win. Everyone will have access to a new dark grey colour anyway. Plus, KGI thinks the exclusivity window on the piano SKU is only temporary so people won’t be forced to shell out to get the cool colour … if they have some patience.

Apple Ordered To Pay 13 Billion Euros In Back Taxes

31 August 2016

Tim Cook:

In Apple’s case, nearly all of our research and development takes place in California, so the vast majority of our profits are taxed in the United States. European companies doing business in the U.S. are taxed according to the same principle. But the Commission is now calling to retroactively change those rules.

Beyond the obvious targeting of Apple, the most profound and harmful effect of this ruling will be on investment and job creation in Europe. Using the Commission’s theory, every company in Ireland and across Europe is suddenly at risk of being subjected to taxes under laws that never existed.

Preface: I am not a lawyer.

Apple’s effective tax rate in Ireland was lower than 1% since 2004 according to the findings. On moral righteousness grounds, I think it’s fair to concede that Apple should have paid more tax in Ireland than they did. Even as an operations funnel, <1% regional tax seems ridiculously low.

However, both Apple and Ireland insist that nothing was illegal at the time. Apple made an agreement with Ireland back in the 1980’s and it paid off years later, when Apple grew into a huge corporation.

If the European Commission thought what Apple was doing was unlawful or incorrect, it had years to raise a formal complaint. What I really detest about the Commission’s judgement is how they are imposing their ‘new’ position to the past. The Commission is demanding repayments of ‘unpaid’ taxes from more than a decade ago. To me, that is unequivocally unfair.

Force Apple (and Ireland) to change its practices going forward, by all means. If Apple and Ireland were acting illegally (which both parties refute profusely), then levy fines. Reaching into the past to claim taxes that Ireland didn’t ask for at the time, and still says it isn’t owed today, is ridiculous.

Pinterest Acquires Instapaper

24 August 2016


All of these features and developments revolved around the core mission of Instapaper, which is allowing our users to discover, save, and experience interesting web content. In that respect, there is a lot of overlap between Pinterest and Instapaper. Joining Pinterest provides us with the additional resources and experience necessary to achieve that shared mission on a much larger scale.

Instapaper provides a compelling source for news-based content, and we’re excited to take those learnings to Pinterest’s discovery products. We’ll also be experimenting with using our parsing technology for certain Rich Pin types.

Most software company acquisitions in the tech world at the moment are head turning and puzzling but this isn’t one of them, as far as I’m concerned. Pinterest is a social bookmarking website with a focus on photography. A purchase of Instapaper allows them to easily grow into other content types, namely text.

Hidden at the bottom of this announcement is a ‘sunsetting’ of Instaparser, a paid API endpoint for developers to take advantage of Instapaper’s intelligent article parsing. The service is shutting down in November. It launched in April, now being shuttered in the same year it was debuted. This is pretty crappy especially given Instaparser was a paid service charging hundreds of dollars per month for an API key.

Personally, I didn’t see the motivation for Instaparser to exist. It sucks for those who adopted it but shutting it down is the right strategy for a company that is otherwise very focused on just doing one thing. It was a mistake to release Instaparser at all.

Eddy Cue And Craig Federighi Discuss Apple Maps' Problems

10 August 2016

Fast Company:

How do we know when a new golf course opens up? We’re not exactly driving around looking for golf courses. But we know it’s there, because there are all these golf apps that get used at a golf course. If we see that all these golf apps are being used at a particular location, and we don’t show that as a golf course, we probably have a problem. You can discover that pretty quickly. It’s not as if you need a year, or anything like that.

The inferences made by the crowdsourced data are then followed up on with ground truth teams (people that drive around verifying locations actually exist), web research or checking satellite data. It’s unfair to say that Apple is powering maps by crowdsourcing but it definitely plays a role in finding points of interest and road changes.

What I think is interesting is how much Federighi and Cue play up the benefits of data collection elements, I’ve never seen them emphasise it like this before. Usually, it’s very quaint with endless assurances about privacy and anonymity. In this interview, though, they admit that the data they do collate is enough to accurately pinpoint new sports venues. It may not be personally-identifiable but the fact Apple can trace the construction of golf parks from App Store downloads is pretty wild.

Cue’s enthusiasm also runs counter to Apple’s company message that they don’t want your data. I am in the camp that Apple could do better stuff if it did collect more data and it sounds like Cue and Federighi are almost begging for the opportunity to use it. I hope Apple relaxes its privacy stance somewhat and offers features that simply aren’t possible without accumulating a centralised store of user data on servers. Health data cloud syncing is the obvious example.

Apple Changes Pistol Emoji To Toy Water Gun In iOS 10

2 August 2016


iOS 10 includes over 100 new emoji in total with new female gender options for athletes and professionals, new family characters and redesigns of the most popular emojis.

Apple is working with the Unicode Consortium to ensure representation of diversity across emojis. In iOS 10, Apple is adding new female emojis for runners, cyclists, swimming, builders and more. There is also a new rainbow flag (assumedly representing LGBTQ Pride), and the pistol emoji is now depicted as a toy water gun.

In the Unicode standard, this character is defined as a ‘pistol’. The Emojipedia definition describes the emoji as “a weapon that has potential to cause great harm”.

With previous iOS versions, Apple presented this emoji as an actual gunmetal pistol. With iOS 10, they’ve changed it to a green toy water gun. I don’t like how they have handled this. This has nothing to do with the associated political implications of free speech and everything to do with the way Apple has implemented this technically.

My personal qualm is that Apple has distorted the integrity of the Emoji language by replacing the glyph for a character which has a very different meaning. A toy water gun depicts very different intentions than a real gun. The 🔫 emoji now has an ambiguous meaning because it represents different objects across devices and operating systems.

On iOS 10 devices, the emoji in the previous paragraph looks like a water gun. On iOS 9 or on my OS X El Capitan Mac (on which I am typing this post) it looks like a serious weapon — a handgun. By the way, VoiceOver will describe that character as a ‘pistol’ on all devices, including iOS 10.

I tried to show a more sinister example on Twitter where the meaning of a message can now be misconstrued if the recipient and sender are not using the same OS.

Rather than recycle the same character code point, here’s what I think Apple should have done. Remove the pistol emoji from Apple’s keyboard completely. Lobby the Unicode consortium to add a new emoji that depicts a ‘water pistol toy’ and include that in the keyboard.

This handling is better because it does not affect usage of the handgun emoji on other clients, Apple would just be disabling the ability to write it on its systems. The water gun emoji would then be true to itself with a unique code, a consistent depiction of a toy water pistol across all platforms that support the latest Unicode standard and the correct labelling for VoiceOver accessibility.

Assuming Apple followed my suggestion, there’s still a question about how to display a message that includes a handgun emoji sent from someone else. Apple could let the symbol display, meaning iOS 10 would allow users to read, but not write, the gun emoji. Alternatively, it could treat the handgun as an unknown character and display the typical ‘character unknown’ black box placeholder glyph. I think either is fine, although the latter makes a more forceful statement on society.

Wall Street Journal Reports Apple's TV Efforts Over The Years

28 July 2016

Wall Street Journal:

Mr. Cue is also known for a hard-nosed negotiating style. One cable-industry executive sums up Mr. Cue’s strategy as saying: “We’re Apple.”

By 2009, Apple executives were considering a subscription streaming-TV service. To entice media companies, Apple offered higher fees than pay-TV providers for their broadcast channels. But Apple wanted only certain channels, so the effort fizzled.

I think an implicit line in this (extensively-detailed) piece is that Apple has messed up by not having a TV product out the door already. The Eddy Cue anecdotes are funny but there’s definitely a sense of blame, as if Cue’s lack of cooperation is a problem blocking a resolution.

I disagree. Aside from perhaps the Hawaiian shirt incident, it just sounds like Cue is portraying the needs and wants of Apple. Apple clearly doesn’t want to compromise on its vision for a TV service, so if it can’t get the terms it wants, it doesn’t pursue a deal. Cue isn’t causing frictions, he’s just representing Apple’s set-in-stone wishes. This isn’t a ‘Apple needs Steve Jobs’ problem either; the report documents a decade of failed negotiations with media companies, including when Jobs was alive.

In fact, it would be worrying if Cue was too complicit and arranged a halfway-house solution. Apple repeatedly says it will only do things it can do well and rejects things that are good, not great. Bowing to the wants of backwards-thinking media companies isn’t fulfilling that criterion.

Force Touch Contextual Behaviour On Apple Watch

26 July 2016

Matt Drance:

Holy. I just discovered the force touch Clear All on the watch notifications screen. Just now. July 25, 2016.

The subtext to this tweet is a criticism of Force Touch in terms of discoverability. On this particular case, I don’t think this is a UI issue. In fact, it’s an ideal use of Force Touch in the Apple Watch interface; revealing an action that relates to the context of the current screen.

Concessions have to be made for a screen canvas that is the size of your wrist. If a button was present on the screen, I have no doubt that Drance would have found the Clear All function sooner. If we were talking about an iPad, where more screen space is available, I’d agree that some form of Clear All action should be more obviously present, probably as a text button at the bottom of the list.

The reality is an Apple Watch display is simply too small to put everything on screen at once. Some things have to be slightly obscured. Secondary actions1 cannot afford to take up persistent space in many cases: there simply isn’t the real estate. Some concessions have to be made and I believe that the right design decision was made here.

Clear All is less important than actually viewing the list of notifications, adding a button for Clear All would impair that (far more) frequent activity somewhat.

Heck, even on macOS most actions for the current app aren’t visible onscreen all of the time, but we still know they are ‘there’ because we have habitually learnt the vocabulary of the operating system. Things like using right-click, popover panels and menubar items become ingrained behaviours.

Apple is establishing a similar behaviour for Apple Watch; Force Touch to reveal contextual actions for the current screen. The actions should be relevant to the modal view as a whole, not connected to a particular element of where you pressed down.

Force Touch to Clear All is a coherent use of this system function. Becoming familiar with Apple Watch should involve an instinctual feeling to deep press screens when you want to perform a contextual action. This is consistent across Apple’s apps and should become learned behaviour over time.

Even when there aren’t any contextual actions for a view, Apple Watch UI will always respond with a screen bounce animation to suggest that the user was right to attempt the gesture and should try again on another screen.

Maybe watchOS is too new for it to become a natural instinct yet, maybe Apple should help educate users better about it. I don’t think the premise of placing Clear All action behind a Force Touch gesture is a bad design decision, though.

1 If you use ‘Clear All’ frequently such that it feels like a primary action, my opinion is you are using notifications wrong and should consider turning off alerts for some apps in the Apple Watch settings.

Tesla Master Plan, Part Deux

21 July 2016


When true self-driving is approved by regulators, it will mean that you will be able to summon your Tesla from pretty much anywhere. Once it picks you up, you will be able to sleep, read or do anything else enroute to your destination.

You will also be able to add your car to the Tesla shared fleet just by tapping a button on the Tesla phone app and have it generate income for you while you’re at work or on vacation, significantly offsetting and at times potentially exceeding the monthly loan or lease cost. This dramatically lowers the true cost of ownership to the point where almost anyone could own a Tesla.

In cities where demand exceeds the supply of customer-owned cars, Tesla will operate its own fleet, ensuring you can always hail a ride from us no matter where you are.

This last item is the most interesting thing in Musk’s ‘master plan deux’. Cool idea, but it seems very pie in the sky. Reliable, foolproof, autonomous intelligence is still many years away … and that’s just half of this concept. The other issue is getting people to volunteer their cars to a self-driving fleet — surrendering their vehicle for unknown times to unknown people.

The good thing about taxi cabs and current ride-sharing models is the cars are manned by a human: someone is always there to monitor the actions of the travelling passengers. Leaving my car in the sole possession of someone else is an uncomfortable notion. The cars may drive themselves but they don’t clean themselves or repair themselves.

The last sentence is a much clearer path, where Tesla owns and maintains dedicated vehicles for taxi services. It still depends on the realisation of autonomy but the business model is clear. It’s Uber … without the overhead costs of paying drivers.

Sealed By Default

19 July 2016

The following is a discussion of Swift 3’s controversial approval of the ‘sealed by default’ proposal that puts constraints on subclassability. To contextualise the decision, it is first necessary to review how Swift approaches access control.

In Swift, types and members are defaulted to internal visibility. This means they are only visible within the scope of the same module. In another module, internal types are not accessible at all. Making these things accessible requires a public keyword for every symbol. This means nothing is exposed to the wider project by default unless it is explicitly marked; only things that the developer have chosen to be available to other modules are.

This sounds onerous but it actually makes sense from a codebase design perspective. Generally, most methods and properties written into a class or struct are implementation details which are irrelevant to other consumers. As code is read more often than it is written, the benefits of distinguishing a public and private API surface outweigh the burden of having to write a public declaration every so often.

This ideology is central to Swift, favouring explicit statements over implicit behaviours. This is done primarily, but not entirely, to express the best coding practices. Developers have to make a conscious decision which parts of the interface are public and which aren’t. It enables for potential performance benefits like static dispatch and intelligent high-level features like Generated Headers.

All of this strictness is uncomfortable to Objective-C developers which is a lax language; it lets everything be ambiguously public or private at the mercy of the programmer. It was uncomfortable to me. Swift allows for the same dynamic runtime features1, but it wants those capabilities to be explicitly defined and constrained only to the symbols that requires them.

The title of the post has nothing to do with any of this functionality, of course. There are parallels that you can draw though with clear similarities in how Swift is thought about and designed.

‘Sealed by default’ is a separate concept to runtime manipulation or access control in regard to its functionality; sealed classes cannot be subclassed outside of the module they are declared in. The underlying premise of only enabling functionality when it is appropriate is the same, using keywords to denote special entitlements.

Objective-C barely has the concept of modules, let alone being sealed. Any class in Objective-C can be inherited and overridden regardless of what framework it resides in. Swift 2 already has some limitations on this freedom. Although anything can be subclassed by default in Swift 2, there is a final keyword that prevents any source from subclassing it (essentially becoming a reference type struct).

final is more restrictive than sealed which is more restrictive than open (the implicit Objective-C behaviour). Sealed classes are still open inside their own module. This allows flexibility for the module maker (supporting the common class cluster pattern) whilst remaining closed to the rest of the codebase.

The concept of sealed classes does not exist in Swift 2 at all but is going to be the new default in Swift 3. Developers of modules can add the ability for classes to be subclassed by anyone using the open keyword on relevant type declarations.

This choice for classes to be sealed by default with Swift 3 has caused a lot of controversy; even the core team admitted there was no consensus in their mailing list post approving the change. I think it is the right thing to do but it’s not hard to see why others are angry.

The change removes the capability for application developers to subclass third-party library and framework code. The module defines what can and can’t be overridden. Sealed doesn’t affect a developer’s own classes, but it does stop developers from overriding framework classes, like those found in UIKit and AppKit.

Developers can use clever subclassing tricks to resolve some bugs that exist in third-party frameworks. These are almost always unsupported brittle changes, though, that aren’t guaranteed to be stable or keep working between OS versions.

To be frank, it is a fluke that this stuff even works. Subclassing where you aren’t supposed to is essentially injecting code into someone else’s private components. Ask any Apple engineer and they will tell you never to subclass UIKit. In Objective-C, this is only expressed via documentation and guidelines. With Swift 3, it can be enforced in the code and is compulsorily adhered to.

Perhaps there is a debate here about the usefulness of subclassing to combat bugs. I don’t think it is very useful though and will get even less useful as people write Swift frameworks in Swift where classes aren’t even that common and instead relying on structs or enumerations. A good example here is to look at the adoption of C libraries, here is any C library, which are made up of free functions. These functions can and do have bugs with no recourse via inheritance. This has not stunted adoption.

In general, language design should not be decided by the possible existence of buggy code. However much we strive to make perfect code, there will always be bugs. Sealed by default also prevents a different swathe of bugs from happening as API users don’t have to rely on humans to check documentation about whether something is supported. Sealed, final and open allow coders to accurately convey how their APIs are meant to be used, at least more accurately than Objective-C did.

As highlighted by the preface of this post, I hope the parallels between stricter rules about inheritance and stricter public-private access control are self-evident.

Designing and enforcing rules for inheritance is aligned with Swift as a language. It would be inconsistent not to have sealed by default with explicit keywords to allow for stricter or looser inheritance. It brings several benefits. Static dispatch can be employed more frequently when the compiler can guarantee there are no external subclasses. Performance benefits for a GUI application are minimal, granted, but every little helps.

Of course, the primary reason is creating a programming model that is more correct with proper encapsulation and containment. Classes that aren’t meant to be subclassed, can’t be. That has to be better than an ambiguous spaghetti mess.

I think if you can understand and agree with the explicit marking of things as public or not, then you should hold no objection to the sealed by default proposal. Explicitness in cases of ambiguity is a theme of Swift. Rather than guessing or choosing a lazy default that accepts anything, it is stringent in its enforcement. Accommodating debugging or monkey patching — when it flies in the face of the overall language — makes no sense to me.

The last thing I’ll say is that doing ‘sealed by default’ with Swift 3 makes the most sense when you consider the project’s roadmap. Apple wants Swift 3 to be the last major source-breaking release. Deciding to be restrictive now, with sealed by default, and then backtracking later is not a source-breaking change. Apple can freely make things open again … if the change really is destructive. It’s not possible to go back the other way, from open to sealed, in a source-compatible matter later on.

Even without any knowledge of the pros or cons of the argument, logic indicates to do the more bullish thing now as the option to reverse it remains available.

1 Current Swift doesn’t have the full range of dynamic features that Objective-C has, not even close. I don’t think there is a philosophical aversion to adding that stuff in future Swift versions, however.

The Hollywood Reporter Interviews Eddy Cue About Apple TV

14 July 2016

The Hollywood Reporter:

Will we see an Apple skinny bundle or live-TV streaming service?

Whether we’re providing it or somebody else is, it really doesn’t matter to us. What we’re trying to do is build the platform that allows anybody to get content to consumers. If a Time Warner [Cable] or a DirecTV wants to offer a bundle themselves, they should do it through Apple TV and iPad and iPhone. As a matter of fact, I’m not a big fan of the skinny bundle.

Why not?

I think it’s a misconception. Most people, at the end of the day, end up paying more, not less, for the things they love. With TV content being at an all-time high, why are people asking for less? It has a lot to do with the way it’s being provided. If I feel like I’m not getting my money’s worth, then I want to pay less and I want less things. But if it were being provided in a rich platform with the capabilities I’m talking about, I don’t think people would feel that way. People pay for Netflix as an add-on to TV, and they’re happy doing it. And why is that? Because they’re happy with what they’re getting from Netflix. So the question to ask about skinny bundles is, why are customers not happy?

Honestly, this sounds like Cue giving up. It seems that Apple was chasing a master plan for television (enough rumours and comments by TV execs to support it) and has now cancelled those plans, facing resistance from many parties over contractual terms.

This is disappointing for my view on what Apple needs strategically. I see original content as a necessity in order to stay relevant. Clarkson’s Top Gear show is a great example of something that is now completely outside of Apple’s control and will always be an ecosystem disadvantage. Amazon has no incentives to share its exclusive content to other platforms. They can shut out Apple TV indefinitely. Apple needs a magical agreement with the likes of Netflix and Amazon, or it needs its own leverage with its own compelling shows.

Mike Rundle Builds A Hackintosh

4 July 2016


People used to build Hackintoshes because they were a good bit cheaper than an equivalent Mac you could buy from Apple. Now though, since the Mac Pro hasn’t been updated in 3 years (and the components on the board were already about a year old) people are building Hackintoshes because you can build a Mac that is faster than the fastest computer Apple can sell you and, oh yeah, it costs $1,000+ less than even the base Mac Pro model. If you’re a professional photographer, programmer or video editor that currently owns a Mac Pro, Apple has forsaken you. Maybe it’s time to look into building a Hackintosh.

An inexpensive ~$1200 Hackintosh build is faster than any Mac hardware Apple currently ships as well as being significantly cheaper. I’m not surprised that buying your own components and assembling it yourself is cheaper than what Apple sells pre-configured; there’s a huge price gap between pre-built and self-built Windows PCs too. Official Apple Macs also come encased in custom-designed enclosures and casing that will never be matched by a generic ATX tower, which again mitigates the price difference somewhat.

Another reason why the Hackintosh solution compares so well on the price-performance scale against a Mac Pro is because Apple has left it languish and hasn’t updated its internals (or compensatory price drops). The 5K iMac is a great counterfactual here; a powerful computer that represents very good value for money, having been refreshed recently.

Obviously, I wish Apple would strive to make everything cheaper but the bigger strategical issue, in my view, is this power differential when Apple abandons products for years a time, an increasingly common occurrence.

Apple’s business model is to sanction only a handful of products for its platforms which is normally fine and attracts most of the total market. However, not updating these hardware lines on a regular basis is a disservice to the Mac platform. If they are no longer interested in these segments, the products should be discontinued, not left to linger like a rotting fruit. Right now, the biggest offenders are the Mac Pro and Mac Mini.

I’m not demanding year-over-year major overhauls but a pipeline of spec bumps and component improvements in line with the industry should be a requirement of these product categories staying in the lineup. I don’t really care if Apple wants to charge even more money than they do already for this … but it should be possible to buy sanctioned top-spec internals for Macs.

For average techies, Rundle describes how making a Hackintosh is actually pretty easy as long as you stick to the online community guides for what to do and what to buy. It seems as painless as building any computer from parts (which is not very hard at all, it’s like a 3D jigsaw puzzle where you have the assembly instructions for the solution).

A standout annoyance is the lack of iMessage support as it is seemingly tied to hardware serial numbers. My guess is this is related to the underlying iMessage encryption processes somehow. I would worry that this is a trend and incompatibility would spread to more Apple services as the company continues to enforce higher security policy across the board.

I think the biggest drawback is the necessity to wait when new software updates come out for others to verify compatibility. This is related to the perpetual looming threat that, one day, Apple software could cut the Hackintosh industry off completely (whether on purpose or just by coincidence) and nothing will work ever again. This is fine if you can bear converting your hardware investment into a plain Windows PC as a final backstop.

Naming The 2016 iPhone

27 June 2016


With Apple’s current schedule, we’d be in line to get a major upgrade this fall to the iPhone 7, with last year’s iPhone 6s and 6s Plus being the in-between “S” year models. But on a three-year cycle major hardware upgrades will come every third year opposed to the every other year schedule Apple is currently on. Word has it that Apple could make that change starting with this year’s iPhone, meaning this fall’s iPhone could be a lesser upgrade and that a full-fledged iPhone 7 with notable hardware changes won’t arrive until 2017. But where does that leave Apple’s naming scheme for the device?

Everyone loves to debate product naming, including me. At least for iPhone, the branding has been easy to guess for many years thanks to the cyclical tick-tock cadence of major chassis design revamp followed by an ‘S’ series incremental component update.

This year, as all rumours are indicating, the cycle is changing. This year’s flagship iPhone looks almost the same as an iPhone 6s, which is itself a derivative of the iPhone 6 from 2014. Add into the equation the fact next year’s iPhone is rumoured to be a major ‘all glass’ design revamp, and it’s hard to say that the new 2016 iPhone will be called the iPhone 7.

It doesn’t feel like it lives up to the stature that the 7 nomenclature implies. It also puts the 2017 iPhone in a sticky situation for names: iPhone 7s doesn’t seem appropriate for a year when the device heads in a completely new direction design-wise. Apple could leapfrog and jump to straight to 8 but that feels weird given the generational history.

Names like ‘Extreme’ or ‘Air’ don’t really mesh with my sensibilities either. ‘Air’ sounds like a design change (iPad Air was significantly thinner and lighter than its predecessor) and ‘Extreme’ sounds corny. ‘Pro’ is the best suffix that has been suggested: would it be iPhone 6 Pro or iPhone 6s Pro? That’s a lot of syllables even for the 4.7 inch model, the 5.5 inch size would be awkward to speak and write: ‘iPhone 6s Plus Pro’.

Right now, I’d still bet on iPhone 7. It is the most obvious choice, even if it doesn’t quite fit the bill. In my mind, next year, Apple would move away from numbers at the logical design breakpoint, skipping the ‘7s’ conundrum and moving to something like ‘iPhone Air’ as the flagship branding.

The New Music App In iOS 10

20 June 2016

The new Music app in iOS 10 looks different, drastically different. It’s been revamped with new font styles, navigation, layouts and animations. In general, app design is a combination of visual aesthetics and behaviour; evaluation of the changes Apple has made should consider both of these points. This is all subjective (which ultimately is what makes it hard) but the general consensus opinion on iOS 9 Music was one of confusion. The way it behaved was difficult to understand.

I think the new Music app represents a huge improvement in that area, greatly enhancing usability. Addressing my primary complaint, library navigation is now direct and obvious. There is a plain list of full-width buttons that directly open the primary views into the local music. If you want to see albums, tap Albums. If you want to start a playlist, tap Playlists. If you ever get lost in the menus, keeping hitting the Back button until you get back to this list.

It’s a huge improvement over the iOS 9 drop-down selector thingy which was a non-standard UI widget that actively hid navigation controls behind an additional button press. The iOS 10 app even allows for some personal customisation: tapping the Edit button reveals drag handles and additional toggleable rows. For example, in the old design, all users had to always see (and skip over) the Composers filter … which very few people care about. In iOS 10, the button defaults to hidden and can be turned on if desired.

One of these list items is ‘Downloaded Music’ which shows only tracks and albums that have been saved to local storage. Apple is plainly responding to user feedback that people couldn’t work out what was stored in the cloud and what wasn’t. Downloaded Music answers this question unambiguously, even adding an additional explanatory banner on detail views if the filter is applied. Circling back to the customisability, if being able to cleanly distinguish what is available in local storage is unimportant or unnecessary, the list item can simply be unchecked and hidden.

The persistent bottom bar tabs have also been tweaked to truly represent the primary features of the app. ‘Connect’ has been ditched from the tabs (a failed social network service does not justify such a primary position in the interface) and ‘New’ has been renamed to ‘Browse’. The ‘Library’ tab (nee ‘My Music’) has also been moved to the primary (first) slot in the toolbar, where it always should have been.

Up Next has also been reworked and appears inline to the Now Playing screen. Simply scroll down the view and the upcoming tracks are listed below — Up Next is no longer hidden behind yet another modal. It works better spatially: thinking of the view as a progressive timeline, the next songs are now ordered beneath the currently playing track. Shuffle and Repeat are also located nearby too, although I think there needs to be a way to Shuffle All from the main screen.

That’s the behaviour; big wins across the board as far as I’m concerned. Aesthetics are a different kettle of fish. iOS 9 Music was pretty boring in terms of visuals, mostly reusing stock UI components and doing an average job in areas where it did rely on custom elements.

The new app definitely makes more of a statement pushing iOS onto a new design trajectory with big bold fonts. The Apple News and Home app also have adopted this style. It’s not clear if Apple wants to move towards this style (which is defined by its use of heavy font weights and comically-large elements) for all of its apps — it’s still early stages.

I have mixed feeling on the appearance. I like the proliferation of buttons with backgrounds (such as the pink circle around the ••• button on Album list views) as well as the shift away from translucency for most things. The thick title fonts are a regression — especially as it is applied inconsistently. Navigation bar titles continue to use the normal system fonts, for example. The font size of the main headings is just laughable; it feels like you have cranked up the Dynamic Type accessibility options.

The Search screen is another example of inconsistency. Whilst the text field has been ballooned to a larger-than-normal size, the segmented control and ‘Cancel’ buttons are as small as ever with similarly small fonts. It does not match. The humongous components also seems like an inefficient use of screen space which is funny given 2016 was the year Apple reintroduced a 4-inch iPhone to its new device lineup.

Visually, I love the new Artist and Album list views. Putting two big photos of album art per row looks great and cleanly splits the screen in half on my 4.7 inch iPhone 6. I wish the section titles used a larger typeface as they get lost amongst the cells.

The new look for the Now Playing is decent. I like how the album art pops up from the page (shadows!) to signify the song is playing and recedes back into the frame when paused. This is capped by a subtle bounce effect. I also like how the scrubber thumb increases in size when in use and nudges the time labels out of the way when the user drags it to either end of the line. I don’t like the spacing between the song name and the scrolling secondary information row of text; the padding is too tight.

Another negative is the interaction to show and hide the modal is not 1:1 — it doesn’t follow the finger. As soon as a swipe gesture is detected, it fixes into the final state. The playfulness of being able to cancel the gesture mid-flight1 is lost; the previous incarnation of the app did this properly.

The ‘additional options’ sheet (activated by tapping a ••• button or long-pressing on album and song items) has also been redesigned to feature rounded-corner sub-sections. This view was poor in iOS 9 too and it hasn’t gotten better. In fact, I’d argue the applied border radius has made it worse. Your eyes are confused with the sudden appearance of four arbitrary blocks of content with irregular interactions. Moreover, buttons to ‘Love’ and ‘Dislike’ are presented side-by-side with near-identical iconography. Not to mention, every element in this view is tinted bright pink. It’s ugly. It’s even worse on smaller iOS devices where the middle list section will scroll if space is constrained. The scrollbar indicators in this state do not respect the corner radius and are naively (hideous).

Neither design was perfect but if I had to choose, I’d pick iOS 10’s attempt over iOS 9. The usability is the main reason for this: the simple fact Music is getting a ground-up redesign after just one year is enough evidence to prove that Apple messed up badly the first time. As I hopefully expressed above, it’s still a mixed bag as far as aesthetics are concerned for the iOS 10 Music app. I think the Heavy Fonts look would work better if Apple had gone all the way and brought it to every app in a wide-reaching system overhaul. That is not the case, so it (sadly) sticks out in the crowd.

1 This is an overlap of behaviour and visuals. You could argue a non-cancellable animation is worse for both axes of user experience.