18 July 2010

Beta, it's not You, it's Me...

Well, in 24 hours I had around 300 downloads (though the developer console is very data sparse and doesn't update all too often).

So far I've had nothing but 5 star ratings and not a single complaint about crashes or instability so I pushed out an update a few minutes ago which brings NF: Envoy out of beta and up to v1.0 with an improved about screen.

Also, I considered dropping the price of the "tips" version to €0.50; I'm really going to need to think about the business model a lot more (0 downloads at the €1 price point is a little disappointing and won't exactly attract other writers).

Aside from that though, I'm really chuffed with the feedback, all of it is positive so far and to see all the downloads, even if they're just the free version, it kicks ass.

NF: Envoy Pro
NF: Envoy













Edit: clarified some details/typos

17 July 2010

We Have Lift-Off!

My application is now on the market!
15 Seconds after hitting "Publish"

It's free and will stay that way, but a donation version should be going up tomorrow at some point.

The QR Code below links to it so just scan it from your phone!

This is a public beta (v0.9.1) until I see that there aren't any obvious bugs on other devices, though I wish that the Developer Console gave a more "Google Analytics-ish" breakdown of the devices your app is installed on.

I'll do a much more extensive post tomorrow, this is just a "Squee" of excitement post.

:)

     
Navigate Fate: Envoy

Edit: Added the "Just In" Market screenshot.

15 July 2010

Navigate Fate: Envoy v0.8.4

Well, my app went into private beta moments before starting to write my last blog post and I got some great feedback. In this post I'll be walking through v0.8.4 which should be very close to the final launch version visually.


The slideshow above gives a fairly clear overview:

  1. The main menu is the "cover" of the book. If there are no bookmarks, the only option here will be "New Adventure". (Thanks to Julien Dodokal for that suggestion!)
  2. The options available from the main menu are to see the "About" page with info on the app. Also, there's the "Jump To" menu.
  3. About simply gives the credits and a link to my site for the app along with a request for story submissions.
  4. The "Jump To" menu provides the reader the option of jumping to a page without necessarily reading (or re-reading) the first few pages. This would allow people to re-read the story several times to try and find the alternative endings without forcing them to retrace their steps.
  5. This is a typical page (Note the custom buttons, Julien's suggestion again, my own design)
  6. The In-Story menu gives two options, a "Go back 1 page" option for those times when a user accidentally taps the wrong option (testing doesn't show this to be a common problem) or simply that they weren't happy with their choice!
  7. Themes is the other option, allowing the reader to change the visual style of the pages depending on their preferences.
My plan is to release a free version and a donation version at €1. I'm not a professional programmer so it's not right to charge people but at the same time, I've easily put in about 500 hours work since starting all of this, on top of my day job so tips would be nice.

If anyone would like to give their comments regarding pricing strategies (freemium, ad supported, donation etc.) just pop 'em below, I'd love to get a feel for what others think about the different pricing strategies out there.

12 July 2010

Almost There

Well, after a long hiatus, I can post again!

I've been hammering away like a mad thing and learning a lot about application lifecycles and stability as well as a bit of graphics!

I have developed my first app and in the next two weeks you should see it popping up in the market.

Currently in v0.8 and private beta, it's an Interactive Gamebook in the same vein as the adventure stories where you choose what page to turn to, thus controlling your character's story.

The application itself is called "Navigate Fate" and the first story is called "Envoy", thus the app will be called "NF: Envoy" in the Android Market, but I hope to use the same engine for several user-submitted stories.

I'll be doing a more complete run-through of the app with screenshots during the week.

Check out the links above and if you'd like to participate in the short-running private beta or even submit a story, just email!

02 May 2010

Waypoint Reached

As previously mentioned, my plan to get into Android development is pretty methodical.

  1. Get comfortable with Java.
  2. Get comfortable with Android.
Pretty thorough, right? :P

Today, I finished working through the resources mentioned in my previous post. I've typed through every tutorial; hit countless bugs; pimped many of the tutorials with my own additions; hit more bugs and done all kinds of other exciting things! Adding it all together I've probably gone through about 100 to 150 hours of work to get to where I am now. (My girlfriend being away for a fortnight helped! :P )

While I'm a long way from actually being able to call myself a developer, I feel that I have enough of a grasp for the basics that I can now move onto step 2 and start working through the Android tutorials. 

Not much of a blog post I know, but I feel pretty excited about the momentum I've maintained and at the same time a bit annoyed that I haven't been able to post many updates during that time. 

I hope to post more now that I'm moving onto Android proper and start to work through any of its particularities. 

So, time to get back to work and say "Hello Android"!

14 April 2010

Tangent 1 in a Series of a Gazillion!

So I've been hammering away at my keyboard trying to figure out Java and am making progress. I'm one of those annoying methodical types that stops after each page and dreams up all kinds of ways of implementing the knowledge gained thus far. Sure it makes for slow progress but I'm happy that I feel like I'm properly digesting the stuff I'm learning.

Meanwhile I've tried out one of the hello world apps on the Android Dev page with no major hiccups. 

Reason for this post is just to harp on about how great I feel to have finally interacted with my phone meaningfully (my girlfriend complains, but baby steps). The ability to install a non-market .apk is probably my number one favourite thing for developing. No need for special developer hardware, just stick it on and see what happens.

Unfortunately it seems that AT&T across the pond is limiting this great feature for cod knows what reasons. 

That SUCKS!

I stand by my opinion that any modern smartphone is not measured by its hardware nor even its software but by its performance as a platform for developers. Nokia and Blackberry outsell the competition but are virtually invisible from a media perspective because they rely on internal innovation whereas the iPhone and Android can tap their developer user base for innovative feature enhancements via the apps that are available on the platform.

The modern smartphone is not a standalone device, but a skeleton which is customised and built upon by the end user with the help of developers. 

By kneecapping this feature in Android a barrier to entry for budding developers (like me) is erected. Let me repeat for emphasis...

That SUCKS!

In the end we'll just have to see how the market lets this one play out, there's not much developers, or even Google, can do about it. The relatively open source nature of the system and its concomitant customisability are both its greatest pair of features and its greatest weaknesses. 

Tangent complete.

27 March 2010

The Long Road to Developing for Android Starts Here

I haven't programmed since my first C program to check local bus times back in College (I did physics and programming was a tiny course in first year). I've always been a little intimidated by code but I've decided to take the plunge and I want to write apps for Android.

The first step of course is to learn how to program in Java. I picked up a great e-book on the Android Market:



I can tell you that the $5 are definitely worth it; while there are a lot of free online resources, I've found this book to be very clear with good explanations of the concepts.

I've been reading it for almost a week now and trying out all the tutorials. For further tutorials I've been using the course notes from MIT OpenCourseware for Java beginners.
So far I've only built a few "Hello World" type programs and a few unit converter type programs. Most of them I run in command line (I'm using Ubuntu 10.4 but there are JDK's for all the major platforms), but the e-book gives tutorials for GUI "Hello World" programs. I've been using the two together and trying to combine the concepts to get a feeling for Java. In only a week I feel much more comfortable looking at and editing .java files. 

Writing, compiling and running your programs depends on your environment, I am using OpenJDK6, but I'd suggest you go to the Sun site to get instructions specific to your system along with all the required bits and bobs to get started with the tutorials.

Still a long way to go of course, but the resources I've linked to above have been helping me a lot. If any readers can think of other good resources for the absolute beginner, stick them in the comments and I'll update this post with any I find particularly useful.

UPDATE: For those like me on Ubuntu 10.4 (Lucid) you'll need to add a source to your package manager to be able to download the Java Development Kit. The following command will add it to your sources list from the terminal:
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"

21 March 2010

Multi-lingual Keyboard Support in Stock Android 2.1

My second niggling little problem with the stock keyboard in Android 2.1 was that there's no easy way to quickly change the dictionary language. You're obliged to manually change the phone's entire locale. This was a problem for me because I need use both French and English.

Both of these languages are supported phone wide of course so it was a little bit more than frustrating given that it should be relatively easy to implement.

The Options:

  • Third party keyboards: I tried both Better Keyboard and Smart Keyboard, I found them to be great if you want skins and other optional functionality, but for my relatively simple requirement it was overkill, not to mention the need to pay. (I'm not opposed to paying for an app, but I prefer to do so only if I'm gonna use it fully, you can see my installed apps to the right.)
  • Manual Entry: This is not a joke, I really tried this for a few days! I'd type and then add any French words as needed by pressing the manual entry. An operating vocabulary in most languages is much smaller than you might think (only a few thousand, 2,000 should get you by) but given all the different ways of just saying "be" (suis, es, est, etes, sommes, sont) I realised that the whole word/lemma problem is bigger than I thought.
  • Wait: I'd wrongly assumed that any workaraounds would require a rooted phone, something I'm hesitant to do. So I thought to wait until an update would be my only remaining solution.
On the support forums a prolific poster, MidKnyte, sent me to XDA forums where there's a great keyboard port of an HTC software keyboard. It does require a little file editing and activating the ability to install non-market apk's but the instructions are very clear and most importantly for me you don't need a rooted phone.

I've been using it now for about two weeks and while I sometimes find the language switch to be a little slow, it's simple and only needs to be done once per language change. It does switch the keyboard from qwerty to azerty, but I prefer this since it reminds me what language I'm in!

So anyone looking to have a good way to switch languages for free and without rooting: just follow the links!

P.S. The high res version is best for the Nexus, I haven't tried any others, so comment if you use it to let me know!

18 March 2010

Seidio's 2800 mAh Extended Life Battery: ****

There were two little things I didn't really like about my Nexus when I first got over the honeymoon period (assuming I did). I'll be talking about the other in another post, but the primary one was battery life. Now don't get me wrong, it would last a full day under "normal use", normal use being a business day where it stays unused until evening time. (I teach English, the "no phones in class" rule applies to us too!)

Come the weekend, I couldn't leave the house without thinking "Damn, should I bring my charger?" Which needless to say is not the ideal start to a weekend!

I looked around online for a solution and found the Seidio 2800 mAh Extended Life Battery. Around the same time Google made spare 1400 mAh batteries available but I didn't want to have to mess around with replacing batteries half way through my day.

So, here comes the review, drumroll please...

Seidio's customer service is first rate with a lot of customer engagement in forums and a live chat feature available on their website. They replied quickly to all of my emails and even though they're in Texas and I'm in France, I received the package on the morning of the third business day.

The battery itself is great, after about 8 or 9 charges now I can use my phone however I want, lots of maps with gps, WiFi, a few hours browsing and 15 hours after unplugging it I still have about 30-40% left. This post is being written with it.

The cover is less great...

Sure, it has a nice finish, very similar to the original nexus cover.

It's black, not dark grey, which while not to everyone's taste, suits me just fine.

There's a bit of a gap at the bottom third which annoys some but I don't find it too much of a problem. The photos on their site are pretty accurate.

But I worry for the camera. The original back includes a clear lens cover but none comes with the replacement cover provided by Seidio. The camera is recessed enough to prevent scratches but since it's open to the elements, dust becomes a problem.

Taking a photo in daylight is okay but when you use the flash it diffuses off the dust, adding a white glare to the photos. A side by side comparison is below, the first photo is prior to removing the cover and giving the lens a wipe. It's not a major difference but will only get worse with time and wiping the lens directly is hardly an ideal solution.


Both photos were taken within seconds of each other in identical lighting with identical camera settings, don't believe me? Ask the cat. The lens was directly wiped with a lint-free cloth.

Apart from that though, the new back is pretty good. The phone stops feeling like a bar of soap and after a day or two feels right in your hand.

Overall I'd recommend it, but if you're ok with the stock battery for the moment, maybe waiting for an alternative cover that provides lens protection wouldn't be a bad idea.

Overall I'd give it 4/5 stars, but better protection for the camera would improve that score.

P.S. I've reviewed the 2800 mAh battery, but while writing, they've released a 3200 mAh one, since the main gripe is the cover that doesn't change much, but if you try to order a 2800 mAh battery, you will be directed to the 3200 mAh.

EDIT (20/3/2010): While a bit of an inelegant workaround, a bit of insulation tape cut just right and taped between the two holes on the interior of the case prevents the diffusion problem without any external signs visible.

15 March 2010

How to Help Developers

I noticed something when I first went onto the App Market; a lot of 1 star ratings were for bugs in the app. I figured "Uh-oh, there's a dev who doesn't act on their bug reports".

But then, I came across a bug in an app I had downloaded (it would force close at a certain point). So, as the email for every dev is given with the app I sent off an email to report the bug. This was the first bug report I'd ever made on Android. The dev got back in touch within an hour and very helpfully taught me how to get a log* and send it to them to help solve the problem. All told my bug was squashed and I had a perfectly working app in 48 hours or less. Now that's service! 

The dev then thanked me for helping out, explaining that a lot of people just leave a bad rating when a bug crops up. That was weird. It wasn't the first time either, just last week another dev with another app said exactly the same thing after I sent off my log.

The app in question was FaceBook Sync:

As you can see from the screen capture below, both one star ratings are for bugs that maybe could have been fixed had these guys just bothered to send an email. 


This ain't rocket science, if you just thumb your nose, the problem'll never get fixed, if you have enough motivation to bother rating an app then just send the log. If the problem isn't addressed within a few days/a week then you can think about leaving a bad rating. 

The success of any modern phone relies on the success of its third party apps. Android reduces the barrier for app development, allowing more people to innovate and produce apps (hence all of the top-notch free apps) but if people don't submit bug reports, the Market will just be a wasteland of alpha/beta quality projects backed by very frustrated developers. 

So, if you've ever given a one star rating for something that could've been a bug, try to just send an email next time and wait a week or so before your review. 

*If you want to get a log, try this app:
It'll let you collect and send logs, works a charm for me.


EDIT: The developer for Facebook Sync also has a blog post about this. (I only discovered this on 18/5/2010)

14 March 2010

First Post!

Well, here I am on the soapbox, what now?

I first got interested in Android back in 2008 just after tying myself into a two year contract with SFR (~ the French Vodafone) on a Samsung SGH-F490. A decent phone but it became dated pretty quickly, despite its 5 Mp camera°. 

My laptop at the time was on Vista and I got so frustrated that I made the jump to Linux*. I got interested in F/OSS vs. top-down (read: paternalistic) business models and that led me to discover Android just as the G1 was being launched Stateside. 

There was still the problem of that two year contract but as it's coming to its end this April, I finally got my hands on my first piece of Android hardware a few weeks ago... The Google Nexus One. 

I then realised that the people I know fall into three categories. People who:
  1. Know of Android's existence but are total fanbois (sorry Sam, but it's true and you know it!)
  2. Have never heard of it.
  3. Me.
I decided to resolve this with a blog that only one of those groups will likely ever read. I've always been mature that way.

°And it had this really annoying "physical lock"/"touchpad lock" double team that made hanging up on a call like playing with imaginary Chinese stress balls.

*Ubuntu, Mint, Puppy and a handful of others from time to time, I now use both Xubuntu and Ubuntu but suggest Mint to anyone who asks.