WWDC 2017 Keynote – My Raw Notes

I had the idea to do my yearly write up of all the things I saw watching the WWDC keynote.. instead this year, I thought it would be cool to just post my raw notes.. see how I am thinking while watching the keynote.. Let me know what you think:
==============
WWDC 2017 – Keynote Notes
Cool shot of the mixer showing all the speakers to come
Why do all camera guys look the same, black pants, t-shirt, frumpy hair?
Silent mode announcement at 1:03pm
Crowds are all waving at what appears to be drone video flying around the inside of the auditorium.
Ok 1:05pm starting to play music with lyrics must be the key for everyone to sit down

Start time 1:08PM

Funny video on unplugging the App Store…

16M registered developers, 5300 in the room

Platforms tvOS, WatchOS, macOS, iOS

No updates – too much to talk about, other than apple is doing great
6 announcements –

    1. tvOS – 50 partners, Amazon is coming to Apple TV
    2. watchOS – Kevin Lynch –
      1. Watch faces –
        1. Siri powered watch face, what you need by dynamic time of day. (Including 3rd party apps)
        2. Kalido scope face
        3. Toy story faces
      2. Activities
        1. More personalized smarter coaching and monthly challenges
        2. Workout app – new UI, Pool swim will auto sense the sets that you are doing, and pace and stroke type. High intensity interval training too. Multiple workouts in a row to add multiple things, like swim, bike, etc. In door at the gym enabling two way data exchange with GYM equipment using NFC connection.
      3. Music
          Redesigning music app – auto sync to the watch – new music and mixes, so that you can listen.
      4. Demo
        1. Vertical scroll thru the dock
        2. New news app on Apple Watch.
        3. Play list auto starts with workout, swipe left to control music.
      5. Flashlight and safety light in control center
      6. Apps running the background increased… and native core bluetooth on the watch. (Dexcom sensor for real time glucose monitoring, swim monitors, etc.). Upgrade across ALL watches in the fall.
    3. macOS – the heart and sole of Apple. High Sierra
      1. 1. Safari update – faster
        1. 1. Autoplay blocking!!!! YEAH!!
        2. 2. Faster Java
        3. Privacy – Intelligent tracking prevention… identify trackers, segregate cross site scripting ads
      2. Mail –
        1. Search improvements using spotlight to do top hits
        2. Split view in full screen to do mail compose
        3. 35% less disk space usage
      3. Photos
        1. All imports in chronological order
        2. Face improvements and synced across your devices
        3. Editing enhancements: curves, selective color, punch out to other tool sync back to your photo library like Pixelmater or photoshop
        4. Printed books added to third parities are now opened up
      4. File system updates: (HFS is 30 years old)
        1. APFS is coming to macOS as new default.
      5. Video: h264 current standard
        1. 1. New standards h265 40% better compression
        2. Metal 2. Another 10x improvements
          1. Using metal 2 for machine learning
          2. Metal for external graphics – so you can add an external graphics card from your Mac
        3. Pro content creation
          1. Metal for VR to high-sierra
          2. Final cut will allow you to edit spherical video
          3. Multiple VR platforms to Mac
      6. all systems that are 2010 and newer
    4. Hardware MAC
      1. New iMacs
        1. Upto 64 GB storage
        2. Fusion on all 27inch
        3. 2TB SSD on 27 inch
        4. 2 USB-C adapter
        5. Graphics –
          1. Adding discrete graphics on all 4k graphics
          2. Using Raedon with 3X performance
          3. ILM demo of new iMac. Showed Unreal editor in VR, WOW…
          4. 90 frames per second rendering on an iMac
        6. Starting at $1799 for 5k 27inch
      2. New MacBook Pro updates
        1. Going to Kabyt Lake
        2. Faster SSDs to Mabbooks
        3. Better graphics to MacBook Pro base
        4. Lowered
      3. End of the year target at the new upgradable MacPro (built kinda like. iMac)
        1. Thicker… called the iMac Pro
        2. CPU – 8 Core – Xeon processor
        3. CPU – and a 10 core Xeon processor
        4. Up to 18 core Xeon Processor
        5. Radeon Vega Graphics architecture – up to 16 GB VRAM ( 11 Teraflops single precision)
        6. 128GB ECC Memory
        7. 4TB of 3GB/secon SSD
        8. 4 TB3, 10GB ethernet
        9. Drives up to 44 Million Pixels
        10. Starts at $4999 (kinda pricey) available in Dec.
    5. 5. iOS – 86% of devices are on iOS 10, vs. Android 7 – 7% adoption
      1. Messages –
        1. Redesigned app drawer
        2. Messages in iCloud – all conversations will be synchronized
      2. ApplePay
        1. Person to person payments – send and receive money
        2. Also available on Apple Watch
      3. Siri –
        1. 21 languages – available more than any assistant
        2. Improved the voice using deep learning
        3. Added translation (very cool)
        4. English, Chinese, French German and Italian
      4. Improvements to Siri Kit
        1. Task management
        2. Better predictive technologies
        3. Using on device learning, and some auto responses
        4. Learning gets synced across all your devices, readable only by you and your devices.
      5. Camera improvements using HVEC – less storage, better compression and replacing JPEG with HEIF (new compression)
        1. Low light photographs and stabilization, exposing depth api to developers.
      6. Photos Apps
        1. Better Machine learning to improve the process for Memories
      7. Demo
      8. Control center redesign
        1. Added 3D Touch for more features
        2. All fits on one screen now
        3. Unification of the notifications
        4. Long exposure option in photos… very cool
        5. Apple Pay accessible in messages
      9. Maps
        1. Detailed floor plans of Malls, place cards, directories, and by floor adding 100s each month
        2. Same for Airports
        3. Speed limit and lane guidance
        4. Bring Car Play capabilities too – called do not disturb while driving.
      10. Homekit
        1. Airplay 2 protocol.. multi-room audio in iOS
        2. Apple TV and third party api for audio
      11. Apple Music
        1. Added your friend’s music
        2. With profiles, etc.
        3. Developer API for music now
      12. App Store Updates
        1. 500 million weekly visitors to App Store. 180 Billion apps downloaded to date.
        2. Phased releases you can decided how to rollout over time
        3. Brand new design to App Store
        4. New Today view
        5. New Games View
        6. New in app purchases can be featured
        7. Live demo
      13. Metal 2 and HVEC coming to iOS
        1. Machine learning –
          1. New APIs –
            1. Vision API – face tracking / landmarks
            2. NLP – Tokenization and named entity recognition
        2. Augmented Reality –
          1. AR Kit — demo.. Very very cool
          2. Fast and stable motion tracking / plane identification / ambient light rendering and scale identification
          3. Wingnut AR – demo of new app. Using unreal engine 4.
        3. QR support from lock screen
    6. iPad – time to talk about iPad Pro
      1. Currently two models 12.9 and 9.7, New iPad Pro – 10.5 inch display
        1. Japanese JIS keyboard
        2. 120 hz refresh . Dynamically adjust reset rate based on content, allows improved battery life
        3. 20ms latency for Apple Pencil
        4. A10X – 6-core CPU and 12-Core GPU, 40% faster graphics performance
      2. Finally iOS for iPad updates!!
        1. More items in the dock
        2. Multitasking and drag an app from the doc
        3. App switcher with DRAG AND DROP!!
        4. Keyboard flicking to get to 2ndary things
        5. New App – FILES….
          1. Get access to the file system on iPad
          2. Including third party storage options

=======================
And then life took over and I missed the rest of the keynote.

Apple’s Wednesday Announcement – Three “One More Things”

img_0230One of the things I look forward to each summer is upgrading my iOS devices to each of the developer beta drops. It is always an exciting time, usually with lots of bugs and problems.  For some reason this summer was different.  The upgrades were simple, they didn’t cause a lofty of problems, and not once did I lose all my passwords and configurations.  

As we look at the devices which were just announced, we learn the new features that were right in front of us during the beta, but we could not see. I enjoy seeing this, as it comes as the “one more thing” that you didn’t see all summer during testing the beta.  This Wednesday there were a few interesting one more things, 2 for iOS and 1 for Watch OS3. 

The first “one more thing” is the update to the camera on the new iPhone 7 Plus.  I specifically call out the iPhone 7 Plus since it allows the new zoom feature enabled by the 2nd camera lens.  The software feature in iOS10 that I am looking forward to is depth of field in portrait mode.  I don’t take a lot of portraits, and while I will do a new selfie every so often, I am not a bit fan of selfies.  But I am looking forward to testing this feature out.  More so for close ups of inanimate objects.  Expect at least one review of this feature when my new iPhone arrives.

The second “one more thing” is attached to yet another non-surprise, the loss of the headphone jack. The software feature that looks really amazing is how much easier Apple has made pairing the Airpods with you iPhone and Apple Watch.  While I will probably not go for Apple’s new Airpods, since the shape of them doesn’t fit well with my ears, I do hope that Apple opens up this feature for third party headphones. 

The third “one more thing” is the swim mode of the Apple Watch series 2.  I have really enjoyed the updates to WatchOS3 this summer, the spead increase by keeping certain apps in the dock has made a huge difference to the usefulness of the Apple Watch.  I’ve also noticed that the battery usage has not been adversely impacted by this feature.  I have been using the three rings and the workout app this summer, a lot.  But when I do my swim workouts on the weekends, I’ve had to swap out to Garmin Swim watch.  The Garmin doesn’t integrate with the activity rings on the Apple Watch.  So I am so happy to see this update both in hardware and software.  Now I just need wireless earbuds that work with the Apple Watch Series 2, so that I can not only capture my workout, but also catch up on podcasts while I swim too!

Stay tuned for updates after I play with the new hardware and these new software updates!  I can’t wait.

Learn to Code in Swift – a Book Review

I had the opportunity to read the book “Learn to Code in Swift – The new language of iOS Apps” by Kevin J. McNeish, over year end holidays. I’ve been looking for a good book on Swift, as I spent last summer translating my own app from Objective-C to Swift. While I really didn’t know what I was doing, I had done a literal translation as a means of trying to learn the syntax of the language. Since then, I have been trying to get a better understanding of some of the differences between Objective-C and Swift, so that I may be able to clean up my app a bit.

I had met Kevin at MacWorld some years ago, and had picked up his first iBook on Obective-C. I found it to be a good beginner’s book. With that as a background I was looking forward to reading this book.

Let’s begin with the structure of an individual chapter. Each chapter has a specific theme, and within that theme Kevin spends considerable time explaining the specifics and concepts behind that that theme. Unlike many books, he doesn’t assume that you are an expert in computer theory or computer science. While he doesn’t go too deep on the theory, he does explain enough of it to help solidify the concepts of the specific theme. Each theme is broken apart into specific concepts or, if appropriate, API calls. He provides simple to understand code examples so that the concepts stick with you. He also spends enough time explaining the Xcode environment, which is a great boon for someone just getting started learning iOS programming. I have yet to find a book that does this, so it was refreshing to learn a few tricks I had not yet discovered.

Quick aside: Years ago when I first started programming professionally, I had to share a development environment with the production system on an IBM midrange computer called the System 38. The customer I was working forward got upset with me, as I used to treat it like a PC, i.e. Write some code, compile, look at the syntax errors, fix them, write some more code, rinse and repeat until the program was done. My boss came to me one day, after getting many complaints that I was impacting the customers business with all my compiles, and said – “Michael, you only get three compiles to get a program finished. One for syntax, one for debugging, and one for production use.” I was floored… How would I ever do this, well the answer was, learn how the computer thinks. Desk check your code, and program flow – making sure to fully understand all the inputs, behaviors, and outputs. This advice changed the way I programmed. I feel that I need to understand, not only the big picture, but the details and how the operating system works.

In Learn to Code in Swift, Kevin helped me get a much deeper understanding of the actual behavior and reasoning around many of the concepts I had tried to pick up by converting my code last summer.

Continuing with the structure of the chapters, Kevin then provides a handy summary of all the points he just presented. I can imagine a companion book that just consists of those summaries. Perhaps this is how he structured his outline for the book. But I find myself going back to those pages to reinforce the lessons. He then provides an exercise to allow the reader to practice what they just learned. And finally, and I love this part, he provides a video online to walk you thru the steps making sure you got the exercise right. And as with most programming books, all the source code is available for downloading.

Overall, I found this book to be an excellent starting point for people wanting to learn Swift within the context of iOS programming. Now that Apple has released Swift into Open Source, I am sure that the language will grow and mature quickly. Having a good understanding of the fundementals of the language is critical to take advantage of it overtime. Kevin’s book certainly provides you with that foundation. Highly recommended.

Is this your next development machine?

20140201-091557.jpg
I finally got to play with the MacPro in person the other day at my local Apple store. This was not a fully loaded machine, it only had 12gb of ram and 256gb SSD, but I ran a few tests on it. And it was plenty fast for any activity that required multiple cores. I can image that for a build machine that it may be the machine you need. At very least you can increase the productivity of your design team with this machine. Amazing!

One week with the iPad Air

I received my iPad Air this past Monday, and as promised, here is a little review.

I’ve had every generation of the iPad up to the 3rd Generation. When the 4th Generation came out, I could not justify the speed bump ad the only benefit. Nor could I justify the mini, since it was not Retina. So when the new iPad Air came out, and not only was significantly faster, but also included a significant weight decease, and the M7 chip, it was time to upgrade to a new device.

The iPad Air does not disappoint. The first thing I noticed is that it does feel incredibly light compared to the iPad 3rd Gen. The reduction from 1.46lbs to 1.054lbs is a major improvement. I read in bed at times, and the 0.406 lbs makes a huge difference when you are prone. The challenge with shaving off this weight means that once again older cases and stands may not work. When I went from the iPad 2nd Gen to the iPad 3rd Gen, most of my cases started getting a little lose. Now that the iPad Air is noticeably thinner both in depth and width, prior cases no longer work. I’ve always liked having a case with a keyboard built into it for writing blog posts, but due to Apple’s secrecy the supply chain has not caught up with the new design and new cases with keyboards are not yet available.

So what about the speed differences? For most people, you may not notice the significant speed update. Most people use the iPad to read emails and to surf the web. While page rendering is faster, it is not noticeable on most sites. If you are a gamer, the speed difference is amazing. Load times are noticeably faster, and game play is smoother. The new UI introduced with iOS7 is also much more fluid than on the iPad 3rd Gen.

Are there any other things that are noticeable? To me, not really. I don’t use the camera much, so I don’t notice that improvement, even though I understand it has been improved. The battery seems to be just as solid as before, and the fit and finish I decidedly Apple.

So should you upgrade? If you have a 4th Gen, I can’t think of any reason that makes makes it a critical upgrade. If up have a 3rd Gen, you will notice improvements, but even with selling my old one to Gazelle this was a $500 upgrade so if you are cash strapped I would say hold off. If you have a iPad 2nd Gen, I think it’s definitely time to upgrade. Apple is doing well with upgrade cycles, new phone every two years is a must, iPad every three is a must, and I would say if you keep your laptop to every four years up are in a perfect cycle. So what is the one device that Apple can put out that requires you to upgrade each year, now that their software is becoming free? Perhaps we will find out next year!

The iPad Air

Apple made a few announcements this week… And like many I had been hoping that the fingerprint reader would be added to the iPad … Like others, I was hoping that Apple would announce a Retina version of the iPad mini.  So I guess I should be 50% happy. Realistically, I think the fingerprint reader is a bigger disappointment to me than the iPad mini is a positive.  I really don’t need the mini.  I like the larger screen of the iPad Air (the new name).  I’ve gotten so used to the fingerprint reader on my iPhone that I really wish they would add it to every apple device that needs some level of security.  Heck I think it would be great to add it to the Apple TV remote so I could use it to require an approval before renting a movie to watch.  Oh well, I guess I will have to settle on having a much lighter, much faster, and thinner device than my old iPad 3.

Having said that, I will write up a review after I can pick one up (hopefully on Friday the 1st).  I will not be getting up early and standing in line for the iPad, like I did for the iPhone 5s just a few short weeks back.  So I hope I can get mine shortly.

Apple’s 5s and 5c – worth the wait?

So yesterday Apple officially revealed their latest new phones – iPhone 5c and iPhone 5s. While much of the announcement had long since been leaked by the supply chain (so much for the secrecy of Jobs, welcome to the openness of Cook), there were still a few surprises – really only on the iPhone5s. The biggest, in my opinion, was the 64 bit architecture and the two chip design (A7 and M7). This should allow developers access to more memory, and with the M7 access to provide sensor data in a very low power consumption state. From a user perspective, that means we can do more and more quantified self activities (think of your FitBit or Jawbone Up), with minimal impact. We know that these types of devices are more and more popular, but being able to just have it all in one device means as a software developer you can now provide this feature without having to develop the hardware.

The improvement on the camera will bring the iPhone5s to the level of many of the other high end mobile phones, so while it is cool, it will probably have a short life of importance as new Android devices are coming out almost weekly.

So as a developer, the iPhone5s will allow for new, cool apps, but the question will be: How popular will it be verses the slightly cheaper iPhone5c? How long before Apple makes the finger print reader available for your apps? If there is a long delay between new APIs and mass adoption of the iPhone5s, then the new announcement should get you more potential customers, but you are best sticking with features available across the iPhone 4S, and iPhone 5/5C. (Still not a bad market, but not as exciting).

Do you plan on using features unique to the iPhone5S, or is iOS7 good enough without M7 chip?

An Event in San Francisco

Yesterday Apple made the event official – at least according to the flurry of post about people receiving invites to an event: here, here, and here.

If the rumors are to believed, this should be the launch of iOS7, iPhone5s, and iPhone5c, with a purchase date almost immediately thereafter. (According to Sept. 20th. In the past, Apple has given developers a heads up about submitting their apps in order to be available at launch. If that’s the case, I would expect the app checkers at Apple to be getting busy really soon!

Are you going to get a new iPhone? If so, are you going for the C or the S? What color will you choose?

Is Your App Ready

If the rumor mill is to be believed, Apple will announce their new iPhone on Sept. 10th. That is not too far away, and as such means developers are working hard to have launch titles available. Realistically, I doubt that Apple will make the iPhone 5s/c or whatever it will be called, ready on the day of announcement; however, I do believe that they will make iOS7 available almost immediately.
As a developer, I am looking forward to releasing updates of my app that will more closely align to Apple’s new UI vision. I am also looking forward to all the new API’s that Apple has been talking about since June’s WWDC.

Apple finishes update to Developer Portal

Last night, as I was checking my email before going to bed, I got a note from Apple that their replace/rebuild of the Developer portal had been completed and all services are working again.  Great news, and hopefully Apple has addressed, not only the security flaws identified by the Turkish researcher, but any fundamental design flaws which could expose other security issues going forward.

The biggest lessons I’ve learned from watching this all unfold is – security is hard.  Steve Gibson (from Spinrite fame) has been recording a long running podcast on security called “Security Now“.  He spends 2 hours, each week, going thru all the latest info on security patches, and describing the underlying design and technology of various protocols, etc. which shows how much you need to know to make truly secure applications.

Years ago, when I was working as a consultant, I wrote a Human Resources system for a home health care management company.  I was asked to make sure that we had an appropriate level of security and could segregate data between managed companies via passwords.  The design was simple.  Within the application, you had to enter a unique company identifier and password for each company’s data.  Simple and somewhat effective, given that the entire application and all of its data resided on a midrange computer that could only be accessed within the companies physical boundaries.  Within 1 month of the application going live, every monitor within the HR department had a nicely printed sticker listing the company identifier and the password for each.  So much for security.

The reason I bring this up is to identify how technology is only as secure as its weakest link.  Kevin Mitnick, shows us in his biography – Ghost in the Wires, that the best hacks are really around social engineering and not technology.  Even Mat Honan’s famous twitter / gmail / icloud hack, was much more a social engineering issue than a technology flaw.

If you are storing sensitive data (however you define sensitive), what are you doing to make your application secure, with out distracting from its functionality?