iPhone: sweet solution, evolution and disruption

When the iPhone was announced in 2007 Steve Jobs introduced it by saying that Apple was introducing three revolutionary products:

  1. Widescreen iPod with touch controls
  2. Revolutionary mobile phone
  3. Breakthrough internet communications device

At the time this seemed to cover the main functions that people would find useful on mobile phones, applications or “apps” were not yet a thing that most people cared about as most mobile phones of the preceding era had pretty clunky interfaces and getting hold of apps was controlled pretty firmly by the mobile networks.

The iPhone didn’t initially support a way for developers to make native apps, instead offering only the “sweet solution”1 of web apps in Safari. Before too long a native SDK was released in 2008, the App Store opened for business in July of that year and allowed developers to release native apps, and the beginnings of the initial app boom era started.

So those “three revolutionary products” were joined by a fourth one: a “handheld game console“. In December 2008 Apple announced the top 10 paid apps in the App Store, of those 10 the top 7 of them were games:

  1. Koi Pond2
  2. Texas Hold’em
  3. Moto Chaser
  4. Crash Bandicoot: Nitro Kart 3d
  5. Super Monkey Ball
  6. Cro-Mag Rally
  7. Enigmo
  8. Pocket Guitar
  9. Recorder
  10. iBeer
This image shows app icons from these 10 iPhone apps: Koi Pond, Texas Hold’em, Moto Chaser, Crash Bandicoot: Nitro Kart 3d, Super Monkey Ball, Cro-Mag Rally, Enigmo, Pocket Guitar, Recorder, iBeer.
These are a blast from the past!

One notable thing about the first iPhone that may seem odd now was that the camera was only a stills camera, no video support, no flash, no exposure compensation; not only that but the camera used a tiny 2 megapixel sensor. Prior to the iPhone release phones such as the 2006 Nokia N95 came with a 5MP camera, supported video and had a flash. So this aspect of the iPhone was really only providing the bare-bones, minimal requirements for taking photos. You definitely couldn’t add “Digital SLR quality camera” to that initial trifecta of devices that Steve introduced the iPhone with.

Fast-forward to 2024, the iPhone cameras have improved amazingly, the front-facing “selfie” camera alone on the iPhone 16 (first added with the iPhone 4) now takes 12MP photos and can shoot 4K video. Depending on which version of the phone you get two or three main cameras, with the iPhone 16 Pro sporting 48MP sensors with regular, ultra-wide and telephoto lenses. The iPhone is now one of the most popular cameras in the world, not just “phone cameras” but cameras in general. The iPhone, along with other smartphones, disrupted the camera industry3, even with the much poorer quality cameras in the earlier phones.

Whilst the camera(s) on the iPhone have been incrementally improving, year-over-year with each new model, this year sees an interesting new addition to both the regular and pro versions of the phone; the new “Camera Control” button. The Camera Control button is found on the side of the phone and is specifically for controlling the camera functions and provides a way to quickly access camera tools like exposure, depth of field and zoom4. The button is both a physical button and touch-sensitive control so you can press and slide sideways to navigate, adjust and select settings.

Apple has been touting their new “Apple Intelligence” AI-based features along with the release of these new phones, but I think the Camera Control is the most interesting feature on these new iPhones5. The camera has been an important feature of the iPhone for some time now and has become many people’s only camera that they use for taking photos and shooting video (even being used for making actual movies). But the addition of the Camera Control seems significant to me, in that Apple increasingly views part of its core functionality to be an actual camera, not just a phone with a camera on it.

So it seems that alongside the earlier addition of “handheld game console” to the initial three products that comprised the first iPhone we can now definitely add “High resolution mirrorless camera” to that list of “products” that makes up the iPhone.

Steve Jobs had a clear idea of the three core products that the iPhone was going to disrupt when he introduced the original iPhone, but I think the introductory slide would be something more like this had he envisaged gaming and photography becoming such a core function of the device6:

This image shows Steve Jobs on stage introducing the original iPhone with a slide saying "iPod", "Phone", "Internet" and the additions of "Gaming" and "Camera".

  1. MacStories wrote a good article looking back at the “sweet solution” back in 2018. ↩︎
  2. Ok, some might nit-pick that Koi Pond isn’t a game, but it’s definitely not a productivity app :) ↩︎
  3. Estimated to be an 87% drop in digital camera sales since 2010! ↩︎
  4. At the time of writing Apple has said additional functionality is coming in a future software update: “Camera Control will introduce a two-stage shutter that lets you automatically lock focus and exposure with a light press“. ↩︎
  5. Also, Apple Intelligence technically isn’t out at the time of writing, only with iOS 18.1 and subsequent point updates will it incrementally become available. ↩︎
  6. Is a “phone” still a core part of a smartphone device now? Arguably “internet communication” has replaced much of the traditional phone usage now. ↩︎

Apple <-> elppA

Apple had their September “It’s Glowtime” keynote event yesterday announcing updated products like Apple Watch, AirPods and iPhones.

The new iPhone Pro phones have a new cinematic slow motion filming mode which records at 120FPS 4K video, they demonstrated this mode with a music video for the band “The Weeknd” where they had them sing the song at 4x so that when it is played at the slow motion 24FPS rate the vocals are played in realtime:

(There’s also another behind the scenes video with a bit more about how it was shot).

It reminded me of the video for the song “Drop” by The Pharcyde which was directed by Michel Gondry. The whole video was shot with them performing everything backwards, so the band had to learn to sing the words as they would sound in reverse so that when the video is played in reverse it looks like they’re singing normally, kind of wild!

(Here’s a link to watch the Pharcyde “Drop” video on YouTube in case the embed isn’t working properly).

Happy 40th Birthday to the Macintosh!

I first used a Macintosh when I went to college in 1989, I had just left school and started an art & design course. The college was a little behind in technology so even though it was 1989 and there were some more modern Macs these machines were a bit older so probably SE’s and SE30’s. Even though they were old these were amazing, I remember using MacPaint to draw with the various tools and then printing it out on the Apple LaserWriter printer. In hindsight it is obviously so low-tech compared to now but it was incredible.

Prior to using the Mac I had used computers at home, as far back as about 1981 we had a Commodore Vic 20 and then a Commodore 64. So I had tried doing things on those, entering programs in from computer magazines and attempting to write BASIC programs myself. I remember thinking at one point that it would be great if there was an easier way to work with computers, nothing specific but just that entering text into programs seemed hard and long-winded. So when I first used a Mac in 1989 it was a bit like a light came on and it all made so much sense that this is how computers should work.

Make Something Wonderful

This was released back in April this year (2023) and I’d meant to link to it at the time, but if you haven’t already seen it then do check out “Make Something Wonderful” which is a collection of speeches and writing from Steve Jobs published by the Steve Jobs Archive:

The best way to understand a person is to listen to that person directly. And the best way to understand Steve is to listen to what he said and wrote over the course of his life. His words—in speeches, interviews, and emails—offer a window into how he thought. And he was an exquisite thinker.

Laurene Powell Jobs

There is some really interesting writing and some great photos too. It’s available to view on the website as well as in iBook format via the Apple Book store but it’s definitely best viewed on the website as the reading experience has been really nicely done by the team at Jony Ive’s agency LoveFrom.

How to fix – “LSLaunchProhibited Info.plist key is unsupported on Mac”

I don’t do a lot of iOS development but I do have a sticker pack and an app in the app store. I recently got an email from Apple developer support with the following message about my sticker pack:

Compatible iOS and iPadOS apps will automatically appear on the Mac App Store when the first Apple silicon Macs become available this year. However, we noticed the following issues with one or more of your apps that are opted in to appear.

The following apps will not be made available on Mac until a new version addressing these issues is submitted.

These apps contain the LSLaunchProhibited Info.plist key, which is unsupported on Mac:

I wasn’t quite sure what that meant and the email didn’t really give any indication as to how to fix it. A quick google search only came up with one single result, a forum post on Apple developer forums by someone trying to find an answer to the same question! :)

After having a quick look around in Xcode I *think* I’ve found the answer to the issue. Basically with the new Apple silicon Macs that have been announced it will be possible to run iOS apps on Mac and by default all iOS apps will be included in the Mac App Store. It is possible to specifically opt-out of having your app in the store but by default it will be included, so in this case the message relates to the fact that my sticker pack isn’t currently set to be available on Mac, only iPhone and iPad.

To resolve this you need to go to the sticker pack extension file of your Xcode project, under the “General” tab there should be a “Deployment Info” section. In there you can set whether it will work on iPhone and iPad, and if you’re running the latest version of Xcode there should also be a “Mac” checkbox. Checking that box will make the sticker pack available for Mac. Once that is done and a new build submitted to the app store this should then resolve this issue.

Skate City – Apple Arcade

I seem to be one of the lucky ones who got access to Apple Arcade (Apple’s new subscription gaming service) a few days early (although I’m guessing that everyone on the developer betas got access??).

I’m enjoying the new Skate City game which is made by Snowman who previously made the great Alto’s Adventure and Alto’s Odyssey games. Apple Arcade opens to all on September 19th so go check it out.

A wee bit of gameplay! :)

Check out more about Skate City on the Instagram page: @skatecitygame

Painted into a Touch Bar corner?

Back in April 2017 Apple invited a few select members of the tech press to a special event to discuss the situation with the Mac Pro line of computers. At that time the Mac Pro had gone about 4 years without any updates causing a lot of speculation about Apple’s commitment to its pro-level Mac users.

At the event Craig Federighi was quoted as saying:

“I think we designed ourselves into a bit of a thermal corner, if you will. We designed a system with the kind of GPUs that at the time we thought we needed, and that we thought we could well serve with a two GPU architecture. That that was the thermal limit we needed, or the thermal capacity we needed. But workloads didn’t materialize to fit that as broadly as we hoped.”

“The Mac Pro Lives”, DaringFireball.net, 4th April 2017
The 2013 Mac Pro

So whilst they didn’t provide an immediate fix to the problem it was a clear admission that the limits of the Mac Pro design had been reached and that there was no way they could upgrade that design to use newer, faster components. The only way forward was to scrap that design and redesign it completely.

Recently I had a purchase decision to make about a new Mac, I really wanted a good jump in performance over the 2014 13” MacBook Pro I’ve been using and ultimately I opted for a 6-core Mac Mini. 

After looking at all the options within the current MacBook Pro line I knew I wanted at least a quad-core CPU so it was going to have to be at least the high end 13” MacBook Pro, I also wanted 16Gb of RAM and at least a 512Gb SSD, so £2129 for this and an additional £249 to get AppleCare+ cover on top of this, plus the cost of a few dongles to connect non-USB-C devices to it and also my Thunderbolt display. All in all it was going to cost close to £2600 to get something to suit my needs.

In the end however I decided I couldn’t justify purchasing that machine. The reason I decided not to go for the MacBook Pro was that despite spending that amount of money I was buying a machine that had no future upgrade path. It’s not possible to upgrade the RAM or SSD storage so it means having to buy the highest configuration you can afford hoping that this is good enough for your future needs, rather than buying what you can afford now and adding upgrades later if needed. 

Additionally all of the higher-end MacBook Pro laptops come with the Touch Bar whether you want it or not so this adds to the cost, given that I work most of the time using an external display and keyboard it means the Touch Bar has limited usage potential. 

Having not owned a Touch Bar MacBook Pro I’m perhaps not in a position to judge how successful or beneficial the Touch Bar is, but my impression from articles etc online and friends who own one is that it’s not a must-have or key selling feature for many people. I know I would certainly rather have the ability to upgrade RAM and SSD storage down the line than have the Touch Bar.

Combine the Touch Bar with the lack of upgradability and you have to pay a lot of money up front to try and future proof your purchase. Ultimately I realised this wasn’t going to spark joy* and I would resent spending that amount of money to get something I wasn’t completely happy with and didn’t represent good value for money to me. In the end I opted for a 6-core Mac Mini purchased through Apple’s refurb store, the balance of price / features was much better and additionally the current models were released last year so they’re using the latest CPUs and aren’t likely to be superseded anytime soon.

So the question I’m asking is: Has the hardware choices in the MacBook Pro line resulted in a similar situation to the Mac Pro, only this time Apple has painted themselves into a Touch Bar corner? 

Personally, I think it’s time for Apple to consider what changes they need to make in the MacBook Pro line to get out of this corner they’ve painted themselves into.

* Yes, this is a token Mari Kondo reference :)

WatchOS 5 adds support for web content rendering

Apple recently announced updates to the core software on all of their hardware platforms with various interesting new features.

One feature that jumped out when looking through it all was support for displaying web content in watchOS 5, it’s important to clarify that they haven’t added a standalone Safari app to watchOS but instead it enables any links sent via Mail or Messages to be accessed and then displayed right on the watch.

To get a quick overview it is worth taking a few minutes to watch the “Designing Web Content for watchOS” video on the WWDC2018 videos site as it gives a good overview.

Here’s a few thoughts and info about key aspects that I picked up from watching the video:

User navigation / interaction

  • You can scroll using the Apple Watch’s digital crown or via pan gestures
  • Double-tap to zoom in / out on the page content
  • Back/Forward navigation is controlled either via an overlay UI brought up via a  firm press on the screen or by swiping back and forward from the edges of the screen.

Web browser feature support

Content is optimised for display on the Apple Watch so certain features are not supported in watchOS 5:

  • Video playback
  • Service workers
  • Web fonts

If the web content being accessed is responsive then it treats the content as being 320px wide, the same width as if on an iPhone SE (iPhone 5 or older width). So text may be smaller but at least it will basically render the smallest breakpoint content, so it doesn’t require any new even smaller breakpoint to be catered for.

This is done by overriding the “initial-scale” value and provides a viewport with the dimensions 320px by 357px and reports a media query size of 320px. So existing responsive content will render on the Apple Watch without requiring any changes – at least from a layout perspective, worth noting the lack of support for Web fonts as this will likely have some rendering impact as it falls back to alternative fonts in the font stack do display.

Optimising content for Apple Watch

Even though responsive content will be rendered quite well by default it is possible to optimise content for display on Apple Watch.

The above image shows the standard responsive content being displayed on the Apple Watch, basically just the same as it would be on an iPhone SE (minus any web fonts of course!).

Responsive Layout on Apple Watch

Using a media query it is possible to modify this layout to display as a single column. There is an example given in the video which obviously won’t apply for all uses, but basically it uses “min-width: 320px” as the baseline for showing the content as two columns, so any content below that would render as a single column. Again, how this works specifically for your layouts will vary, but there will be some methods to use for frameworks like Foundation or Bootstrap etc.

“Disabled-adaptations” meta tag

The important addition to using a media query though is a new meta tag which disables the default adaptations that the Apple Watch makes when rendering content by default:

<meta name=”disabled-adaptations” content=”watch”>

With this meta tag in place the device width will be treated as the real width of Apple Watch’s screen. This again has similarities to how content was handled when the iPhone originally came out, existing content is displayed as best as possible but there are ways to optimise for the device if you want to.

Form controls on watchOS

Making use of HTML5 form control types is really important on watchOS, setting the type attribute to “email”, “tel” etc will bring up a specific, full screen UI to allow interaction.

Additionally making use of labels, placeholder or aria-label attributes enhance the context given when interacting with these controls. Hopefully you’re using these already but here’s another reason to do so.

Safari Reader on watchOS

This is a feature found on iOS and macOS which basically formats pages to show a more readable version of web page content. It’s a little unclear from the video but it sounds like pages that are “text heavy” will get displayed using Reader, although I’m not 100% sure how that would be determined exactly if so. Perhaps this is a way to handle big pages that might have a lot of adverts on it? Reader view is an option that users can choose by firmly pressing on any page to bring up the navigation overlay, so even if content is displayed normally a more readable version can be accessed.

Semantic markup in Reader view on watchOS

Reader view makes good use of semantic markup, using the “article” tag helps the display of content, and attributes like “item-prop” and other semantic tags like “strong”, “em”, “blockquote” etc enhances the display of content in Reader on watchOS.

Open Graph meta tags

Using Open Graph meta tags is something that makes sharing content around the web such as into Facebook, Twitter etc look better by providing specific preview content such as images, titles etc. watchOS makes use of these Open Graph meta tags to make the previews for any shared links look as good as possible.


That’s a quick overview of some aspects of watchOS 5’s support for web content, there’s definitely a few things to consider in there but if you’re building pages using responsive layouts and using semantic HTML then things should work fairly well without having to do anything.

The biggest issue I see initially is the lack of support for web fonts, that seems like it could cause some display issues due to the fallback to alternative fonts in the stack or if web fonts have been used for icons etc.

I’m also interested to know what the impact on battery life on the watch is like when loading and rendering multi-megabyte web pages which are not uncommon these days, I think Reader view is going to be an essential feature for viewing web content on Apple Watch.