Apple Special Event 2017

Apple Special Event 2017: A New Hope?

By Peng Xie

apple-event-2017-september-logo-610x659

(Originally written on Sep 19, 2017)

Last week, the Cupertino company opened the door of its new campus to guests with a special event led by a touching and inspiring tribute to Steve Jobs in the theater named after him. During the 2-hour keynote, CEO Tim Cook along with other familiar faces presented the world a fleet of next-gen Apple devices that immediately captured headlines of all major tech websites and publications regardless the leaks and speculations happened before the event. So, what does this special event mean for Apple and tech industry? And more importantly, what does it mean for us, the consumers?

In my opinion, this special event is the most important events for Apple in years. When Steve Jobs introduced the original iPhone and App Store, Apple virtually changed the whole smartphone industry and turned itself from a computer and music player manufacture into a leader in mobile devices, software and retail industries. Since then, even though there were still good yearly updates and new(ish) product releases from Apple, I felt a trend of slowing down…. until this year’s special event.

(I’ll be discussing the new products from the special event in the order of how I remembered them and how important I think they are, so pardon me if it is different from the order of how they were introduced.)

Apple Watch Series 3

Starting with Apple Watch Series 3, while mostly left unchanged in term of design, more powerful internals and the addition of LTE are definitely welcoming improvements. This is nothing new since there are already other Android Wear devices that have LTE capability. And given that the new Apple Watch’s LTE will only work in the country where it is purchased, I think Apple will continue to try to win over customers with the refinement of the Apple Watches instead of features. The thing that interests me most in the LTE Apple Watches is actually the internal SIM card. Apple is an active player in pushing new SIM card standard and has used similar technology in previous iPad models. I’d like to see Apple put this technology in future devices and make it another industrial standard just like what Apple did with micro and nano SIM cards in previous iPhone models. Telecom companies would welcome this feature since it can reduce cost of making SIM cards while give better control on devices activated on their networks. However, for consumers, an internal SIM card may not be preferred by some. Using a local SIM card while traveling will no longer be as easy as swap out SIM cards. To utilize the full benefit of an internal SIM card, phone manufactures and service providers should really come up with ways to streamline the activation experience for customers.

Apple TV 4K

Next one is Apple TV 4K. While the device itself is more like a catching up with other streaming devices to some people (Personally, I love tvOS and I think Apple TV has huge potentials.), the real exciting news is that Apple is making quality 4K contents more accessible than ever. Years ago, a format war between Blu-ray and HD-DVD backed by multiple big companies and studios like Sony and Warner Bros. made HD contents widely available to general publics. But today, even with the popularity of 4K TVs and YouTube videos, we rarely see 4K movies sold online or in stores. With Apple upgrading the movies in iTunes Store to 4K without raising the price, I believe other retailers and content providers will soon step up their games in 4K, which will in turn benefit consumers greatly with not only increased availability but (hopefully) also reduced cost of contents and devices.

iPhone 8 and iPhone X

Last but not the least are the iPhones. The same “magic” formula used in iPhone 6 is still being used in iPhone 8/8 Plus while Apple “revolutionized” the smartphone design with iPhone X. Funny enough the stunning glass back design on both iPhone 8 and the 10-year anniversary iPhone X is actually a throwback to iPhone 4 instead of the original iPhone. But this I think it is mostly due to the newly added wireless charging feature. The iPhones are using an older Qi standard so I don’t think there’s much to discuss on that. What’s most important to me is the heart of the new iPhones, the A11 Bionic chip. In an interview after the event, Apple’s marketing chief Phil Schiller said Apple started development of A11 chip 3 years ago when A8 chip was shipped with iPhone 6. The focus on graphics and neural networks processing in the design of A11 Bionic chip can give us a glimpse into Apple’s ambitions. Along with the introduction of ARKit and Core ML in iOS 11, Apple is obviously venturing into a future of augment reality and machine learning.

This is more or less a trend in the industry, but not all companies have the expertise across design, manufacturing and software development like Apple does. The Verge reported that the “notch” on iPhone X is as complex as a Microsoft Kinect. Packing all those components in an area that small is simply amazing. Paired with the powerful A11 chip, it will surely give iPhone X the ability to raise the bar for facial recognition technology. In addition, FaceID, AR and other processes will be great help in training Apple’s machine learning algorithm. A more intelligent device can significantly improve user experience with the help of Core ML framework.

Aside from all the praises, there are concerns over the brand new iPhone X. The “notch” design is not loved by all. The security of FaceID is yet to be tested by the public. And unsurprisingly there are privacy concerns regarding to the FaceID feature. To me, those are all valid concerns and healthy discussions. Not only Apple, but all manufactures and consumers should know what they’re dealing with and getting into. I’d like to see the big players like Apple, Google and Samsung work together to come up with an industrial standard to ensure the devices meet minimum security and privacy requirements.

Still a leader?

I believe the answer is positive. With a 50% sales growth, Apple replaced Rolex as the biggest watchmaker in the world. And the tech giant is now championing for a future of 4K contents. Even though iPhone 8/8 Plus mostly remain unchanged and iPhone X’s minimum bezel design is not a first in the industry, Apple will still be able to influence the design language for future smartphones. When we look back in a future of augment reality and devices with outstanding learning capabilities, I think we would all agree that this year’s Apple Special Event is as significant as the one where Steve Jobs introduced us to a legendary device called iPhone.

Here’s to the next 10 years!

Advertisements

WWDC 17: Why am I excited as a developer?

By Peng Xie
wwdc17-og

WWDC 17: Why am I excited as a developer?

It’s been a week since WWDC and I finally got time to write this blog post to express my excitement as an iOS developer. I won’t be talking about the keynote, since it’s pretty much the same every year. Instead, I’ll be focusing on the real deal, WWDC 2017 Platforms State of the Union.

For the non-iOS-developer readers, Platforms State of the Union is a session in WWDC that gives attendees a more technical overview of what’s coming to Apple’s platforms, as its name suggests. Just like previous years, Apple made some really big announcements to its developer community. Let’s see some of my personal favorites.

Xcode 9 Source Editor

As an iOS developer, I use Xcode everyday, which sometimes can be a pain. Xcode’s performance and features are not that strong comparing to some of the competitors. This year, Apple introduced one of the most welcoming changes to Xcode in my opinion – they have re-written the whole source editor from ground up in Swift! The result? 3x faster file opening seed, 60fps scrolling and up to 50x faster jump-to-line action. On top of that, they also implemented an integrated markdown editor, improved coding issue presentation and tokenized editing. What’s even better? A brand new refactoring engine and workflow that is powered by an open-source transformation engine. IntelliJ users may not be that impressed with these improvements. But to me, the all new source editor will give me a huge boost in productivity. I can’t wait for it to come out of beta… (Rule of thumb, don’t use beta Apple softwares on production development works.)

Swift 4

Not surprisingly Swift 4 will be there with Xcode 9. Apple has vastly improved one of the most widely used classes in Swift, String class. In Swift 4, String is now a range-replaceable bi-directional connection, meaning it behaves and can be used like an array of characters now without any sort of conversions. Thanks to the underlying improvements, String now provides 2.5x-3.5x faster processing depend on the language it’s in. Another welcoming news is the introduction of “codable” type. The new type will be synthesized by compiler and has the ability to perform 100% type-safe JSON encode/decode with only one line of code. Apple also made it easier to adopt Swift 4 in Xcode 9. The compiler now supports both Swift 3.2 and 4.0 and allows developer to mix-and-match 3.2 and 4.0 targets. All these improvements makes Xcode 40% faster building large mix-and-match Swift/Objective-C projects. Moreover, building projects using multiple Whole Module Optimization targets is now 2x faster!

iOS 11

One of the biggest announcements in WWDC 17 is iOS 11. For users, iOS 11 blurs the line between a desktop and a mobile OS, which will finally make iPad Pro a viable productivity tool. For developers, this means new APIs to play with. Starting with the new Drag-and-Drop feature, Apple did a phenomenal job making it easier to integrate in apps. It’s automatic for text and web content, and has delegate protocols for customization similar to other iOS APIs. With its cross-process, system-wide multi-touch support and built-in data security, I’m sure developers will start to provide this new feature in their apps to users as soon as iOS 11 becomes available.

Good news for everyone

Along with Xcode 9, Swift 4 and iOS 11, Apple also introduced CoreML for machine learning, Metal2 graphic engine and ARKit for virtual reality. These are only a few that caught my eyes. I am really excited to learn more about CoreML and hopefully can put it to use in one of our apps someday. I truly think Apple has given us developers really good tools and platforms to provide users best features and experiences. This is good news to developers as well as users. A better Apple will surely push its competitors to step up their game, which is something I really like to see. Whether or not you’re a developer or iOS/macOS user, you should be excited too. As consumers, we will always benefit from the competitions.

Get to know “Markdown”

By Peng Xie

Markdown-mark.svg_-1024x630
What is Markdown?

Markdown is a lightweight markup language that is natural to write and easy to convert to rich text and other formats such as HTML or PDF. Because of its simplicity and portability, it has become the go-to option for developers to document their codes and README files. Find a random repository on GitHub, you’re likely to see at least one file in it written in Markdown. In addition to developer communities, Markdown is also supported in a variety of other places such as blogs and forums. Even some instant messaging apps now have Markdown-inspired formatting features.

Markdown in GitHub

As one of the most popular places where people use Markdown extensively, GitHub actually has its own version of Markdown syntax which is called GitHub Flavored Markdown (GFM for short). Being a Git hosting service, GitHub uses GFM to provide users additional features such as the ability to reference issues, pull requests and SHA-1 hashes of commits.

Markdown in WordPress

WordPress supports Markdown as well but you have to enable it first in your blogs settings. In Settings under Configure section of the side menu, you can turn on Markdown support for composing in the Writing tab and for comments in the Discussion tab. After saving the settings, you can start to write your new blog posts in WordPress using Markdown. As a matter of fact, this whole blog post is written in Markdown!

Time to play?

Now that you know more about Markdown, let’s see some examples!

Codes

You can either put your code inline like this or add a code block in your file like what I’m going to show you below.

This is a code block!

The syntax for inline code is to wrap your code inside a pair of `.
To use a code block, simply put ``` at the lines above and below your code block.

Links

[link to Google](https://google.com)
will be rendered by a Markdown viewer as
link to Google

Lists

* Unordered list item 1
* Unordered list item 2

1. Ordered list item 1
2. Ordered list item 2

The code block above will be rendered as:
* Unordered list item 1
* Unordered list item 2

  1. Ordered list item 1
  2. Ordered list item 2

That’s just a few simple examples of Markdown. There are many other ways and styles to write in Markdown. If you are interested, you can checkout GitHub’s guide on Markdown and the Markdown support page for WordPress.

Also, checkout this awesome post on Ray Wenderlich for some recommendations on Markdown editors for MacOS.

Bonus

Hey, thanks for reading this blog post! Here’s a bonus section for you! Do you know that you can make presentation slides using Markdown as well? I found an interesting presentation writer on GitHub called Marp. Just separate your slides with --- between empty lines and you can literally write a whole presentation using Markdown in a single file!

Opposite View: WWDC15 Keynote from a Developer’s Perspective

By Peng Xie

OS X El Capitan

  • Oh the new name, good luck translating it into other languages…
  • Pinned Sites in Safari: It’s gonna be useful when browsing Facebook, Twitter, etc. at work, class… Apple’s engineers really understand what we want after all.
  • Enhanced Spotlight: I actually didn’t know you couldn’t check weather and search things with your own words with Spotlight in Yosemite.
  • Mail App: I’m gonna write emails to all the people I know with all the tabs I can have in new Mail app’s compose window and still ignore emails from Phil Schiller because I can search for all emails I ignored from Phil!
  • Spilt View and Window Management: Seems like Apple learned something from Windows 7?
  • Metal for Mac: RIP Open GL… While the PC gamers are playing GTA5 with awesome graphic, Mac gamers are still stuck with games like vegetables vs zombies. Let’s see if these big game companies can convince PC gamers to buy Macs.
  • Have I mentioned that El Capitan is faster than Yosemite?

iOS 9 and WatchOS 2

  • Siri now has a new animated interface. I wonder what will you see if you look at it with red-blue 3D glasses…
  • Siri can also do way more than it (she?) could before based on its (her?) soundings.
    • “🎵It sees you when you’re sleeping… It knows when you’re awake…🎵”
  • Like in OS X, Spotlight on iOS has received a new interface and can now look into your apps for search results.
  • Apple Pay now works at more places than ever! And apparently Apple and Google seem to have reached some agreement to switch the names of their payment app. Yes, I’m looking at you, Android Pay and Apple Wallet.
  • Happy drawing in the new Notes app!
  • Maps app can now tell us which bus/train to take to go to places!
  • Apple now lets you choose what news you wanna read in its new News app, as long as you’re in US, Australia or UK.
  • People have been asking for an “iPad Pro” for some time now. Apple’s answer to it is a new QuickType keyboard with shortcuts plus touchpad capability and a more powerful multitasking feature (Samsung, get your lawyers ready!).
  • You’ll be able to use the awesome Picture in Picture and Split View feature if you have the latest iPad Air 2.
  • Swift 2 will be open source later this year, available for iOS, OS X and Linux. I feel sorry for Windows because it won’t get all the wonderful new features comes with Swift 2.
  • It seems like WatchOS 2 can finally do what it suppose to do a long time ago. Apple has finally given access to normal frameworks and features like animation & layout for Apple Watch.

Everything about Music

  • For $9.99 a month, you get another Spotify alternative. That’s it.
  • And the crazy developers at Apple are developing an Apple Music app for Android as well!

Overall impression
I am not happy about this keynote and it’s not because there’s no new Apple TV or other new toys. WWDC is a developer conference and it should focus on new operating systems and SDKs, not music. Unlike previous years’ WWDC, Apple rushed through announcements and demos and spent what seems like forever for their new music streaming service. I understand it’s important business for Apple but they really should have spent more time talking about WatchOS 2 and Swift 2.

Not Impressed

Not Impressed

 

WWDC14 – From a Developer’s Perspective

By Peng Xie

wwdc14-swift

wwdc14-swift

This year’s WWDC should be considered as the biggest event for an iOS developer since the release of iPhone OS 2 in 2008. During the conference, Apple introduced a huge number of new development kits as well as many improvements to the existing SDK along with the new iOS8. In addition, Apple also surprised the whole developer community with the introduction of Swift language. As a developer myself, I’ll discuss several things that I’m excited about in this blog post.

iOS8: More power, More possibilities

Back in 2008, Apple introduced the App Store and opened the door to thousands of developers to make all kinds of wonderful apps for the platform. As years go by, the Cupertino based company has gradually enhanced the APIs in iOS SDK to make iOS apps more capable and useful. This year, with the introduction of iOS8 SDK, developers can now do more than they ever could have done. First, let’s start with some fun. Last year, Apple introduced SpriteKit for 2D game development and it has instantly become one of the greatest competitors to the popular 2D iOS gaming framework Cocos2D. This year, in addition to the improvements of SpriteKit, Apple also brought two new 3D gaming frameworks, SceneKit and Metal. Like SpriteKit, SceneKit offers easy ways to create 3D animated scenes in apps. And it even incorporates a physics engine and a particle generator for more complex 3D effects. For more professional 3D game developers, Metal offers the abilities to directly harvest the power from A7 processor’s GPU without going through a layer of Open GL ES. All these new APIs will enable developers to create even better user experiences and awesome graphical effects in different kinds of apps. The gaming related frameworks are just a small part of iOS8 SDK’s improvements. In iOS8, apps can now have more capabilities. Apart from being an iOS developer, I’m also a photographer. Therefore I have to talk about PhotoKit, manual camera controls and extensions introduced in iOS8. As you may have seen in the keynote event of WWDC, developers can now make apps that are able to access iCloud Photo assets directly in Camera roll and share the photos across different apps and platforms. Manual camera controls such as focus, white balance and exposure settings are now provided by AVFoundation framework for apps to use. All of these new features can add up to a pretty good camera app with the already-wonderful camera hardwares in iPhones. Now you may ask what are the extensions and why they are important to a camera app. Extensions are custom functionalities provided by apps that can be accessed within the context of some other user task. And well, they are not only important for camera apps, but also for all kinds of other apps. In our example of a camera app, the app can have a photo editing extension and the user can use that extension to edit any picture in any app. The extension can also incorporate with Notification Center to provide extensive photography related functions. One of the most request feature in iOS now can also be realized by extension. That is custom keyboards. With the ability of extensions, developers can now make keyboards for users to carry out all kinds of specific actions. I wouldn’t be surprised if someone makes a keyboard just for entering camera shutter speeds and exposure stops or, a keyboard dedicated for mathematical equations. Next thing I want to talk about is the CloudKit. iCloud has been there for quite some time. It seems like that this year Apple has finally take the iCloud from a “hobby”to something serious. With CloudKit, iCloud now can act like a web server for app’s data. And features such as authentication, private and public databases are also provided by CloudKit so the developers can focus on the client-side development and let iCloud handle the server-side logic. What’s even better? With some pretty high allowance on usage, all of these wonderful features come for free with Apples developer program. iOS8 is truly a milestone for iOS. With APIs mentioned above and new features like HealthKit, HomeKit and Handoff, the possibilities for what an app can do now is really endless.

Xcode and Swift: Good has just become better

Like many iOS developers, Xcode is one of my most often used applications on my Mac. I don’t always like Xcode. But I have to say, as the go-to iOS development tool, Apple is making Xcode a better tool each time a new version is released. Xcode 6 is no exception. Before we dive into Xcode, let’s talk about the Swift language first. I think Swift is the biggest surprise from Apple since the introduction of Macbook Air. There was absolutely no prediction that Apple was going to introduce a brand new language in this year’s WWDC keynote. Swift has really shocked the iOS developer community (in a good way, mostly) and you can tell that by looking at the expressions on the faces of developers attended the keynote. Given several advantages over Objective-C and ease to learn, Swift has become an instant hit among iOS developers and even potential developers who are trying to find a new language to learn. As the software quality company TIOBE pointed out, by the time they post the programming language popularity rank for July, Swift will probably be in the top 20. Swift is designed to be modern, safe and powerful. The modern character of Swift comes from the new features such as closures, tuples and generics. The syntax is easier to read and maintain than Objective-C and features like generics in Swift will also enables developers to do things they could never be able to do with Objective-C. Safety in Swift is ensured by eliminating classes of unsafe code and always initializing variables before use. Swift is also designed with the idea of being a powerful language in mind. It uses the high-performance LLVM compiler just like Objective-C and will be transformed into optimized native code to get the most out of Macs and iOS devices. With all that being said, Apple didn’t just released Swift as a single new language. All of Cocoa and Cocoa Touch as well as other libraries in iOS and OSX SDKs are updated to support Swift. And of course so it is with the latest Xcode 6.

Xcode 6 comes with many new features and some interface revamping. One of them is the Playground. Playground offers great ways to learn Swift, try new codes and develop custom views. The code is executed automatically and result appears immediately. Developers can see visualized results, imported resources, and created views in assistant editor. Several other features such as timeline slider are also available in the Playground to offer more functionalities.

Playgrounds are more just for trying out new stuff. When it comes for developing the interface, Apple now offers live rendering in the Interface Builder. Developers don’t have to build and run then switch between Xcode and simulators (or devices) to see the result of a custom view. In Xcode 6, the changes are automatically applied into your custom views in the Interface Builder. And for debugging the views, Apple has introduced the View Debugging feature which will turn the UI into a 3D rendering of each layer in the stack of views. Developing and debugging custom views has never been easier before. Speaking of Interface Builder, in addition to the newly introduced OSX Storyboard, Interface Builder now works with Size Classes. Instead of specifying Storyboards for different screen sizes and devices, developers now can use one Storyboard with Size Classes and Auto Layout for all screen sizes. And there is also the Preview mode to quickly check the interface without having to run the app. Last but definitely not the least, I want to talk a little bit about debugging. LLDB debugger became the foundation for debugging in Xcode 5. In Xcode 6, it has just become better with Swift REPL. Swift REPL, or Read-Eval-Print-Loop is an interactive version of Swift lives in the debugging console in Xcode or Terminal. Developers can use LLDB just as before but now it will also give debug information for Swift codes. It is also possible to validate existing code or even trying new codes right in LLDB with Swift REPL.

Epilogue

iOS8 and Xcode 6 has really opened more possibilities for both developers and Apple itself. iOS8 has laid the foundations for Apple to make more interesting new products such as iWatch and potentially some automated home control devices. Xcode’s new Storyboard with Size Classes also make it easier to develop apps for existing iPhones, iPads or even for the future iOS devices with larger screens. I believe when Apple releases their next generation devices and lifts the NDA on iOS8, the excellent iOS developer community will surprise the users with some pretty interesting apps we have never seen before. 2014 is going to be a good year for all iOS and OSX developers.