Home | Login
On to Qt and C++
Posted 18 Aug 2010 by Akinwale Ariwodola
My C++ is absolute rubbish. But that's probably due to the fact that I haven't written any C++ code since 2005. I'm gradually picking it up again though as I'm exploring Qt (pronounced "cute" by the way, which I find amusing) for developing mobile applications. Qt is actually a very neat framework. I particularly like the signals and slots feature. Think about signals as events and slots as event handlers and you'll see what I mean. I've spent a couple of weeks coding an application and I'm rather liking the experience so far.

My C++ is still absolute rubbish. Or just the bit that has to do with pointers and references. I've been thinking of buying C++ Primer for a long time now (~3 to 4 years) and I think it's about time that I actually do that. The other development option is PyQt which uses Python, and I may be wrong, but I believe it requires some additional libraries to be installed on the target device before your applications can run.

I finished up at 15th place in the develompent track of the 2010 TopCoder Open, which means I qualified but my visa application was refused, I won't be able to attend. The interview official this time around was an even bigger douche than the one I was stuck with last year which I found hilarious. Eventually. In any case, looks like I should be looking forward to next year's experience.

Meanwhile, I have a lot of games to keep me occupied at the moment while I'm still stuck in this country saving up for university. My ultimate departure's getting close. I can feel it. But before that, I have to acquire an HP Envy 14 and a GTX 460 graphics card.

And just to let everyone know I haven't been living under a rock
The greats: Inception, The Expendables (I haven't seen it yet, but it automatically qualifies), current Burn Notice season, N900 PR 1.2 update
The good: Caprica (first episode is quite rubbish, but trust me, it gets better albeit slow), current True Blood season, N97 v22 firmware update
The funnies: iPhone 4 antenna issues (aka Antennagate)
The fails: Apple's Antennagate response, Windows Marketplace doesn't have Nigeria in the list of countries for developer registration

My TCO qualification rush is over so I should be posting more regularly now. Stay tuned!

Digg this | Permalink | Comments (2) | Post A Comment
I'm still alive. FYI.
Posted 5 Jul 2010 by Akinwale Ariwodola
It's been over 3 months since I made a post on this blog and with good reason. I've been too lazy to make a post.

Actually, I've been mostly occupied with trying to qualify as a finalist for the component development track of the 2010 TopCoder Open. I'm currently placed 20 and they're only taking the top 15. It's not been very easy as I've been on a second-place streak. To put things in perspective, 1st place winners get a significantly greater amount of points. I actually managed to get two first place wins, but I was moved to second place for one of them because my score was tied with a developer who had a higher rating (you're interested in the DR points column). However, I remain the true winner for that component irrespective of what they say. I bet I currently hold the record for the most second places during a qualification period.

I went against my principles and purchased a Blackberry Bold 9700. Blackberry devices are overhyped. However, the unlimited (yes, it's truly unlimited) plan for always-on connectivity (at ~$33 a month) on MTN is actually very useful. Apart from the obvious Blackberry Messenger usage, you also get normal access to the Internet. I'm not sure if this works with tethering as I've never bothered to try it, but the mobile browser is good enough. I haven't tried downloading large files though. I'll see how that goes when I can get around to it. There's another side of the story as to why I got a Blackberry, but I'm not telling you.

Meanwhile, the Steam summer sales which ended yesterday were pretty awesome! I think I bought about 1000 games for ~$200. Okay, so maybe just about 62 games which include Just Cause 2 (which I hear is the funnest game ever), Batman: Arkham Asylum, Warhammer 40,000: Dawn of War II, Prototype, Dragon Age: Origins, Red Faction: Guerilla and Borderlands. Tell me that's not an awesome deal. All in all, I have a long list of games to play once I have plenty of free time.

Other important notes: The Nokia Qt SDK is pretty rad and vuvuzelas are officially the worst invention, ever. I'm not even going to say anything about Nigeria's performance at the World Cup. Just know this, there's a certain individual who missed a clear cut goal chance, he's the new poster child of epic fail.

Till next time.

Digg this | Permalink | Comments (0) | Post A Comment
Quick N900 Review
Posted 25 Mar 2010 by Akinwale Ariwodola
Verdict: The N900 is an awesome piece of hardware.

Or if you prefer the long version: I picked up a Nokia N900 about a week ago (after several months of resistance which turned out to be clearly futile) and it has effectively replaced my N97 as my primary mobile device. I'm not going to go into details in this post, so I'll just outline the main points I've observed in this speedy review. Also, I haven't used the camera yet (sorry, folks!) but I probably will when I get out more.

The Good
- Maemo 5 is very fast and responsive and the interface is very nice. I've read a few posts saying that the interface is unintuitive, but I don't see anything unintuitive about this.
- Conversations. This is by far the best feature in my opinion. Particularly useful for SMS messages as they are treated like IMs. Basically, SMS messages from the same sender are grouped in a single view with your replies to that sender. It's also used for IMs which function like, well, IMs.
- Seamless integration with VoIP and IM accounts in the Phone application and Contacts view. Only Google Talk, Skype, Ovi and Jabber are supported but it's nice being able to make a call using any of these options when you open up the Contact View.
- Web browsing experience is superb. But then again, everyone already knows this.
- Desktop widgets and shortcuts. Quick access to anything and everything.
- Media Player plays practically everything. Or at least all the different audio and video file formats I have.

The Bad
- The touchscreen became unresponsive on me once which led to having to reboot the device. I've not experienced this again, though.
- Can't resume firmware updates if the connection breaks, but my slow connection takes most of the blame for this. Resume functionality would be nice, though.
- Email application could use pagination settings. Not being able to set the number of emails to display at once isn't ideal.
- Maps application is limited. It'd be very nice to have the S60 Ovi Maps edition on this with free navigation.
- No Ovi Suite support.

The Ugly
- Phone application doesn't support USSD out-of-the-box. To perform operator requests (those numbers that contain * and #), I have to run a script on the terminal or use a 3rd party desktop widget.
- Can't create playlists with the Media Player.
- Based on some posts I've seen, I'm scared the USB port might come off at any time. But let's hope it doesn't.

Overall, I think it's a well-rounded device that does just about everything. I'm hoping for firmware updates that will fix the feature omissions and USSD issues.

Over the next few weeks, I plan on doing a series of reviews of ISPs in Nigeria. I'm also thinking of setting up a community forum on antinormal. Because I can. And all the cool kids have one.

Digg this | Permalink | Comments (2) | Post A Comment
Ovi Maps free navigation license, for life
Posted 22 Jan 2010 by Akinwale Ariwodola
In case you haven't heard yet, Nokia announced that the Walk and Drive everywhere navigation license for Ovi Maps is completely free. Who says you can't get good things for free?

This is probably a response to Google's free navigation service available on Android devices, but Ovi Maps is a better option for me considering it's available in my country (Google is only limited to the United States as far as I know) and it doesn't require a data connection since you can preload maps onto your device.

The N97 currently isn't on the list of supported devices, though, which was a bit of a downer. They're delaying it till the 28th but there's a workaround for people like me who are completely incapable of waiting, sometimes. You need to have at least 20MB of free space on C:. I only had 19.7MB free but I coincidentally discovered the Memory Reorganiser update (from the phone's Software Updates application) for my phone which was able to free up about 5MB of space.

When you've got 20MB of free space on C:, you can use this installer to get all the Ovi Maps 3.3 goodness you've ever wanted. They've also improved on the interface which is very nice. And there's the English voice with street names, which in theory is meant to call out the names of streets during navigation. It's going to be hilarious listening to this with Nigerian street names, if it works.

Meanwhile, I picked up an LG 42PQ30 yesterday which happens to be my first HDTV purchase. And in case you're wondering why I picked plasma over LCD, it was cheaper. What can I say? I'm a slow and cheap adopter of new technology.

Digg this | Permalink | Comments (8) | Post A Comment
2010
Posted 6 Jan 2010 by Akinwale Ariwodola
I wasn't able to make any posts late last year due to having quite a lot of work on my hands. But here I am, now, writing this.

First, and most importantly, it's 2010! I should actually be starting with university by September this year. I know I've probably said this several times, but it's definite now. I've been considering Computing at the University of Bedfordshire.

Which brings me to the next point. Based on my experience online, being called a fraudster and all either in jest in chat rooms, indirectly or even directly by a number of online stores, I've always said we're this close to being labeled terrorists. And then some idiot decided to blow up a plane. And he didn't even do it right. He's got to be the ultimate moron I've ever come across. When I apply for a visa, not only am I gonna be discriminated against because I'm a young adult (who's not likely to come back to his country - which I clearly disproved, but hey, no second visa for me anyway), or a potential fraudster, I'm also going to be considered a potential terror threat. Very nice, I'd say. I did find the media hype surrounding the issue to be rather sensationalist and ultimately amusing, though. I guess when someone tries to blow up a plane, it's an exponentially greater threat than shooting up a bunch of random people or trying to blow up a bus or a building.

Next up, Nigeria doesn't have a President. It's been ~43 days now and we haven't heard anything about his whereabouts or his condition yet. Hilarious.

Okay, I'm done with sad stories. The N900! I was a bit upset when Nokia got around to announcing this considering it was 2 months after I purchased my N97, but I've got to say, it's a particularly attractive device. And it runs Linux. I've not been really impressed with desktop Linux lately as it's still a hassle to get some basic things to work (I'm looking at you, NVIDIA driver installation on Ubuntu and your max 800x600 resolution) but it'd be nice to tinker with it on a mobile device/phone. I'd probably pick it up when I get some spare cash. At least, there would've been a few firmware upgrades and improvements before that.

The Google Nexus One also looks really appealing but I'm holding out. Perhaps, when I've got "extra" spare cash, I'd probably pick it up along with the Samsung Omnia II. Speaking of, I also quite like the Nokia E72. I initially wanted to get an E71 back in late 2008, but since the N97's release was close, I skipped it. At this rate, I think I'd probably go bankrupt from buying a lot of mobile devices, but we'll see.

The v20 firmware for the N97 broke my touch input scrolling implementation in SimpleIRC and I have not been able to fix it. I've got a post up about it here. If anyone has any ideas or solutions short of rewriting the user interface to be based on a Canvas (which I'd probably have to do anyway in order to get an onscreen QWERTY keybaord implementation up), I'd appreciate the help.

Finally, when I get a spare $250,000+ or thereabouts, I'm gonna purchase a Ferrari California.

Happy New Year, everyone! 2010's gonna be awesome, yeah.

Digg this | Permalink | Comments (4) | Post A Comment
Ovi Store Sales (or the lack thereof)
Posted 24 Nov 2009 by Akinwale Ariwodola
Short version: No, they have not been very encouraging.

Long version: I currently have 3 applications published to the Ovi Store, SimpleIRC, Sliding8 and Ultimate Stopwatch at €5, €2 and €1 respectively and between them, only 136 units have been sold (41, 28 and 67 respectively). Total revenue so far is just €147.53. I thought I was supposed to be getting 70% (yes, I read the small print on the front page of Ovi Publish and thought it'd probably turn out to be at least 60%) but this works out to only 44% (of €5*41 + €2*28 + €1*67). And they call it estimated revenue. Good thing I don't exclusively depend on the sales as my source of income.

Ovi Store Sales Summary

How'd this happen? The amount you earn per sale varies greatly depending on where your app gets sold. I'm going to use SimpleIRC as a case study. With screenshots. Everyone loves screenshots. It's also been on the store for the longest period of time (almost 3 months). A couple of user reviews have complained it's expensive, so it's only fair to show how much I'm earning per sale in order to justify the cost. It also bothers me that some people think that they're entitled to get something for free. Fact: developing applications takes time and money. Free applications are a great thing, yes, but there are developers who are out to make money as well.

For each sale in most European countries - and this is probably due to high taxes or operator billing or both - I make ~€1.70 to €2.87 per sale; for example, €1.88 in the United Kingdom, €1.76 in Germany and €2.87 in Italy. It's a bit of a mixed bag outside Europe. In Australia, I make €1.89 (probably operator billing?) or €2.60 (direct store sale?) per sale. In the United States, it's €2.14. In Kuwait, Turkey or Japan, I make €3.22 on each sale which is closer to what I was expecting. In Israel, I make €3.50. Seventy per cent! That's more like it. But I've only sold one there. Dear Israel, buy more units of SimpleIRC. Thanks.

SimpleIRC sales in September

SimpleIRC sales in October

SimpleIRC sales in Novebmer

Looking at the sales reports, I think there were a few problems with the store during the later part of September which caused the application not to show up in the store search results. The good thing is that the application actually sells. Perhaps, if I had a jumbo-sized marketing budget, there would be considerably more sales. The only sort of promotion I've been able to do for now are forum posts and paid ads on GetJar. I'm also hoping to get a few popular review sites to take a look at my application and give a verdict. We'll see how that goes. Of course, other developers may have had more success than I have but I haven't found anyone who's released sales figures. So to keep in line with Internet tradition, I'd say "FIRST!"

Perhaps, I also need to give the store more time to become widely adopted. Most sales come from the touchscreen devices which already have the Ovi Store client installed out of the box. I also have an application and a game that I plan to develop and release at the end of the year and I'd be developing more applications when I get the ideas and the time. Ultimately, I'm happy there are people out there who use my applications and it'd be nice if I could interact with them. I have forums set up for each of the products for user feedback, suggestions and bug reports.

So we wait!

Digg this | Permalink | Comments (8) | Post A Comment
Sliding8 is my first commercial game
Posted 27 Sep 2009 by Akinwale Ariwodola
I used to play with the sliding puzzle game when I was young lad. I didn't even know what it was called back then. The numbers were detachable from the puzzle board and my quickest way to solve the puzzle was to remove all the numbers and arrange them in order. It was genius.

Sliding8 is a sliding numbers puzzle game I developed for Nokia S60 touch devices which features the 8- and 15-puzzle. It's the first complete game I've done in years. Although it's not much considering I've been looking to get back into game development for a long time now, I feel it's a step in the right direction. It's also my first commercial game which is an added bonus. Obligatory screenshots follow:

Start screen 8-puzzle solved. 15-puzzle with sound enabled

I submitted it to Ovi about a couple of weeks ago and it's already passed QA (this took only 5 days, surprisingly, but there's still room for improvement). Still waiting for it to get published to the store.

Meanwhile, I was able to update SimpleIRC with a few improvements which include timestamps (should've been there from the start), adjustable font sizes for the tab bar and text area (which limits support to only Nokia S60 touch devices - Nokia UI API 1.2+) and the names in the nickname list are now arranged in alphabetical order. I'll be providing the version with fixed font sizes for sale through rigfoundry.com, eventually.

There were a couple of comments by readers on my previous post asking about Ovi Store sales. I gave a short response, but I intend to write an extensive post on the subject sometime in the future. Stay tuned.

Digg this | Permalink | Comments (1) | Post A Comment
SimpleIRC now available from the Ovi Store!
Posted 10 Sep 2009 by Akinwale Ariwodola
It took only 3 years*, but it's finally there! SimpleIRC is available for purchase from the Ovi Store at €5 or $4.99. If you're interested in buying, here's the store link.

If you want to try it out first, there's a 3-day demo available on GetJar or the forums. I'm open to suggestions and general feedback so feel free to post these on the forums as well.

*1 month and 22 days, actually.

Digg this | Permalink | Comments (4) | Post A Comment
Publishing to the Ovi Store
Posted 22 Aug 2009 by Akinwale Ariwodola
SimpleIRC just passed the Ovi QA approval process yesterday which means it should be appearing in the store for select Nokia devices within the next few days. After reading various blog and forum posts debating and contradicting various points on the requirements of publishing to the Ovi Store, I decided to dive in and give it a shot. Here be the details of my voyage. It's rather lengthy, so prepare yourself.

It all started on the 10th of July. At first, I didn't realise only registered companies were allowed to join but thankfully, I had already handled that a couple of months prior to my sign up date. Pretty amusing considering I had been procrastinating for a long time about registering a company. To sign up as a publisher, you are required to pay €50 ($72.30 when I signed up) at the time of registration. The next day, I got an email requesting additional information concerning my company registration because they couldn't validate it. I was given two business days to provide documentation that shows my business ID and had to answer a few other questions. I was pretty impressed by this thinking, "Oh, hey, these guys are pretty fast in responding, this might actually turn out to be a better experience than dealing with Apple" but I was so very wrong.

I sent over the requested information the following Monday but I didn't hear from them regarding this until the 28th of July. Meanwhile, I had to procure a code-signing certificate for the application. Before I get into that, here was the general gist I was able to gather regarding the requirements of submitting applications to Ovi:
- You need a Publisher ID from TrustCenter for Java, Symbian or Flash Lite apps which costs $200 a year
- For Java applications, you need to submit your application to the Java Verified program for testing through test houses (companies that run a series of tests on your application) and signing. The pricing information I could find (the other test houses require you to contact them) places it at about $250 per application per device.
- For Symbian applications, you need to submit your application to the Symbian Signed program for testing and signing. They also make use of test houses and the lowest cost option I could find was this guys which places testing fees at €185 (~$277.50) for a first submission and €40 (~$60) for signing.

Now, obviously, I found these options quite expensive and it was all going to take a lot of time so I had to do some more digging. I eventually found out that the lesser known option which also appears to be the quickest (at least for Java applications) is to simply obtain a code-signing certificate to sign your application. I would assume that it's also possible to use code-signing certificates for Symbian and Flash Lite applications but I am not entirely sure. In any case, there were two certificate authorities widely recognised across a wide range of Nokia devices which are Verisign and Thawte. If there's anything I know Verisign for, it's for being we'd-like-to-make-you-bankrupt expensive, and as expected, they lived up to their name with the pricing of their code-signing certificates - $499, $895 and $1295 for the one-, two- and three-year validity options respectively so I decided to go with Thawte. They offer their certificates at $299 for the one-year and $549 for the two-year validity options.

But I'm all about low prices, especially when you consider the current economic state of everything! Interestingly, I had researched code-signing late last year when I was working on an Adobe AIR application for Presently. Remember Tucows from the early days of the Internet? It was one of the go-to sites for shareware and freeware downloads back in the day. Good times. I was trying to find low-priced (I refuse to use the word, "cheap" in this write-up) code-signing certificates and found a forum post which pointed to the Tucows Author Resource Center where you could get Thawte certificates at $160 and $300 for the one-year and two-year options respectively. I bookmarked this and it proved useful. They also offer Comodo certificates at $75, $140 and $195 for the one-, two- and three-year options for those who are interested. The catch? You only need to register as an author and that's free.

I promptly purchased the $160 Thawte certificate (also on the 10th of July) and proceeded to deal with Thawte. You have to generate public/private key pairs and a certificate signing request (CSR) which you have to submit when filling in the application form. When generating the CSR, you need to use a domain name as the Comman Name (CN). Another thing you should also keep in mind is that they only accept applications from registered companies. I decided to do quite a bit of follow-up everyday from the following Monday since I heard certificate applications could take time. They required me to provide proof of registration of my business (which I already had available thanks to the folks at Ovi asking me to provide this) and proof of ownership of the domain (for this, the domain registrant details have to match the name and address of your company/business). Thanks to me constantly being on their necks by logging on to live chat every morning, the certificate was issued by Wednesday, the 15th of July. I got my application signed and I was finally ready to submit to Ovi for publishing!

Meanwhile, I was still waiting for word about whether or not my business was validated. I was given two business days as the deadline after which my account would've been terminated and my credit card charge refunded. Two business days passed and nothing happened. I decided to submit my application after signing it with my shiny new code-signing ceritifcate. As stated earlier, I eventually got an email on the 28th of July that my business was approved to start publishing on the 15th. Very efficient. Which made me realise that these guys were just going to be as slow as Apple in responding to requests. I had read horror stories on the Forum Nokia boards, but I hoped that was just due to the initial wave - lots of applications to review for the Ovi Store launch and such - and things had improved. In any case, I didn't see any activity for days and was starting to wonder if Finland's national holiday had anything to do with it.

I jumped when I eventually got the first email from the QA department on the 10th of August. The application failed QA for the E71 due to the version number shown in the About dialog differing from what was in the JAD file. I found this weird considering that I was using getAppProperty("MIDlet-Version") to obtain the version number and it worked fine on the devices I tested with. I simply decided to hard code the version number into the About dialog box and resubmit. It was a quick fix which I didn't have to test. I wanted my application published as quickly as possible. Sue me.

The 16th of August, 6 days later, I got another email from QA stating that the application failed QA again due to the fact that it was unsigned. Curious. I had confirmed that it was signed before I submitted and so I contacted the support department stating my case. I also rebuilt and re-uploaded the JAD/JAR files making sure they were code-signed. 5 days later, success! I had finally reached the end of my journey. SimpleIRC passed the QA process and it will be published to the store. It took all of 30 days from the day I submitted. What an experience! They also say it typically takes a week for this to happen, so we'll see how it goes.

I hereby present to you the easiest and cost-effective process of publishing to the Ovi Store. Here are the minimum requirements:
- A registered business/company (I'm sure you can find out from local authorities how to go about this)
- ~$75 (€50) publisher fee for Ovi registration
- $160 for a Thawte code-signing certificate
- Lots of patience

I spent a total of about $235 ($75 Ovi publisher fee + $160 1-year Thawte code-signing certificate) as opposed to $525 ($75 Ovi publisher fee + $200 Publisher ID + $250 Java Verified fees) or if you decided to go the Symbian route, $612.50 ($75 Ovi publisher fee + $200 Publisher ID + $277.50 testing fees + $60 signing). Also keep in mind that you may have to pay more depending on the number of devices you intend to test for. Additionally, I can use my code-signing certificate for every Java application I develop, instead of having to pay $250 to test on a per application per device basis. I haven't done more research on this but I'd guess they've also got bulk pricing as well.

In comparison, publishing to the iPhone App Store costs only $99, and it's open to both individuals and business entities. I also did a bit of research of publishing to the Microsoft Marketplace and calculated the initial cost of entry to be around ~$900-$1200 (thanks to a combination of our beloved Verisign and test houses). I may go into more details about this in a later post if I get around to it. One thing that Apple and Nokia really need to address however, is the response time to support requests and the time-to-publish. No experience with Microsoft yet, so I can't comment on that. Ultimately, though, it's been an interesting experience and I'd have to say publishing to the iPhone App Store appears to be the cheapest (well, it's true if you are already running OS X one way or the other) and easiest option so far.

I hope this clears up some confusion surrounding Ovi Store publishing and I suppose it's safe to say this can be considered a fairly definitive guide. Good luck!

Digg this | Permalink | Comments (16) | Post A Comment
SimpleIRC trial now available
Posted 8 Aug 2009 by Akinwale Ariwodola
Apparently, getting an application published to the Ovi Store takes a very long time. I'm not sure if all of Finland going on holidays in July (which I think is absolutely awesome, by the way) has anything to do with it. In any case, I put up a 3-day time-limited trial version of SimpleIRC which is currently available for download. I haven't been able to write a proper walkthrough yet, but I'll get around to it soon enough. I hope the quick guide I put together will be adequate for first timers.

Opinions, feedback and bug reports on the forum are welcome and will be responded to appropriately. This is technically my first Java ME application to be released to the public. Be nice! Also, let's just hope I didn't just accidentally release the complete version for free! Fingers crossed and all. :)

Digg this | Permalink | Comments (3) | Post A Comment