all in with apple – part 1

Taken with an iPhone 6s Plus

For the past year (since November 2014) I’ve been surreptitiously moving from a reliance on Windows, Linux and Android based devices to devices using Mac OS X and iOS. It started with the purchase of an iPad Air 2 in November 2014, the one to the left with the picture of Lucy on the lock screen, and continued until this November and the purchase of the 15″ Retina Macbook Pro on the right. My Olympus E-M10 is in the mix for a sense of scale. And because I like that little camera.

My shift started with my growing dissatisfaction with Android, especially how Samsung was handling Android on my Galaxy S4. Especially with regards to security updates. I have two other Android devices, a pair of 2013 Nexus 7 tablets. I’ve watched those tablets upgrade over the air from version 4.4.2 to 5 and recently to Android 6. It took a long time from Google’s announcement to OTA upgrade, far longer than Apple takes with iOS after an Apple announcement. And Samsung? It did eventually upgrade to 5, then 5.0.1, and finally 5.0.2. Complete with Samsung’s skin and apps. A mess which I was willing to put up with when I first purchased the S4, but after two years of constant exposure, it finally wore me down.

I didn’t realize at first just how dissatisfied I was becoming with Android. And yet, in hindsight, it was inevitable. That dissatisfaction was first expressed with the purchase of the iPad Air 2. At the time I was trying to decide between the iPad and a Samsung Galaxy S2 10″ tablet. The Samsung was about $150 cheaper, but was only available in 64GB maximum internal storage. After two days of vacillating I purchased the iPad with the idea of learning how to do sophisticated image post-processing while on travel. I’d purchased the Olympus E-M10 in September of that year because of a key feature, WiFi interconnectivity with any mobile device running Olympus’ OI.Share app. You could get that app for both Android and iOS. When I got the E-M10 I naturally installed the Android version on my Galaxy S4. And I was very impressed.

The problem was I only had 16GB on the S4, even though I had a 64GB micro SD card installed in the phone. OI.Share couldn’t be coerced into storing the E-M10’s images in the micro SD card, and as a consequence the limited internal 16GB began to fill. After a time I moved some of the images up to Google Drive, and some of them to Flickr, and the majority of them off to my Windows PC. It was awkward but doable, but it added additional steps to my workflow of using camera and phone together for photographic work. And I am not a fan of automatic upload to Google Drive or any other location in the “cloud.”

So in November I purchased the iPad with 128 GB of storage, a Logitech Bluetooth keyboard and cover, installed a few apps, and took the whole combination to Japan for Yama Sakura 67 in December 2014. I’d also taken my Samsung 17″ running Windows 8.1, but I’d left my primary photo storage drive, a 1.5 TB WD My Passport Ultra. I didn’t want it lost or broken. With the external drive at home I didn’t want to use Lightroom. I decided to work everything on the iPad.

The iPad worked pretty well for the most part. I discovered a lot about using the iPad for creative work, and learned to “trust” JPEGs again. That’s because there are no RAW converters for Olympus RAW files on iOS (nor on Android for that matter). In spite of some quirks, the combination was good enough that I depended on it again in April of this year on another Japan business trip, and I’m going to use it once more this December in Japan. The iPad Air 2 and the E-M10 make a portable, potent combination. With WiFi connectivity I can push my finished work up to Flickr, Instagram, and WordPress (especially blogging). And with the purchase of an iPhone 6s Plus, I can use either iDevice to pull images off the E-M10 and use pretty much the same post processing workflow. I still need the iPad with its keyboard for writing.

I was happy enough that by March I purchased a refurbished late 2012 Mac Mini Server model. That allowed me to begin to tie backups from my iPad and my wife’s mid-2012 MBP together. And it was from the Mac Mini that I grew comfortable with OS X. And that helped to ease the decision to purchase an iPhone 6s Plus to replace my Galaxy S4 in early November. That, and Apple’s Upgrade Program. With the Upgrade Program, combined with Apple’s software upgrade policy across their iOS devices, I can now maintain an up-to-date iDevice, the phone. Every year now I’ll get a new ‘S’ device. Right now my opinion of the iPhone with Apple’s custom ARM chips is that anything else is a waste of money. The iPhone is that good.

All of which led me to the purchase of the MBP. I purchased that for the express purpose of replacing, over time, my Samsung 17″ Chronos 7 notebook running Windows 10 as well as my much older Samsung running Ubuntu 15.04. The MBP is combining what I consider the best attributes of both.

The desktop should remind Ubuntu users of Ubuntu’s Unity desktop, with the dock to the left. I chose this combination because I learned, on my Mac Mini Server, that I could have the equivalent of Windows and Linux under one environment. The key Windows feature I want and need is Office. The pieces of Office I need are Word, Excel and PowerPoint. And they work pretty much across either Windows or OS X. There is no office for Linux and there may never be. Trying to work with complex Office documents with LibreOffice, the best of the free office suites on Linux, is a recipe for slow madness. I know, I tried.

And if I need a “pure” Linux? I’ve discovered I can get that by running one or more Linux distributions on OS X via VirtualBox.

Languages such as Oracle’s latest Java, Google’s Go, Python, and Rust are dead simple to drop into the OS X environment. The biggest and the best, Swift, is available through Xcode. And I can share, via a common folder on the OS X file system, files between the Linux VM and native tools on OS X.

Time permitting I’ll do a more detailed comparison between the individual Apple devices and everybody else. But for now I have to say I’m pretty well satisfied. It’s certainly not perfect, but it’s better than most else I’ve been dealing with over the past two-plus years. In spite of what the current critics may say, Apple’s hardware and software is more than good enough, and in many cases, better than the current state of the competition for my use. Your milage, as they always say, will vary.

For me, however, I’m all in with Apple.

adding java and java-supported development tools to os x yosemite

I’ve been adding capabilities to my Mac Mini since powering it up the middle of this past week. After performing all the necessary OS updates, I installed Xcode 6.2.2. Xcode comes with a series of tools, one of which will be shown later in this article.The installation of Xcode is important to the clean installation of two Java-based tools later on in this post, Android Studio and IntelliJ IDE 14.

System Specifics

  • Mac mini Server (Late 2012)
  • Processor 2.3 GHz Intel Core i7
  • Memory 4GB
  • Two, 2 TB HDD

Preconditions

  • Mac OS X Yosemite Version 10.10.1 (update free from App Store)
  • Mac Server 4.0.3 (update free from App Store)
  • Xcode 6.2.2 (installed free from App Store)
  • Apple’s Java (Java 6) is not installed

Software Installed

Installation of Latest Java

Download the latest version from the Oracle Technology Network. You should be able to find the latest under New Downloads in the upper right corner of the web page. For this example I’m installing the 64-bit Java 8 update 31 (jdk-8u31-macosx-x64.dmg). After download start the installation by clicking or double clicking, depending on where you find the dmg file, to launch the installer.
Simply follow the directions and double click the icon (the transparent yellow square in the open box) to start the installation of Java. The first screen presented to you will be an introduction. There’s very little there, so click through.

When you click to install, it will ask you for your login account password, so type it in to continue.
The installation is a simple progress bar. When it reaches the end all the software will be installed on your system. The last dialog is the summary with a close button. Once installed you can add a JAVA_HOME variable if you like with an “export JAVA_HOME=$(/usr/libexec/java_home)” in your .profile, but I don’t believe it’s necessary. You certainly don’t need to edit $PATH, as there are links to java, javac, and jar in /usr/bin.

You can, if you also wish, download from the Oracle site the Java 8 demo examples. They’re all in a zip file. Once unzipped you’ll find all the demo and example applications that were once bundled with Java. Also included in this collection are example JavaFX applications which are well work looking at. JavaFX is so much better for UI development than the older and much worse looking Swing.

Android Studio and IntelliJ 14 IDE Pre-Installation Preparation

The installation for both is very similar, which they should be, considering that Android Studio is based on IntelliJ IDE. For both download their respective dmg files, double click them to open them in Finder, then drag them into the Application folder. Once in the Application folder you need to make a change to their respective plist files. Find the applications in the Application folder, and right click on them. Select Show Package Contents from the menu.

When the Contents folder appears, click through to the contents where info.plist is located. Double clock on info.plist.When Xcode opens up the plist (you did install Xcode, did you not?) open up JVMOptions, then select JVMVersion and clock on the string to edit it. The string, as shipped, is “1.6*”. Note the asterisk. If the string is left this way you will be prompted by both applications to install Apple’s much older Java 6. Changing the string to “1.6+”, with a “+” replacing “*”, tells the application to use the version of Java installed on the machine. Save this file and then double click the application to finish installation configuration.

For Android Studio I chose to download the separate Android SDK and install it (for my purposes) under $HOME/Java. The SDK comes as a zip file, so unzipping it under $HOME/Java produces $HOME/Java/android-sdk-macosx.

Installing Android Studio 1.0.1

With everything properly prepared, we’re ready to finish Android Studio’s installation (and IntelliJ if you’re so inclined). I’m only going to show Android Studio because it’s the more complex due to the Android SDK, but other than that they’re nearly identical.Make sure you open both top-level menu items and agree to their licensing.You’ll go through several minutes (or longer) of watching Android Studio download any Android SDK files it thinks it needs. This is just a typical capture of this process, and towards the end.We’re finally done!And ready to start development. The installation of IntelliJ is essentially the same but shorter. I’ll spare you the details.

Notes to The Gentle Reader

  • If you think this is overly complicated, it’s not. It’s no worse (and some might argue even simpler) than installation on Linux and Windows. The only obscure piece I had to go looking for was the plist adjustment. This information is missing on both Google’s Android Studio and Jetbrain’s IntelliJ IDEA websites. You’re welcome.
  • This is an initial install. I have no idea what will happen when I update Java, and I will update Java as each version is released. You update for the bug fixes. Failure to update any software is an invitation to grief, which is so easy to avoid. If any problems crop up when an update occurs then I’ll post an update about it here.