Making the Switch: The move from Android to iOS

This is a follow up post to the previous post about switching from Android to iOS.

It has been about a month since I made the switch, and so far there haven't been any big surprises. I have argued for years that when you consider what you use a smartphone for these days, the day-to-day use of an iPhone versus Android are quite minimal. Most of what I (and pretty much everyone I know) do include email, web browsing, and some social media (Facebook, Twitter, etc). The experience of these activities really doesn't change much across devices.

There are things that I knew would be slightly different (and annoying). For example, I use Chrome as my browser across all devices. I do not want to use Safari, but Apple does not let you change the default browser in iOS. So, I sometimes have to click on a link to open a page in Safari, copy the link, close the tab in Safari (so I don't end up with 500 zombie tabs), then open Chrome and paste in the link.

Using iMessage and FaceTime with family is nice. Again, I wish iPhone users were more willing to use a messaging platform that was inclusive, but generally speaking they just aren't.

The resale value of Android phones that I mentioned in the previous post really hit home. I managed to sell my Samsung A5 2017 for roughly 25% of its original value. That hurt.

Overall, the transition has been relatively painless (apart from losing so much value in the resale of my Android device).

Making the switch: Moving from Android to iOS

I have used Android phones for nearly 10 years now. My first Android phone was the first Android phone; the T-Mobile G1. I transitioned through a few different phones, and was appreciative of the developer community that kept these phones up to date long after the manufacturers had abandoned them.

I did get tired of replacing my phone so often, but the combination of rapidly improving hardware and unstable unofficial Android ROMs made it hard to stick with a phone for more than a year or so.

Then I bought the Nexus 5. I bought it at launch. It was a phone with high-end specs and a $400 price. Google provided three years of updates for their Nexus line, and I kept my Nexus 5 for just over three years. It had a mediocre (at best) camera, and poor battery life, but I loved that phone.

I tried switching to the Axon Pro, another Android with high-end specs and reasonable price. Sadly, it only received one update despite being ZTE's flagship phone, and it was much larger than I wanted my phone to be. I switch again in less than a year to the mid-range Samsung Galaxy A5. It's not a bad phone, but it's not great and I honestly don't know how long Samsung plans to keep the A5 updated.

So, what kept me from Apple all those years, and what has changed?

Price was a big factor. The iPhone is a very expensive phone. Unfortunately, if I want to repeat my "Nexus 5" experience, I would need to look at getting one of Google's Pixel phones and long gone are the days of Google's flagship phone costing $400.

From a personal perspective, most of my family use iPhones. While I wished people would transition to a cross-platform messaging system (like WhatsApp), Apple has successfully sucked people into the iMessage/FaceTime vortex. I don't like it, but not liking something doesn't keep it from being a reality.

Phone hardware is also not changing as rapidly as it once did. Keeping a phone for over three years isn't as crazy sounding as it once was, as long as the manufacturer is still supporting it. This fall, Apple released iOS 12 for the iPhone 5S, a 5-year old device! I have a family member with that phone. It still works great, and it has current software! I am not aware of a single Android device that has official support after 3 years, let alone 5.

One final note is that every time I have changed my Android device, the depreciation was significant. I am blown away by the resale value of used iPhones. Maybe in the long run the iPhone won't be as expensive as it first seems.

So, I'm giving the iPhone thing a whirl. I know there will be things that drive me crazy, and only time will tell whether this experiment will be a positive experience.

Misadventures with Thunderbolt

The Promising Technology

Thunderbolt is a port technology by Intel, and first appeared on Macs in 2011. Originally, the primary use for Thunderbolt was as a video port (mini DisplayPort), though there were some other peripherals, such as external storage. With Thunderbolt 3, things got very interesting. The connector switched to USB Type-C, and the port included USB compatibility. The peak bandwidth was also increased to 40Gbps, opening up many possibilities for extremely high bandwidth devices such as external graphics. Even better, Thunderbolt 3 could deliver up to 100W of power, either to devices attached to the computer, or to the computer from the attached device.

On paper, things sounded amazing. Reality, as is often the case, was quite a bit different.

In 2016 I purchased an Asus GL702VM gaming laptop. Asus proudly advertised "Onboard Intel® Thunderbolt™ technology" that "gives you single-cable data and signal transmission rates of up to 40Gbits/s". I had kept my previous gaming laptop for 4 years, and the only reason I upgraded from it was the aging graphics chip it used. I figured a Thunderbolt 3 port would allow me to upgrade the graphics chips down the road, extending the life of the laptop.

At work, to support our Mac users, I use a 2016 MacBook Pro with 4 Thunderbolt 3 ports.

This year, we decided that new laptops acquired for staff should also include Thunderbolt 3, and that we could start looking for a universal docking station for use with any laptop going forward. We ordered a Dell Latitude 5480, which reviews showed as having a Thunderbolt 3 port.

Things were looking promising for Thunderbolt 3; the one port to rule them all.

And then...

I recently acquired a Gigabyte Aorus GTX 1080 eGPU (external graphics) box. Graphics cards are extremely expensive due to the cryptocurrency mining craze, but somehow the Gigabyte eGPU managed to be the cheapest GTX 1080 available. While researching eGPU configurations for my Asus laptop, I discovered that the Thunderbolt 3 chip Asus used was an "LP" version that only worked at 20Gbps (half of Thunderbolt 3's advertised peak speed). Asus does not list this anywhere on the product page, and this chip is essentially Intel's dirty little Thunderbolt 3 secret.

Next, our order for the Dell Latitude 5480 came in, along with the Thunderbolt 3 docks. I connected the dock to the Dell and discovered that only a specific configuration of the 5480 (with a completely unrelated GeForce 930MX graphics chip) includes Thunderbolt 3. The model we received has a regular USB Type-C port. Fortunately we were able to return the laptops and order replacements with the Thunderbolt 3 port, but Dell is needlessly creating confusion on this laptop. If you've been considering it, be careful ordering.

Finally, I connected the Dell Thunderbolt 3 dock to the 2016 MacBook Pro. Nothing. Apple has a "whitelist" of supported Thunderbolt 3 devices, and unsupported devices simply won't work. There is a hack that removes Apple's arbitrary and artificial device check. Once I went through those steps, the dock functioned mostly OK; everything worked but only one external display can be used.

Someday?

Perhaps there is some hope for Thunderbolt 3. Intel is making Thunderbolt 3 royalty-free, so it may start showing up in more devices. I just hope that laptop manufacturers stop using the slower version of Intel's Thunderbolt 3 chip, or at least are more clear which chip they are using. Other Thunderbolt 3 docks are supported by Apple (though they are significantly more expensive of course), and offer Windows compatibility as well. Although I could say I hope that Apple removes their ridiculous "supported" check, Apple's history makes that scenario unlikely.

Putting ICE on IT

I have worked in what is traditionally viewed as "IT", or Information Technology for a very long time now. However, since I began working in the Faculty of Education at Brock University, my initial IT position has evolved in wonderful and important ways. To support the Teacher Candidates and our faculty, I became increasingly involved with what has been traditionally viewed (apologies for the redundancy) as Educational Technology.

Over the last few years, I have realized that neither IT nor ET can adequately capture what is truly happening in education, from K-12 through higher education.

There are many technologies that enable teaching, learning, and research. Some technologies are commonly used in education, but can hardly be described as educational technology. Examples include presentation tools and learning management systems. I am more inclined to describe these as Instructional Technologies (though IT already exists as a separate entity). Similarly, technologies such as video conferencing and shared document editing are commonly used in education, but are better described as Collaboration Technologies. There are indeed Educational Technologies, but which category they fall under depends on their specific use. Tablets are a good example.

Almost hand-in-hand with these technologies there tend to be associated staff members, focused on specific areas.

For several months now I have been considering a more holistic approach; a combination of Instructional, Collaboration, Educational, and Information Technology. Although I am not a huge fan of acronyms, I feel that describing all of the relevant technology pieces would be a little too cumbersome.

Welcome to ICEIT.

This is more than just a name. It reflects that these individual pieces are stronger together; that there needs to be a collaborative approach to technology. Each letter does not represent an individual territory to be claimed by individual staff or units. It is a whole, and all of the members need to work together for it to be effective.

I look forward to the coming months as we start to look at this approach in the Faculty of Education.

Bashing a broken feature of Apple Configurator 2

I have commented before on some of Apple Configurator 2's (AC2) broken features. There are even some new annoyances that have come to light that make me wonder if Apple hired some high school students for a weekend to program AC2.

One of the biggest things that Apple broke in AC2 that worked just fine in Configurator 1 (AC1) is related to the device names. If you manage a large set of shared iPads, you probably need to fully wipe the iPads from time-to-time to clear out personal user data. Wiping the iPads with a Prepare job is easy enough. Unfortunately, when you run the Prepare job, AC2 resets the names of the iPads and completely forgets the previously assigned names! This is a huge problem when you're trying to troubleshoot issues with a specific iPad. In AC1, the iPads would get renamed to the previously assigned name. I have no idea why Apple removed this functionality in AC2.

In my previous post, I described how to use AC2 in combination with AC1. The Prepare is done via AC2 (which has some iOS 9+ specific Prepare options not found in AC1), and then run AC1 to rename the iPads. Unfortunately, we just replaced the Macs used to manage our iPads and AC1 doesn't just want to rename the iPads, but now wipes them too (undoing the Prepare job). There may also be people out there who don't have AC1 (and don't feel comfortable retrieving it from some sketchy download site).

Bash to the rescue!

AC2 does include a very handy command-line utility that can be used in bash shell scripts to both capture the current device names, and apply those names back to the right iPads. To ensure the command-line utility is installed, click the Apple Configurator 2 menu, and choose "Install Automation Tools...". Now to create the files you will need.

First, let's create a mapping of device ID to current name. Make sure all of the iPads you want to manage are connected. Open a Terminal window and run the following commands.

mkdir ~/Desktop/Rename
/usr/local/bin/cfgutil list | sed -e 's/.*ECID: 0x/0x/' | sed -e 's/[ ]*UDID: .*Name: /,/' >> ~/Desktop/Rename/ipad_lookup.txt

Note that is a tab between the [ ]. You cannot just hit the tab key in Terminal for a tab. You must first press CTRL+V, then the tab key.

This will create a CSV (comma separated values) text file with the device ID to name mapping in a folder called "Rename" on your desktop. Save this file (make a backup somewhere). You don't want to lose it. Open the file with a text editor to make sure all of the iPads are listed. You should only need to run this command once unless you add more iPads or decide to rename them.

Once you have the above file, you can safely run a Prepare job. After the Prepare job is done, you will need a script to rename the iPads. Rather than give full details about how to create a script here, I will simply refer you to another site describing the process. It isn't hard, and you just need to do this once. Simply follow the steps there, copying in the following lines into the script.

#!/bin/bash
WORKDIR=~/Desktop/Rename
/usr/local/bin/cfgutil list | sed -e 's/.*ECID: 0x/0x/' | sed -e 's/.UDID:.*//' > $WORKDIR/connected_iPads
while read ECID; do
  IPADNAME=`grep $ECID $WORKDIR/ipad_lookup.txt | sed -e 's/.*,//'`
  /usr/local/bin/cfgutil -e $ECID rename "$IPADNAME"
done < "$WORKDIR/connected_iPads"
rm $WORKDIR/connected_iPads

Make sure to save the script in the Rename folder on your desktop. I named the script file "renameConnectediPads.sh".

That script first detects all connected devices. For each connected device, it looks up the unique device ID in the previously created ipad_lookup.txt file, and renames the iPad accordingly. You can run this script while AC2 is running, and watch the names change as the script runs.

There you have it. Bash scripting is extremely powerful, and in just a few lines it solves one of the most annoying problems with AC2.

The Physical Web

This will just be a quick post for an experiment over the next few days.

If you are at FETC 2017 and get notified about this post, take a look around. I should be nearby. Introduce yourself and let me know your experiences with beacons and the physical web.

For those of you reading this and wondering what the heck is the physical web, take a look at bkon.com's Physical Web Q&A.

As for my own personal experiences, I have yet to stumble across a single beacon in my travels. Maybe that will change this week since this is the first large technology conference I will be at since enabling the physical web settings on my device.

New PC Laptop - Nearly Four Years Later

I purchased a Lenovo Y580 laptop three years, ten months ago. I blogged about that experience, and talked about its specs, particularly compared to the MacBook Pro of the time. I was able to put together a relatively powerful laptop for less than $1400 (Canadian). Of course, that was back when the Canadian dollar was pretty much at par with the US dollar.

I started to feel the "upgrade bug" this year, and had a pretty good feeling some technological features would come together to make it a good time to purchase my next computer. The Lenovo Y580 was my first gaming laptop, and it really was a (mostly) good experience, so I'm sticking with a laptop again this time around.

After looking at several models, I found the Asus GL702VM. This laptop ships in two versions; one with a 256GB SSD for $1599 US and another with just the 1TB hard drive for $1399US. You can pick up a 256GB SSD for much less than $200, so the cheaper model is a wiser choice. With an SSD added, the GL702VM is a higher price than the Y580 was 4 years ago (as I had it configured), but only slightly. Unfortunately, the Canadian dollar is only worth about 75 cents US, so in Canadian dollars there is a pretty large difference.

So, how big of a difference is there between these two mid-range laptops launched nearly four years apart? Well, there are a few noticeable technological improvements, and there are some surprisingly similar details that really highlight how technological advancements have started to slow to a crawl.

Processor

The processor in the Y580 is an Intel Core i7 3630QM. This is the third generation 2.4GHz quad-core, eight-thread Intel Core i processor. The GL702VM has a sixth generation Core i7 6700HQ, a 2.6GHz quad-core, eight-thread processor. PC Perspective ran comprehensive benchmarks comparing Intel Core processors from the second generation through the sixth. The improvements from the 3rd- to 6th-gen Core i7 processor range from 5% to 50%, but most falling around the 15% to 20% range. This assumes that the processors are running at the same speed, but the i7 6700HQ has a 200MHz advantage.

However, these improvements need to be put into context. The improvements PC Perspective saw in games was exaggerated by using a dual-video card setup that is not only known to be CPU intensive, but also more expensive than most gamers can afford. Some of the benchmarks are referred to as "synthetic" because they are directly measuring CPU performance and aren't actual programs that a user would run.

So, the real question is, does the new laptop "feel faster" in the day-to-day applications that I run? In short, no. I imagine I could get figures accurate to a fraction of a second, but I ran various tests simultaneously between the two laptops and then just observed how long a task would take. To try to make it a "fair fight", I reformatted the Y580 with a fresh install of Windows 10. Start up, shut down and rebooting times were virtually identical. Most programs launched slightly faster on the new Asus laptop, but generally this would mean less than two seconds difference. Application loading aside, the new laptop doesn't actually feel any faster for general use. There were some instances where the new laptop performed quite a bit better, but I am certain that it had little to do with the processor. I'll touch on those later.

Memory

From the start, I had configured the Y580 with 16GB of RAM running in dual channel (two 8GB memory modules). Although 8GB of RAM is normally sufficient for most users, I like to run virtual machines on my computer, so more RAM is definitely better. What about the GL702VM? It has one 16GB RAM module. Of course there has been a transition to a newer type of memory (DDR3 to DDR4), but there are few applications that benefit from slightly faster memory in any significant way. In fact, the total memory bandwidth will probably be slightly lower on the new laptop since the new DDR4 memory is only running in single channel compared to the dual channel configuration of the DDR3 memory.

So, after nearly four years, I have the exact same amount of RAM in my new laptop.

Storage

Solid state drives (SSDs) have been rapidly gaining in popularity over the last several years. Even in 2012, I knew that any system (laptop or otherwise) that I would get would have to have an SSD. For years, traditional hard drives were the primary storage device in computers. As processors, RAM, graphics chips, and virtually every other component in a computer were getting significantly faster every year, hard drives were only getting incrementally faster. Hard drives have a way of making even the most powerful computer slow to a crawl, especially while starting up or launching an application.

So, when I ordered the Y580 I added in a 256GB SSD. That SSD is still working great today and uses an interface known as SATA (mSATA, SATA III to be precise). When ordering the GL702VM, I managed to get a really good pre-order price on the model with the 256GB SSD. Despite Asus' own product page bragging about the new, faster NVMe SSD interface, the SSD they pre-install is still based on SATA. Although it uses the same interface as the older SSD, the new SSD is definitely faster. When dealing with large programs, such as games, the new laptop would finish loading noticeably sooner. As an example, the graphics benchmark Unigine Valley finished loading roughly 8 seconds faster on the GL702VM.

While SSD's are fast, they are quite a bit more expensive than traditional hard drives. If you want to store lots of files (pictures, videos, etc), you are probably going to still need a hard drive. The Y580 came with a 1TB 5400rpm hard drive. The GL702VM ships with a 1TB 7200rpm hard drive, so it is technically faster, but it makes little difference in how fast the laptop feels.

One other noticeable difference between the two laptops is something that the new laptop lacks; optical storage. The Y580 included a Blu-ray reader. The lack of an optical drive in a new laptop is hardly a surprise today. I tend to be more surprised by how many laptops still include one. There is an advantage to not having an optical drive as well; it helps keep the weight and size of the laptop down. This new, more powerful laptop is actually slightly lighter than the old one (2.7 kg vs 2.8 kg), and is quite a bit thinner (24mm vs 36mm).

Again, like with the RAM, I am getting a laptop with the exact same amount of storage, and drives that are only slightly faster than I have been using for nearly four years.

GPU (Graphics Chip)

Right off the bat I will say that this is one area where the new laptop has definitely improved in a huge way. The new GTX 1060 graphics processing unit (GPU) has over three times as many graphics "cores" that are two generations newer than the GTX 660m found in my old laptop. Those cores in the GTX 1060 also run at clock speeds nearly double those found in the GTX 660m. There is three times as much graphics memory on the GTX 1060 (6GB vs 2GB), and that memory has three times as much bandwidth as the GTX 660m (192GB/s vs 64GB/s). When it comes to graphics intensive applications, like games, there is no comparison between the new and old laptops.

The GL702VM is able to play any modern game with relative ease. The Y580 can play those same games, but many graphical details must be scaled back and/or the game must be run at a lower resolution. Finally, this is one area where four years has made a huge difference.

Display

I have to admit that I didn't need a new laptop; not really anyway. The Y580 was only starting to show its age when it came to the latest video games with high-end system requirements. I could have still played those games; they just wouldn't have looked as good. There is one reason that I needed to replace my laptop. At 45 years old, I have started to notice that a 15.6 inch 1080 display is getting to be just a little too small. This time I went a little bigger; the GL702VM has a 17.3 inch 1080 display.

Remarkably, the new laptop is barely larger than the 15.6" Y580. The bezels around the display are actually quite small. The GL702VM is only about 30mm wider, and 25mm deeper than the Y580.

Other than the size advantage, the new display is capable of refreshing at up to 75Hz. Many laptops (including the Y580) have a refresh rate of 60Hz. I say "up to 75Hz" because the new laptop includes a technology called G-Sync. This is an important technology for gaming. There are much better descriptions of G-Sync out there, but in short it lets the laptop refresh the display when a new full frame is ready rather than at a fixed rate. With fixed refresh rates, games suffer from one of two issues (the user chooses which). You can either tell the graphics chip to draw the frames whenever they're ready, or tell it to synchronize fully drawn frames with the refresh rate. The former leads to an issue known as tearing; the top portion of the screen has part of one frame, while the bottom of the screen is showing part of the following frame. The latter choice causes stutter; the graphics chip may not be finished drawing a full screen when the display is ready, so it waits for the next refresh cycle.

The new display uses an IPS panel compared to the old laptop's TN panel. IPS panels have much better colours and brightness, and wider viewing angles.

Other New/Cool Stuff

Although there are some aspects of the new laptop that fail to impress when compared to my old laptop, there are definitely some cool technologies that I am excited about.

The first is the Thunderbolt 3 port. This port uses a USB Type-C connector (which is becoming more common every month), but is quite a bit faster than a regular USB 3.1 port (40Gbps vs 10Gbps). One of the most exciting Thunderbolt 3 accessories is an external GPU dock. This makes it possible to add a full desktop graphics card to the laptop down the road. Hopefully the new laptop is as good to me as the Y580, and it should last me even longer than 4 years.

Another technology that is "under the hood" is the ability to use an NVMe SSD. NVMe SSDs are quite a bit faster than (the already fast) SATA-based SSDs. Again, this is a technology that should help keep this laptop feeling quick for several years.

One final reason to get excited about the GL702VM is that it is VR capable and meets the requirements of the HTC Vive and Oculus Rift VR headsets. Of course, these headsets are quite expensive right now, but at least I know the laptop will be able to handle VR.