Why am I currently NOT thinking of targeting Ovi Store?

Hey there, Nokia. It’s me, a small indie developer who wants to support your phones. Really, I do.

First of all, let’s talk about the phones. I wanted to be more focused on Ovi Store, and I will be. Just a few short words on the phones and the platforms. (Or skip the rant.)

The Phones and The Platforms.

I love N900. I don’t own it, because I’m cash-strapped a bit, but it’s almost the thing that I want to own. I would’ve preferred it if you just upgraded N810 to have a phone, and if you didn’t mess with the UI, but still, N900 is closest to the ideal Linux phone one could have. Choosing Debian package management system was a great move on your part, Nokia.

Yet you gave up on Maemo. You wanted to move on to Meego, you wanted to move away from GTK to pick up Qt which you purchased and switched license from GPL to LGPL. All noble choices. But this means you gave up on tons of work you had done on Maemo. This has just spread confusion among users, including me: will you stick to Meego or abandon it as well? Looks like you picked the latter one.

With regard to Symbian, I am a bit more confused. There’s too much choice with your phones. I have no idea how to develop apps for Symbian, nor am I really interested in it; there’s no way I could test on all the phones, and some of them are really slow. Not really good target for my game apps, right? (And Java phones are totally out of the game, since there’s no way in hell I’ll be writing games in Java.)

The Ovi Store and its presentation fails

Okay. Who am I? I am a small developer, primarily a programmer. I’m a terrible designer, based on people’s comments when I design user interface. I also suck at “extracting money” out of unsuspecting victi… Uhm, I mean, “users”.

But there’s just a small thing that prevents me from looking seriously at distributing apps on Ovi Store. This is total lack of confidence with regard to commercial success of paid apps. I don’t intend to develop games that feature ads. I want my users to pay once, upfront and go away happily with their new game. Your Ovi store does nothing to present paid apps to new visitors on the site.

When looking at the Ovi Store, it feels like you’re deliberately trying to promote free apps. Is this in hope of your customers being extremely happy that you are offering them free stuff? If you look closely at the first screenshot I’m including in the article, you can notice that you are offering them a trailer. Yay! I can get a trailer for free off an app store. Wait, what? A trailer on an app store? And it’s featured?

Ovi Store 1 - Featured page lists only free apps

Not only that, but the homepage — entitled “Featured” — presents only free apps. Believe it or not, I have noticed this many months ago, when first seriously investigating viability of porting the app to Nokia platforms (or at least Maemo). Every time I look at the homepage, it “features” only free apps.

It feels like you are treating developers like they are not your customers. It feels like you only appreciate developers that are happy to fork over money for access to Ovi Store as a distribution channel only to offer free apps.

If I develop a paid app, I expect to have a fair chance to be featured on the homepage. You’re even featuring free version of Angry Birds Rio, not the paid one.

So, let’s say I am an end-user. An uncommonly enthusiastic end-user, very willing to fork over some money to a developer — and Nokia, don’t forget, you as well! I want to do that because I want “good” apps. I don’t want trailers, and I don’t want limited versions of games. I don’t want “FREE Sweet Love MSG 2 Share” (also featured on the main page — is anyone vetting the apps that appear as featured at all?) — I want a fun and entertaining game.

As you can see, I am an uncommon user — I want to search for stuff instead of being served stuff.

So I want Games. I click on Games – luckily it’s very well exposed.

OVI Store 2 - After clicking on Games, still only free games

Oh, come on! This is ridiculous, Nokia. Again I am served free apps only. At least I have a choice between Top Free, Best Sellers and New.

But it’s gray, faded out, small and unnoticeable!

So I have all these big icons of free games, which I see I don’t want, and I’m tempted to close the window already, but only then I miraculously notice that I could, perhaps, switch to Best Sellers. Let’s see what that does!

OVI Store 3 - Finally, paid games!

Oh! Lord! I am saved! I can finally see stuff that people are willing to fork over money for!

To be honest, I still have no idea if I would fork over money for any of those games I see there. Or perhaps… Tetris Revolution by Electronic Arts sounds nice. Why isn’t that thing featured?

So Nokia, consider that this is how a developer thinks. And I suck at marketing. But I don’t really see that you are making it easy for users to discover great paid apps or games, and hence you are not making it easy for developers to sell apps.

By now the project is too far along. It’s written in Objective-C, and is optimized solely for iPhone resolution. We’re still thinking of creating a version targeting your phones, but it’s by no means a priority.

Ovi looks like a great store. You have a great market base. You have a nice deal with operators (having them charge for apps means better exposure than having people pay for apps via credit card).

But what were you thinking when you gave enormous exposure to free apps, and so little to paid apps? Are you surprised that developers are chased away, and that sales are (probably) low? I think they are, despite the success of free apps.

Do I have any, at all, hope of gaining exposure for my paid app even if I join the still relatively small marketplace? If Angry Birds with their massive exposure on other platforms and in mass media are not a top seller… what can a newcomer like me expect?

I really hope that you intend to address the issues at hand. Deal with Microsoft can only help in a sense that they might do a better job at marketing paid apps than you. I would however prefer an independent and strong Nokia, with a good model for charging apps directly from user’s operator. Frankly, I don’t want a Silverlight-and-C#-based platform, and I want to deal with you.

But you are dropping platforms like rain is dropping from the sky (and unfinished platforms at that!) You are marketing apps poorly. You are avoiding questions on what great paid app successes there are and redirecting me. Too bad I can’t dig out the entire history off Twitter, only a single post, but I was directed to some marketing pages where free apps were again praised more than paid apps.

I want to be a partner and sell apps on Ovi Store. But I see no reason to invest loads of time to write a paid app when you care more about free apps.

Apsurdi u podizanju dokumenata

Potaknut sam na ovaj post današnjim iskustvom s domovnicom. Ono radi čega trebam domovnicu — nemam pojma zašto im treba domovnica. No to nije niti bitno.

Priča prva: Domovnica

Dakle, zaboravio sam domovnicu doma. Iovako ionako htio sam napraviti novu; ova je relativno stara, i ako već moram predati dokument, nije mi problem dati 20kn. I tako saznam da kad sam već u gradu, mogu otići kod Zapadnog kolodvora i tamo napraviti domovnicu.

Vraga.

Ispada da zato što sam rođen u Osijeku, i zato što je tamo napravljena domovnica, ne mogu napraviti domovnicu u Zagrebu neovisno o tome što tu živim već skoro 20 godina. Moram, naime, prvo obaviti “prijenos upisa” u svoj lokalni ured (pretpostavljam matični ured) koristeći domovnicu iz Osijeka.

U redu. Pazi ideje. Imamo informatiziranu državnu upravu (žena gleda u računalo), a Internet omogućuje povezivost kao nikad dosad u povijesti čovječanstva (na mobitelu u tramvaju mogu pristupati sadržajima posluženima s bilo koje lokacije na ovoj našoj plavoj lebećoj kugli). No ta naša informatizirana državna uprava nije sposobna koristiti isti softver, dignuti servere, ili koje god da su im prepreke — i opslužiti me s jednim papirom za kojeg sam još uvijek sretan i zadovoljan što ga imam.

Ne, nego moram raditi “prijenos upisa”, i zatim moram izrađivati domovnicu u istom uredu u kojeg sam “prenio upis”.

A šteta na ekonomiju da kojim slučajem nemam tu domovnicu? Ne zaboravimo, svaka škola i fakultet je voli de facto oduzeti dok god je osoba upisana u tu školu ili fakultet. Što bih tada morao raditi, da mi iz škole ili fakulteta ne mogu ili ne žele dati moju vlastitu domovnicu? Što bih radio da je moram istog dana imati, a subota je ili nedjelja?

No, ajdmo drugačije. Jednostavno pretpostavimo da ne mogu doći do domovnice ili da je nemam i točka. Šteta po ekonomiju je jedan radni dan – zamislimo plaću od 35kn/sat (izmišljam), pomnožimo s 8h, i zbrojimo s cijenom povratne karte primjerice vlakom do Osijeka… koja iznosi 193kn (bez odabira povlastica i slično). Dakle, šteta je 473kn za jedan propušteni radni dan i prijevoz do Osijeka.

Opcionalno? Mogu slati zahtjev i nadati se da će poštom stići u nekakvo normalno vrijeme. Tada bi me trebalo koštati oko 20kn. Jest ušteda, a gdje je vrijeme?

Usput, državna službenica je bila izuzetno neugodna, izvrijeđavši moje nepoznavanje u koju općinu spadam i slično, što bi iovako ionako za mene kao građanina trebalo biti posve irelevantno. “Sramota je ne poznavati grad u kojem živite” – a mora da je onda i sramota pokušati raditi u tom gradu, plaćati porez, a bogme je sramota i čuditi se gospodi u državnoj upravi koja su Dubec smjestila pod primjerice katastar u Sesvetama.

A da ne spominjemo da kad se službenici 10min prije toga pokucalo na vrata, dvije službenice su sjedile, gledale u prazno i rekle “Malo sačekajte”.

Priča druga: Izvadak iz matične knjige rođenih

Prvo, jeste li znali fascinantan podatak da je izvadak iz matične knjige rođenih posve druga stvar od rodnog lista? Eto, ja budala pa nisam. Ub’me ako ima neko objašnjenje.

Drugo, jeste li znali fascinantan podatak da kao osoba rođena u Osijeku nigdje u Zagrebu ne mogu dobiti navedeni papir? Da, sustavi nisu povezani.

Jedino mjesto u okolici Zagreba na koje su me uputili jest… Dugo Selo. Izvan zone ZET-a.

Dugo Selo je stvarno prelijepo. Dolazak tamo je isto predivan. Kontakt sa službenicom u Dugom Selu je bio fantastičan, jedno od najboljih iskustava u kontaktu s misterioznim entitetom koji zovemo Država. Dođem, kaže “Trebate osobnu, ovo, ono, i tolko-i-tolko kuna biljega.” Nije me se vrijeđalo za nepoznavanje pravila, za rođenje u drugom gradu, nije se bilo živčano. Nije bilo čekanja. Sve je proteklo u najboljem redu.

To ne znači da nisam izgubio jedan radni dan na odlazak tamo.

To ne znači da pojedini formulari ne traže apsurdno veliku količinu dokumentacije, uključujući i navedeni “izvadak iz matične knjige rođenih”.

Priča treća: Promjena prebivališta

Još nisam prebacio prebivalište. Bojim se krenuti. Zadnja dva puta kada sam to pokušao napraviti, prvi put krenuo sam od Policijske postaje u Sesvetama, koja me uputila u Petrinjsku u Zagreb. Drugi put krenuo sam od Petrinjske, koja me pak uputila da prvo moram stvari riješiti u Sesvetama.

Odgađam to već poprilično dugo. Svjestan sam da time sigurno kršim određen broj propisa, no bogme bi se neki klasični postupci mogli staviti u jedan lijepi PDF, objaviti na stranici primjerice Ministarstva uprave, pokrenuti kampanju da je to objavljeno (kako bi ljudi znali da toga ima) i lijepo hyperlinkove postaviti u PDFu kako bih mogao u requirementsima, kad znam da mi nedostaje neki dokument, lako mogao kliknuti na link i vidjeti kako doći do tog papira.

No, eto.

Hindarium announces Zombie Ball, releases gameplay teaser

We’ve been working pretty hard on Zombie Ball, and finally we’re going public. We kicked the ball (see what I did there?) by releasing a gameplay teaser on YouTube.

You can see more information on the web site, as well as pick up the press release, if you’re into that sort of thing or you just want to see more info about the game. Just take a look at http://zombieball.hindarium.com/

What I'm missing in Xcode4?

I’m a big fan of Xcode3. Xcode4 is a step in the right direction for me, though. Not so much as it would be when I started with Mac and iOS development, but still, it’s ok.

However, there are large omissions and important bugs that are heavily influencing my productivity.

  1. Removed Right-click, Find In Documentation. (Update on April 1st 2011, 16:42 CET: Alt+left-click is a replacement for this.)
  2. Removed Command+shift+up to switch between header and source. Assistant views are not a replacement since I work on Macbook, which doesn’t have all that much screen real-estate, especially, when you have the File Navigator on the left. (Update on July 12th 2011, 16:21 CET: Use Ctrl+cmd+up, or three-fingers-down-to-up touchpad gesture.)
  3. No ability opening multiple Get Info dialogs on the screen for different project Targets. In fact, Get Info was removed and replaced with (admittedly superior) way of editing build settings.
  4. When autocomplete lists tons of options, Page-down (Fn+Down) does not work. That’s right, you can’t scroll over a screenful of symbols at a time.
  5. Command+shift+b has been reassigned to … get this … Build & Analyze. Ok, that needed a shortcut (maybe), but Command+shift+b used to be the shortcut to open “build progress” output dialog.
  6. Build progress is now assigned a navigator; that is, hit Command+7 to get it. However… the Editor view does not automatically focus on latest build progress and.
  7. Closely related to previous item: there is no obvious shortcut for switching focus between Editor and Navigator. I really want to quickly choose a file, to quickly choose a build log, and to quickly choose an issue from the list. While this is not something that used to exist in Xcode3 (or at least I couldn’t find it) it is still something that would be highly useful. Open Quickly – Command+Shift+O – is not a substitute.
  8. I really miss the old “Groups & Files” view. Not a big deal, but having that as an alternative to the new Navigators view would be excellent.
  9. While autocomplete got even better, Command+doubleclick is extremely dumbed down and cannot guess that in [[NSString alloc] initWithString:@"something"]; attempting to find initWithString in header probably means NSString‘s -initWithString:, right? Well, if you have another initWithString: in another class, Xcode4 will ask you which one you refer to (despite [NSString alloc] being declared to return NSString, thus there being no dillema whose -initWithString: needs to be used).
  10. Despite introducing tabs, they are next to useless: hard to open, and with no obvious keyboard shortcuts to switch tabs or close tabs.
  11. added March 18 2011, 14:12 Oh. Right-click, Add Files to “projectname.xcodeproj” does not take into account parent group path anymore. That means, despite configuring that pesky Window Systems/iOS group to point to path “relative to group” and pointing to “windowsystem/iOS” filesystem folder, Add Files dialog will no longer default to that folder. Meaning I nevertheless have to dig around the filesystem to find the relevant files.
  12. added March 18 2011, 14:40 You can no longer easily access full path to a currently open file by right-clicking on the titlebar. This is important in case error log refers to system-wide installed header file, which you go and happily change without affecting header file that you should be changing — the one in a subproject.

These are just some omissions that significantly reduce my productivity compared to Xcode3. I sincerely hope they will be patched by Apple, otherwise I’ll simply have to do without them. There’s no other way: iOS devs (and to some extent Mac devs) are hostages of the latest SDK which ships only with the latest IDE.

Upotreba Objective-C u igrama; moje mišljenje

A short Croatian language opinion post on use of Objective-C in games

Dobio sam nedavno pitanje o tome da li se isplati učiti Objective-C (u kontekstu igara).

Moje je mišljenje da Objective-C ima deset puta logičniju internu strukturu nego C++, te da je svojom kombinacijom karakteristika dinamičnih i statičnih jezika izuzetno pogodan za pisanje igara. Primjerice, evo stvaranje kapitalnog svemirskog broda koristeći string, i spremanje istog u SvemirskiBrod:
Continue reading

Registration and login enabled

I have enabled registrations and login on this blog for those of you who visit often. By registering, you’re basically telling me you’re interested in this content. I don’t think you’re getting any extra benefits, but I didn’t test, so feel free to tell me about this in the comment section below.