It’s been just over two months since I originally published Keep Calm on Google Play and the time has come to upgrade it to introduce new exciting features. Keep Calm Pro is now officially available and introduces the following new exclusive features:
- Updated rendering engine so that text always appears on the poster and so that it appears at the maximum size possible
- New menu that makes the app easier to use and reduces time between loading the app and saving/sharing the finished poster
- The option to use the standard sans-serif font or Open Sans Light
- Change the text color
- Change the icon to one of 50 included icons or any image from the your Gallery which is automatically resized, cropped and recolored so that it looks great at the top of the poster
- Change the background color and choose whether it is a solid color, linear gradient or radial gradient
- Change the background to an image of your choice from your Gallery
- Improved wallpaper rendering for higher quality
Unfortunately camera integration didn’t work too well initially so in version 1.0 you will need to select the ‘Gallery’ option before pressing ‘Menu’ which then gives you the option to take a new photo. Please note the image of the teacup used in the screenshots is licensed under Creative Commons license from Wikimedia Commons. All other images used by the app are in the public domain.
Keep Calm Pro is by far the best Keep Calm and Carry On app available for Android at just 50p/99c.
This isn’t really a major update to Keep Calm for Android however it finally fixes the issue of posters not saving properly. It turns out that they were saving all along, however the Gallery app doesn’t refresh the picture list straight away. I’ve written up an explanation here.
I really like doing Android development and over the past few months I’ve done quite a bit of it but I found at the beginning that some things didn’t seem to be entirely logical that were quite important despite the fact that I already had a vast programming knowledge. Here is a list of things I reckon are useful for learning Android development:
- Java experience: I don’t think that you need to know loads of Java to develop Android apps but I would say it is important that you at least know the syntax and roughly how to do things. Experience in a similar language like C# or C++ would probably get you by, just so long as you know the difference between a package, class and that kind of thing
- Experience in another object-orientated language: Some experience in another language would also be useful because despite the fact that most Android development is in Java it is useful to understand how other languages do things because a lot of the Android specific Java has had influence from C++
- An understanding of how apps work: This would probably come with programming experience but you really aren’t going to get anywhere if you don’t get how the most basic apps. Reading a few tutorials can help fix this
- Basic knowledge of XML and SQLite: You won’t need to know how to do these perfectly but so long as you can create XML documents and edit them. I wouldn’t say SQLite knowledge is vital but it would be good to have some database knowledge
- A basic understanding of other mobile platforms: I had done a tiny amount of iOS and Windows Phone development before starting Android which probably helped me a tiny bit because it gives you some knowledge of design. Windows Phone development is probably more different to Android than iOS, so even if you’ve just created a calculator in iOS you’ll be in a good position to start Android development
- Good resources for testing: The emulator is good but I’ve found that it always useful to either have at least one Android device for testing. I also recommend setting up a few different devices in the emulator with different screen sizes and versions of Android because that will give you a chance to test in loads of different environments
- You’ve read some stuff on Android development: It is worthwhile reading up on Android development before you get started. Android Design and the Android Guide are both good places to start and reading some blogs will probably help develop your ideas. If you get stuck, make sure that you go on Stack Overflow.
Once you are fairly confident with all of this I recommend going over to Lars Vogel’s site which has some great development tutorials.
Click the image to download
I’ve just updated Keep Calm to version 1.2, which I plan to be the last major update for a while. Version 1.1 introduced sharing and a less buggy UI whereas v1.2 has completely revamped the app: you are now able to generate a wider image for use as a wallpaper and customize the image. I had considered allowing users to use photos as the icon but it seemed a little easier to allow users to instead select from fifty built in images.
The images include everything from zombies to alternative crowns and cats to trees. The default image is the standard crown however there is no reason not to take advantage of the other images. The only major disadvantage is that it has doubled the size of the app from about 150KB to around 300KB – although I don’t see that as a major issue.
A lot of people have contacted me saying that they’ve had problems saving the image. After having looked into it I’ve made a few modifications to my code however it is worth noting that it requires your phone to have a SD card or some form of external storage. As soon as a notification is displayed that says ‘Image saved’ the image should be visible in your phone’s gallery app.
Click image to download from Android Market
I’ve been playing around with Android development for a few months now but I’ve only just got round to making my first app. Having already seen that the current top paid iPhone app (in the UK) was a simple app that let you design Keep Calm and Carry On style posters I had a look on the Android market for similar apps. There were, at the time, five apps available however they were all paid for. I thought it would be nice to make a free one.
My app allows users to customize both the text and background color (picture coming in the next version) of the poster and then to save it to the SD card on the device. Its pretty simple and frankly a bit of a useless app but its better than all the paid for alternatives. The app has received around 200 downloads in its first 12 hours* and lists top when you search for ‘Keep Calm’ and third when you search for ‘Keep Calm and Carry On’.
*After around forty hours it had over 1000.
Charlie Miller, a security researcher, noticed a bug in iOS a while ago that would allow apps to run unsigned code in apps. All code in apps on the App Store has to be signed or approved by Apple to ensure that it is safe for the device however Miller found a way round this in iOS 4.3 that allowed him to put dangerous code into any app. He even managed to develop an app that would fetch and run unapproved code allowing the app to do things that Apple hadn’t said it could do.
Clearly if the bug had been found by someone that wasn’t a security researcher it could have been incredibly dangerous as hackers could have used it to exploit iPhones across the world to obtain users’ credit or even credentials. The iPhone was designed to be secure and so it would clearly be a problem if people were able to do this.
Apple removed Miller’s developer license because he had (technically) broken the license agreement by releasing the app. It is perfectly legal for them to do so because he did break the law with the app, however it would probably have been best if Miller had tested the bug before alerting Apple so that they could deal with it internally.
A similar procedure is adopted by Google and Mozilla who frequently offer bounties to developers that are able to find bugs in their open-source software. If Miller had acted in this way it would have been reasonable for Apple to offer a bounty, but because he broke the developer agreement it makes sense he was kicked off.