Sep 24, 2010

My World is Changing; Android & iPhone Development

I have been working with Android development for quite a while now. So I decided to do something quite different; iPhone development.

It is like groping in the dark. After many years with Java and garbage collection, it feels a little awkward to manage your memory by yourself. The first encounter with garbage collection in Java was really awesome. After a couple of years as a Java developer, you realized that the garbage collector is not the answer to all of your memory problems. But still, you are not forced to think about memory management on a daily basis. All of a sudden you need to think about memory management on a more regular basis.

Eclipse has been the main tool in my Java toolbox for many years now. One might argue that IntelliJ or NetBeans is a better tool, but I have used Eclipse. Switching from Eclipse to Xcode is not easy. I miss the fabulous re-factoring support in Eclipse. There are many other small issues, but I am slowly and constantly learning new keyboard shortcuts in Xcode. I guess that I could be a better Xcoder in a while. The interface builder in Xcode is an invaluable tool. It is very easy to get nice looking iPhone UIs. It is very nice not having to worry about getting your XML files right. Making a good looking UI on Android can be frustrating and cumbersome. Of course you can get nice UIs on Android, but I find it easier to create one on iPhone.

Last but not least, the markets are a little bit different. Android market is open. Appstore is a little bit more closed. There is no quality control when submitting to Android market. As a consequence there is a lot of really bad Android applications. It is hard to find what you are searching for on Android market. The search seems to be case sensitive. Not good. Usually I install applications that is recommended somewhere. In most cases, there is a QR code available that I scan with the Android barcode reader. Really nifty application that makes installation on Android simple. The applications in Appstore is controlled by Apple and it seems that they are of better quality than Android applications. It must be pointed out that there are many high quality Android applications, but they are harder to find. As a developer in Sweden it is not possible to get paid for your Android applications, but you can get paid for your iPhone apps. When will this problem be solved?

Another thing that seems to be missing in the iPhone world is open source projects. The Java and Android world is full of open source. However there seems to be good hope for the iPhone world. I found this this list of open source applications for iPhone.

Of course there are many more differences. These are the most apparent differences from my perspective. At the end of the day I am a mobile software developer. Switching to iPhone gives me a new perspective of my world. I think that is a good thing.


Anonymous said...

I think we should be careful not to conflate the fact that Android Market is open with the fact that it is bad.

Apple has used its control over the App Store to block competition, control prices, stifle political discourse, etc.

All of this makes me really appreciate the openness of Android's market, in spite of its deficiencies. And I really believe that they can significantly improve the Market without becoming like Apple.

As we have found out in politics, openness will always be a little messy, but it can function reasonable well and it saves us from the abuses of a more controlled system.

My Open Source Software Development Blog said...

I like open. Of course being open doesn't necessarily mean bad application. I believe that Android market should be open. However I think that there could be sort of quality control and/or a good search engine. As it is today I find it hard to find those really good applications.

Jarle Hansen said...

I completely agree, the overall quality in the App Store is higher than on Android market. Certainly there are excellent Android applications, but you have to try out a bunch of really bad ones to find them usually.

Open is good, but sometimes a closed system has its advantages. I think Apple has got the right idea when it comes to ensuring quality before adding it to the App Store. What is an unfortunate side effect of this is that they seem to be refusing certain applications that are competing with their own apps. This is not a good thing!

My Open Source Software Development Blog said...

Jarle; you are right, the biggest problem is that Apple do not allow competing applications.

BTW It seems that Google will open up for payment from more countries very soon (Article in both Swedish & English):

Soulsister said...

Love the new layout and header. Nice job!

Anonymous said...

How could it be easier to find good quality apps from an open market? Should force users to rate the application after month of use? Collect some kind of usage data (100 users are using this application every day)? Maybe similar system as in stack overflow, only certain users would be able to rate apps...

There is always problems with this, since if 3 ppl rates app for 5 stars, is it a good one? If app has 500k users, but it has only 3 stars, is it a good one?

I also think that open is good, but I understand why App Store is that popular. I totally see why "normal" users don't want to use hours to search for good applications.

Maybe an open and closed markets alongside? One with formal quality control, and one with community ratings.

My Open Source Software Development Blog said...

As you propose, there is room for both open and closed markets. I hope that they will live and compete to get the best for the end users.

But there could well be some sort of quality organization for Android market, without it being close I think. But maybe developers will not like that?

But over time the application will be better on Android market.

Anonymous said...

I don't think developers like anything that comes between them and users, but sometimes it's the least bad thing. After all, it's good for developers if the users love the market and use it.

If all developers would be responsible and committed to produce Good Software, there would not be such a problem with users being overwhelmed by bad applications.

My Open Source Software Development Blog said...

I guess that you are right; developers do not really like the concept of being checked.

Risk Management Systems said...

Android and iPhone Development are two different platforms. The language of choice for iPhone development is Objective-C and for android is Java. From the market, iPhone might turn out more expensive when compared with Android.

wholesale wedding dresses said...

body.Wedding dresses, trumpet-shaped is to emphasize the waist and thighs

Anonymous said...

cheap graduation dresses
buy graduation dresses