-
Fixing Missing Sound Output
As I was trying to troubleshoot why my media center Mac Mini froze twice over the last 2 days, I discovered that the sound output didn't list the Built-in speaker. After a bunch of searches with different suggestions, I decided to reset the NVRAM. The problem is that the Apple support docs say to use Command-Option-P-R at startup and my Mac Mini doesn't have a monitor or keyboard hooked up to it. After some additional searching I found the following command:
sudo nvram -c
and then a restart. After I did that, the sound output options were back. Yeah! Does this solve the freezes I've seen? I have no idea, yet, but at least I know one problem is solved.
-
The best, underutilized and poorly implemented accessibility feature
[Update - October 21, 2015: It looks like the issues with News have been fixed with the iOS 9.1 update. Yeah!]
iOS 7 brought a feature called dynamic type which moves away from developers specifying exact point sizes for text and instead uses a number of descriptions for fonts.
From UIFontDescriptor.h:
// Font text styles, semantic descriptions of the intended use for a font returned by +[UIFont preferredFontForTextStyle:] UIKIT_EXTERN NSString *const UIFontTextStyleTitle1 NS_AVAILABLE_IOS(9_0); UIKIT_EXTERN NSString *const UIFontTextStyleTitle2 NS_AVAILABLE_IOS(9_0); UIKIT_EXTERN NSString *const UIFontTextStyleTitle3 NS_AVAILABLE_IOS(9_0); UIKIT_EXTERN NSString *const UIFontTextStyleHeadline NS_AVAILABLE_IOS(7_0); UIKIT_EXTERN NSString *const UIFontTextStyleSubheadline NS_AVAILABLE_IOS(7_0); UIKIT_EXTERN NSString *const UIFontTextStyleBody NS_AVAILABLE_IOS(7_0); UIKIT_EXTERN NSString *const UIFontTextStyleCallout NS_AVAILABLE_IOS(9_0); UIKIT_EXTERN NSString *const UIFontTextStyleFootnote NS_AVAILABLE_IOS(7_0); UIKIT_EXTERN NSString *const UIFontTextStyleCaption1 NS_AVAILABLE_IOS(7_0); UIKIT_EXTERN NSString *const UIFontTextStyleCaption2 NS_AVAILABLE_IOS(7_0);
When developers use these instead of say Helvetica Neue 12, a user can change the font size in Settings->Display & Brightness->Text Size.
This is generally thought of as an accessibility feature as it helps people who have trouble seeing. However, for people like me who can see well with glasses, larger type is just more comfortable to read. Implementing this is quite easy, but requires a few extra steps like listening for changes to the fonts and making sure that table rows resize to accommodate the text. These steps aren't rocket science and don't take much effort, but many developers are constrained by what their designers give them and many designers are still used to specifying exact fonts as well as spacing. This needs to change as it is hurting those that want to increase the font size and also makes it harder to adapt to different screen sizes.
I've implemented dynamic type in a few of the apps I've done and it worked out well; the extra effort was worth it in my opinion. Some developers just don't care and other developers including Apple make an attempt, but fall short.
Here are images from the Apple News app. The first image is the standard text size; the second is the largest text size (largest before going into Accessibility and moving it to super large).
(I never knew there were images with the posts because they aren't seen with the large text.) You can see that the text resizes along with the cells, but the title collides with the first part of the article. That's pretty sloppy.
The next example is in Calendar. This one is worse than the first because the row is a fixed height and it looks like each row of text is also a fixed height so that when a larger font is used, it looks awful.
For a company that pays so much attention to accessibility, these examples show that individual teams making the apps aren't doing enough to look at their apps. Maybe all the engineers have great eyes and can see the text, but this does need to get fixed. (Filed as Apple Radar 23196322.)
Outside of Apple, developers need to pay more attention to this; accessibility is hard and I'll be the first to admit that I don't do enough on accessibility. Handling dynamic type is an easy first step in making apps more accessible and easier for everyone to use.
-
Recovering from a hack
At the end of last week, I got a message from my sister about a problem with her email account. It is a Google Apps for your Domain account and luckily, I don't manage it! Around the same time I got her message, I received email from Google that her account was suspended. Turns out when I setup the Google account, I added an admin account for me and had email forwarded to my main email address. This turns out to be a good thing as I was able to reset her password and get her going again. My sister explained that she had checked her email from her work Windows machine and it had some type of virus/malware on it and that caused her account to be compromised. Ouch. Like a good brother, I helped get things going again and told her (and the rest of my family) to enable 2 factor/2 step authentication everywhere it was available. In addition, I told her never to check her Google email from her work computer and just use her phone. That's probably good advice; don't use machines that aren't under your control if you can help it. Email can wait and with a smartphone, it is easy enough to check mail on the phone.
Her email address (not the account) was then used to send a bunch of spam. Unfortunately, there isn't much that can done about it. However, since I have control over the DNS for her domain, I setup SPF and DKIM so that any service that implements either or both of these will mark any mail that doesn't originate from Google servers as spam. Email that originates from a server not identified by SPF will have something like this in the header:
Received-SPF: fail (google.com: domain of person@example does not designate 185.27.28.62 as permitted sender) client-ip=185.27.28.62; Authentication Results: mx.google.com;
-
Looking for my next car
[Updated @ 3:50 pm with a line I forgot about changing needs.]
I currently drive a 2003 Toyota Highlander that has been treating me well since I bought it. I don't drive that much and the car hasn't had any problems. However, I'd like to get a new car before I start running into problems (based on my low mileage, that could be a long way off) and to get some more modern features found in cars. Another major reason to move away from the Highlander is that my needs have changed since I got it; I don't haul around stuff and don't usually haul people around besides my family. Earlier this year, I installed a new stereo which has been great and has breathed some new life into my car. Ever since my wife got her Honda CR-V 8.5 years ago, I've been interested in the Acura RDX which is kind of the luxury version of the CR-V. I had convinced myself that I was going to get this car and this was going to be the year. However, when the 2016 model came out, it didn't have Apple's CarPlay, so I put off getting a new car for another year.
A few months ago, I saw a post that Audi was going to start shipping it's A3 plug-in hybrid in the US in October. I hadn't thought about a hybrid, let alone a plug-in hybrid, but it looked interesting. As I don't drive much and the touted range of this car on electric was about 30 miles, I could possibly do most of my driving on electric. (In a few years I'm going to look at solar which would make charging a plug-in a lot less.) I have been driving an SUV for a long time, so going back to a sedan was going to be a change. All the features on the Audi look like it would meet my needs (luckily it isn't diesel :-)), except that it doesn't have CarPlay and Audi won't give me a straight answer on if the A3 will be upgradeable to it next year; other Audi models will get CarPlay, so I'd hope it is possible.
The styling on the A3 e-Tron isn't bad and I've been noticing more and more of the older A3 sport backs on the road. A few weeks ago, I noticed I was driving behind an A3 and saw the e-Tron logo with Michigan plates. Interesting because the car hadn't been released, yet. After a search online when we got home, I found out that Audi was test driving the A3 in San Diego and anyone could sign up. So the next day I took the car for a drive. Driving the car wasn't bad, but I'm not used to a sedan. It was quiet in all electric and seemed to perform OK, but the Audi guy just had me go in a big circle and I didn't get a chance to take it on the highway. I'm going to need more time with this car to see if it is all that I want; it didn't wow me out of the gate, so maybe that is a bad sign.
Some plug-in hybrids have federal tax credits available and in looking at the chart, I can see that most of the manufacturers don't make the plug-in hybrids every year. The number of choices for plug-in hybrids is quite small, so I may have to look elsewhere for my ideal car.
At the same time, I started looking at the gas mileage on the Acura RDX and it basically stinks. As I mentioned, I don't drive much, but it pains me to spend money on a new car that gets gas mileage only slightly better than my 13 year old Highlander (thanks to my Automatic, I can see I get around 20 mpg on average). So now I've crossed the Acura off the list and my list of cars to look at consists of just the Audi. Looking at other plug-in hybrids (they really seem to make a lot of sense), they're all ugly (what is up with this one)?
My needs are simple, my wants are more extensive. I definitely don't need a new car, but my wife keeps saying that I deserve one (I'm not going to argue with her :-)).
The San Diego International Auto Show is coming in January, so I'll use that opportunity to check out what cars could be on my short list.
Unfortunately I have a feeling that I'm not going to find exactly what I want and then I won't get anything; that will be fine for my wallet, but my wife said I deserve a new car, so I can't lose the opportunity!