At SwiftyBeaver we are all living, breathing, and even dreaming Swift. So it was no surprise that we chose server-side Swift to power the backend of our website as soon as it became available.
So far there are just basic tutorials about getting-started with server-side Swift deployment to Heroku or DigitalOcean but no real-life, production-ready instructions with Amazon Web Services as cloud provider which is maybe more suited for larger web apps in production.
That’s why I am explaining how we did the production-ready installation, setup & deployment of our Swift 3 web app using the following stack:
With the release of Swift 3 in September 2016, Swift became available for Linux. That opened it to a whole new world of software development: server-side apps. Since logging is a key component in software development, making SwiftyBeaver, the leading logging framework for Swift, available for server-side apps became a top priority.
And today, I am more than happy to announce that it got accomplished. SwiftyBeaver is the world’s first logging framework that supports the whole spectrum of Swift-compatible devices. Macs, iPhones, iPads, Apple TVs, Apple Watches, and finally Linux servers — SwiftyBeaver covers them all.
Since we really love server-side Swift, we wanted to make it as convenient as possible for Swift developers to get started with server-side Swift to share our excitement. Continue reading to learn more. …
… but Slack stays the living room.
Until today, the SwiftyBeaver Slack channel was the only source of truth for SwiftyBeaver and it was a phenomenal success with a very engaged community at peak times like when new features or versions were shipped.
Now, with SwiftyBeaver, as project & company, growing into something even more meaningful and with many more open-source projects hosted on Github than ever before, the former task management workflow needs an update.
Until now, we just put ideas, issues, etc. into Wunderlist (beautiful but not really public) or Trello (ugly, but public). …
Today marks a major milestone in the life of SwiftyBeaver as product and company: the public release of the SwiftyBeaver Logging Platform. Continue reading about some key takeaways of the beta period, important changes for beta users, the new plans and and how the release is celebrated.
3 months ago, my team and I were excited and frightened at the same time. It was the private beta release of our new logging platform for Swift.
The huge success of the open-source SwiftyBeaver Logging Framework, now with nearly 1,500 Github Stars made me wonder if we can really port that enthusiasm of the userbase into a full-fledged platform for logging during development and also release which consisted of the framework, an encrypted cloud service and a Mac App to consume the logs. …
Today, the browsing of Swift event logs on a Mac gets even more convenient and powerful with the latest SwiftyBeaver Mac App update.
Continue reading even if you are not a SwiftyBeaver user, yet. There is surely something in for you as Swift developer or UX designer, too.
Each log event which is created on a device, be it an iPhone, iPad, Apple Watch or Mac, has a user “behind” it. Connecting your most important asset, your app’s user and his device, with a log event adds important context and makes support, marketing and general insight into how your app is used so much easier. …
Today, I am proudly introducing the SwiftyBeaver Logging Platform private beta.
SwiftyBeaver will make the life of Swift and Objective-C developers, UX designers, app analytics experts, and product owners better and comes with a fresh, year 2016 approach to logging and app analytics.
The perfect tool for app makers.
For the past months, my team and I were working on a solution which would be the perfect tool for app makers. We put our focus on the needs of today’s mobile first products, deliberately ignoring web apps and server admins which are anyway all primarily served by the competition.
That focus allowed us to completely re-think the logging and analytics experience for the app maker audience and let us start with a blank slate. It also led to more innovations than we had planned in the beginning; some of them I want to briefly mention in the following paragraphs. …
… or how get more users through your onboarding funnel on Android, Web & other platforms by providing a mostly invisible signup.
One week ago, I released iOS Onboarding without Signup Screens on Medium. It described my idea of using the iOS user’s iCloud ID for a secure and invisible authentication across all iOS devices of a user with the purpose of getting rid of the need to enter an email and password during app onboarding.
The response was overwhelming.
The response to my article on Twitter and Medium was, and still is, overwhelming. The sheer volume and the very positive feedback surprised me a lot! I was surprised because for me using the iCloud ID token was a logical solution for my next app but it seemd not many other apps (any app at all?) …
… or how to use the user’s built-in iCloud account for secure, invisible authentication, including code example in Swift 2 at the bottom.
Nothing drives more first-time users away from an app than the need to fill a signup form during onboarding. Typing on a smartphone is a pain, especially entering an email address and two times a long password and very often the result is just the receiving of annoying newsletters.
Since the rise of app analytics onboarding steps are heavily measured and many app developers see that more than 50% new users immediately abandon a freshly downloaded app if they are confronted with a signup screen. …
In Part 1 I introduced you to the main randomizing functions in Swift. In this article we will now use these functions to randomly generate some more complex data which work great if you need to test fake user input in a UITextView, UILabel or CGRect:
As always, I strongly recommend to try all code inside an Xcode Playground.
To get basic randomized text you need to deal with the building blocks of text called characters. A character can be either a digit (0–9), or a letter (a-z) or a symbol (!?§$%&/=) and can also be a the space character (the blank character which devides words from each other). …
It is often necessary to add some randomness to a Swift application during development. For example if you need to fake data from a user input during a unit test or to display some dynamic placeholder text to get comfortable with your Auto-Layout.
In Swift 2 Apple provides these functions (among others )to deal with randomness:
Let’s explore these functions with some example code.
“But before we start …
let’s go to the Playground!”
To avoid many print statements please open a new Playground in Xcode. A Playground is a 2 column view where the left column is used to enter source code and the right column is displaying the source code’s value in realtime. …