The aapt tip for dumping out what features your app requires was certainly new to me!
For anyone who is not aware or newer to Android, I always feel the need to highlight the Draw 9-patch technique as something that will help immensely when dealing with differing screensizes, and I am sure those that are using vanilla UIImage on iOS devices will come to envy in the future when supporting multiple screen sizes in an easy way that does not require code changes.
The following session video from Google IO on supporting multiple handsets almost goes into far too much detail and makes this problem space seem much harder than it actually is! However I and as am sure many, fully appreciate the highlighting of potential pitfalls that we may run into, rather than having to discover some of these hazards at some point through the development cycle of an application!
With many channels alight on what people think of the new developer agreement forcing developers to write in “Objective-C, C, C++,or JavaScript as executed by the iPhone OS WebKit engine” you can read John Grubers excellent pieces on what changed and his thoughts on why.
“We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.”
Far greater than how something has been written is the problem of shovelware, whilst it allows the store to quote very large numbers of applications compared to the competitors of the app store, how many companies are submitting multiple applications every day of debatable quality or at least that could be combined together. Some of the worst offending companies have been removed from the developer program
So ignoring the arguments on whether what Apple is doing with the new terms in the sdk agreement is right or wrong and what effect it has on native cross platform app development. I was thinking what else they could do for the submission process for their platform if the stated aim is simply to raise the standard of apps, regardless of how they are produced.
One of the reasons for me that the app store has been a success for developers, has been how much easier it is to make an application available to the paid market globally, unfortunately this has meant the friction barrier is so low, that it allows for shovelware to be a positive revenue generating tatic. Thankfully this is actually quite an easy one to stop by implementing a cost barrier like Palm have on their app catalog, quite simply if you wish to make an application available there is a $50 cost. This simple barrier to entry means if the developer doesn’t believe their application is going to return at least $50 they will be unlikely to submit it or burn through cash and be stopped that way.
Some clever people at the PWN2OWN content in Vancouver have managed to prove an exploit involving Safari and the iPhone. Their proof shows how they could execute code from a malicious website to extract the contents of the sms database, you can read full details in Zynamics press release
Theres a great set of videos explaining buffer overflow attacks starting here with a hands on demo of return to libc hacks here
Amazing how after a few days away from the computer at Xmas can lead to inspiration for a small game, so after I had decided it had been too long since I had made a little fun game and as I wanted to play this myself! I got started, a few days later Know Color was born!
Subsequent posts will show the early stages of this game before there was any artwork and it looked very very different, and some notes on porting this game concept to other platforms.
The app store approval time was truly amazing, with this game being made available for sale 24 hours after submission, so thank you Apple!
For now though here is an app description and some visuals of the game:
Prove you’re smart and know color. Can you beat the Professor and your friends?
A game of speed and skill where you have to select the correct option matching the Professor’s instructions as quickly and accurately as you can. Post your high score to Facebook and Twitter and dare your friends to beat you! Who is the smartest of you all?
In 50 seconds score as high you can, you score one point for each correct answer but will lose 3 points if you answer incorrectly so be careful!
Available on iTunes:
http://bit.ly/knowcolor
View a video here:
http://www.youtube.com/watch?v=dztAKimT5pI
You can find some images of the game here
http://img192.imageshack.us/i/img0422.png/
http://img97.imageshack.us/i/img0424.png/
http://img200.imageshack.us/i/img0425.png/
Prove you’re smart and know color. Can you beat the Professor and your friends?
A game of speed and skill where you have to select the correct option matching the Professor’s instructions as quickly and accurately as you can. Post your high score to Facebook and Twitter and dare your friends to beat you! Who is the smartest of you all?
In 50 seconds score as high you can, you score one point for each correct answer but will lose 3 points if you answer incorrectly so be careful!
navigate to the directory cocos2d-iphone and run the following
. ./install_template.sh
This will install the cocos2d template into xcode for you, which makes setting up and using this framework even easier!
Great demos are available from within the project itself to learn from as well as the wiki documentation which can be found here
The greatest part for me personally is the heavy lifting that chipmunk can do for you regarding collisions and physics for your game, the best tutorial I have found for using it is available here
With particular note for free applications that need to increase their “stickyness” to achieve reasonable revenues via in application advertisements such as those provided by Admob, adding community features such as a high score boards and messaging between users.
Discovered some fairly interesting behaviour of the iPhone simulator that had me stumped for a little while
When you want to have an application that starts up in Landscape without a status bar
the following code snippit placed into your applicationDidFinishLaunching method of the app delegate will allow you to test in the emulator!
//For your normal application execution on the iPhone, this can also be done in the info.plist
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];
//How to make the simulator behave itself preprocess for just the simulator
#if (TARGET_IPHONE_SIMULATOR)
UIScreen *screen = [UIScreen mainScreen];
tabBarController.view.bounds = CGRectMake(0, 0, screen.bounds.size.height, screen.bounds.size.width);
tabBarController.view.transform = CGAffineTransformConcat(tabBarController.view.transform, CGAffineTransformMakeRotation((M_PI * 90 / 180.0)));
tabBarController.view.center = window.center;
#endif
tabBarController in this case is the first view controller given to the window
One of the pains of getting the feedback from reviews on iTunes is that you would have to login into each country individually AppViz for $30 solves this problem, it also collates or your sales information (daily, weekly, monthly) into one place, far faster than you could possibly achieve using the iTunes connect interface
It has to be said that the current iTunes system for rating apps has a certain element of bias – the current methods means that probably the majority of people who are leaving a rating are doing so when they delete an application. However the code on the following page allows you to remind users from your application at set time intervals to leave you a review. Hopefully encouraging a more positive review bias.
Thanks to Arash for making this available in a simple package for integrating with your project