2: Universal iOS & macOS Apps
David discusses the Apple’s recent universal purchase and App Store categories announcement: https://developer.apple.com/news/?id=02052020a
David discusses the Apple’s recent universal purchase and App Store categories announcement: https://developer.apple.com/news/?id=02052020a
Poor ol’ Siri has had a lot of criticism in recent years and unfortunately almost all of it has been well justified. Hopefully the recent announcement that former Googler John Giannandrea is taking over as head of the machine learning and Siri teams at Apple will mean good things for the beleaguered virtual assistant’s future. For now though, let’s face it, when compared to the competition (notably Google’s Assistant and Amazon’s Alexa) Siri is just plain average.
One aspect of Siri’s struggles that doesn’t get much attention is the sub-par data sources it has has to draw on. While it is admittedly difficult to go up against the data king, Google, in this space, sometimes mistakes are laughable and completely undermine any confidence one might have in Apple’s vocal helper.
One example first discovered by my dear mother towards the end of last year is Apple’s mistaken belief that the upcoming Grand Final Friday public holiday for the Australian state of Victoria is on October 5, which is presented to users as fact both through Siri interactions and via the company’s built-in calendar application. The correct date however, is September 28, as is listed by Google and every other reputable source of public holiday information.
In an effort to help out the Silicon Valley giant — and anyone planning a vacation around the holiday — I reached out to Apple’s Twitter support team in early February with details of the issue and was told it had been “forwarded to the proper team for investigation”. Sadly it seems that investigation has gone nowhere, leaving the Apple-toting contingent of the 6,358,900 people that call Victoria home having to wait an extra week for their next day off.
You need to do better Apple, please fix this and give Siri the resources it needs to succeed.
As we know the visual style of Apple's mobile OS changed significantly with the introduction of iOS 7, and like most developers the team and I at Armchair Engineering made a concerted effort to update our applications to reflect this new direction. Many of our apps make use of custom input views to provide a nicer numerical keyboard than the default offering, to refresh these we decided to make the number pad partially transparent, taking the lead of the standard system keyboard.
Both UITextField and UITextView have supported custom input views since iOS 3.2 and implementing them is really dead simple, even with a translucent background. That was until iOS 8 came along, which for whatever reason introduced a solid grey view underneath all custom input views and, as you can see from the screenshot below, completely ruined the semi-transparent effect we were going for.
Fraction Help screenshot - Before (left) and after fix (right)
The first solution we tried was to walk through the view hierarchy, find and alter the opacity of the offending view (UIKBInputBackdropView). While this approach does work, the keyboard is redrawn every time it appears and we often saw a short glimpse of grey each time before being able to hide that pesky backing view, which looked a little too sloppy for us to persist with long.
Both UITextField and UITextView also have an inputAccessoryView property, which is used to place an additional view atop of the keyboard to augment and provide additional functionality. We were already using this to provide a quick way for the user to jump back and forth between the text fields and for the clear all function (also visible in the image above). Unlike good ol' inputView this accessory view was never gifted a grey backdrop with iOS 8. As such the easiest solution turned out to be to just use this for the whole keyboard, and set an empty UIView of size zero as the inputView, bypassing it altogether.