Apple decided several years ago to produce a high-end Mac in Texas. The problems that surfaced illustrate the challenges of domestic manufacturing.
Good to know I’ve been “doing it right” all along!
[Source: Daring Fireball]
Raise to Wake is a feature I’ve wanted for a while, so I love that. It sometimes seems a little sensitive, but I guess I’ll either get used to it, or it’ll be tweaked in a software update. The new behaviour of unlocking your phone without going to the Home Screen until you press the Home button seemed a bit unintuitive to me, I’ve changed a setting under General > Accessibility > Home Button to remove the press.
Functionally, the new notifications are great, and will get better as more apps embrace the feature. Like others, I’m not a fan of the styling, which is very evocative of “Web 2.0”. Clear All is another minor feature I’ve wanted forever, so I’m glad that’s there; I just wish I hadn’t had to Google to discover it’s hidden behind a 3D Touch gesture. These hidden or unintuitive features and gestures are probably my biggest peeve with iOS 10 for now.
Related to the notification area, I don’t get why the “Today” widget area is duplicated here and to the left of the Home Screen. One or the other would’ve been better, at least in my opinion. Maybe because I never used the old “Today” screen, but did use the old search screen which used to be to the left of the Home Screen…
Overall I like the update, but I’ve found some of the new features to be really unintuitive to use. The message styles (hidden ink, balloons, etc) are hidden behind a 3D Touch of the send button – so if you don’t get it right you’ll find yourself accidentally sending the message before it’s finished. This is a very minor thing, but it does cause frustration. I also found the Digital Ink features to be confusing to use, and the associated gestures a bit hit-and-miss. “Playback” of these messages is also hit-and-miss: sometimes they play automatically, but most times they don’t.
This article from The Verge has a good rundown of the new features of iMessage and how they work.
Being able to (finally) remove in-built apps is obviously something which has received some headlines. Surprisingly, I’ve removed fewer than I expected… I think it’s only Stocks, Tips, Find My Friends and weather. I’ve actually found myself switching to a couple of the in-built apps
I’ve been using iCloud Photo Library (iCPL) for the last few months, basically since the day it went to Public Beta. It was one of the features I was most excited about for iOS 8 and OS X Yosemite. The idea is fantastic – all your photos available on all your (Apple) devices, and it’s integrated with what is probably your most frquently used camera, so new photos are automatically added.
When it works, it’s seamless and brilliant, and I can’t say enough good things about it… but this morning I turned it off on my iPhone and won’t be switching it back on any time soon.
Here are the two major problems I’ve had with it:
1. It causes (most) apps accessing the photo library to run extremely slow
Anytime I open an app which wants to access the photo library, that app tends to hang for a few seconds. This is easiest to see in something like Instagram, where if you go to add a picture, the icon in the bottom left which lets you select an existing image will show as blank for several seconds while it loads the first thumbnails. I’ve seen similar behaviour in the stock Camera app, and numerous image editors.
2. It absolutely destroys my mobile data allowance
I have a 4GB data allowance on my 4G data plan. When I have iCloud Photo Library enabled on my iPhone – even after syncing the entire library over WiFi before leaving the house – within a couple of days I will get a text message from my network telling me I’ve only got 200MB of my allowance left. This happens even after disallowing the Photos app from using mobile data, so it’s obviously some other process running in the background. To be clear: without iCloud Photo Library turned off, I have never been close enough to my data cap to trigger a warning; with it turned on, I use up my entire allowance within a few days.
The first problem of slowness has improved with the iOS 9 public betas, but #2 is still happening. A lot. It’s probably cost me upwards of £60 in increased mobile phone bills over the last few months. And this is before we get to other issues, including: either iCPL/the new Photos app screwing up the metadata on a whole bunch of photos1; occaisional sync conflicts2; problems caused by turning it off because of the other issues3.
By and large, I get the impression I’m the outlier. For most people, iCloud Photo Library works without issue and they’re happy with it. Hopefully it’s the same for you! But for me it just doesn’t work reliably enough without some serious downsides.
What’s your experience of iCloud Photo Library been like? Let me know!
- I found this one out when I tried importing my library into Google Photos and Dropbox for redundancy. Roughly 2500 photos no longer have any date information associated with them, so both services sort them into the day they were uploaded, completely ruining any logical grouping. ↩
- In iOS 8, if I quickly edited a new picture on your device, while it synced to your other devices, one of two things would happen; 1: only the edit would sync, or 2: your edit would be discarded when the sync finished. ↩
- What should happen is your iCPL photos are removed from the device, apart from the Camera Roll pictures on the device previously. Except, it usually turns into a crap-shoot as to which photos are kept. And sometimes, despite removing all these photos, the storage space isn’t freed up afterwards. Which is awesome when you only have a 16GB device. ↩
Over the last couple of weeks, my iPhone 5S has been rebooting itself during the night. Once (last Saturday) it got stuck in a reboot loop on the Apple logo screen. Strangely, it seemed to be emitting some kind of tone every time it restarted… maybe that was my woken-at-3am brain imagining things, but I’m sure it also made a noise in the early hours of this morning when it rebooted.
The most annoying thing about this, is that it’s only happening at night, while I’m asleep. I know it’s happening because my lock screen tells me so, and I can’t use TouchID to unlock the phone. That, and the fact the display flashing up the stark white loading screen sometimes wakes me up. Throughout the day, everything appears fine. It’s really quite bizarre.
I’d reset the phone to factory settings, but there are a couple of security-related apps installed which would be a massive PITA to have to de-authorise and set up again.
Has anyone else experienced this?
* By “The Right Way”, I mean following the guidance and practices at the PHP: the Right Way website. I make no claims this is the “best” way 🙂
Mac OS X is a pretty good web developer OS. It comes as standard with PHP, Ruby and Apache all out of the box, and the underlying UNIX system makes it easy to add in other languages and components to suit your needs. On top of that, some of my favourite development tools are on the Mac, so unless I’m writing .NET code, nearly all my development is on an (ageing) Mac Mini.
Now, while all that stuff comes as standard on OS X, lately it seems Apple has made it harder to get to. The versions shipped with OS X also tend to be a little behind the latest releases. As a result, most Devs I know use something like MAMP to make the server-side of their environment as easy as running an app. Personally, while I think MAMP works, and is a good time-saver (and I’ve been using it for the last year or so), but I like to get into the nitty-gritty of the system and get things running “native”. So last night I fired up the terminal and got PHP set up on my Mac with the latest version, and following the Right Way Guidelines. As a result I have PHP 5.4, Composer, the PHP Coding Standards Fixer, and MySQL all setup quite slickly (i.e. to my preferences).
The whole process was pretty easy, but does involve the command line. If this makes you uncomfortable, then it might be best to skip the rest of this post.
This all worked on my Mac, but I make no guarantees about it working on yours, and I’m not responsible if you break something.
If you find any glaring problems with this guide then leave a comment/get in touch, and I’ll make any required edits.
Step 1: Setup Your PATH
Edit the hidden .bash_profile file in your home directory. If you use Sublime Text 2 you can use the following command:
TextMate has a similar
mate command, or you can use
It’s possible you already have a line defining your PATH variable. It’ll look something like
export PATH=<something>. I’ve found it most useful to change the PATH so
/usr/local/bin is at the start, making sure anything you install there is used over the system defaults in /bin. Add this as a line below your existing PATH definition (or just add it in, if you don’t have an existing line):
Step 2: Install Brew
Strictly speaking, Brew (aka Homebrew) isn’t required, but I used it to install MySQL later, and it does make it stupid easy to install stuff into OS X. I think you should install it. The best instructions are found on the Homebrew home page, so go have a read there. There are a few pre-requisites, but nothing too difficult.
Step 3: Install PHP-OSX
Now we’re beginning to get somewhere! PHP-OSX is the latest versions of PHP compiled for OSX by Liip. Installation is a real doddle, from the command line:
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4
Follow the prompts given, including entering your password. After a few moments everything will have installed. For convenience I created a symbolic link to the newly installed PHP binary in
ln -s /usr/local/php5/bin/php /usr/local/bin/php
Step 4: Install Composer
Now we have PHP installed, it’s time to look at the nice-to-haves, like a good package/dependency manager. Composer is relatively new on the block, and allows others to download your code and automatically grab any dependencies by running a simple command.
You can install Composer in your project, or you can install it globally. I prefer globally. As with PHP, installation is simple, from the command line:
curl -s http://getcomposer.org/composer.phar -o /usr/local/bin/composer chmod +x /usr/local/bin/composer
Step 5: Install PHP Coding Standards Fixer
Another nice-to-have, this little tool will try to find and fix parts of your code where it does not conform to one of the PHP Coding Style Guides. Installation is almost identical to Composer:
curl http://cs.sensiolabs.org/get/php-cs-fixer.phar -o /usr/local/bin/php-cs-fixer chmod +x /usr/local/bin/php-cs-fixer
Step 6: Install MySQL
If you installed Brew in step 2, then you’re good to go with this little command:
brew install mysql
It’ll take a few minutes, but you shouldn’t need to intervene at all. Once done you will need to run two more command to setup the MySQL tables:
unset TMPDIR mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
If you didn’t install Brew, then you will need to install MySQL through some other means, such as packages on the MySQL website. I can’t help you with that, I’m afraid.
For managing MySQL, I use the excellent Sequel Pro, which is a successor to the venerable CocoaSQL.
As a next step you should look into changing the root password of your MySQL setup. This is a local dev environment, and likely only used locally by yourself, but it’s the proper thing to do.
- Pear doesn’t seem to work, which is slightly annoying, but (to me) no real biggie. I didn’t test this with the built-in version of PHP, so I don’t know whether it worked beforehand. I’ll post an update once I figure it out.
- I’d like to make bash script smart enough to stop MySQL when the PHP web server stops, but my early attempts haven’t managed to get this working (most likely due to the Ctrl-C used to stop the web server also stopping the script).
- Throughout this process we’re running scripts directly from the web. This is pretty risky behaviour, especially with unknown/untrusted sources. You should always take a look at the raw script before running it, so you don’t get hit by something malicious.
Something I like to do for each of my Macs, is keep a backed-up folder containing all the “essential” apps for both machines (along with all registration codes for easy reinstallation). I was updating my iBook copy this evening and thought I’d share. Some of these are generic apps that I’d use on either machine, while others are iBook specific.
Side-note – My iBook is pretty exclusively a web development machine.
Textmate. Textmate describes itself as “the missing editor for OS X”. I’m not sure what that’s meant to mean but hey, I’ll take their word for it! Textmate was the first Mac App I ever bought and is by far the best file editor I have ever used. Textmate handles just about any text file format you can throw at it, and above all else, lets you work without getting in your way. Seriously worth trying.
Ecto. Ecto is the best blogging client in the world. Especially on the Mac. I used to be a fan of MarsEdit (I own licenses for both), but Ecto won out in the end for its wider range of features. If you’re in any way serious about this blogging malarkey, I’d recommend you give it a try. Even the Windows version is recommended (although, naturally, it’s nowhere near as good as the Mac edition!)
Transmit. If Textmate was the first Mac App I paid for, then Panic Software’s Transmit was the second. It’s a S/FTP client with more features than you’re ever likely to need, but wrapped in a highly polished and intuitive interface. Transmit makes working with files on remote servers as effortless as working with local files in Finder. The synchronisation features alone are worth the price of the license.
Coconut Battery. More of a useful widget than an application, Coconut Battery can tell you near enough anything you need to know about the status and health of your battery. Ideal for checking if you want to know if you’ll be needing to buy a replacement any time soon.
Colloquy. Sometimes, the best – or only – way to get help on open-source applications/scripts, etc, is to jump into an IRC room. Colloquy is the best OS X IRC client I’ve found. As a rule, I don’t like chat or IM applications (they tend to be little more than a distraction), but Colloquy has helped me get access to the right answers on more than one occasion.
That’s really it for my iBook’s list of essential apps; I try to keep laptops “light”, hence the short list. My iMac list is probably huge in comparison. Besides, my other needs are either met by the apps bundled with OS X – Safari for web browsing, Terminal.app for command-line activity (remote sessions, etc.), iTunes and what-not, or by web applications –PHPMyAdmin for MySQL administration, Roundcube for accessing my IMAP email anywhere. Are there any applications you can’t live without on your Apple laptop? Please share!