Showing posts with label iOS. Show all posts
Showing posts with label iOS. Show all posts

Friday, June 12, 2015

WWDC Day 4 - ...and that's a wrap

And the last day...

  • What's New in Internationalization - Boy, OS X/iOS has a lot of i18n options. Now you can localize how you call people, and provide alternatives for strings based on width. And you should use the options to make your app work with readers of right-to-left text. There are options to simulate these.
  • What's New in UIKit Dynamics and Visual Effects - So, you can set your views to move around to a number of rules. Isn't that swell? Please don't do this unless you are writing a game. Really. You'll make my wife seasick.
  • Building Better Apps with Value Types - Swift has a bunch of types that are logically stored by value. This talk was all about the effects of that. By this time, I was completely zoning out, so I'll have to revisit this later.
I had lunch with Emily Toop on the Firefox iOS team. She is new to Mozilla, but an experienced iOS developer out of the UK. Lovely venue at the Samovar Tea Lounge in Yerba Buena Gardens.

Overall impressions of WWDC:
  • It was good to see Apple people, but I no longer miss the place. It was a long time ago that I worked there, and life is much different now.
  • iOS programming is just fun.
  • I am ready not to be with huge crowds for a while.
  • This was not a blockbuster event for Apple; nevertheless, the improvements for both OS X and iOS are real, and interesting.
  • The food at the conference was not great. Lunch today was terrible, which is why I went offsite.
  • They finally got enough transmitters out to fix Wi-Fi in the hall, just in time for it all to be over. You would think that after 15 years of Wi-Fi being on their laptops, they would be able to get this right... Of course, the hotel Wi-Fi wasn't any better in the evenings, when everybody left the conference.
  • My feet hurt.
I would be happy to come back next year, but I am not going to push again unless programming the Mac or iOS is my primary job. Lots of good stuff. Also, there are some sessions from last year I need to watch.

Wednesday, June 10, 2015

WWDC Day 1 - Sessions, Sessions, and some old friends

Tuesday was filled with sessions, with breaks in the Developer Tools lab. Sessions I attended:

  • iOS Accessibility - Actually my favorite talk of the day. First, the presenter talked about the tenets of accessbility, and demo'd taking an app and adding voiceover capabilities. It's not that hard to do.
  • What's New in Swift - First of all, this sessions was very very crowded. Swift has really caught on in the Apple community. Important features in 2.0:
    • Error handling - similar but not identical to exception handling. Really needed in the language, as I have run into cases where iOS was throwing an exception, but there was no way for me to catch it and figure out what was going on. Huge addition to the language.
    • Protocol extensions - These are much easier now, as you can include, for instance, all collection classes, or things like that. This can be quite powerful, and a lot of new functionality and APIs written by Apple are implemented this way.
  • What's New in Cocoa - OS X APIs are being made more Swiftable, so Objective C is being enhanced to interoperate better.
  • What's New in Cocoa Touch - Frustrating session that talked about a bunch of technogies in outline format directing us to the session that matches. No real content here.
  • Improving Your Existing Apps with Swift - The presenter showed us how to take an existing app and add code in Swift to it, even if it is in Objective C.
I also spent some time in the Developer Tools Lab catching up with former coworkers. Plus, I discovered an Xcode 7 bug launching the simulator, and I talked to them about that.

After the show, I met some friends from college and/or my very first projects for dinner in San Mateo. I was truly great to see them.


Tuesday, June 9, 2015

WWDC Day 0, Part 2 - Platforms State of the Union

The Platforms State of the Union session was much more interesting than the keynote. Highlights applicable to what I work on:
  • CloudKit - looks like Apple is setting up a JSON server for Mac and iOS apps to use as a backend. Have to have an AppleID, so I don't know how useful it really is for customers not in the Apple ecosystem, but I intend to find out.
  • StackView - Finally. A useable layout manager. With several different sizes of iOS devices out there, having a much more flexible adaptive layout manager has been missing for too long. Tcl/Tk and Java AWT/Swing have had this for years; good to see something useful here.
  • Storyboard linking - Hooray! Before Xcode 7, all of your storyboard UI was in one big file. This made it really hard to manage, particularly when you have multiple panels with multiple engineers working on them. Xcode's Interface Builder really likes to have a big screen, and the very large storyboard made it worse. Better zooming in IB would help, but breaking this out really needed to happen.
  • Xcode now has memory checking features. Looks like a combination of static and runtime analysis. This looks as useful or more than tools like Coverity and Purify.
  • There is UI testing now. This is really big. One of the big problems with both iOS and Mac OS is that there has been no way to record and test actions with UI elements. Web developers for years have had Selenium for this, and there really has been no comparable native solution for most other platforms. There are some things you have to make your app do to take advantage of this:
    • You have to make your app accessible.
    • You have to make your app localizable.
    • You have to make your app use the Size classes (which make the UI adaptable; see StackKit above)
You should do those things anyway.
Great session.

Monday, June 8, 2015

WWDC Day 0, Part 1 - Keynote

First of all, there are a lot of people here. Last night, my buddy told me that I might want to line up early; otherwise, I might have ended up in the overflow room.

And my Mozilla colleagues, Emily Toop and Darrin Henin, wanted to hook up early. So I set out to Moscone West and arrived at 6:30. I initially went to the back of the line. It went north on 4th, all of the way west on Minna, back South on 5th, and then almost completing the circle halfway back up Howard. 

Fortunately, the other Mozillians found some of their friends who work at Facebook, and got us a place at the front of the line. Hooray.

They let us into the building at 8. We went up the escalators, and then walked all of the way around the second floor, where we waited in the (hot, crowded) hallway for another hour.

At nine, they let us crowd around the base of the escalator to the 3rd floor. We were there for about half an hour when we were finally let into the main hall.

The keynote itself was a little disappointing. New versions of OS X and iOS with some whizzy features. My favorite was the multiapp features in iPad; looking forward to playing with those. My single favorite announcement was that Swift is now going to be Open Source and run on Linux. They then talked about watchOS, which I currently have no interest in.

And then they wasted 45 minutes with the Apple Music announcement. OK, I can stream all of Apple's catalog. But I have to either stream or play my library? Wasn't clear. And the performance did nothing for me.

So. OS X El Capitain and iOS 9: Yay. Looks good. Carry on. 
watchOS: Cool, I guess. 
MUSIC: meh.