• Thoughts on writing server side code in Go Part 1

    As I have mentioned in a previous post, I want to learn a new programming language for backend development this year. I’ve written a few Sinatra applications and played with Node.js and Express in the last years but I would never consider myself a backend developer. So take all my upcoming statements with a grain of salt, I just don’t have enough experience in this field.

    Running the actual Ruby or Node App always was a hassle for me. There are many steps that could go wrong. Do I have the correct version set up in the version manager, is the package manager set up correctly, are packages installed for the right user in the right place, is the production machine set up similar to the development machine? To be honest, I was never sure, if I fully understood all the steps I had to do in order to run the App.

    The process of deploying my first App written in Go was slightly different:

    go build testserver

    ./testserver

    I just compiled the code into a binary and ran it. Without any setup, I could copy the binary to a different machine (with the same architecture and platform, or cross-compile at the beginning) and run it there. There’s definitely downsides to compiled server side code, but I’m really happy with it and it completely fit’s my current development style.


  • Monument Valley Inspired Wallpapers

    I was looking for new wallpapers for my Mac and my iPhone when I accidentally landed on the Monument Valley website. Monument Valley was my favourite game of 2014. I’m still in love with the very specific style and design. I immediately knew I wanted the background image of the site for my devices, but due to compression the gradients of the image didn’t look that great on retina devices.

    So I fired up Sketch to creat a background in that style myself.

    The result (includes resolutions for Mac, iPhone 5, iPhone 6, iPhone 6 Plus and the Sketch file) can be downloaded here:

    monument-valley-inspired-wallpaper.zip


  • 2015

    It’s a new year already. 2015 will be an exciting one for me. I’m going to finish my studies if nothing severe happens, move back to Germany and hopefully find a real job as an iOS developer.
    Besides this, I set myself some less serious goals I want to achieve this year:

    Gain weight and get fit

    A lot people want to lose weight but a controlled gain of weight isn’t that easy either. With a height of 178 and 60 kg I hope I can gain at least 7 kgs Maybe the Apple Watch may help in getting fit. *hinthint*

    Update my existing Apps

    By moving to Amsterdam and starting my internship I suddenly had a lot less time as I had the time before in university. So my existing Apps really suffered and didn’t receive long planned updates and new features. This has to change in 2015.

    Build and release a Mac App

    I’m building iPhone and iPad Apps for three years now and I’m in front of a Mac all the time, so building a Mac App has always been the next logical step for me. I have several ideas for Mac Apps and I want to release it on my own, outside of the App Store. This should be exciting.

    Learn a new programming language for backend development

    Backend and web development never has been the thing on which I spent most of my time but I think it’s an essential skill for mobile developers these days. I’ve used Ruby with Sinatra and Express with Node before but learning something new is always good, especially in such a fast moving field. I’ll probably look into Go or Haskell.

    Travel more

    I haven’t seen as many different places as I would have liked to in the last year. I want to go on more city trips (maybe Stockholm, Paris, Rome). A classic holiday at the beach, warm temperature and sights would be nice, too. Greece sounds great for this.

    Play some video games

    When I was younger, I constantly played video games. Over time it got less and less and now I’m just playing iOS games here and there. To enjoy some blockbuster games with great graphics again, I really want to buy a Playstation 4 this year. Shadow of Mordor, Star Wars Battlefront and The Last of Us are on the list to be played!


  • Our favorite third-party email app for OS X - The Sweet Setup

    More than a week ago, I also made the switch to fully embrace Mailbox. I set up all my mail accounts, aliases and signatures. I also transformed the few classic IMAP folders I had into Mailbox lists. This can be done by moving the folder into the Mailbox folder. Lists are plain IMAP folders in the background, so backwards compatibility should be no problem.

    The last time I was this happy with my mail Apps was when Sparrow for iOS was released.


  • Digital Top of 2014

    2014 is almost over, this means it’s time to seek out my digital favourites of the year.

    Mobile App: Overcast

    One of my most used Apps on the iPhone. Smart Speed and Voice Boost are incredible features and improve the daily listening experience.

    Desktop App: Spillo

    I finally made the switch to using Pinboard for my bookmarks and Spillo is an excellent native Mac Client.

    Album: Angus & Julia - Stone Angus & Julia Stone

    This is a nice laid-back indie folk LP. I highly recommend it but I can’t write much about music because it’s such a highly subjective category.

    Movie: The Wolf Of Wall Street

    I saw this movie in the beginning of the year but I still think about this weird piece of art from time to time. I still haven’t seen some of the big movies from this year but The Wolf Of Wall Street is a special one.

    Game: Monument Valley

    A beautiful game, every level is absolute stunning. Make sure to also play the just released extension.

    Podcast: Serial

    2014 was a great year for Podcasts. Myke Hurley went indie and started together with Stephen Hakett the great Relay podcast network. But my single favourite Podcast has been Serial. Sarah Koenig and the This American Life crew tried something new with the medium and succeeded. I’m totally addicted.


  • Swift Style Guide: December 2014 Update

    This update to Ray Wenderlich’s Swift Styleguide tackles one conflict I repeatedly have while writing Swift code.

    Naming variables and constants for the optional binding shortcut:

    For optional binding, we went for the simplest solution: to shadow the original name.

    var textLabel: UILabel?    
    // later...
    if let textLabel = textLabel {
      // do something with textLabel, which is now unwrapped
    }
    

    Nice and pragmatic solution.

    Declaring and implementing protocol compliance in an own class extension also is a really nice way to unclutter big classes.

    […] we do suggest having each protocol conformance declared in its own extension:

    class MyViewController {
      // Standard view controller stuff here
    }
    
    extension MyViewController: UITableViewDelegate {
      // Table view delegate methods here
    }
    
    extension MyViewController: UITextFieldDelegate {
      // Text field delegate methods here
    }
    
    // etc.
    

  • iOS 9 Concept Video

    Every now and then a video pops up on Youtube demonstrating how the new version of iOS should look like. Just a quote from the linked video:

    “this video was made to show features and ideas that need to be on Apple’s next iOS major update”.

    You can’t be serious if you think you can deliver a better work with just a wink of your hand than many visual- and interaction-designers working full time on iOS at Apple. They work under many hard constraints like maintaining the best accessibility on the market and creating gorgeous yet highly usable designs which pleases almost everyone. Most people don’t want to change the color of every part of the operating system because the end result will definitely look worse. Features like closing all running Apps are bad for the whole user experience.

    There were some really great ideas demonstrated in similar videos(Swipe Selection by Daniel Hooper or Concept Notification Center by Jan-Michael Cart), but they all focused on one idea.

    Nothing is wrong with posting a video like this to bounce off ideas and show your skills but don’t assume you are the next star designer and Apple was waiting for your ideas to implement.


  • Flipboard Gets Personal

    By now this really is old news, but Flipboard finally did receive a major update again. Since its launch, this App is one of my all-time-favorites and always had a spot on my homescreen. I use Flipboard for sites and topics which tend to have a high post volume, so I do not overload my RSS reader. Every time I want get an overview of the latest news or just want to read something, there is Flipboard with always new content. I’m really happy to see that the App is still in active development!


  • The Sad State of Email

    Google released their new App Inbox. It’s meant to be the future of Email with a different approach to organise and handle incoming mails. The future currently is invite only. Obviously it works on top of Gmail, so no native support for other protocols. Apps are available for Android, iOS and Chrome. Yes, not even all browsers are supported. Google is in a position to form the future of the medium and bring it forward, but this is not in Google’s interest. They want to lock down their users, that’s how they make money.

    Over the course of the last two years I started to use Google for less and less and I have no plans in changing this.

    Mailbox is also doing interesting work with their approach. They offer native applications for Android, iOS and the Mac. A web client is missing. They also don’t support plain IMAP, just iCloud and Gmail, but I have high hopes that this will change in the future. It’s not clear to me what Mailbox, owned by Dropbox, want’s to achieve in the long run but I have more trust in Dropbox than in Google.

    I see those two companies as the only real innovators at the moment when it comes to Email. No one supports open standards. So for now, I’m continuing to use Mail.app.


  • Enabling link post types in Ghost

    With the linked guide, I finally added support for link posts to my Ghost installation!


  • Link: Omni | inessential.com

    Brent Simmons:

    I love that I get to work on both Vesper and on Omni apps. Omni is one of the great Cocoa development companies, and they’ve grown slowly and steadily over many years. They write lovable productivity apps — not just great iOS apps but also great Mac apps. They’re generous to and respectful of their users, employees, and the local development community. Their values and ambitions align perfectly with mine.

    At first I was a little shocked when I read this post; another great indie developer is leaving the fields. After I thought about it for a few seconds, it clicked. I imagine Omni to be a wonderful workplace, all their Apps are focused on solving problems in ways that are true to the platforms. The company supports the indie developer community and has it’s roots deep inside Apple’s and NeXT’s history. In addition, Brent is able to keep on developing for Vesper. Yes, I can see no downsides to this.


  • iPhone 6 Plus

    After Apple announced the new phones I constantly thought about the different sizes, the different use-cases and what phone I’m going to buy. This weekend I finally had the opportunity to see them in person. The iPhone 6 clearly feels like a great successor to the iPhone 5/5s. The increased screen real estate is nice but it doesn’t feel like a different form factor, thanks to it’s thinness. The rounded glass feels incredible and makes the swipe-back-gesture pleasant. The bulk out camera lens still isn’t the most beautiful thing, but it will be forgotten after a few hours of usage. With a case on it, it doesn’t even matter anymore.

    The iPhone 6 Plus isn’t an obvious product to me. It doesn’t look as humongous in real life as expected. I can hold and use it with one hand and could probably fit it into my jeans pocket, even though I’m one of those persons wearing the skinny ones. The screen looks amazing and the additional space is very welcomed in Safari or in general landscape mode. The iPhone 6 Plus surely looks like a great reading device. But I can not figure out which problems it could solve for me. It can not replace an iPad: the screen feels too small to comfortably watch videos; I can’t use 4-6 fingers to type like I do with an iPad Mini. It can’t replace my Kindle either because a shiny screen, no matter what resolution it has, is exhausting for my eyes. In addition to this, the device feels contracted. The scaled down 3x resolution, a GPU barley capable of dealing with the amount of pixel. It feels a bit like the first generation iPad. Apple has great plans for it, but isn’t ready for it. Maybe the iPhone 6 Plus will gain use-cases in the future, with optimised Apps and accessories. At the moment it isn’t for me.

    I’m definitely getting an iPhone 6 in white. I’m not a fan of the new Space Grey, I liked the “stealth black” the iPhone 5 had. The new Gold looks a bit more pinky, too feminine for my taste. I’m excited!


  • Podcasts

    Two years ago I started listening to podcasts. This was the time I got interested in iOS development and the whole community around Apple and the Mac. I started following a lot of the big names on Twitter and realized that the medium “Podcast” is actually used in this little corner of the internet. I knew what podcasts were and that they have been around for years but always thought they are just a graveyard/archive for classic radio shows.

    Marco Arments and Dan Benjamins Build & Analyze was the first one I subscribed to and after that it piled up quickly. This medium fit right into my life because it can be consumed while I’m doing something else like cooking, shopping for groceries or cleaning the dishes. It makes boring tasks more pleasant and informative.

    My iPhone is the only device I’m using to manage, download and play the actual podcasts. I’m a huge fan of Overcast, but Castro and most of the other Apps in the Appstore are solid alternatives. iOS8 even comes with an App called “Podcasts.app”. If you are looking for some shows, here are the ones I’m subscribed to:


  • iOS 8

    Finally, the new version of iOS is out in the wild. It includes tons of new features, which will completely revamp the way we interact with the devices.

    • Sharing widgets
    • Today Views in Notification Center
    • Custom keyboards
    • Home and HealthKit

    All this opens the door for whole new classes of Apps and tools. If you want to read about every part of iOS and all the new and exciting Apps go to macstories.net. Federico is doing an absolutely incredible work over there!


  • Apple Watch

    Most of my life I was not a watch wearer. Two years ago, my lovely girlfriend gifted me a vintage Casio watch and now I’m constantly wearing it. It’s lightweight, does one thing extremely well and I never even thought about charging or changing the battery.

    All those points are not valid for the Apple Watch introduced in this week’s Apple Keynote. It does not look lightweight, slim or comfortable to wear. They showed off how to charge the device easily but didn’t say a word about the battery life, what probably means: You are going to charge it every night. It seems like it’s a pretty great fitness tracker, but also a notification center, a messenger,… . You got the feeling even Apple does not really know what it’s exactly for. Why would they show off the planetarium watch face and the ability to modify the face of emoticons when they have a clear vision for this product like they had with the iPhone? Developers will find a way to make something out of it.

    I think Apple has a clear vision but is not able to execute them right now. They want a device that really is a part of you, tracks and measures everything you do, helps you with daily tasks like paying in the grocery store or controlling your environment with just a short interaction on you wrist. In the best case you actively use the watch a few seconds but it’s able to improve every aspect of your life. Maybe the watch we will see in the beginning of 2015 is that device, but in the Keynote it looked more like an improved version of the smartwatches from Samsung and Motorola that are on the market for quiet a time now and not the product of Apple’s dreams. They surely tried to do the best that they can with the technology available. Apple is really good in releasing a product to an almost established market and totally destroying the competition with it. They did this with the iPad. (By the way, why is everyone at Apple always talking about “iPad” and “iPhone” and never saying “the iPad and the iPhone”?) So I’m definitely excited about the first time I’ll see this product in real life but I’m more excited about the watch we will see in 2-3 years, when the technology may have caught up to Apple’s visions.

    At the moment I think I’m not going the buy the Watch in 2015. But we will talk again when I’ve seen it at the Apple Store.