Start Building For Apple Watch Today

With the imminent release of Apple Watch, most development teams with an iOS app will want to get in on the action. But you want to do this without messing up your current Xcode environment. Luckily, it’s all pretty easy.

First, to access the WatchKit SDK, you’ll need to install the beta version of Xcode 6.2, which is conveniently listed at the bottom of Apple’s WatchKit page. The essential thing is that once you download the .dmg and click on it to start the installation, don’t drag it directly onto your Applications folder (the default action). Instead, make a folder inside Applications for the beta version, say Xcode-6.2-beta and drag the beta version into that directory. You can now run beta Xcode from that directory when you want to do your WatchKit experimentation, safe in the knowledge that your production Xcode is still the system default.

As well as Apple’s documentation, I followed a tutorial on Ray Wenderlich’s site to get up to speed quickly

Applicasa: Build a Server Side for Your Mobile App in 10 Minutes

I was recently contacted by the people at Applicasa to give their service a go, and see how it works for me. The company claims that you can create a backend for your application in under 10 minutes – challenge accepted!

The Fundamentals of Applicasa

In a nutshell, Applicasa allows you to easily power the server side of your mobile application, iOS or Android, using some simple online tools. You create a database of objects to store all your data and then you download an SDK so that you can access this data from your mobile application.

The great thing is that you can easily run push notifications for your app from the online tool.

Creating an App

First you’ll need to set up that database, which is simply a representation of your domain model for your application. Simply click on the Add Object button which allows you to describe a table containing all the fields of each object.

Looking at the blog, it seems that future versions of the tool will support a self import feature.

Once you done all the work on your database, click on the “Build Database” button to generate the complete backend for your app.

You’ll then need to decide on your target platform to download the SDK, all of which is straghtforward with detailed instructions to get you there.

You can test out all the individual calls that may be made to your service through a WS tool. This is a useful means of debugging potential issues.

The most impressive part for me though is the push notification support. It’s made as simple as possible, where you can send a simple message to all users of your application, or even schedule the notification for a later time.

Once you have a clear idea of what your model should look like, you can easily get everything set up within that 10 minutes. The generation of the SDK can take a few minutes, but apart from that the whole process is really smooth.


Applicasa are running a Start App program where you can use the solution for free up to when you reach 100,000 downloads. After that you can move to one of the paid plans. The plans start at $49 per month up to $199 per month. If you do hit that 100K mark, you’ll be looking at moving on to the $199 plan.


Applicasa provides a really simple way of creating a backend for any mobile app and connecting via a simple API. Push notifications are made to be as simple as you’d have hoped them to be.  I’m sure the service will continue to improve over time, but I’m unaware of any offerings available at the moment that make backend app development as straight forward as this.

The Startup App program is a low risk way of trying the whole thing out, with zero cost to you, until you actually become successful at 100K downloads.

For a concise overview of how Applicasa works, check out their promo video:


Meet The Author: C# Smorgasbord

About two months ago, Filip Ekberg sent me a preview copy of his upcoming book, C# Smorgasbord. His timing couldn’t have been better – although I’m traditionally a Java developer, I had started looking a writing an app for Windows 8, and had decided to use C#. This book is structured and presented in a way that helped me learn what I needed to know really easily.

About The Book

The book is neatly structured so that you can digest one chapter at a time, depending on what you want to solve. For example, there’s a chapter purely dedicated to unit testing, while another looks at parallel extensions. Dynamic programming, inversion of control and mocking are all given their own chapters. The fact that the chapters were so focussed and could be read in isolation, in any order, is one of the best features of the book. 

Filip shows his depth of knowledge and experience, guiding the reader with good examples and an easy to follow commentary throughout.  The book acts as an essential reference for any developer working with C#. As someone who wasn’t very familiar with the language before, I feel that I have a much better understanding now.

An Interview With The Author

I also had to chance to ask Filip some questions about the book and the whole process behind writing it. Here’s what Filip had to say

DZone: Could you please introduce yourself and your experience?

Filip Ekberg: I am Filip Ekberg and I work as a professional Software Engineer. My primary focus has been C# development ever since I started my own company in 2005. Computers have always been my biggest hobby and ever since I discovered programming when I was a kid it has been my greatest passion.

During the years, I’ve had the pleasure to work with a variety of different things that have given me a great experience. Other than C# I’ve also worked with Java, PHP and C++, among others.

Teaching others have always been something I’ve enjoyed. During the time that I studied for my bachelor degree in software engineering I also worked as an amanuensis; teaching a program called “Creative Mobile Development”. This is somewhat where my blogging started to take form; I started to write articles for the class that I also wanted to share with the rest of the world.

DZone: Is this your first book? What inspired you to write it?

Filip Ekberg: This is my first, but hopefully not my last book.

Most of my inspiration came from my own articles that were re-published on DZone, my screencasts and different presentations that I’ve had for colleagues.

I felt that I had covered so much interesting topics in all the material that I had written so I wanted to explore that and see if it could evolve into something else.

DZone: Can you tell us a little about the writing process? How long did it take and what were the most difficult parts of the process?

Filip Ekberg:  This is actually something that I’ve thought about a lot; I think I could write an entire book on how to self-publish a technical book.

It all started out when I took all my raw material that I had and just put it in a Word document that had a template that I liked. But I soon realized that this posed some problems and difficulties. For instance, the content needed a lot of work to become perfect for “offline-reading”.

During the work on my book I’ve shared hundreds of screenshots with people on IRC, Twitter, Facebook and other places. This has led to a lot of positive and negative comments on the type-setting and such.

Very early in the process I got a tip that I should try out LaTeX and so I did. Basically LaTeX helps you typeset your document by allowing you to write some pretty nice markup. The reason I wanted to try something else than Word was because it posed some difficulties, since I got a lot of feedback from the people that saw my screenshots. I wanted to be able to change the entire layout of the book in just one click. So by using LaTeX, it made it all as easy as writing HTML and CSS.

This also gave it a professional look out of the box with good print ready fonts and such. But there were still lots of work to do on both the layout and the content. Meanwhile when I wrote, I shared more and more screenshots, resulting in a lot of very good feedback. Which led to what the book looks like today.
Also very early in the process I invited a handful of people to help me review the content as I wrote it, so that I would get lots of more feedback during the writing process. This is where one of the most difficult parts of the writing process was; distinguishing between objective and subjective opinions. But thanks to the proof readers Chris Anzalone, Wyatt Lyon Preul, Justin Rusbatch, Alexander Rydberg and Andreas Strid it all turned out very good.

Almost all of the raw material that I had before I started writing the book, was re-written. This means that while I had already put probably 100s of hours into creating good material for articles, screencasts and presentations, this material did not fit into the book without a lot of re-work. So I think it is safe to say that I put down probably not less than 1000 hours type-setting and writing after I had the raw material.

DZone: What sets your book apart from other C# books?

I think the title gives this away “C# Smorgasbord”. In most books you’re focusing on one technology, pattern or a bunch of practices, but you never combine all these together in a nice mix.

All the chapters in C# Smorgasbord can be read independently from each other. The idea behind this is that after reading each chapter, you will have some new knowledge that you can apply in your everyday work.

Explore your possibilities with C# and improve your skills while you will be inspired to challenge yourself. Talking about everything from LINQ to Productivity, Quality and Readability to Roslyn, Dynamic and Asynchronous programming.

DZone: What chapter are you most proud of?

Filip Ekberg: This is very difficult to answer, because of the layout of the book where each chapter is independent and cover a different technology, pattern or practice.

But if I have to choose one, I would say Chapter 9 – “Creating things at runtime”. In this chapter we look at how to create things in runtime using MSIL and how the evaluation stack works.

DZone: Where can people purchase the book?

Filip Ekberg:  Amazon primarily, but also CreateSpace and for a digital copy you can visit

It will also be available on Kindle later this year.

DZone: What are your plans for next projects / books?

Filip Ekberg: Next up is getting this book ready for Kindle and I also want to get back to blogging more frequently and maybe start collecting material for a new book. I’ve got some ideas but I need to do some more research before I can disclose too much about that!

DZone: Finally, what are your opinions on Windows 8 and the Metro style?

I thought the cover would give that away!

I’ve been running Windows 8 on my work computer since the consumer preview and I really like it.

Regarding Metro, I think it is a great idea going back to the basics; less is more. But as I’ve been using Windows 8 on my work computer, I’ve noticed that I’m rarely in the Metro view at all, just when searching for an installed application that I want to start.It is going to be really interesting trying this out on the surface and see how it feels on a touch device.


The Trouble With Android

Over the past few months, a lot has been said about issues with Android, resulting in some dropping Android from their app development roadmaps. First we have the much lamented fragmentation issue, and then we have a troublesome piracy issue. What’s to be done?

Matt Gemmell wrote a great piece on the piracy problem yesterday. What kicked that article off was the fact that Dead Trigger, a $0.99 had an “unbelievably high” rate of piracy on Android devices. Now, it’s true that Matt is more of an iOS guy than an Android fan, but he contends that Android is “designed for piracy”, and he’s right. It’s the devastating cost of such an open platform. Matt poses the crucial question:

People like to throw around figures about Android’s handset penetration. Yes, Android is on a lot of devices. That’s lovely. But the real question is: as a developer, can you make money from it?

It seems that it’s really difficult to. Handset pentration might be the big thing for Android, but that leads to fragmentation,  which itself takes it toll on developers, as you’ll remember from the Temple Run saga at the end of March.

At my core, I’m a Java developer. I want to see Android succeed, so I can use my native language to create apps. But I’m also fairly pragmatic, and so far all my app development has been on iOS (apart from a brief foray into Windows 8 apps). iOS might be a “walled garden”, but it’s a well controlled system that reduces fragmentation and piracy issues. I don’t make a whole pile of money from my apps, but that’s not a fault of the platform.

I’ve come to accept the fact that Android devices come in all shapes, sizes and versions of their OS on Android. It’s just the nature of the beast at this stage.

But it’s piracy that really concerns me. Most app developers just want to make a little extra cash for their app development endeavours. It seems to me that on the Apple app store, people don’t mind handing over $0.99 for an app. Personally, I’ve accepted that to get value from apps, I should pay. With the exception of free apps backed by big companies (Facebook, Twitter etc), there’s little that interests me in the free apps listings on the Apple store.

At $0.99, or anything up to $2.99, I’m usually getting pretty good value. If you could get a coffee for $0.99 you’d consider it a damn good deal. And someone’s gone to the trouble of designing and building the app, as well as getting a developer subscription … well, they’ve earned it.

In the Android world, a change in mentality is too much to hope for – if you can get something for free, why bother paying? Can Google address this, or has the horse already bolted?

Just to balance things out a little, I know that piracy is possible on iOS devices too, but I imagine the ratio of jailbroken iPhones to standard iPhones is pretty low.

I’d really like to hear some solutions to this. I truly want to see Android succeed as a viable platform for developers to make money from.  Should Google make some moves now to ensure they retain a developer community? On iOS, when the developer makes money, Apple make money, and as such I feel they have really looked after developers. Google are getting a cut of the sales on Android, so shouldn’t they help to discourage piracy?

The Solution to the iPhone 3GS Self Restart Issue

If your iPhone3GS has been mysteriously restarting itself since you upgraded to iOS5, then the following steps should help you get out of trouble with the phone. It’s worked for me twice:

1- Remove the SIM card from your mobile

2- Enable the (3G & cellular Data)

3- Add the SIM card again.

4- Now .. it will working fine.


Also you can Disable the (3G & cellular Data)


See the full thread at :

Debugging Android: Using DDMS To Look Under The Hood

While working on an Android application recently, I ran into some problems, and was finding it difficult to work out what was actually going on in the emulator. As I’m using Appcelerator for my app development, I didn’t have the luxury of using the built in Eclipse tools to find out what was wrong. Luckily for me, Google have a tool for this type of situation: the Dalvik Debug Monitor.

You can invoke the debug monitor from the tools directory of your android SDK install using the ddms command.

Here’s a summary of what the tool provides:

Process View

When you first open DDMS, you will see a list of emulators on the left hand side. Each of these has a number of associated VMs running. Click on any of these VMs and you can view their information on the right hand side, including the threads and VM heap information. You can force garbage collection on any of the VMs at anytime using the trash can toolbar button.

You can also control the state of the emulator on the right hand side using the Emulator Control tab.  Here you can change items such as the voice and data telephony status. This is useful if you need to simulate roaming. You can even call your emulator, providing a source phone number. This section also has local controls to help you simulate location services, passing in you location using manual coordinates, GPX or KML.

File Explorer

The file explorer was the reason I booted up the debug monitor in the first place; I needed to see if a particular file I was providing with my app was included in the final apk that I sent to the device. Not only does the file explorer allow you to browse the emulator, but you can also push and pull files from the device, as well as deleting.  You can even create an SD card image for use in the emulator. When you’re confused about what’s getting included in your app, the file explorer is the place to go.

Device Log

The pane along the bottom presents you with the device log. Obviously this is really useful, particularly if you are not seeing enough information in your development tool.

Of course, the best way to get to know the tool is by using it. If you need to use the debug monitor, you will have your own specific use case, just as I did. I’m really impressed with the level of control and information in this tool. It’s already helped me out with some very tricky problems.

Inspiration For Your Mobile Applications

So you know exactly what you want your mobile application to do, but you’re not sure how to design the screens.  Usually, there’s an app out there that’s done something similar. I found two great sites that provide screenshots of popular mobile applications, providing ideas for everything from splash screens to profile pages, lists to sign-up flows.

Both sites are worth bookmarking for those times when inspiration dries up.