Monday, July 07, 2014

More fun with OS X 10.10 Yosemite beta and Apple's new language Swift

Originally published June 4, 2014

I updated to OS X 10.10 Yosemite beta today. One improvement that is immediately noticeable is running Netflix movies in the new Safari browser. The video is smooth and the fan does not run, so I believe the news that Apple and Netflix have cooperated on improvements to use less CPU resources. So far the only problem I had was that the XCode 6.0 beta app is named XCode6beta and the links for accessing gcc and other command line tools were broken. I did the simple hack of renaming the beta app to the standard name and all is well.

If you watched the videos from the Apple Developers Conference then you have seen the new flat UI styling, like iOS. I like it well enough.

For me, the second biggest news from the developers conference is the improved integration between Apple devices. Apple, Google, and Microsoft all want users to live in their walled gardens. Except for my Samsung android phone which I love, I am all-in using Apple gear (except of course for a bunch of Linux boxes and servers).

Depending on how well Google and Apple compete with each other to convince me and other end users that they are doing what the can to support security and privacy, I might voluntarily go live in Apple's walled garden in the next year. That said, I have strong hopes that Apple, Google, Facebook, and Microsoft all step up to the plate and lock down their devices, software, and Internet access with strong security and privacy controls. May the company that does right by us, privacy and security wise, win!

As I wrote yesterday, the big news yesterday is the new language Swift. I have little experience writing cocoa and cocoa touch applications, and I have worked through some example apps. My main near term interest in Swift is how good of a language it is for AI applications because I think interesting applications in the future likely will be hybrid mobile apps relying on services. Swift compiled code is supposed to be very efficient so sharing responsibilities for calculations between device and server might make sense. There is room for different AI functionality both on the mobile side and server side of apps. Initially I am experimenting with how Swift is for numeric calculations (neural networks) and text mining that requires text processing, maps (dictionaries), etc.

XCode playground example

This screen shot shows an XCode 6 beta interactive playground for trying bits of Swift code. Like Light Table and the Scala IDE workbenches, each line is evaluated with the results shown on the right side of the window.

No comments: