GreenGar Studios

Simple, fun, useful

Latest News

GreenGar Studios is proud to announce the immediate availability of the 1.3 update to Whiteboard Pro: Collaborative Drawing (iTunes link).

Actually, it was updated on February 10, 2010, but I only just got around to posting about it here :)

What’s new:

- Tabbed Color Picker, including an Eraser

- Shake Actions. You can shake for Tools or shake to Erase (Start Over)

- The Start Over Confirmation Alert can now be turned OFF

- Start Over no longer toggles the Tools screen

- The Network Activity Indicator now appears when a connection is being established

- Two-finger Touch Alert: You can eliminate the alert by going to the Settings app and setting “Drawing Tools Alert” to OFF

- Canvas Auto-Save is now set to OFF by default (change it in the Settings app)

Thanks for using Whiteboard! More updates are coming soon. Please post your suggestions below.

If you enjoy Whiteboard, please update your review for the new version :)

I know users have been requesting a dedicated Eraser for a little while now, so I hope you like my implementation of that.

Also, on an unrelated note, I found on YouTube this great review of Whiteboard Lite. If you’re not familiar with Whiteboard yet, take a look:

Another technical post for today. But before I get to that: I ran this promotion on my previous post, and it worked well– so here it is again:

The first person to post a comment on this post will get a promo code for a free copy of Whiteboard Pro: Collaborative Drawing, a $3.99 value. So if you don’t have a copy already… post a comment!

WebSVN is a great tool for browsing your source code and its history. SVN is a great source control system, and it’s a lot more useful when you can easily go back in time using any web browser. But it’s not so great when something goes wrong, like this:

Warning: Invalid argument supplied for foreach() in /home/…/…/websvn/listing.php on line 104

Google turned up a few possible solutions (upgrading SVN or MySQL, or downgrading WebSVN), but these were not the cause of my problem.

My solution was to edit the configuration file at /include/config.php

Change this:

$config->addRepository(‘RepositoryName’, ‘file:/home/…/svn/repository’);

to this:

$config->addRepository(‘RepositoryName’, ‘file:///home/…/svn/repository’);

(Add two more forward slashes after file:/)

That did the trick! Hope this helps someone else out there.

Another technical post for today.

This morning, one of the students in CS 526 encountered this error:

Build cocos2d libraries of project Sample with configuration Debug …
Ld build/Debug-iphonesimulator/Sample.app/Sample normal i386 …
ld: duplicate symbol .objc_class_name_HelloWorld in /Users/elliotle/Projects/Sample/build/Debug-iphonesimulator/libcocos2d libraries.a(HelloWorldScene.o) and /Users/username/Projects/Sample/build/Sample.build/Debug-iphonesimulator/Sample.build/Objects-normal/i386/HelloWorldScene.o
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

Well, it wasn’t exactly like that because I reproduced the error on my own computer so that I could post about it here :)

Here’s a screenshot of what the error looks like:

In the student’s case, he was trying to rename the HelloWorldScene class to MainMenu.

The problem comes from adding files to the project and having both the main target and the cocos2d library target checked. That results in the class being compiled twice, hence the duplicate symbol error.

Here’s how to fix it:

First, remove the offending files from the project:

Then, add them back, but make sure the cocos2d target is NOT checked:

That should do it.

Alternatively, you could just uncheck the cocos2d target for the offending class’s implementation file. But that’s not the path I happened to take when solving this problem, so I don’t have screenshots for it :)

Hope this helps!

I received this email from Hayley (edited for grammar):

I think that Whiteboard costs too much. It should only be .99 at the most because it doesn’t come with anything. Well, at least that’s my opinion. Please email back if you can. If you won’t, I guess I’ll have to use my iTunes card.

Hayley, use that iTunes card; Whiteboard won’t be getting cheaper anytime soon :)

In the Productivity category of the App Store, there are currently four apps ranked above Whiteboard that are at the $2.99 price point. There is only one app ranked above Whiteboard that is priced at $3.99, the same price as Whiteboard.

Meanwhile, I’ve also been exploring some of the numbers returned by the analytics library included in Whiteboard.

My primary question is this: to what extent does the user interface affect user behavior?

In Whiteboard Lite, the users you can connect to are front-and-center, right in your face. There’s a list of the devices you can connect to, and if someone becomes available on your network, you can’t miss them. It’s always visible, whenever you have the Tools screen up.

In Whiteboard Pro, things are different. There’s a Connect button, which you need to explicitly tap in order to see who’s around you. It’s not immediately obvious what the button does. If you’re familiar with Whiteboard Lite, I imagine you’d understand the idea quite easily. But if you’re new to the Whiteboard: Collaborative Drawing concept, you’re less likely to grasp it.

Whiteboard Lite has had a total of 2.89 million unique users to date. Out of those users, 360,440 of them used the collaborative feature and connected to another Whiteboard (notice that the Lite and Pro versions are compatible with each other). Some simple math indicates that 12.46% of users used the connection feature at least once.

So out of those who used the feature at least once, how many connections did they make in their lifetime so far? 1.34 million, or about 3.71 connections per connecting user. Note that connections are symmetric, but statistics are not completely accurate. Sometimes beacons fail to get sent, or are sent at a later time. The number of connections is currently an odd number.

Whiteboard Pro has had a total of 31,751 unique users to date. Out of those users, 2,193 have connected to another Whiteboard. That’s 6.91%, or 5.55% less than the % that did so with the Lite version. Now, these are likely to be different user bases, and perhaps those who upgraded to Whiteboard Pro were more likely to want the better drawing tools for their own purposes, but I think UI is probably a major factor as well. If we were to assume that UI is the main cause, then if Whiteboard Lite had a similar UI as Pro, more unique users would have used the connection feature. How many more? .055*31751 = 1,746 more users. Conclusion: the UI made a major difference, to the tune of 5.55/12.46 = 44.5% fewer users using the Connect feature of the app.

How many connections made so far with Whiteboard Pro? 10,645, or about 4.85 connections per connecting user. Note that while the fraction of people who ever used the connecting feature is much smaller with Pro, the number of connections made by that fraction of people is greater (on a per-person basis). More than 1 connection per person greater, in fact. From this, my hypothesis is that the users who discovered the Connect feature in Whiteboard Pro used it more. (I did not measure discovery, in that I am not currently tracking raw clicks on the Connect button.)

One note for those of you using Pinch Media Analytics: downloading the lifetime reports in CSV can result in some misleading indicators. In particular, there’s a “% of Unique Users” column for Actions (aka sub beacons), but it’s certainly wrong (or at least very misleading). It’s not the % of the total unique users; AFAICT, it’s the % of unique users who have transmitted at least 1 sub beacon. (But I’m not even sure about this guess.) It’s best to avoid this number altogether, and do your own math where necessary.

What statistics would you like to know? I’ll consider your suggestions for future posts on this blog.

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 →]

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