GreenGar Studios

Simple, fun, useful

Latest News

A technical post for today. I just learned something new, and those of you using Core Graphics might benefit from my experience.

The documentation for CGColorGetComponents() says that it “Returns the values of the color components (including alpha) associated with a Quartz color.”

More specifically, it’ll give you “An array of intensity values for the color components (including alpha) associated with the specified color. The size of the array is one more than the number of components of the color space for the color.”

Previously, I was assuming that the color space was RGB. That’s not always the case! If you use the convenience methods [UIColor blackColor] or [UIColor whiteColor], you’ll get values in the “White” color space.

If you try to interpret these values as RGB (as I did), your black will look green, and your white will look yellow.

While you could manually do some conversions based on the color space, I’m not confident enough in my knowledge of color spaces to do that yet. (What other color spaces might exist other than the two I know about?) So I decided on a simple workaround:

[UIColor colorWithRed:0 green:0 blue:0 alpha:1] for black;

[UIColor colorWithRed:1 green:1 blue:1 alpha:1] for white;

… and all behaves as expected.

Today, MacRumors reported that the cost of App Store piracy is roughly $450 million, according to a site called “24/7 Wall St.” The article sparked a surprising amount of discussion on the MacRumors forums, where 499 comments have been posted so far.

What surprised me most about these comments is that there seems to be widespread ignorance of the reality of piracy on the iTunes App Store.

Here’s what I mean:

“I didn’t even know App Store piracy existed. This story seems a bit wild.” -powerbook911

“huh? you can pirate iphone apps?” -funkyp56

“I understand that iPhone piracy is theoretically possible, but how can they possibly suggest that 75% of all apps in circulation are on the devices of users who are savvy enough to figure out how to do it?! That’s simply absurd. You can’t simply download an iPhone app like you would download a copy of Windows or Photoshop. The authors of this report obviously don’t know that.” -DTphonehome

“How the hell can one pirate iTunes apps? And how come two thirds of all downloaded apps are pirated and I haven’t heard about this at all? The whole iTunes thing is such a closed system I thought there wasn’t a way to pirate it…” -baryon

“I also didn’t know that piracy of apps existed. I feel like we would have heard about this by now. Do they mean that if for example I buy an app, and I share it with my brother, I pirated it to him? Because as far as iTunes is concerned, we authorized both our computers so we could share music and thats perfectly okay in terms of Apple’s policies, so that’s not pirating. I think the author of this article is confused, and possibly stupid.” -nickXedge

First, to clear up a few misconceptions from the comments above:

1. App Store piracy is alive and well.
2. Yes, you can pirate iPhone apps. That does not mean you should.
3. Actually, you can “simply download an iPhone app like you would download a copy of Windows or Photoshop.” You need to fulfill some prerequisites first – like jailbreaking and and finding a source for the cracked binaries – but it has been done, and by at least thousands of people.
4. Developers don’t talk about it. I don’t know if this is because talking about it might encourage some people to try pirating some apps. But the fact that many people don’t know about it doesn’t mean it isn’t happening.
5. Installing apps on multiple devices with a single iTunes account is supported by Apple. This is legal, and is not considered piracy. The piracy we’re talking about here involves actually cracking the binary – that is, removing the encryption and installing it on a jailbroken device using jailbreak tools.

That said, please note the following:
Piracy is stealing. It is illegal and immoral. Don’t do it.

If you do pirate an app, go and buy a legitimate copy.

The numbers stated in the article are just assumptions and guesses; so I thought that as an app developer myself, I’d chime in with some real stats from a real, highly-ranked iPhone app.

Whiteboard Pro: Collaborative Drawing has been ranked in the Top 10 paid apps in the Productivity category.

Here are some actual stats, as reported by Pinch Media Analytics:

Total cracked users
3,595 (14.20%)

Total cracked sessions
20,285 (6.77%)

From this we can conclude that at least one app is experiencing a piracy rate of 14.2%. I have no idea whether this is typical of apps on the App Store, so other developers would need to chime in with their numbers. Actually, I suspect the most accurate stats could come directly from Pinch Media themselves – and perhaps they have (or will soon) publish a report on the matter.

To the many paying customers of GreenGar Studios, I thank you – it’s people like you who encourage the development of quality iPhone apps. Keep it up! :)

Safari on the iPhone and iPod touch is one of the most advanced web browsers on earth. I learned a new gesture for it today:

Two-finger scroll

To scroll up or down within a text area, an inline frame, or an element with overflow capability, depending on the direction of the movement.

You can receive a mousewheel event for this gesture.

Other gestures:

Table 1-1 Gestures users make to interact with iPhone

Gesture

Action

Tap

To press or select a control or link (analogous to a single mouse click).

You receive the onclick event for this gesture.

Double tap

To zoom in and center a block of content or an image.

To zoom out (if already zoomed in).

Flick

To scroll or pan quickly.

Drag

To move the viewport or pan.

Pinch open

To zoom in.

Pinch close

To zoom out.

Touch and hold

To display an information bubble, magnify content under the finger, or perform specific actions in built-in iPhone applications and features.

Source

It might be nice to list media mentions somewhere, so might as well start now. I will edit this post in the future to add more as I find them. If you find a mention of us or one of our apps, post a comment!

August 19, 2008 – Mac|Life on Brain Tuner – review

August 19, 2008 – MacRumors on Brain Tuner (#2 iPhone app) – download stats

Yesterday, Command Guru started a week-long reality show around a group of developers who are tasked with creating an iPhone app in a single week.

I know two of the participants. Watch the preview below!
[Read more →]

Joel Comm wrote yesterday about “The $25,000 Lunch.” The basic summary: a gentleman offering a $25,000 corporate coaching service invited Joel to lunch. At the end of it, the man asked if Joel would like to split the bill. Offended that the man who is trying to win his business didn’t offer to pay for the full bill (which was only $16.88), Joel paid for it himself. Joel provides a lot more details, of course. You can read the full story on his blog.

My initial impression was 51/49. I definitely see Joel’s viewpoint, and in a pinch, I would side with him. But I can also see why the corporate coach may have acted the way he did.

The commenters overwhelmingly agreed with Joel. Not surprising, since it’s Joel’s own blog. And he does seem to be in the right: paying for business lunches (when you’re the one who invited the other person) is generally seen as common sense.

But there were 2 commenters who offered differing opinions. They’re very interesting, so I’ve quoted them below: [Read more →]

I have an xib user interface which is appearing in the app, but the name of the file (ChatView.xib) doesn’t appear in the code anywhere. “ChatView” doesn’t appear anywhere, either (outside the name of the UIViewController subclass). So how does the app know to load the nib (xib) at all?

This had me stumped for a little while. Thanks for the insight, Ben:

Comment from Ben S. Stahlhood II
Time: October 26, 2009, 2:50 pm

The methods that Aaron discussed are good, but as of 3.0 you can also pass nil to both of the params of initWithNibName:bundle: or just do the alloc/init and it will look for a XIB with the same name as the UIViewController class. Of course, this can cause confusion if trying to still code for pre 3.0 and may not be as readable as actually specifying what is being loaded.

via http://weblog.bignerdranch.com/?p=129

Apple has approved the 1.8.0 update of Brain Tuner Premium.

Here’s the list of changes:

- Improved main menu design
- New splash screen with GreenGar logo
- Updated company URL to www.GreenGar.com
- Added Send Feedback button in Options menu
- New Send Email feature to share scores with friends
- Spanish localization improvements
- Bug fixes

I submitted the update on Nov 4 @ 12:40 AM.

On Nov 10 @ 12:30 PM, I received an email from a player using the new in-app email feature. That means it was probably live shortly before that.

On Nov 11 @ 7:22 AM, Apple sent me the “Ready for Sale” email.

So it took about 8 days (or slightly more than one full week) for the update to be approved.

See Brain Tuner Premium in the App Store now!

A couple days ago, our latest app was approved by Apple: OpenSesame, a notes app with voice authentication powered by SecuriMobile.

Counting free and paid versions separately, GreenGar Studios now has 10 apps on the iTunes App Store.

Click here to see all of the GreenGar Studios apps in the iTunes App Store!

A NIB is a “NeXT Interface Builder” file, which is one way of representing an iPhone user interface. There are other ways of representing UIs, too. And NIBs also are used for Mac OS X apps.

FileMerge is Apple’s visual diff tool. XIBs are the new version of NIBs, and use an XML representation that is supposed to be diff-friendly. And for the most part, it is. But FileMerge doesn’t like it:

Screen shot 2009-11-01 at 11.36.45 PM

Sometimes people like to say that things “just work” on a Mac. Not so. Maybe it’s because I actually know how to use Windows, but the fact of the matter is, I have just as many frustrations with my OS as a full-time Mac user as I did when I was a full-time Windows user. Mac OS X has tons of quirks and aggravating eccentricities, and yes, they remain in Snow Leopard.

Now go get yourself a decent computer running Windows 7 =P

Work With Us

We're an iPhone app development company located in Los Angeles, California, USA.

Contact us at company@greengar.com.

Subscribe to our blog!

Delivered by FeedBurner