Google Wave Invitations

I have some Google Wave invitations. Comment on this post if you want one. I will use the email you posted your comment with as the invitation address.

Dindy Statistics And Marketing Plans

Dindy was released a month ago and now it’s time to review statistics, look back at my feeble “marketing” efforts and figure out how to continue. So far 17 people downloaded Dindy. Out of these 17:

  • 3 people used the option to uninstall Dindy for a full refund (they’re allowed to do so during the 24 hour period that follows the purchase.) They all returned it a few minutes following the purchase, so I guess either it was unclear to them what Dindy does from the description or they simply looked at it and uninstalled.
  • One person uninstalled Dindy after paying (so he didn’t get refunded.)
  • One person’s payment was declined by the credit card company so the order was cancelled.
  • I refunded one purchase to someone that gave Dindy its only review. He gave Dindy 5 stars, which is very nice of him, and immediately caused a “surge” in sales on the following day, when about 5 people bought it.

I concluded from the surge in sales that followed the review that I need to get Dindy reviewed more, so I sent the following email to some of the buyers a week following their purchase:

Hi,

My name is Amit and I’m the developer of Dindy for Android, an application you recently purchased for your Android-based phone.

As Dindy is relatively new it desperately needs ratings and comments in the App Market. If you have been using Dindy, I would appreciate it if you take a few minutes of your time to rate Dindy and/or write a comment about it in the App Market.

Thanks in advance,
Amit

Notice that I didn’t ask for positive reviews… just reviews. After all, I believe in my product.

Unfortunately, non of the receivers of this message reviewed Dindy. Additionally, my requests from several Android-related sites for a review have not been answered, so I decided to try something else: I developed another (small) application called Sleepless, which basically blinks the phone’s led to let you know the CPU is running and that it’s wasting battery. My intention was to give it for free and promote Dindy through it, but then it hit me – because Sleepless can be misunderstood (for example by thinking that it will always blink) it might have a negative effect on what potential buyers think about me or my apps.

I consider this my first lesson in marketing software: Once you start selling software, you have to make sure all your software products are top quality, both free and paid ones.

So right now I’m considering two options:

  1. Offer a free, crippled “lite” version of Dindy. It’s basically a good idea but as a user I dislike “lite” versions of software so I’m not inclined to offer them to others.
  2. Make something out of Sleepless, like maybe publish it in forums to get recognition.

Or I can just wait it out and see how Dindy does without my help. Maybe it’ll get enough “mouth to ear” publicity, now that there are so many Android phones out there.

Dindy, My First Ever Mobile App, Is Out!

Happy day today – the release of Dindy 1.0.0, my first mobile application ever, for the Android platform. I won’t repeat the specifics of what it does here because there’s a page for Dindy on this very site where you can read about it.

Dindy costs UKยฃ 0.75 (don’t ask why it’s in British Pounds. Really… don’t ask) but if I know you and you have an Android-based phone you can get it completely free of charge.

A lot of people ask me why I chose the Android platform. The initial reason was that it was the easiest platform to develop for. Google makes it really easy to install the SDK (on Windows, Linux or Mac) and test the applications to the fullest prior to moving them to the phone. Even debugging on the phone itself is a snap.

Publishing an application on the Android App Market is also a no brainer (except maybe for having to be an authorized merchant) and the initial fee is only USD 25, unlike the draconian rules of Apple with iPhone development.

Android is an emerging platform. Lately Gartner Inc. predicted that by 2012 the Android platform will be the number 2 OS in the global smartphone market. The thing is that the upcoming version of Android will support small and big screens as well, so it’s not just iPhone-like smartphones I’m aiming at with Dindy (e.g. the smaller HTC Tattoo.)

I’m at least hoping to get my money back for the HTC Hero I bought to test Dindy on, but as always my biggest ambition for software that I develop is that as many people as possible will find it useful.

I’m Programming For Fun Again

Over the past few weeks I’ve been programming for fun. I haven’t done this in a very long time and I’m very happy to find a worthy purpose for my free time. I started implementing my call-again-if-urgent cellphone mode, called Dindy now (DND… Dindy… get it? oh well) on the Android platform provided by Google.

Google provides an SDK and documentation that make it very easy to start working with Android – basically a very helpful Eclipse plugin with an emulator that actually runs the phone’s code, so you can test your application immediately. As for the specifics of my application – at first I had to find out the APIs for getting an incoming call’s state and how to realize a call was missed. Once I had that, the basic functionality was done after a few days.

However, I find myself agonizing over the creation of the preferences GUI. GUI programming has so many patterns for separating logic from presentation that it becomes a steeper curve to learn how to program for it than it is for the “low level” stuff. Preference objects, database helpers, view adapters, numerous factories – all needed just to let the user modify a not-so-large set of options. Granted, there is one complexity in Dindy’s preferences – the existence of dynamic profiles for which I had to create a small database. But still… it’s just too complicated.

I already demoed the basic implementation I currently have to a few people and got some positive and negative feedback. Once I have something complete with a polished UI I might post some screenshots here. I still don’t know if I want to charge money for it and whether I want to open the source (the two don’t contradict.) I might try charging a small amount at first (up to 2$ a pop) just to see what happens.

Oh… and eventually I’ll have to get myself an Android-based phone and see how the application works. It’s all nice and cosy in the emulator, but in real life things may get tough :)

Seth Godin at the Business of Software Conference (Video)

I’m shamelessly stealing from Joel Spolsky now:

If youโ€™ve ever heard Seth [Godin] speak, youโ€™ve had your mind blown. Which is why, on the rare occasion, when he runs a one-day seminar, he charges $1650 to attend, and it sells out in seconds.

A while ago I said I was going to blog more personally, but this is truly the most fascinating talk about marketing I’ve ever seen. Watch the first few minutes and if you’re bored forget about it. But give it a chance. Seth Godin truly understands why people buy products and how you can get a (or your) product to succeed.

(if you can’t see the video, try its page on blip.tv)

How To Fix Guifications After A Pidgin Upgrade/Reinstall On Windows

This happened to me before but I didn’t have time to mess with it. Now I have time, so here we go:
When installing Pidgin over an existing installation in Windows, Pidgin silently uninstalls itself and installs again. The result is that the Guifications plugin, a very popular plugin that pops up notification windows on the events of your choice, stops working. The FAQ currently says that the workaround is to reinstall Guifications. You should try that first and if it works for you it’s easier than the procedure described here. It doesn’t work (and didn’t work in the past) for me, so this is what I do.

IMPORTANT NOTE BEFORE YOU CONTINUE: if you really want to be on the safe side, you should skip steps 9 and 10 of the following procedure. Skipping them means that you will have to reconfigure all you preferences for Pidgin and the plugins again. It’s safer because steps 9 and 10 assume the structure of Pidgin’s XML files hasn’t changed between the version already installed on your computer and the new version you’re installing – an assumption that may be wrong and cause problems. Also, skipping them basically means you’ll be doing a complete manual uninstall-and-reinstall of Pidgin.

Please read everything first and make sure you understand all the steps. This is supplied without guarantee, but it works for me:

  1. Download the installations of Pidgin and all the plugins you installed separately. Remember where you downloaded them to.
  2. Close Pidgin.
  3. Backup the %APPDATA%\.purple directory (you can paste this into Windows Explorer’s address bar and it will get you there.) Remember where you put this backup. We’ll use it later.
  4. Uninstall Guifications using the Control Panel’s Add/Remove applet. Repeat for all other plugins that appear there.
  5. Uninstall Pidgin using the Control Panel’s Add/Remove applet.
  6. Delete the %APPDATA%\.purple directory.
  7. Install Pidgin.
  8. Install Guifications and all the plugins you want.
  9. Start Pidgin and then close it without making any configuration changes (e.g. don’t create accounts.)
  10. Copy all XML files from the backup purple directory you created in step 3 to the %APPDATA%\.purple directory. When asked, overwrite existing files.
  11. Start Pidgin. Everything should be working. If you chose to skip steps 9 and 10 you now need to reconfigure Pidgin.

Good luck.

Google Chrome Beta – First Impressions

I downloaded Google Chrome Beta today. The reason is that the chat functionality in Facebook doesn’t work well from Firefox with the connection I have here. It’s only with the connection here, although it works well for any other application, so I have no idea why that happens. For a few days I’ve been using IE7 to access Facebook but got tired of it because it’s practically killing my computer. IE8 will be out any day now, but I’m not happy about using it either.

So I ended up installing Chrome and I’ve been only using it for 30 minutes. What I instantly liked about it is that its user interface is minimal. No status bar, for example. That’s very important when you only have 600 pixels height like I do on this Eee netbook. Additionally, the tabs are edged on the top of the screen, so it’s easier to switch tabs with the mouse (complying with one aspect of Fitts’ Law) and especially with the Eee’s touchpad. The second thing that I like about it is how fast and responsive the user interface is. Things like opening a new tab, switching tabs or scrolling on a page are really fast (at least they seem faster than Firefox.)

When it comes to JavaScript engine speed, it doesn’t really seem faster to me. Maybe that’s because I’m not such a power user of the JavaScript applications I use like Gmail and Google Reader.

One thing I didn’t expect is that Google Gears didn’t realize I already have a synchronized copy of my Gmail messages on my computer (for offline usage) so now it appears as though I will have two different copies that will be synchronized separately from each other, depends on which browser I use to open Gmail (or any other website with offline support.) That’s pretty disappointing.

I think I’m going to give Chrome a spin for a while. Now that it has (beta) extension support, I’m sure that only extension I’m missing, Delicious, will be soon available to use on it.

I’ve Upgraded To A 50GB Dropbox Account

Dropbox is one of the only file backup/sync services that works across Windows, Mac and Linux. I’ve had an unused free Dropbox account for a while now, but today I upgraded it to a 50GB account for 10$/month. I’ve been considering an online backup solution for a while now (even before the trip) but now that I have all this data from the trip (mainly pictures from the cameras but also music files and others) and considering that I will now have three computers (Linux desktop, work laptop and this Eee netbook) I can no longer pretend that my data is safe and organized. Even things that I have multiple copies of – I can’t control the last time I backed them up and where that backup is.

The only thing that’s really annoying about Dropbox is that it synchronizes and backs up only one folder. So if I want to backup/sync my pictures I have to move all of them into that folder. So I did that with my pictures and my music and now I have 8 more upload days until everything is backed up online. When I’m back home I’ll install Dropbox on my Linux machine and work laptop and everything will be synched automatically on them.

Dropbox gives you 2GB for a free account, which is perfect for storing configuration files (for example, Linux’s /etc folder.) I’m already know 50GB won’t be enough for me, but it’s enough for the duration of the trip.

Update: I spoke too soon. There is a way to sync files outside of the Dropbox folder. In Linux/Mac/Windows Vista (or later) it’s as simple as creating a link. In Windows XP you need to use a utility.

Skype Service Sucks

Skype’s service, not the actual software, sucks. It sucks so much that I’m wasting my time writing about it. Let me start from the beginning.

I was happily using Skype since I started the trip. I was using it to call both cellphones and landlines, mostly in Israel. Up until I reached a limit that can be charged on my credit card (Skype enforces this limit. This is not an actual limit I have on the card.) For Israelis, that limit is 30 US Dollars. Skype, being customer-friendly and all, advise you to add another payment method if you reached the limit on an existing one. So that’s exactly what I did – I have a PayPal account that I used. I managed to use it twice with Skype, but then my account was blocked without any given reason. At first I didn’t even know it was blocked – my calls were simply dropped as soon as I would make them.

When I realized that my account is blocked – I went to see my balance online and there Skype told me I can’t do anything and need to contact customer support – I followed dutifully and contacted customer support. That was last Wednesday. I haven’t heard from them since. I wrote them again two days ago. Nothing. Only the automated mails saying they got my complaint and will be back in 48 hours with a response. I still have 10 USD in that account that I bought and can’t use.

Luckily, I have another credit card. So I opened a new account and started using it for Skype calls. But today came the last straw. After billing it once, Skype’s “anti-fraud” measures reversed my second purchase of credit and now this account is blocked as well. They even admit that their anti-fraud system sometimes rejects legitimate purchases.

A friend offered that I use Gizmo5 instead, so I bought some credit there. The rates are just a few cents higher than Skype’s (per minute) and if the call quality is fairly good (haven’t tried calling with Gizmo5 yet) I’m never going back to Skype. This is proobably what I should have done in the first place. As the saying goes: “Fool me once – shame on you. Fool me twice – shame on me.” This time the shame is on me.