What’s Going On? Conqueror for iOS and more…

For those of you wondering what we’ve been up to as of late, I’ve got a lot of interesting news. We finished up a couple big projects for clients in the beginning of the year, and with that behind us, are dedicating all of our hours to the development of our own ideas.

We’ve been deep in R&D mode for weeks now. But more about that later.

Meanwhile, our long-standing and ever-popular strategy game Conqueror was given a HTML5 (Javascript/CSS/Node.js) port by our friend in Germany (in-game known as “Xuul”), and it’s now live. (Read more about it on the forum or just play it.)

The old Shockwave version of Conqueror that I started developing around 2000 or 2001 and then more-or-less finished in its present state around 2005 (with minor updates until a few years ago) is now officially end-of-lined. The player base for Conqueror multiplayer games has moved over completely to the new version, and we’ll be removing the server for the old game soon. (The single-player version isn’t dependent on the server  and can stay up indefinitely, though for those that like to play offline; the new web version of the game is dependent on remote server code for game logic and as of the moment, you still have to log in to the lobby to start a single player game.)

Some notes about tools and such: Conqueror was the last full game I developed in Adobe Director/Shockwave, and although I did use Adobe Flash to create some games (mostly kids’ games for clients), I was anxious to move away from Adobe platforms in general. When the Apple iPhone came out, I knew that’s where I wanted to be, but learning Objective-C and C when you come from a long history of using GUI-rich scripting multimedia/web tools (that “real” programmers scoff at, and not without reason* ) was not easy.

* I’d never had to learn to use a compiler before, much less allocate and deallocate memory explicitly for each and every variable. Where I could just type something like “player = new playerObject();” before, I found myself having to explicitly define the variable 3 times (assuming it’s a synthesized @property) in Xcode, plus allocate the memory. Arggh, what is this, the verbose Elizabethan age? Needless to say it was a steep learning curve and many years later, it’s all second nature to me. And Apple has recently made it much easier with ARC (automatic reference counting) and other additions to Xcode for Objective C.

I couldn’t wait to start making games for the iPhone, but when the iPad came out, Conqueror seemed like a natural fit. I didn’t want to tackle a new version of Conqueror until I felt like I had sharpened my skills in Objective C to the point they are at now. Working on less complex apps (such as Juggleware has now in the store), quite a few iOS apps for clients, as well as some unpublished experiments of my own, I finally arrived at the point where I can make this game properly in Objective C.

But now I am realizing that making the game in Objective C would limit our audience to just the iOS world, and there are several options for delivering this game to multiple platforms including Mac, PC, and Android as well as those with iPhones and iPads. In particular, Unity 3D.

Unity 3D? You ask. But surely Conqueror is a 2D game.

Yes, don’t worry, we are not going to ruin the game by making it all about 3D animations and making you move your armies from a first-person point of view. (Although the Total War series did do an interesting mix of the two.) There are several ways to do 2D games in Unity. In fact, there are quite a few 2D games (mostly side-scrolling platformers, it seems) published on the Unity platform. The only problem is, again, that of learning and R&D:

1) Figuring out which 2D system to use (I could write a whole blog post on just this!),
2) learning C# (which I am told is quite elegant and something like Java, which I have some familiarity with), and
3) learning the Unity IDE in general.

Hmm, that’s quite a lot! And that’s only IF I decide to use Unity. I’ll be doing some tests soon to see if this is the avenue we want to pursue. I’m also considering using Cocos2D, which is an Objective C framework for games, but has variants for other platforms (such as Cocos2D-x) that could presumably aid in porting the game.

We also have several games in various modes of development: there’s a really awesome idea we’ve done most of the design work on already for a social/mobile GPS photo game that we are just waiting for the right folks to work with (anyone know how to pitch an idea?), and we have a retro vector-style space game (think Asteroids mixed with a game like Faster than Light) that I’ve got a basic prototype happening for — but thinking of redoing in Unity or Cocos2D so I can take advantage of faster OpenGL frame rates.

Finally…. a new version of our iOS app Sol: Sun Clock is almost ready as well! We’ve addressed many user suggestions with new features. We hope to be submitting this to the App Store in the next couple of weeks.

So that’s where we’re at these days: the beginning of a new era. It’s kind of thrilling and intimidating. A lot of information to wade through, while trying to keep your head above water. There are so many cool new tools out there though, many of them (like Unity) very affordable for the indie game developer, and some of them are even open source or free.

If you’re a game developer, mobile dev, or just a gamer, let me know what you think! I’d love to hear tips about platforms or war stories from the front, or what platforms you’d like to see the games on. (I will be posting a poll on the Conqueror site soon that will ask our loyal gamers some more specific questions.)

Posted in Conqueror, Games, iPhone Development, Programming, Sol: Sun Clock | Leave a comment

CoreTextArcView for iOS now on GitHub

Well, I’ve been using git for about a year now, so I was overdue to put something on GitHub.

By popular demand (well 2 people on StackOverflow asked for it anyway), I am putting on GitHub my adaptation of the CoreTextArcView for iOS so people can improve it and make it more useful. I ported this code from some sample code for OS X, so that I could draw text on an arc in Sol: Sun Clock.

If you are a GitHub pro, this newbie welcomes any tips.

 

 

Posted in Programming, Sol: Sun Clock, source code | 2 Comments

End of The World Promotion—Get Sol: Sun Clock for Free.

Tomorrow, Friday December 21 at 6:12:58 AM ET (11:12:58 GMT), the world is coming to an end.

Or, for non-Mayan doomsayers, it’s the Winter Solstice*, the darkest day of the year when the sun is lowest in the sky and a new Solar Year begins. This is one of many facts available in Sol: Sun Clock, the 5-star user rated daylight planner available on the App Store that you can use every day to plan exercise, photography, and get the chickens (or kids) in before dark…. which is pretty damn early this time of year.

In honor of this annual natural event we are making Sol: Sun Clock free for a limited time!

Read more info about Sol:Sun Clock on our site, or just go ahead and download it for free (for a limited time) now on the App Store.

 * yeah, just in the Northern Hemisphere — it’s the Summer Solstice for our wombat and penguin friends

Posted in Sol: Sun Clock | Leave a comment

Vimeo “Magic Hour” & 48-Hour Film competitions this weekend

This weekend, Vimeo is hosting a competition. Shoot one minute of footage during the “Magic Hour” (also known as the “golden hour”).

Also this weekend is the international 48 Hour Film Competition where teams have 48 hours to write and produce a complete short movie. In fact, your humble developer will be competing in the New Orleans chapter. Our entry last year even got a few awards!

Both are excellent opportunities to use Sol: Sun Clock—it can be an essential planning tool for location shoots as many cinematographers and photographers have mentioned. I’ll definitely be keeping tabs on how much daylight is left where we’re filming… looks like sunrise is at 6:26 tomorrow morning, and the morning golden hour ends before 7:30 so we’ll need to get an early start…

Posted in iPhone Apps, Photography, Sol: Sun Clock | Leave a comment

Marketing’s a Bitch: Lessons from the App Store

Until recently, my iOS portfolio as a developer has consisted of mostly work-for-hire apps —— with only a few pet projects as the exception (e.g. Pocket Troll).

However, my ultimate goal as a developer, as I imagine it is for many other devs, is to have the luxury to work on my own ideas— at least until I run out or tire of them! In fact, I have the problem of more ideas than I can count as this point, which makes the conversation all the more comical when someone comes to me with this (I am sure all app devs can relate): “I have a great app idea! Sign this NDA and then I’ll let you do all the work. Then give me half the profits!” I want to tell them, “I have enough crazy ideas of my own, thank you, and I don’t need to sign an NDA or give up half the nonexistent future profits to do them.” (I’ll happily consider working on your idea if you pay me actual money, on the other hand.)

With all these great ideas, the process of choosing which comes next is usually based on which project is the most easily accomplished based on my current situation, which will allow me to learn new skills as a developer (without being too difficult as to be discouraging), and of course, will achieve some success in the App Store.

Sol: Sun Clock is the first real rung on the ladder. Although its usefulness is not always apparent to people immediately, most get it, and it’s the first app that I’ve worked on that I’m really proud of. Lest I forget — there is no doubt the contributions of Josh Warren to the UI were essential in its success. Until last week it had an average of 5 stars (out of 5) rating, with over 25 genuine reviews from around the globe, which was far more than I expected, and what many suspect “app review” companies were offering for under-the-table payment (but even they cannot completely negate a genuine 1-star review by flooding it with fake 5-stars).

With such great ratings, I hoped that the app would achieve a life of its own. If you have read anything about the state of App Store marketing recently, you’ll realize how naive I was. The top positions in the App Store are hotly contested over, and if you’re not visible, you’re not going to get found. As a solo dev, I don’t have the finances to buy my way into the charts with a massive advertising campaign, and even if I did, I wasn’t convinced the app had more than a niche market. The app’s original price was 99 cents, which was way too low in my estimation but I figured it would make up in numbers what I was losing in price.

The 5-star (and a smattering of 4-star) reviews kept coming in; in fact it almost seemed that everyone who bought the app was giving it a 5-star review. But it wasn’t going viral. Getting mentioned on a photography blog sent sales way up for a few days, which was exciting, but within a week it was back to a trickle. Having high review rating didn’t seem to help the app’s listing in the store, it was well down on page 3 or 4 of the Weather category, despite having a higher rating than all of the apps above it. This is very frustrating. It seems that an app cannot win on its own merit.

I tried Google ads and Facebook ads — neither of them provided a return comparable to what I put in. In fact, I was paying about as much for a Facebook click as my share was for an app sale! And a click did not in any way guarantee a sale. It was very clear to me that Facebook ads were not working, and I suspect that Google ads were just as ineffective. I am not an expert in the field of online advertising, but I was already spending way more time obsessing over sales and marketing than I am comfortable with… and dying to get back to the creative side of things: design and coding.

Through reviews, and emails from customers, one thing I did notice was that the people who liked Sol: Sun Clock really, really liked it. Many said that they had been searching for an app like this for a long time. All said they loved the design. Many had tips for feature requests, but they always reiterated how much they loved the app regardless, and it was worth what they paid for it and more. I raised the price to what I thought I might pay for it, $3.99, and it seemed that people that wanted the app were just as happy to pay that price as they were $1.99 or $2.99.

I use an app called AppViz to download my iTunesConnect reports and try to make sense of them. It’s nice to see your numbers spike after a blog mention, and fun to try to figure out why it spiked this day or that. But mostly it’s “why is my app performing so miserably when everyone loves it?”

It all seemed to come back to visibility and discoverability, so I did what the creator of the excellent NodeBeat music game app suggested on Twitter: I made the app free for a day and notified AppAdvice.com about the sale. Their requirements state that your app must be 3 stars or more, and not been free in 3 months, both of which Sol: Sun Clock satisfied. The summer solstice was an excellent excuse to have a sale, as the app is all about the Sun. I actually made the app free for a day before AppAdvice.com put it on its “Apps Gone Free” chart, and ended up keeping it on there for a full day after.

Sol: Sun Clock at #2 Weather app in App StoreAfter months of obscurity, Sol: Sun Clock rose to #11 on the Weather charts the night of the solstice, and the next morning, when Apps Gone Free went live, it quickly rose to #2. Downloads went from around 10 a day (paid) to the peak of 21,042 in one day. That is an increase of over 2000%! Over a period of three days, Sol topped 30K downloads.

The theory goes that, with the greatly increased visibility, when you switch the app back to its normal price, it will net some additional paid sales as an after effect. And it did, but sadly, this number was well under 100, and within 2 days I was back to under 10 downloads a day.

People continue to love the app, so I haven’t given up hope. It was thrilling to see the app come in at #2 Weather (behind only the Weather Channel’s) in the store, but in the end it was more a salve to the ego than a lift of its overall sales baseline like I’d expected to see. I can’t help but think that Apple’s algorithms are prejudiced towards some of the bigger players, and anxiously await news that they will tweak the store algorithms to aid real discovery by users who favor apps for genuine reasons. I suspect that they recognize that many people are buying their star ratings, and so the ratings play no role in an app’s visibility on the store, which is tragic, because it means that only apps with the largest marketing budgets are going to get the visibility to be downloaded. (Once again, the problem with the free market is always the money corrupts the free-ness.)

There will be some updates to the app. I’ve gotten loads of great feedback from users and I’ll definitely be implementing the top two features requested. Some other features, such as Moon phases, I’d love to add, but the time spent adding it might require that I make it an in-app purchase, something I haven’t done so far.

I want to be loyal and fair to anyone who’s actually purchased the app, and I won’t introduce ads into an app that someone has paid for as a matter of principle. But frankly now I have to support well over 30,000 users who haven’t paid for the app as well, and will continue to get any new features for free I add for the current user base. I’d love to be able to distinguish between free and paid users, somehow so I can either put ads in for the free users, or have in-app purchases for the new features that the paid users get for free. Apple, are you listening?

I suppose I should have done what many other developers do and have two paths. I can tell you one thing for sure, this particular app won’t be free again, unless I completely end-of-line it.

The worst thing about making an app free? The users who download it just to complain. Almost immediately I got a 1-star review from a Chinese store buyer who said “Disgusting. Not in Chinese.” 90% of the apps in the Chinese App Store are not in Chinese. Is this guy going to write this complaint on all 40,000+ apps? A Canadian store buyer complained with a 1-star review that it crashed on his first opening. Really? I haven’t had it crash in 6 months, and neither has any actual human I have corresponded with. Why not use the Support option to connect with me and help me get to the bottom of this, if this is indeed real? My perfect 5-star average with no rating less than 4-stars now has two 1-star reviews and one 3-star. The same happened earlier with my Pocket Troll app when it went from 99 cents to free: average 4-star rating quickly plummets to 2-star. The lesson: people who like cheap/free shit like to complain a lot. People who are willing to pay for your app are much more likely to consider its real worth.

Well that’s all I have to say for now. I’ve been working on a game for awhile that I’m pretty excited to have, since game design is my real reason for getting into this, and I have nothing in the store yet. It will be interesting to see how a game does compared to a Weather/Utility/Photo app.

App developers, users, and anyone else: If you’ve got any feedback I’d love to hear it in the comments.

Posted in App Store, iPhone Development, marketing, Programming, Sol: Sun Clock | Tagged , , , , , , , , | 3 Comments

UIColor-expanded

Here’s some handy code to extend UIColor, based largely on code by Erica Sadun, but with a couple of fixes and handy (to me) additions. Let me know if this is useful…
Continue reading

Posted in iPhone Development, Programming | 1 Comment

Walkthru video for Sol: Sun Clock

Sol (Sun Clock) Walkthru on Vimeo. It’s also available on YouTube.

Posted in iPhone Apps, Sol: Sun Clock | Tagged , , , | Leave a comment

Sunset walk

My wife Christy and I were home yesterday evening after work when my Golden Hour alarm went off. I have Sol: Sun Clock remind me when the so-called Golden Hour starts each day. That way, I can go for an end-of-day walk or bike ride, when it’s cooling off a bit, which is good time to clear the head if I haven’t gotten any exercise that day yet, and often there are opportunities to take some great photos along the way.

We just did a short walk around the neighborhood, which is called Carrollton, in uptown New Orleans. There are several cemeteries near us, and Christy took this lovely photo using the Hipstamatic app on her iPhone 4.

Sunset at Carollton Cemetery, photo by Christy Wood

Posted in Photography, Sol: Sun Clock | Tagged , , , , | 1 Comment

Sol: Sun Clock — official trailer

Kudos to Josh Warren, co-designer of Sol:Sun Clock, for producing this excellent 60-second trailer introducing our new app for iPhone and iPad, now available in the App Store.

Sol: Sun Clock from jjnww on Vimeo.

I’m hoping this video helps spread the word. Sol: Sun Clock is averaging nearly 5-stars from its many user ratings — and users are volunteering reviews at a much higher rate than other apps I’ve worked on — but it has yet to reach any kind of mainstream awareness. Just one review in the right photography blog or other such space could probably make a big difference. (psst… If you know someone like that, please help a struggling developer by letting them know—we can supply free promo codes!) Time will tell…

Posted in iPhone Apps, marketing, Sol: Sun Clock | Tagged , , , , , , , , | Leave a comment

Sol: Sun Clock is now available for iPad

The latest update to Sol: Sun Clock, the personal daylight utility and alarm clock for iPhone, now makes use of the new iPad’s hi-res screen.

Sol: Sun Clock on the iPad

As a developer, I was happy that 98% of Sol:Sun Clock’s codebase had to be changed. Very few of the graphics had to be remade for the new iPad’s hi-res screen as I’d already included the Retina graphics for the iPhone 4, and most of the graphics including stars, sun, earth, and colored daylight, twilight, and night-time areas are all drawn by code inside drawRect().

Get it: Sol: Sun Clock for iPhone and iPad on the App Store

Related: Why I made Sol: Sun Clock

Posted in App Store, iPhone Development, Photography, Sol: Sun Clock | Tagged , , , , , , | Leave a comment