Apple and the app store: Are they doing it wrong?

Rotten AppleRecently I read an essay from Paul Graham titled “Apple’s Mistake” (if you’ve never read any of Paul Graham’s essays, I strongly suggest you check his web page out, which describes why the app store is not designed with the developer in mind, and that Apple is selling the apps a lot like how they sell their music and movies.   Paul indicates that if this problem isn’t fixed, developers will flock to other devices and companies once the market for them becomes bigger.

I’ve personally never submitted an app to the App store.  I have, however been involved in an App project which was rejected by Apple.  We submitted the app somewhere in the middle of October and did not get the app on the store until November 19th.  As far as I have been told, Apple rejected the app because it was sending too much data through the network, and wouldn’t disclose how much an app was allowed.

I am interested in mobile development because it’s becoming a major player in the communication and technology world.  If it were to take me a month to get an app released, it would make me think twice about developing it.

Apple claims that they have a review process for security purposes.  If done well, it benefits us, the developers, because if our apps are given the ‘seal of approval’ we will not have to sell security to our clients.

Here are four changes Apple needs to do in order to fix their process:

1. Provide a way to test the app against the approval process to the developers. Generating automated test cases and unit tests for applications should be done for ANY application you plan on releasing, but Apple should provide an ability to test your application based on their approval guidelines.  This way, a developer can be more confident in their submission

2. Rules and guidelines need to be more visible to the developer world. Giving developer’s access to all of the guidelines Apple uses to determine whether or not an app is accepted may result in them designing their apps just to avoid the apple hammer.  This aside, visibility enables developers to design with 100% compliance to what Apple’s needs are.

3. Developers should have more information about why their app was rejected and be able to challenge the decision. There needs to be a better process with facilitating rejections.  In the case of the app I was involved with, simply stating that we are sending too much data and not disclosing how much you are allowed to send is a terrible experience.  This means that our developers had to go back, find what was taking up most of the bandwidth, design it so it wouldn’t use as much, and hope it is enough.  This… is simply ridiculous.  Imagine it took an hour each time you compiled, found a bug and fixed it?  You’d quit your job in less than a week!

I also believe a developer should be allowed to contest a decision to reject an app. Suppose in our case, we had good reasons for sending so much data?  What if it truly enhanced the usability of the iPhone?  What if the data was being sent for a good cause?  It should at least be up for discussion.

4. Allow a private store area where you can release apps to a subset of users (perhaps by company) and loosen (or get rid of altogether) the approval process. It’s going to become more and more important for companies to come up with custom applications that only they will use in their own business.  Suppose a company had a large team of technicians and wanted to provide a logging program for their iPhone.  How would they be able to do that easily?  I know you can provision separate phones for an application, but that seems clumsy.

I love Apple, and I am hugely impressed with the amount of professional looking apps are being released in the store these days.  However, other phones are going to become real competitors.  If Apple doesn’t want to lose their user-base, they need to keep the app store thriving.  In order to keep the app store thriving, they need to make their developers happy.

Xbox 360 modding- should you be banned from Live?

xboxcontrollerAs you may know, Microsoft banned between six hundred thousand and one million Xbox 360s. Microsoft claims “All consumers should know that piracy is illegal and modifying their Xbox 360 console violates the Xbox Live terms of use, will void their warranty and result in a ban from Xbox Live.” (from AFP).  Users with modded banned Xboxes are claiming they should be allowed to mod their Xboxes because not everyone is using them to play pirated games.  Other users feel that the bans came conveniently after the two major releases:  Modern Warfare 2 and Halo 3: ODST, which were after boosts in the number of subscriptions. There is even a website dedicated to a class action investigation.

Before I give an opinion, I’d like to look at what can be done with a modded Xbox.  The mod will give control over the DVD player, which allows you to reduce the speed of the drive and bypass checks that makes sure a game is legit.  As far as I can tell, you can play pirated games, back ups, and slow the drive down so the device is quieter.   I’ve also seen reports that it allows you to replace the hard drives with normal hard drives, but they are still limited to the 20 GB and 120 GB constraints.  An original modded Xbox made an older generation machine into a media center powerhouse.  This mod for the 360 looks to be for one thing:  piracy.

So… Should mod users be banned?  Yes, for three reasons:

It promotes piracy. Piracy is illegal, and for someone in my line of work, it’s also unethical and is completely against my principles.  I am a developer, and the thought of someone copying and distributing my work for free without my permission turns my stomach.  I guess it can be argued some pirated software is less crippled than the legit software (I hate it when the software constantly “phones-home” to make sure I’m legit) but it is simply not the case in this situation.

Allowing modded software can lead to exploits for multiplayer games. I see nothing wrong– especially on a console — to disallow the user from installing non-approved applications on the console.  It makes security much easier to maintain, and it gives all users a consistent experience when playing online.Apple closely monitors the app store.  They require approval before accepting any app into the store so they can make sure there aren’t any virus-type apps being uploaded.  In fact, the most recent exploit of the iPhone had to do with those iPhones which are jail-broken.

Xbox 360 is not open source. Microsoft never invited you to hack and mod their system.  In fact, doing so voids the warranty.  They have decided to do this, and as a purchaser of their product, you’ve made the decision to comply.

I’m sure there are a lot of opinions about this.  Let me know what you think!