iPhone App Dev: The Start
I’d like to start my tales into iPhone development at the beginning. For all of you who think the hard part is the actual coding–Ha!
The first difficult part of the iPhone app store is getting your actual sign up approved. If you go to developer.apple.com you can start the process for signing up for your account. The one good thing about this is you can choose to go the “easy” route at first and only sign up for unpaid app (i.e. free apps) development. While this route is a bit easier, it still costs you some cash–$99 per year. Yes, you have to pay to develop apps that will make you no money from the store (of course, you can make money through other things other than purchases of the app).
One of the big pitfalls of this system is really the paid app sign up. This requires you to get a ton of financial info together and fax it off to Apple. (they want bank account and address info). Here’s where some major problems can crop up–You can’t easily change the data once they receive it. As part of your sign up you need to fill out some online forms with your company name and other info (tax, address, financial). If you make a mistake on some of these, you’re in trouble. There is no way to have this changed through the online interface. In fact, there’s no clear way to actually contact them over this.
We had an issue with our address. It looks like someone at Apple actually types in your info from the faxed forms you send over–and they did it wrong for us. What you end up with is a screen that shows you your info, but no clear location to contact Apple to correct it. I literally sent a customer contact email through every CSR interface on the Apple site and got no reply. About 2 months later I received an email from a CSR saying basically “Fax us a new copy of your company incorporation document” with the statement that they would then go in and make the necessary edits.
Look, 2 months is not a reasonable time frame for this type of thing. What if the issue had been with our financial info instead of something minor?
So, the main point of this is really think about what you will be entering into their sign up forms. As far as I can tell, you can’t make many changes later. (As a side note–there are reports that this is really a problem in other areas. It seems like it’s impossible to take over software from another account. For instance, if you were to buy another iPhone developer’s software business there isn’t a real way to combine accounts or move the apps without literally resubmitting them and losing any history or linkage.)
While Apple does a good job with their customer facing interface. Expect many hassles and surprising lapses with their business interfaces. This is just the beginning though, just wait until you here about the dev interfaces in the next posts.
iPhone Development tales: The Start
AWSOM.org has, up until now, been primarily focused on setting up online sites for artists and comic creators. I do WordPress development, and host a few plugins here to add some features that might help out for the above purposes. Recently I’ve jumped into iPhone development, also to help out webcomic creators. Onezumi Studios just released a new service called the “Webcomics Central App Service“, which is designed to help webcomic creators connect with their fans through a branded iPhone app.
In many ways I see the iPhone service as similar to why I started this site. It’s not easy doing coding. Creators mostly don’t have time to even begin to look at this stuff. It’s also very hard and a very specialized skill, so it’s not something that many can even do. So once again we’ve stepped in to help in an area that we can provide our skill to the community.
So I plan on outlining some of the things we’ve discovered while developing our apps in hopes that it will make it easier for others to do so, and also outline why we decided to do the service in the first place (in other words, why it’s such a bitch to get anything developed for the iPhone).
So, the tales will soon begin. Brace yourself, it’s a bumpy ride.
Even The Mouse Uses WordPress
According to a report on hwork.org, Disney is now a proud supporter of the WordPress blogging platform at their new blog site. It’s not just for webcomics and cranks anymore kids! Seriously though, it’s good to see that even the largest companies out there are realizing the power of the WordPress platform.
Now if only I can get them to see the power of the AWSOM set of plugins life would be perfect. And yes guys, I’ll consider trading some work for some free park tickets :)
RSS irritations in WordPress
I’m currently working on adding comic thumbnails to the RSS output of our comic site http://www.onezumi.com, but have discovered a very irritating fact: WordPress does not allow img tags in the description field in the RSS XML. As a result most feed readers will not see the images and won’t display them. (the default Firefox feed viewer being one of them). The img tag does get added to the content encoded element, but that’s less supported right now. So my normal technique is to write up a quick plugin to correct this….but apparently that’s not possible. All of the hooks and actions out there do not allow for this be accomplished. So it comes down to the old fashioned “hack the core file” thing to get this fixed. I hate doing that, but in this case there’s no other way to do it. The actual file to hack (for RSS2 feeds) is located in your wp-includes folder and is called feed-rss2.php. There are two lines in there that have the description element, one for if you are using only an excerpt, and the other if you are doing full text feed. Basically you hack the line to put in whatever you want right after the [CDATA[ part, or right before the final ]] of the line.
Of course you will now always need to remember to either add this back in after upgrading versions of WordPress, or keep a copy of this file and just merge it into things afterward (and make sure any updates didn’t affect this file).
The one thing that is unfortunate is I was hoping to be able to add some stuff to my plugins for this for anyone to benefit, but can’t. Oh well.
Design Dilemmas: CSS versus Tables
Sometimes CSS issues aren’t worth fixing. Over at our webcomic site Onezumi.com we had a new requirement that had us displaying 2 different comics on the index page at once. We also wanted to have the news posts associated with each comic also appear on the index (each comic has it’s own category), but side by side, not in a single loop.
The actual code to get separate loops working is a bit tricky, but not too hard once you understand the process. The major issue arose in getting both posts to appear and not overlap or conflict when appearing side by side.
The typical way to do this in a theme is to make both loops into separate HTML div’s, then do a float on them to get them to appear next to each other. The problem comes in when you need to retrofit this into a theme and CSS setup that wasn’t initially set up with this expectation.
The cascading nature of CSS is normally a good thing–the evil comes in due to different web browser compatibility levels, as well as weird “by design” issues with CSS itself. One of the most frustrating things with CSS is that due to the cascade, you may not actually easily know why something isn’t appearing correctly. While the element level can clearly have a specific CSS entry that tells it to do something, there are times when an overarching CSS entry (like a div level img setting behavior) can override your local entry. It involves which CSS entry the browser decides to do first, then second. You would assume that the local entry would trump the div level one, but that’s not always the case.
Anyway, back to my specific problem: The floats for the 2 news entries weren’t working properly. The CSS caused elements from both div’s to overlap, or get pushed under the other div. Or the background wasn’t being extended correctly behind both divs. It was turning into a mess.
Then the answer hit me: screw CSS for placement. While I’m sure many people will choke on this statement: Tables almost always work properly for placement, so use them sometimes where appropriate. In my case all I needed to do was make a simply 2 row table and place each loop inside each td.
Boom, works great and no issues for any browsers. And yes, I did use CSS to make the look of the table correct. A bonus is the mobile version of the site looks perfect since tables are easy things to get correct in even the crappiest mobile browser.
So, my lesson is sometimes it’s not worth ripping things apart when the simple solution is available.