Frameworks is a must these days when developing iOS apps. Compile speeds are usually several times faster depending on code structure. The pitfalls are many, so where do you start? This is what I did to cut build times in half for my app Feeds:
Shipping day for Feeds, the powerful feed-reader that can take websites and transform them into a self-updating feed. I also built an AI to cut through the massive information overload that comes when subscribing to lots of feeds.
AutoDB is finally open-source and it feels like a big rock has dropped from my shoulders. I don't need to build it for the money, and I don't keep it hidden from the world. Such a great piece of software is ment to be free!
So what is it and why is it so much better than anything else? Let's take a quick tour comparing with my favorite adversary CoreData!
I have built the greatest database engine (on top of SQLite) that automatically turns your objects into tables. It even handles change-detection, auto-migration and syncing.
But what should I do with it? Give it away, sell it, or open source it?
I love my kids, they are great and I often feel extremely lucky and fortunate to have them. Here is my oldest, recently turned three:
I hastily released my new app Feeds. I just couldn't wait any longer!
It’s an RSS reader on steroids, where you can follow almost any website. It will make the web a better place for everyone and change the way we read feeds (or that is the plan).
Is it stupid or brave to try doing something new? Perhaps both? Let’s go down two design routes inside my new app Feeds.
The app itself can be found here: https://feeds-app.com
Friday the 7 December my second son was born, and he is a little marvel. I had forgotten how small and cuddly newborns are, and I just never want to let this guy go once I hold him.
Where is the digital version of the morning paper? Reading through the world’s events while commuting or sipping the first cup of coffee. Easily skim through the headlines and dive deep into what’s interesting.
Nowhere! So I had to build it myself. It is now in public beta, go and check it out:
There has been a while since something new came out, but now it is time! Yes, we are having another baby! ??
I saw the movie “contact” the other day, where the learning of a new language has some profound implications of how the mind works. It made me remember when I studied philosophy, a student argued that the German’s were “such an actionable people”, since they put verbs last in their sentences. Ignoring whatever this “ableness” could refer to, it points to an idea that language shapes and forms the mind and makes you a different person. Focusing on verbs will make you more of a doer.
How much do we hate them? Two dudes high-fiving each other while guessing blindly into the blue? Let me tell you a story - don't worry it has a twist in the end.
Finally it has come, like an yearly christmas present! Or perhaps not. At enormous costs and what seems to be no real change to end users at all.
I have not written anything in almost a year, not that it matters much since there are so few readers - but it matters to me. And the drive-by readers I get on occasion. The reason is of-course that I have been swamped with stuff to do, and absolutely no time for anything but the most important. That is going to change soon, that must change.
As a iOS developer and devoted user there are a million things I would like to see changed to push the platform forward. If I could only pick one, it would be Gatekeeper for iOS.
Dark mode is coming to iOS according to recent rumors, and since it exists on tvOS they're quite believable. Perhaps as soon February which has gotten big updates before.
Not only does it cut build times by an insane amount (in one of my apps I saved minutes), it also makes my work a lot easier. Let me walk you through how this is possible and why I think its a great strategy.
First, I must mention that this is not for everybody. If you are working with people that can't code, don't want to learn or are afraid of reading code, this is just not an option. Such teams simply must have their nib/xib files ready for a graphics designer to try out new things, replace images, etc. To those I would like to send a quick advice: start learning. Layout code is usually the easiest to read and understand, and if you understand code - you will become a better designer. It is also fun and rewarding.
I have had an annoying bug with the app "Numbers" since its inception. The problem was that since I use Swedish locale and we use commas to separate decimal numbers instead of period, which is causing confusion when reading csv files (which uses comma as a separator). Numbers could just not make sense of regular csv files, since it expected Swedish locale (comma as decimal), which isn't particularly common in CSV-files (the creator usually don't know where or who will read the file). On April 4 2016 I finally did something unexpected, and you won't believe what happened next! =)
The popcorn is out. Will usability or fluff win the beta match? The first 5 rounds was won by usability but fluff has taken the other (so far).
What am I talking about and what is this? All will be explained!
Qiozk started as an exciting project in 2009, to create a digital kiosk where publishers had full freedom to sell and market their own magazines as they saw fit. We were early. There was no iPad at the time, in-app purchases were a new concept and the Android market (as Google Play was called back then) wasn't even available in Sweden (which was our market). We didn't care much to analyse the market or construct various business plans, there were too many unknown variables so it wouldn't be more than guesses anyway. We just thought that it was a fun project we could do, so why not just do it? Many publishers seemed to also like the idea, and pushed Qiozk in their magazines and on their web sites. I cannot express how great it feels to get that kind of support for something you do - I especially want to thank everybody for this.
I now have a little baby boy who wakes me early with giggles and baby-speak. I am very happy, but tired. His name is Gunnar.
Apple started off as a champion for usability and user-friendliness and that is the reason why I liked the mac so much and stuck with it through all these years. You can see it in such a subtle way as how the menu-animations are handled. Click on a menu and it is instantly there, no animations at all - but when it goes away there is a little fade-out creating a richer experience. The fade-out does not take up your time or interfere with anything, but a fade-in would (so no fade-in).
Hiding apps is a great feature in OS X that few people seems to understand, even Apple don't understand it. It basically allows you to hide apps you don't work with at the moment, so you can better focus on those you do. In difference to making a single app fullscreen, this allows you to focus on two or three apps at a time, while having the rest waiting, hidden in the background.
Have you noticed how some apps mysteriously crashes for no apparent reason? Like when trying to open a document in pages? There is a fix for that.
I really like working with others, but it is really hard. I don't mind working really hard, and I don't mind doing new things, and learning new things. In fact - this is the main reason I'm still a one-man development shop. Working with others on the other hand, is hard in a different way - hard as in "impossible".
I seriously hate those words, not their meaning of-course, but how wrong they are used. Let me explain:
Somewhat a downer this year. Two big side-projects (where one was due to get released this fall), more or less canned by new features in iOS 9. I'm not sure this is actually something bad. It is great that these new features are added to the system, and now it will get much better than what a third party could accomplish. The sad part is that I've been working on and off on these for several years, so it is a lot of work that now is just a waste. The lesson here is you must focus and prioritize, you can't let a project linger for years in the fast-paced mobile world. Either do it now, or move on to something else. Who knows, they might get a new life in the future, in some other form. And maybe I'm judging this a bit too fast - we'll see.
Last week I finally submitted the next update to Qiozk to the App Store. It has been more than a year since the last update, so it feels great to finally have updated the UI to something I don't have to be ashamed of. Of-course there are more I want to do, but as always, time is not infinite and my users have been waiting long enough.
Communication is really hard. I am amazed over how other people do it. They write so fast, they seem to be so quick from thought to speech. I'm usually quick to make up my mind, but formulating why can take several days. Especially when there is uncertainty. One good way of knowing what you really think and whether it's good or bad, is to formulate it in written words. Since I'm the only voice behind Aggressive now, I needed an easy and nice way to write down my thoughts and read them later. Simply put, it was time for me to write my own static blog engine!
These last ~9 months have been a race through the underbelly of technical debt. I have at the same time delivered a lot of apps, been trying to get a new company of the ground (and failing, more on that in another, more sad post), and learnt how to do everything myself. It was not that difficult to do it all myself, we only were two people before so there were just a few task where I wasn't "the main guy". Technical debt is a rather tricky thing, when do you decide to deal with it? Things work as it is, and if you are just going to some cleaning, it will not produce new sellable products.