- Why Steroids Are NOT Functional – Don’t Trade Your Health for Muscle
- How to Keep Leveling Up INFINITELY – Like Sung Jin-Woo
- The Ideal Physique is Easy for Most Guys When They Learn This – Toji Workout
- How to Train Your FOOT Muscles for Balance, Power, & Injury Prevention
- How to Do Sit Ups CORRECTLY for Ripped, Powerful Abs
- How to Train Your Nervous System Like a NINJA
- Pike Push Ups are Good and You Should Probably Do Them, Maybe
- Supercharge Your Mitochondria for Energy, Endurance, And Longevity
- Calisthenics will change you.
- How to Track and Progress Multiple Goals at the Gym… And Win!
Making of an App – Behind the Scenes With ColdfusTion’s Voxis Launcher
Multiscreen Multitasking was the first app to bring me relative success. I wrote in this post how it earned me around £15,000 over the course of about 18 months, but ultimately it began to slow down after that time to the point where I’m now only making about £6-10 a day from it. That’s still nothing to be sniffed at bearing in mind it’s truly passive income, but when you’ve adapted to the higher profits… well it feels like a bit of a kick in the teeth to be honest. That and it sucks seeing something you put effort into slowly die…
So I needed a new project to work on and decided to try something I hadn’t done before: working with someone else! For a while I had been a big fan of ColdfusTion’s YouTube channel. For those who don’t know it, it’s a highly stylized and beautifully edited channel dealing with technology generally as well as Android customisations and reviews. When I got my first Android device (the awesome Dell Streak) it was his videos that taught me how to make the most of it through custom launchers, icon packs and other changes.
Here’s an awesome example of one of ColdfusTion’s videos so you can see just what an eye for design he has:
Pretty excellent right?
It always struck me that if ColdfusTion were to make his own launcher, I and probably thousands of his viewers would be sure to download it immediately. As a big fan of his work, this was something that I really wanted to work with him on before anyone beat me to it, so I tried my luck and sent an e-mail. What do you know, he responded! It turns out that he had already been planning on doing something similar seeing as he’d had many such requests. To show him I wasn’t kidding around, I quickly developed an app that did nothing other than mimic his ‘Voxis UI’ setup, and – happy days – he agreed I could help with the coding.
Design and Development
So what we had at this point was really just a ‘shell’ of a launcher with some preset icons. It looked nice and had a list of apps for an app drawer (originally located on the last homescreen of the launcher), but it wasn’t customisable and didn’t really do much other than launch apps from a long list.
From here Dagogo (that’s ColdfusTion to you!) started instructing me on his vision for the app over e-mails and sending images I could use and I would implement the ideas as he requested them (not always without a hitch though!). This could be slow going at times, so eventually we started using Hangouts for weekly and then twice-weekly chats. As he’s based in Australia and I’m in London, we had to navigate both busy schedules and a big time difference!
An early example of something he thought of was to include folders that would allow you to organise apps by category and then view just those apps at the touch of a button. It was after we implemented this that I started using the launcher as my daily driver because it was just so much quicker and more convenient. Likewise Dagogo came up with the most awesome opening for an app I’ve ever seen. You’ll have to wait and see that one!
An example of something that didn’t work meanwhile was to have a blur effect over the wallpaper for folders and other elements. Unfortunately while this would have looked really cool, there’s no in-built command in Android to do this and no way to get an image of a wallpaper. This meaning we’d have had to include the wallpaper in the app to be able to grab the image file then apply a blur effect while making sure it lined up. We tried doing this, but decided it was limiting for the user not being able to use other live wallpapers – not to mention the fact it was supremely resource-heavy and slowed everything right down! Speed and optimisation have long been top priorities for the launcher. The feature has now sadly gone the way of the Dodo, but you can still see what it would have looked like below!
Other work revolved around speeding up the app as much as possible and adding customisation features such as the ability to add and edit widgets. We used a system here similar to Multiscreen Multitasking for a much more ‘free-form’ feeling when changing the layout. Gestures were also added, which was tricky bearing in mind that there were so many live elements on the page. I got around this problem using a little coding trickery – by creating a ‘mesh’ of thin live areas that would register when they were touched in the correct order.
An Eye for Detail
What I found really impressive through all of this was Dagogo’s eye for detail. At one point a cross in the centre of the first page wasn’t quite central – I’m talking 2 pixels out – and he spotted it immediately (I of course was oblivious). Studies show that people who work in design can actually see things other people miss and even register more colours! This was my theory as to why he saw it and I didn’t, but who knows…
Other times he would ask for a change that I wouldn’t really see the merit in (like turning the circles in bottom corner the screenshot above into squares and having them fade away after a second). But as soon as I made the change I realised it was a million times better. He even suggesting customising things like the dialogue boxes – which I hadn’t even thought of in the past.
I’ve learned a lot from this process too. Many of these requests I just hadn’t thought of before so I’ve had to expand my skill set (another bonus of working with someone else). One change he requested was to add an ‘ease in’ on one of the animations (here‘s an explanation I found online). It means that the movement gradually slows down towards the end and takes a little while to ‘accelerate’ at the beginning. It’s a more ‘lifelike’ motion, and we naturally register it as more professional when we see it in other apps. That was news to me… but you really do notice the difference. Something to think about next time you use an app from the Play Store. The devil is very much in the details.
Also, how cool does this menu look all in white?
This is what my own apps have lacked in the past – polish and design. Those just aren’t my strengths! I like ideas and I like creative problem solving, but I tend to rush the little things. That and I have no ‘eye’ for design; Multiscreen Multitasking was originally going to be bright turquoise until my Sister (whose an artist) forbid me from releasing it like that!
So to other app developers out there I would highly recommend working with someone who has complementary skills to you. Know your weaknesses and find ways to avoid letting them be an issue. It helped too that Dagogo is also a really nice guy and was great to work with all the way through. He was also able to suggest some solutions to coding programs and it really helped having someone to provide a different perspective on things – coding can sometimes be a lonely process otherwise! I’ve been pretty fortunate to get the opportunity to work with a guy who I believe has the kind of eye for detail that made Steve Jobs so successful.
And another tip: rather than breaking your back trying to get people to like your app, why not try creating something that you already know there’s an audience for? And try reaching out to people you’d like to work with in a mutually beneficial relationship – you might be surprised who you might hear back from!
The Technical Stuff
To code the app I worked in my favourite programming language for Android: Basic4Android. Now some people would malign this choice and say that it’s not proper programming unless it’s Java and Eclipse. To be honest though, I think that’s just snobbery. I can use Java perfectly fine, but working in Eclipse is just a slow and painful process in my experience. Basic4Android on the other hand is a ‘Rapid Application Development’ program that really lets you get stuck in quickly with features like live debugging and wireless installation. Here’s a screenshot of some of the code so you can see what building the app actually looked like!
You can program your own libraries in Java if you like so there’s really no limitations to it. You can build full 3D games using it, so you don’t need to worry about it being less optimised either (unless you’re planning on building something revolutionary). It also has one of the best and most supportive online communities I’ve ever encountered (the creator Erel is a real legend). I used Basic4Android for Multiscreen Multitasking and would never have had the same success with any other tool. As I mentioned before, I learned to program on a ZX Spectrum, so being able to code in BASIC is like a dream for me.
Honestly I love those guys and I love the platform, so if you’re considering learning to develop in Android, I highly recommend checking it out here. And if you enter the coupon code ‘NQR’ you can get a 30% discount so hurry! Once you’ve done that, head over to the forum at basic4ppp.com.
For those who want the real nitty gritty on developing a launcher, I posted this guide to creating a launcher on the forums at Basic4Android: http://www.basic4ppc.com/android/forum/threads/getting-started-with-a-homescreen-launcher.34068/
Challenges
Building a launcher is a little more challenging than building other types of apps. For starters, this thing is always running which means even rare crashes are a big problem. At the same time it just has so much you have to juggle from loading widgets, to managing the wallpaper to listing applications and making sure that list stays up-to-date… It’s tough work!
To try and make sure we built an app that would work on every device, Dagogo reached out to his significant fanbase to find testers. We ended up with a friendly bunch of guys sporting a range of different devices, but boy has it been a struggle getting it to run perfectly on as many devices as possible! At times we would make a seemingly tiny change – like editing one of the fonts – and it would throw whole devices out of whack because the font would now be too big for the label it was on for instance. Other bugs just seemed to have no plausible explanation – a feeling any programmer will be familiar with!
People are (rightly) expecting the kind of speed and efficiency they get from launchers like Nova. The only difference is that those launchers are built by companies whereas we are just two guys. I’ve been struggling a little bit with my writing business lately, and that’s made it a nightmare trying to juggle my regular work with this coding. On the one hand creating an app is more rewarding and potentially more lucrative, but in the meantime you still have to pay the rent and there’s no guarantee you’ll sell any copies!
Here’s a little video I made on making money online and the joys/frustrations that brings…
Still though, right now I have a copy on my phone that is quicker and more stable than any we’ve had before – so the end is in sight. And trust me: it’s an awesome app that will make your phone look tons more stylish right out the box and provide you with smooth function and great convenience. It’s really nothing like any other launcher I’ve seen. I don’t want to say too much and ruin it, but it’s a beaut trust me!
Coming Soon…
Hopefully we’ll be launching the app around mid/early July time and I’ll post here when we do. I’ll also post and let you know whether the app is a hit or not and I’ll talk you through the business side of things and do a full deconstruction. I’m really hoping this will make a bit of a splash, but even if it doesn’t all go to plan it’s be great working with Dagogo and I’m very pleased with the product. If nothing else, I’ve found a new launcher I now use myself every day and learned a heck of a lot about design!
By the way: here’s a video interview that Droid Effect did with Dagogo. It’s a really good interview where they discuss the upcoming app as well as his channel and various other matters!
And here’s a video demo of the app (an old build…) in action!
Watch this space…
To learn the basics of building an app with Basic4Android as I did, check out this link for my eBook. That will take you to my page on GumRoad where you can buy the PDF. There I’ll teach you how to go about installing, setting up and learning Basic4Android so that you can get started on your own projects! Remember if you download Basic4Android here and use the code ‘NQR’ you can get 30% off 🙂
Subscribe below for more!
[smlsubform]