Under The BridgeUnder The Bridge

Musings
ARKit And Kaboodle

The other obviously transformational technology introduced at WWDC this year was Apple’s sudden leap from

One thing is clear: Apple needs to get moving soon.

to, a mere 5 days later — how’s that for “soon?” —

If Apple gets this right, they will own the hardware market for years to come.

and what we’re sure must be by far the quickest ever adoption of an Apple-only technology outside the computer industry,

Ikea’s plans for ARKit revealed, virtual shopping tool will launch in fall with iOS 11

so let’s start collecting links on that shall we?

Introducing ARKit

With ARKit, iPhone and iPad can analyze the scene presented by the camera view and find horizontal planes in the room. ARKit can detect horizontal planes like tables and floors, and can track and place objects on smaller feature points as well. ARKit also makes use of the camera sensor to estimate the total amount of light available in a scene and applies the correct amount of lighting to virtual objects…

… yeah ok that’s pretty cool.

There’s already signup open for ARKit Weekly to keep abreast of news here, and the same obviously extra-keen folk have also started

Made With ARKit: Hand-picked curation of the coolest stuff made with #ARKit

That’s some pretty darn nifty videos there for, like two weeks at this!

To grab some source code examples and interesting commentary, check out

Apple ARKit by Example

  1. Getting setup, draw a cube in virtual reality
  2. Plane Detection and Visualization
  3. Adding geometry and physics fun
  4. Physically Based Rendering

ARShooter – An Example Shooter Created Using iOS 11’s ARKit

ViewAR does first tests with ARKit

3 Things To Know About Apple’s ARKit

Apple’s new augmented reality platform may be its next game-changer

Pretty cool huh? It’s like the future’s so bright we have to wear shades … except the whole point of Apple AR (so far…) is that we don’t!

Core MLagueña

Checked out the WW17 Roundup yet? OK then, let’s start digging into this new stuff a little deeper. And we’ll start with the one with the most buzz around the web,

Introducing Core ML

Machine learning opens up opportunities for creating new and engaging experiences. Core ML is a new framework which you can use to easily integrate machine learning models into your app. See how Xcode and Core ML can help you make your app more intelligent with just a few lines of code.

Vision Framework: Building on Core ML

Vision is a new, powerful, and easy-to-use framework that provides solutions to computer vision challenges through a consistent interface. Understand how to use the Vision API to detect faces, compute facial landmarks, track objects, and more. Learn how to take things even further by providing custom machine learning models for Vision tasks using CoreML.

By “more intelligent” what do we mean exactly here? Why, check out

iOS 11: Machine Learning for everyone

The API is pretty simple. The only things you can do are:

  1. loading a trained model
  2. making predictions
  3. profit!!!

This may sound limited but in practice loading a model and making predictions is usually all you’d want to do in your app anyway…

Yep, probably. Some people are very excited about that approach:

Apple Introduces Core ML

When was the last time you opened up a PDF file and edited the design of the document directly?

You don’t.

PDF is not about making a document. PDF is about being able to easily view a document.

With Core ML, Apple has managed to achieve an equivalent of PDF for machine learning. With their .mlmodel format, the company is not venturing into the business of training models (at least not yet). Instead, they have rolled out a meticulously crafted red carpet for models that are already trained. It’s a carpet that deploys across their entire lineup of hardware.

As a business strategy, it’s shrewd. As a technical achievement, it’s stunning. It moves complex machine learning technology within reach of the average developer…

Well, speaking as that Average Developer here, yep this sure sounds like a great way to dip a toe into $CURRENT_BUZZWORD without, y’know, having to actually work at it. Great stuff!

Here’s some more reactions worth reading:

Here’s some models to try it out with, or you can convert your own built with XGBoost, Caffe, LibSVM, scikit-learn, and Keras :

  • Places205-GoogLeNet CoreML (Detects the scene of an image from 205 categories such as an airport terminal, bedroom, forest, coast, and more.)
  • ResNet50 CoreML (Detects the dominant objects present in an image from a set of 1000 categories such as trees, animals, food, vehicles, people, and more.)
  • Inception v3 CoreML (Detects the dominant objects present in an image from a set of 1000 categories such as trees, animals, food, vehicles, people, and more.)
  • VGG16 CoreML (Detects the dominant objects present in an image from a set of 1000 categories such as trees, animals, food, vehicles, people, and more.)

And some samples and tutorials:

Also note NSLinguisticTagger that’s part of the new ML family here too.

For further updates we miss, check out awesome-core-ml and Machine Learning for iOS !

UPDATES:

YOLO: Core ML versus MPSNNGraph

Why Core ML will not work for your app (most likely)

Blog: Getting Started with Vision

MLCamera – Vision & Core ML with AVCaptureSession Inceptionv3 model

WWDC 2017 Roundup

That was a particularly good WWDC this year wasn’t it? Lots of possibly transformational technologies introduced it’s going to be very interesting indeed to see how they play out!

We’ll explore those in more depth later on, but for now let’s sort out some resource links and initial reactions.

First up, you want to go download The Unofficial WWDC app for macOS:

4a5b0d11384fd46acdbe8f552a5b85a7

Isn’t that pretty? Definitely your WWDC video viewing app of choice, we say!

Next, address this problem

687474703a2f2f63646e2e6d656d6567656e657261746f722e6e65742f696e7374616e6365732f343030782f32313932383230372e6a7067.jpeg

with the WWDC-Downloader script over at Github.

(And while that’s all downloading for your next transcontinental plane flight or whatever, have your heart warmed with

WWDC17 Scholarship winner Kenny Batista shared his experiences at Apple’s big week for developers !)

If you want to prioritize a bit, here’s a WWDC 2017 Viewing Guide that looks solid.

There’s enough interesting new technologies that they deserve roundup posts each as there’s going to be a lot of figuring out there to keep track of, so for now we’ll just link a couple overviews hitting the highest points:

The 2017 Apple Design Award Winners

WWDC 2017 Initial Impressions from the Wenderlich team

Another take from the Big Nerd Ranch crew at WWDC 2017: Helping You Get Things Done

Also check out their article New HEVC & HEIF Media Formats: What You Need to Know and Begun, The Codec War Has for background on the fur that’s no doubt going to be flying all over about that soon.

Oh, and we’ll put An In Depth Look At the New App Store and New rules following WWDC 2017 here too — there’s some interesting changes there you want to be aware of. Most notably to us, that finally The new iOS App Store lets devs choose whether or not to reset ratings when updating!! Woo-woo-woohoo!

And as always, over at mjtsai.com you can find a near-canonical list of WWDC 2017 Links for deeper diving!

UPDATES:

HEIF: A First Nail in JPEG’s Coffin?

MyLivePhoto

Way back in the day our first reaction to Live Photos was er, Apple reinvented the GIF, yay? But obvious though you’d think a simple conversion app would be, far as we’ve noticed no one got off their butts and actually did anything about it … until now!

Our magnificently esteemed (even if he is French) coworker JB Stevenard’s latest is called — just to make it totally clear —

MyLivePhoto – Convert Live Photo – GIF Frame Movie

and, y’know, you want those Live Photos as a movie or a GIF or a picked frame, this really does look like the easiest way there is to go about it. So we recommend you grab that while it’s free!

And just as a demonstration of how to use its power for EVIL … here’s your FULL SIZE LiveGIF of the morning rush hour traffic over in Ha Long Bay:

So yep, yep it works. Might want to apply a little more common sense than we did here to how you actually use its output, but if you want to have a 5 meg pageload … now it’s easy!

New Bestie: Microsoft?

Feels pretty strange writing this when you lived through the 80s and 90s, but Microsoft is kinda on a roll helping out Apple-based programmers recently, isn’t it?

First off, Visual Studio Code is definitely our favorite Electron app, and is rapidly taking over pretty much all our text editing needs not done in Xcode.

Then, we have Visual Studio for Mac! OK, what we really have is a rebranded Xamarin, yes. That’s still a massive leap forward in officially endorsing practical cross-platform options by anybody’s lights, and downright glorious if you’re a Mono/C# fan. Or a Unity game dude. Or a .NET Core server dude. Or someone who loves shopping at NuGet.org. Or, people who like working with Docker and/or Azure:

Visual Studio for Mac: now generally available

Since we released the first Visual Studio for Mac preview last November, we’ve been working hard on porting over the web editor tools from Visual Studio on Windows. Now with this release, you have full support to build out rich web-based applications using ASP.NET Core and front-end languages like HTML5, CSS3, and JavaScript.

And when your web app is perfectly polished and ready for release, you can directly publish to Azure using the new Publish to Azure wizard, without having to leave the IDE…

… today we also talked about some great new preview features, which we’ll make available in our alpha channel really soon. These are preview features that are not present on the stable release, but ready for you to try once released and give us feedback:

  • Docker support: supporting deploying and debugging of .NET Core and ASP.NET Core in Docker containers.
  • Azure Functions support: use this preview to develop, debug and deploy Azure Functions from your Mac.
  • Target IoT devices: target IoT devices like Android Things with your C# code and Xamarin.

That’s … quite the toolkit to have officially supported by Microsoft on macOS!

But what’s got us really paying attention now isn’t actually the tools, interesting as those are. We’ve been feeling a little bit grumbly about Google grabbing up Crashlytics et al. and the ALL YOUR DATA BELONG TO GOOGLE licensing terms coming into force, so this looks very very interesting indeed:

More Platforms, More Choices, More Power: Visual Studio Mobile Center at Build

Last fall we introduced Visual Studio Mobile Center (Preview), a cloud service designed to help developers manage the lifecycle of their mobile apps and ship higher-quality apps faster than ever. Today we announced several exciting improvements that expand the features of the service and extend Mobile Center to new audiences and platforms…

A great CI/CD pipeline is critical to delivering software quickly and with confidence. The Mobile Center Build, Test, and Distribute services are designed to make this a part of every developer’s workflow. Our Crash reporting and Analytics services ensure that you can learn about each release’s quality and usage, but a common request we’ve heard from developers is the ability to send Push messages using Mobile Center Analytics data to help ensure that the right end-user is receiving timely notifications. This tightens the loop from check-in all the way through deep engagement with end-users.

With our new Push service, Mobile Center developers can send targeted messages to specific sets of users at exactly the right time. Customers can create segments based on over a dozen different properties, including carrier, language, device model, screen size, and time zone, with many more to come…

Several Preview customers told us they loved our Test service, but they wanted to write their tests in a more familiar, platform-specific framework. We listened, and we now support XCUITest and Espresso, the native test frameworks for iOS and Android. Now developers can write their automated UI tests in their preferred languages and port existing tests to Mobile Center Test…

Mobile Center has offered a powerful beta tester distribution service since our first preview, with successful builds automatically sent to testers with ease. Developers have told us they’d love this same mechanism to let them deploy the applications to app stores and company portals.

With our new enhancements to the Distribute service, once a developer is confident about their apps quality, they can promote the latest build directly to an app store or company portal. Today you can do this with Google Play, and very soon we’ll be adding connectors for Intune, the App Store, and the Windows Store…

Mobile Center is the next generation of HockeyApp. Starting today, we’re launching the first step in our transition plan for HockeyApp users: use existing apps from HockeyApp inside Mobile Center, analyze crash reports and analytics, and connect to the Build, Test, and Push services…

New mobile platforms, testing frameworks, push services, and repo support are just the beginning—we have a lot more coming soon. Deployments to consumer app stores and secure private portals will be coming in the next few months, as will increased support for UWP, parity with our HockeyApp and Test Cloud services, and entirely new cloud development services. Sign up now to get started!

Yup … we’re thinking that looks like a really attractive alternative to Google-dependent lifecycle management for our apps. We’ve signed up, we’ll use it for our next cross-platform app, and see how that goes!

UPDATES:

Mobile Center plugin for fastlane

New Bestie: Microsoft?

Feels pretty strange writing this when you lived through the 80s and 90s, but Microsoft is kinda on a roll helping out Apple-based programmers recently, isn’t it?

First off, Visual Studio Code is definitely our favorite Electron app, and is rapidly taking over pretty much all our text editing needs not done in Xcode.

Then, we have Visual Studio for Mac! OK, what we really have is a rebranded Xamarin, yes. That’s still a massive leap forward in officially endorsing practical cross-platform options by anybody’s lights, and downright glorious if you’re a Mono/C# fan. Or a Unity game dude. Or a .NET Core server dude. Or someone who loves shopping at NuGet.org. Or, people who like working with Docker and/or Azure:

Visual Studio for Mac: now generally available

Since we released the first Visual Studio for Mac preview last November, we’ve been working hard on porting over the web editor tools from Visual Studio on Windows. Now with this release, you have full support to build out rich web-based applications using ASP.NET Core and front-end languages like HTML5, CSS3, and JavaScript.

And when your web app is perfectly polished and ready for release, you can directly publish to Azure using the new Publish to Azure wizard, without having to leave the IDE…

… today we also talked about some great new preview features, which we’ll make available in our alpha channel really soon. These are preview features that are not present on the stable release, but ready for you to try once released and give us feedback:

  • Docker support: supporting deploying and debugging of .NET Core and ASP.NET Core in Docker containers.
  • Azure Functions support: use this preview to develop, debug and deploy Azure Functions from your Mac.
  • Target IoT devices: target IoT devices like Android Things with your C# code and Xamarin.

That’s … quite the toolkit to have officially supported by Microsoft on macOS!

But what’s got us really paying attention now isn’t actually the tools, interesting as those are. We’ve been feeling a little bit grumbly about Google grabbing up Crashlytics et al. and the ALL YOUR DATA BELONG TO GOOGLE licensing terms coming into force, so this looks very very interesting indeed:

More Platforms, More Choices, More Power: Visual Studio Mobile Center at Build

Last fall we introduced Visual Studio Mobile Center (Preview), a cloud service designed to help developers manage the lifecycle of their mobile apps and ship higher-quality apps faster than ever. Today we announced several exciting improvements that expand the features of the service and extend Mobile Center to new audiences and platforms…

A great CI/CD pipeline is critical to delivering software quickly and with confidence. The Mobile Center Build, Test, and Distribute services are designed to make this a part of every developer’s workflow. Our Crash reporting and Analytics services ensure that you can learn about each release’s quality and usage, but a common request we’ve heard from developers is the ability to send Push messages using Mobile Center Analytics data to help ensure that the right end-user is receiving timely notifications. This tightens the loop from check-in all the way through deep engagement with end-users.

With our new Push service, Mobile Center developers can send targeted messages to specific sets of users at exactly the right time. Customers can create segments based on over a dozen different properties, including carrier, language, device model, screen size, and time zone, with many more to come…

Several Preview customers told us they loved our Test service, but they wanted to write their tests in a more familiar, platform-specific framework. We listened, and we now support XCUITest and Espresso, the native test frameworks for iOS and Android. Now developers can write their automated UI tests in their preferred languages and port existing tests to Mobile Center Test…

Mobile Center has offered a powerful beta tester distribution service since our first preview, with successful builds automatically sent to testers with ease. Developers have told us they’d love this same mechanism to let them deploy the applications to app stores and company portals.

With our new enhancements to the Distribute service, once a developer is confident about their apps quality, they can promote the latest build directly to an app store or company portal. Today you can do this with Google Play, and very soon we’ll be adding connectors for Intune, the App Store, and the Windows Store…

Mobile Center is the next generation of HockeyApp. Starting today, we’re launching the first step in our transition plan for HockeyApp users: use existing apps from HockeyApp inside Mobile Center, analyze crash reports and analytics, and connect to the Build, Test, and Push services…

New mobile platforms, testing frameworks, push services, and repo support are just the beginning—we have a lot more coming soon. Deployments to consumer app stores and secure private portals will be coming in the next few months, as will increased support for UWP, parity with our HockeyApp and Test Cloud services, and entirely new cloud development services. Sign up now to get started!

Yup … we’re thinking that looks like a really attractive alternative to Google-dependent lifecycle management for our apps. We’ve signed up, we’ll use it for our next cross-platform app, and see how that goes!

May The 4th Be Swift You

Got your Swift 3 rewrites all done? Good, good, because now it’s time for…

What’s new in Swift 4.0

Swift 4.0 is a major new release for everyone’s favorite app development language, and introduces a variety of features that let us write simpler, safer code. You’ll be pleased to know it’s nothing as dramatic as the epic changes introduced with Swift 3.0, and indeed most changes are fully backwards-compatible with your existing Swift code. So, while you might need to make a handful of changes it shouldn’t take long.

WARNING: Swift 4 is still under active development. I’ve selected some of the most interesting and useful new features for discussion below, all of which are implemented and available to try now. Please keep in mind that more features are likely ship in the months before final release.

  • Swifty encoding and decoding…
  • Multi-line string literals…
  • Improved keypaths for key-value coding…
  • Improved dictionary functionality…
  • Strings are collections again!…
  • One-sided ranges…
  • There’s more still to come…

The first release of Xcode that ships with Swift 4 is likely to arrive in June, presumably along with iOS 11, tvOS 11, watchOS 4, and macOS Somewhere Else In California. What we’ve seen so far is already promising, particularly because it’s clear the team is working hard to make Swift 4 as additive as possible. Primarily adding new features rather than breaking or modifying existing ones should make it easier to upgrade to, and hopefully signals the start of a new stability for the language…

One feature that was postponed was ABI compatibility, which would allow developers to distribute compiled libraries – one of the few key missing features that remain in Swift today. Hopefully we’ll get it before Swift 5…

So if you want to get a jump on this year’s Grand Transition, go check that out.

And if you’re really eager:

Playground: Whatʼs new in Swift 4

I made an Xcode playground that lets you try out many of the new features coming in Swift 4. You can download it on GitHub.

The cool thing is that you can run the playground right now in Xcode 8.3; you donʼt have to wait for the first official Swift 4.0 beta, which will probably come as part of Xcode 9 at WWDC. All you need to do is install the latest Swift snapshot from swift.org (donʼt worry, itʼs easy)…

Hands-on code examples to help you learn what’s new in Swift 4: new encoding and decoding, smarter keypaths, multi-line strings, and more!

Yeah, personally I think we’ll manage to contain ourselves for that 17 more days, thanks. Handy playground to have around then though!

UPDATES:

Building Swift Projects In Source Compatibility Mode

Breaking changes in Swift 4

What’s New in Swift 4?

Encoding and Decoding in Swift 4

Migrating to Swift 4

Parsing JSON in Swift 4

What’s New in Swift (WWDC 2017.402)

WWDC videos on Swift:

Exploring the new String API in Swift 4

The surprising awesomeness of Grouped Dictionaries

The startling uniquing of Swift 4 dictionaries

Functional Lenses: an exploration in Swift

Kuery: “A type-safe Core Data query API using Swift 4’s Smart KeyPaths”

Ultimate Guide to JSON Parsing With Swift 4

Swift 4 Decodable: Beyond The Basics

Swift Witness For Sourcery

Yep, think we’ve outdone ourselves with the obscure title references this time. If you knew it was from Malachi 3:5, our congratulations!

What we’re talking about today is what you might have noticed when it was named Insanity, but these days is called Sourcery:

What is Sourcery?

Sourcery scans your source code, applies your personal templates and generates Swift code for you, allowing you to use meta-programming techniques to save time and decrease potential mistakes.

Using it offers many benefits:

  • Write less repetitive code and make it easy to adhere to DRY principle.
  • It allows you to create better code, one that would be hard to maintain without it, e.g. performing automatic property level difference in tests
  • Limits the risk of introducing human error when refactoring.
  • Sourcery doesn’t use runtime tricks, in fact, it allows you to leverage compiler, even more, creating more safety.
  • Immediate feedback: Sourcery features built-in daemon support, enabling you to write your templates in real-time side-by-side with generated code.

Sourcery is so meta that it is used to code-generate its boilerplate code

We’re pretty leery of tools like this in general as they end up being yet another cesspool of technical debt, but that this one is based on SourceKitten is interesting enough to at least pay some attention to it. And it’s catching a bit of buzz:

How to Automate Swift Boilerplate Code with Sourcery

Switching between our Android projects written in Java (or more recently, Kotlin) and iOS projects in Swift makes me sorely miss annotation processing. Annotations in Java can be used to generate common code and things that Swift developers would have to hand write. Hand written code has to be bug free and consistently updated and maintained. Things like implementing equals and parsing JSON typically require boilerplate code, unique enough that you cannot abstract it away.

Although Swift does not have annotation processing, we can get pretty close with Sourcery. Let’s take a look at how it all works in this quick Sourcery tutorial…

AutoEquatable and AutoHashable by Sourcery

I’m really interested in Sourcery, so I installed it in my one of repositories. In my case, I generated AutoEquatable and AutoHashable at first because I felt these implementations contain really a lot of boilerplate codes…

If I add a new property or a new API, it prevents a human error! Though it looks trivial, Sourcery uses a safe Hashable as I mentioned in Safe Hashable in Swift. Isn’t it cool?

The Magic of Sourcery

Sourcery is a code generation tool for Swift. It is particularly well suited for auto-generating code that is very repetitious; code most developers refer to as “boilerplate”. Some examples that come to mind:

  • Equatable implementations
  • Hashable implementations
  • struct initializers
  • Lens implementations …

Sourcery — Meta-programing in Swift

Think of the potential : you can basically generate all the boilerplates of your architecture be it CLEAN or VIPER, you can generate all the protocol implementation or even the Realm data object, or even a view based on the variables that are being declared ( Sourcery do support inline code generate ). A declarative view ! The sky is the limit !

Meta Programming Swift with Sourcery

#292: Metaprogramming with Sourcery 🔮

#294: Annotations with Sourcery 🔮

#295: Building an API client with Sourcery Key/Value Annotations 🔮

If you’re looking for a good project to try this out with, a decent set of VIPER templates would be eagerly welcomed. Let us know if you come up with something!

SaVaGe!

You know, one thing we’ve found very strange over the last nearly 20 years: Various strategies for animations arrive, cause a flurry of activity, then slowly die out; but nobody ever seems to take the obvious to us path of working with Scalable Vector Graphics (SVG) to leverage what’s a long proven and widely supported (for flexible values of “supported”…) cross-platform vector animation format. When we did that October Challenge thing seven years ago we used LevelSVG to do it, and did the editing in Inkscape which was … well … we don’t like to be impolite (unless it’s funny, of course) so let’s just say it is clearly not a native app.

There are many other options, pretty much every vector drawing program supports SVG in some fashion, but generally they’re far better at importing than exporting, and quality of export is generally suboptimal and definitely not tuned to the format capabilities. What we need is an editor designed specifically for the format, and free and Open Source would be perfect …

… wait, what’s this?

macSVG.png

macSVG is a MIT-licensed open-source macOS application for designing and editing Scalable Vector Graphics (SVG) content for HTML5 web pages, mobile apps, animation design, and general graphics usage.

SVG is an open-source format for computer graphics documents based on the authoritative Scalable Vector Graphics (SVG) 1.1 (Second Edition) – W3C Recommendation 16 August 2011 from the World Wide Web Consortium (W3C), and is supported on most modern web browsers, and many application frameworks.

macSVG can produce dynamic, high-quality graphics and animation for HTML5 web views that can be displayed on most major desktop and mobile platforms, including iOS, Android, macOS, Microsoft Windows and Linux…

Well, isn’t that just awesome with a side helping of awesomesauce?

And the rendering side is active these days too, if you haven’t caught our various off-handed references check out Macaw, and Macaw-Examples, and these posts:

How friendly can drawing API be on iOS?

…I don’t even want to think about maintaining such a hierarchy using pure CoreGraphics. To use the power of Macaw you only need to inherit your control view class from MacawView or use MacawView as a container and let the magic begin. An added benefit is that any change to the scene’s properties will automatically trigger a content update for the view…

Macaw iOS Library: Morphing Animations

Macaw is an open source library which makes vector graphics drawing and animation easy and enjoyable. Not long ago we released the 0.8.2 version with interesting updates.

Morphing Animations

From the beginning of this project we wanted to implement smooth transformation between shapes. Ability to morph paths into other arbitrary paths provides a way to create complex effects. We introduced a new member of the animation’s family — Morphing Animation…

Touch Events

We also made improvements to the existing API. For example, new touch events API additions to make more advanced touch events handling possible…

So yeah, next time you have some vector interactivity and/or animation needs, we’re thinking that macSVG plus Macaw looks like a really promising strategy. Try it out and let us know!

h/t: @oss_objc!

PS. For another approach, check out Snowflake based on the Reindeer XML and HTML parser which could be kinda handy other places as well!

UPDATES:

Is Using SVG Images Good for Your Website’s Performance?

Fan-Menu – A Swift Based UI Component For Custom Animated Circular Menus

Sketching The Future

So no doubt you’re aware that Sketch is pretty much the goto tool for UI/UX work these days, but unless you were watching very closely — even if you were watching very closely, actually — you might have missed a most interesting improvement in the latest release, Sketch 43:

Here’s a quick overview of the key updates Sketch 43 introduces:

  • Improved shape editing to speed up your workflow
  • We’re retiring legacy plugins, so they’ll no longer work
  • Over 40 other improvements and bug fixes, including an update to Mirror, a new file format and changes to nested symbol overrides

Missing the interesting part? It’s the “a new file format” part:

With this release, we’ve introduced a new Sketch file format, which means documents created with Sketch 43 will not be compatible with previous versions.

Still not getting the interesting here? Let us examine some outside opinions:

With Sketch 43, Design IS Code & Code IS Design

Sketch 43 will revolutionise software design work. The next version of Sketch will have an new file format that allows to read and write .sketch files manually or programatically. This strategic move will make designers and frontend engineers skip (the visual aspect of) frontend frameworks like Bootstrap or Zurb Foundation and go from Sketch straight to implementation…

With Sketch 43 you can now alter or create the very document that describes visual form and color from scratch, programmtically. That could be any element, modular component or an entire screen UI.

We do not have a need anymore to build templates based on visual layouts. Furthermore, we do not need to go through design definition phases before going into implementation. Forget the USP “Pixel-perfect design”.

The design IS the code, and the code IS the design.

Anything visual can now go back and forth between Sketch and UI frontend seamlessly. Designers now define the actual UI code. Developers can now make changes to the .sketch file with a simple click…

asdf

Various articles with further tidbits:

Sketch 43 is coming to town with a new game. An open file format!

Sketch 43 will change the way we work and think

New file format in Sketch 43

New file format in Sketch 43 and what we learned about it

Everything you need to know about the Sketch 43 file format

Sketch 43: A brief tour of fact vs folklore

sketch-web-viewer: “View and inspect Sketch 43 files in browser

And while this isn’t new, it will probably be of interest for scripting workflows:

Sketch-Server: “A Sketch Plugin that creates a local web server for your Sketch Documents.”

By default, Sketch Server returns an HTML page containing your image, centered (when smaller than viewport). You can specify both page, artboard, scale, and what kind of content the server returns to you… If you’d like just the image (png), you can get it using the /image path

Our immediate application is, we’d like something like this, but that draws 30+ localized languages from our CMS:

Generate App Store images for all iPhone sizes from Sketch

which should now be eminently doable. That’ll streamline the release process nicely!

So keep an eye on Sketch Hunt and Sketch App Sources and all the rest of the Sketch developer community … likely to be some mighty interesting stuff coming!