Top

The most important thing (to me) about the FCC’s investigation of Apple and AT&T

August 2, 2009

You probably heard that the FCC has taken an interest in Apple’s rejection of the Google Voice app and requested information from the three companies.  Anyone who has read Stromcode over the past 6 or so months knows that this news makes me uncommonly happy, but I haven’t posted about it.  I didn’t need to.  It’s all over the place.

As a side note, it is interesting to suddenly see so many developers echoing a sentiment I first expressed in early June here on Stromcode, and first claimed many months before that: Apple hates its developers.  Kind of surprising that it has taken this long for the rest of the world to catch up, especially since Apple has done everything it can to make that clear.  When you have to pay upfront to develop for a platform, hand over 30% of your proceeds, and subject your creations to an absurd and sometimes humiliating approval process, to then have Apple completely ignore your emails and offer no way to reach them on the phone just drives the point home: they don’t like you, and they could give a crap if you, your apps or your company are successful.

Anyway, on to the main point: why I am most happy about the FCC investigation.  In the letter to Apple, among the many, many questions asked about the relationship between Apple and AT&T are a few questions that should make every iPhone developer cheer:

  •  What other applications have been rejected for use on the iPhone and for what reasons?
  • Is there a list of prohibited applications or of categories of applications that is provided to potential vendors/developers?
  • If so, is this posted on the iTunes website or otherwise disclosed to consumers?
  • What are the standards for considering and approving iPhone applications?
  • What is the approval process for such applications (timing, reasons for rejection, appeal process, etc.)?
  • What is the percentage of applications that are rejected?
  • What are the major reasons for rejecting an application?

Although these questions are likely of more interest to the FCC as they pertain to AT&T possibly being involved in keeping VOIP and high bandwidth apps of their 3G network, I am filled with hope that a body with actually power — as opposed to me with my little code blog — is asking the same questions I’ve been asking since January.

I wonder if Apple will wait 30 days to respond to the FCC, or will the FCC get a little bit better treatment than the developers who made the app store a success?

Apple’s Review Process Strikes Again

June 17, 2009

For the first time, I have my own idiotic app review rejection story.  I have to say, until now I’ve been one of the lucky ones.  My developer app was approved in days, and every app and update I’ve put through has been approved with no hassles (save for the preposterous delay).  Until now.

Just a few days after my post on how the app review process hurts everyone, Apple rejected my PhotoZen update. Yes, my update.  The update was identical to the original app, except that it added a few features (and one bug fix) that nearly 100% of users insisted on.  It took them nearly two weeks to reject it.

Why?  Get ready for this.

When I submitted the app, I noted in the release notes that I added the following note:

“option to approve/deny photos from camera roll and library”. 

Let me explain.  Skip over this if you aren’t interested in the details.

When you use the image picker, you can ask the user if they want to select a picture from the camera, camera roll, or photo library.  If they choose camera, and snap a photo, it asks if they want to use the photo before returning the image to the app.  However, if they select camera roll or library, the minute they touch a photo it returns to the app.  My app, upon receiving the callback, immediately sent the photo to the server.

Now, many users said they wanted the ability to confirm that they really wanted to use the photo they selected.  Some other users said they wanted to be able to move and zoom the photo before sending it.  Turns out I could kill two birds with one stone.  By telling the image picker dialog to allow move and zoom, suddenly a Use Photo button appeared no matter what image source was chosen.

Brilliant.  In three lines of code I handled two feature requests, and noted them in the release notes.

Now back to the rejection.  Here is Apple’s reason for rejecting my update:

“feature is not implemented as described in the Release Notes”

Actually, Apple, yes it is. I said users now have the option to confirm or deny their selection.  That is precisely what happens.

But lets say it was a matter of semantics.  Considering I’ve been waiting almost two weeks for a critical update to go through (the bug I fixed was a biggie, and pretty much renders the app useless for a large number of people), why not just edit my release notes and approve the damn thing?  Instead, they expect me to submit the exact same binary and wait another two weeks.

This is ridiculous.  I cannot overstate my frustration with Apple.  Instead of getting better, things are actually getting worse.  I keep getting emails from other developers about the most ridiculous app and update rejections.  This system is so broken I have nothing to rightfully compare it to.

The solution remains simple: stop requiring app updates to be approved.  Allow developers to effectively “patch” their apps immediately and without review.  Apple’s bizarre need to control every aspect of everything is ruining, at the very least, my app.  I now have to let a couple thousand users know that the features they requested, the features I had ready within hours of the app’s initial release, will not be to them for yet another two weeks over a semantic disagreement with Apple.

This is disgraceful.  I have sent an email to Apple asking them to do the obvious thing and edit my release notes and approve.  I will update this post if they do so.  As it stands though, PhotoZen has been out for two weeks in a state that my users aren’t happy with, and I have no power to remedy the situation at all.

Want to do ___? Tough.

June 12, 2009

One of the reasons entrenched Windows users find switching to the Mac unappealing is that the interface is so different.  Different can be better. But in my opinion, after 6 months developing on the Mac, different is definitely NOT better.  I consider myself fairly used to the Mac interface and the Apple way of doing things, and sorry, any version of Windows blows OSX out of the water.

OSX, quite frankly, makes me want to fight.

Today I figured I’d finally see if there was a way to maximize a window without dragging the bottom right out and moving the window around.  This is ridiculously annoying, when sometimes you just want the focus to be on the window you are working in.

Of course, there isn’t.  But in searching I found this Mac user explaining why you shouldn’t even be looking for a Windows feature analogue on the Mac:

“Ask just about any Mac user and I think they’ll agree that it’s one of the many little things that makes the Mac UI superior to Windows. In most cases, maximizing a window serves no practical purpose, and actually just ends up wasting screen space by filling it with blank whitespace. After you get used to Mac behavior, I think you’ll see why it’s better.”

All I can say is, “AHHH HAHAHAHAHAHAH“. Seriously, a missing feature is not “superior”, it is a missing feature.  Even if there are good reasons for it not to be there, if 10% or more of your users really need it to get any pleasure out of using your system, it should be in there.

Color me once again completely mystified by Apple.  But every day it becomes a little more clear to me why Apple has had such a lack of success in getting more desktop market share.

A Handy Guide

June 4, 2009

handyguidesmall.jpg

AdMob: Our Experience

March 18, 2009

I decided to run a short AdMob campaign to promote an iPhone app I wrote for my sister, called Are You Compatible?.  Link below, if you want to see what app I’m talking about.   In short, it is an app that lets you enter in two people’s astrological signs, then gives you a rating of the relationship compatibility for those two signs.  It sells for $.99.


AreYouCompatible?

To start, I funded my account with $50.  While setting up the ad, I decided to target US traffic only.  The minimum bid for this target was $0.20, which threw me a bit, but I figured it was worth it with this kind of targeting — not just US eyes, but only iPhone users who are also app users.  Hard to beat that, right?

I created the ad, set it, and went away.  A short bit later, I got an email saying the ad was approved and was up and running.  I jumped in to my AdMob account to see how things were going.

All funds depleted.  After 30 minutes.

Whoah.

For my money, I got 200 clicks, for only 30,000+ impressions.  That’s an incredibly high CTR, but again it is highly targeted, so I let it slide.

Next day, I check my stats.  How much did it affect sales?  NOT AT ALL.   Zero.  Nada.  Did nothing for me.  $50 out the door.

I don’t want to judge AdMob too harshly based on one $50 run of ads, so I just re-funded the account with another $50, this time I set it to target globally, and set the minimum bid at $0.03.  We’ll see what happens.

[UPDATE]:Again, in 30 minutes all funds were depleted.  This time, I got 1600+ clicks for my $50.  Lesson #1: do not believe the $0.20 minimum bid bullshit.  They clearly can’t fill their inventory, so bid low.  You aren’t bidding against anyone.  I’m a bit upset by this, because AdMob essentially lied to me.

Tomorrow morning I’ll report the effect this run had on sales, but I’m not holding my breath.  Remember, if there is no jump in sales, it means $100 and 2000+ clicks directly to the app store are utterly useless.  I’m hoping this is not the case.

[UPDATE 2]: Got the sales figures.  No change in sales whatsoever.  It is now confirmed that AdMob is a total waste of money.

I invite someone from AdMob to get in touch with me and explain this.   There is some serious, serious click fraud going on here, or an abundance of accidental clicks, or something. Something is terribly wrong with your system.  I am now getting reports from a lot of other people saying their experience was identical.

An iPhone Rant Follow-up

March 2, 2009

One of the reasons I wrote the iPhone rant three weeks ago is that I wanted to lay out my initial reactions to the iPhone SDK, XCode and developing for Apple products in general.

It has now been three weeks since I made that post, and in the meantime I have finished 5 iPhone apps — one of which is in the app store, 3 that are in the pipe, and one which will be submitted shortly.  I also have 3 more in development.

Let’s start there: in three weeks, I’ve built 5 apps.  Fast development is something I’ve always loved about  developing for mobile platforms.  This is especially true when developing games.  While there are developers out there building complicated game engines for the iPhone, I see a huge opportunity for small, simple, one-man projects that can be conceived, developed and shipped in a matter of days.

The app store seems to agree with me.  The top games for the iPhone over the past couple months have been simple modern-day updates to retro game concepts (example: iShoot) or casual/puzzle games (example: Blocked).

That’s all wonderful, but not necessarily unique to the iPhone.  What is unique to the iPhone is the huge market they’ve created — a market of people willing to spend a buck on a temporary diversion.

So what about XCode?  I’ve started to become accustomed to working with XCode, but I have to say the little annoyances have become big ones.  Again, I think I’ve become spoiled by well thought-out IDEs like Visual Studio and even Eclipse.

So in short, I’m getting used to it.  Stay tuned for blog posts announcing my iPhone projects, as soon as I figure out how to link to iTunes.

An iPhone Rant

February 11, 2009

It’s been a good bit since I’ve contributed anything to Stromcode.  Been busy lately, but I do plan on writing some more tutorials, and it looks like a number of them might be on iPhone development.  For those looking to get into building apps for the iPhone, a really great resource is icodeblog.com.

At any rate, I would like to rant a bit.  First off, let me say I’ve been really excited to get rolling on the huge list of iPhone app ideas I’ve been sitting on since I bought my iPhone.  And I did expect developing for it to be a bit of a change up for me — I’ve been developing for Windows for over 10 years, and building web apps for about 5, but I’ve never done any Apple development at all (save for my college assembly language course, which was inexplicably taught against Motorolla processors on the Mac).

Objective-C, and the whole iPhone platform, is inexcusably dumb.

Let’s start with Apple.  Do you guys realize the number of really talented programmers that exist out in the world who would be more than willing to work on small, cheap apps in their spare time?  The vast majority of programmers out there are either working in Java, C++, or C# (or PHP if you want to count web developers).  And yet you didn’t bother to offer support for any of those languages?  Really?

Instead, you decide to go with Objective-C — a language that Mac developers know, but no one else has any good reason to know.  Who’s decision was this?  I have no problem with supporting Obj-C to make things easy for existing Mac developers, but couldn’t you have at least offered C++ as an out-of-the-box option as well?  One of Microsoft’s greatest strategies has been to not tell developers what language they should or shouldn’t use, but rather to support as many languages as possible.  Granted, Microsoft loves to suggest which language we should be using, but they are always there with options.

And speaking of Microsoft: Apple could really learn a thing or two from Visual Studio.  VS is an absolute dream to work with.  XCode, on the other hand, is an unmitigated nightmare of windows and hidden messages.  Why must Apple insist on popping up 4 new windows whenever you want to make a small change somewhere?  And why aren’t errors and warnings displayed in a frame in the main window?  Didn’t any of the beta testers complain about spawning a new window to view the error list?  Good God I hate XCode.  It’s one of those programs that just makes you feel like it’s deliberately crippling you.

And Objective-C.  Where to begin?  What an idiotic language this is.  What, pray tell, were the designers of this language thinking when they decided to rename everything?  True/False?  Nope, YES/NO.  Null?  Nope, nil.  Class?  Nope, interface.  Oh, and good going on that one.  Not only did you change the name of something from what every other language calls it, you gave it a new name that has a totally different meaning in every other language.  Brilliant!

I’m totally down with learning a new language.  But every time I have learned a new language, there has been an immediate and apparent benefit to that new language — some advantage over what everyone used before.  PHP made web development infinitely easier than working with CGI and Perl.  C# built on C++ to add garbage collection and true OOP.  Java added a virtual machine and again true OOP.  What exactly does Objective-C bring to the table?  I’m baffled.  It’s like a giant leap backwards.

End rant.  I’m still plowing my way through this whole mess, but my first (and second, and third) impression is that Apple has made this much harder than it needed to be.

YotD Update

April 18, 2008

I’ve slowed down my posting quite a bit, and the reason is the game I’m working on is coming along a lot faster than I thought.
free image hosting
I had planned on posting a bunch of update videos, basically just capturing some of my unit tests and so on, partly because I thought they’d be interesting, partly because I thought they would generate interest in the project. I’m still not sure if I should do this or not. I want to, but since my own deadline is winter (a deadline I will probably beat by a good 6 months, at this rate), I’m thinking I should keep things under wraps.

A better reason (I think) to keep things quiet for now is that although I’m tearing through the game, it doesn’t look that great. I’m going to need to find myself an artist here at some point, because my noble efforts aren’t quite cutting it.

Camera Component Update

April 13, 2008

I’ve updated my XNA camera component quite a bit.

Initially, moves were handled by passing in a new position vector, a new lookat vector, and the time required for the camera to get there.  This was pretty horrible because it required a lot of calculations for very little payoff.  The biggest problem, though, was that certain moves were handled incorrectly.  For example, if I simply wanted the camera to turn around and look the other direction, the math wouldn’t necessarily turn in the direction I wanted.  So a simple 10 degree left turn might be processed as a 350 right turn.  Horrible.

What I have now is a much simpler system wherein moves are passed in as relative position translations, and relative xyz rotations.  Not only does this allow full control over the direction the camera turns, it also allows for a few other things, such as really simple absolute moves — there is only the intermediate step of subtracting the ultimate translation and rotation from the current translation and rotation in order to turn it into a relative move.  This also allows for zero error pause moves.  Just pass in two zero vectors.

Most importantly, though, the math is guaranteed to be correct, which means that the view and up vectors are rotated using the same matrix.  The result is an end to weird projection errors after a couple moves.

The video below demonstrates a couple moves:

XNA Gymnast

April 7, 2008

Walaber has released version 1.0 of Gymnast, a physics enabled gymnastics game built using XNA and the Farseer 2D physics library. Check out the trailer video below. Read more

Next Page »

Bottom