Monday, June 18, 2012

One point one point one point - no, just the three...

Version 1.1.1 (I noticed a bug just after submitting 1.1.0) of BelleChat is now ready for download in Nokia Store. Here are the new features:

  • It now handles private messages. When a private message comes in or you QUERY another user, BelleChat will open a new tab.
  • BelleChat handles most of the CTCP messages automatically. USERINFO is switchable, as it's there to display user (err, you) information, not client (BelleChat) information. You'll notice a new Settings page where you can enter your vital statistics, if you so wish.
  • Protected channels are now handled. These are channels which require a key to join. This is a feature requested by Daren Pearcy, one of my users. See, I do listen...
  • Another thing Daren requested, which was something I'd already thought about, is autojoining channels. You'll see a new edit box on the Server Settings page. Enter one or more channels in here, and when BelleChat connects, it'll join those channels if it can.
So what's next, I hear you cry? Well, there's autojoining protected channels, as well as multiple server information, and other, more esoteric IRC features (DCC, anyone?).

Just one thing. One of the reviews in Nokia Store complained that his phone gets hot while running BelleChat. IRC was created in the early 90s, when most people's home computers weren't connected to the internet, let alone their mobile phones. It uses an always on connection, it doesn't poll or anything like that. So it's gonna be connected to the cellular network (or wifi - unlike a lot of other apps out there, it lets the operating system decide what the best network connection to use, which is the way it should be) all the time, and get hot. There's not much I can do about that. In fact, as far as I can make out, Symbian, with its proper multitasking, is the only mobile phone OS out there will run IRC properly, because all the others will kill it if it's not in the foreground.

Tuesday, May 08, 2012

Third time lucky...




It passed! BelleChat, my IRC client for Nokia Symbian Anna and Belle smartphones, is now available from the Nokia Store. The price, as noted in the last entry, is one of your English pounds, or one of your Belgian Euros, of 99 of your American cents.

As the title suggests, it bounced back twice. Mainly because when testing, the Nokia QA person didn't put in a valid IRC server's details, leaving it with the default irc.server.com, which is a fake name. Once I told the QA guys it needs a valid server, they retested it, and told me that I need to add something to the store description to tell users you need a valid IRC server's details. I did this, and added some improvements to the connection procedure code to make it more user-friendly. Gord at Nokia Publish then very kindly put it through QA as a priority, and it passed today! Many thanks to Gord and all at the guys at Nokia Publish.

So what's next? Some ideas I have for version 1.1 include:

  • Private messages. At the moment, BelleChat doesn't handle private messages from other users at all. It simply ignores them. It wasn't a priority at first, because I personally don't tend to PM. But I'm not writing it just for me now...
  • Support for more advanced IRC features such as ad-hoc NICK changes.
  • Ignore lists. sometimes, the only way to deal with an annoying twerp is to empty a sub-machine gun into him ignore him. 
  • Better handling of certain messages. Some server and user-generated messaged are just output to the server page. More intelligent handling of these might be useful.
Of course, I need to listen to my paying customers, so I'm going to sit back and rake in the cash see how it's received in the store, and respond to feedback. 





Monday, April 16, 2012

Quality Assurance

BelleChat is finally in the hands of Nokia QA. Thanks to the help of my trusty beta-tester Daniel Ferguson, who not only tested the app but also designed some wonderful icons, it became ready at the weekend. Once it passes the QA process, it will be available for purchase in Nokia Store in 5-7 working days.

Purchase? Well, yes. I figured that surely our hard work is worth the price tag I've put on it. I've put it up at the €1 price point, which will be £1, or US$0.99, or the local equivalent. I'll get 70 eurocents for every download, and this money will be used initially to invest in further development. I want to investigate Android and Windows Phone development, so I'll be purchasing phones for testing purposes. My workplace is in interested in my development skills, such as they are, so there are possibilities there.

Communi, the IRC library which I've used to develop BelleChat, also has IRC clients available for Symbian and Meego in the Nokia Store, at the same price point as BelleChat. I encourage you to check them out.

Sunday, April 08, 2012

BelleChat almost ready to publish.

BelleChat is finally just-about ready for publishing to the Nokia Store. With the help of Daniel Ferguson, I've been bug-fixing and tweaking, and got it into a fit state to publish. It's going to be available in the Nokia Store for the equivalent of €1 (that's £1, or US$0.99, I think). I think that's a reasonable amount. Of course, you could always fork the GitHub repository and compile it yourself if you really want...

I already have some ideas for the future. The channels list needs some sort of search facility. I tried adding parameters to the IRC LIST command, but this didn't give the results I wanted. I think I'm going to have to play about with ListModels. I'm also thinking about being able to store details for more than one server, and parsing the server INFO messages to improve the UI. More advanced features of IRC need looking at too. Suggestions are gratefully received...

Wednesday, March 28, 2012

Website is propagating!

I've set up a website, because I'll need one when I upload BelleChat to Nokia Store. To keep things simple, I got a template from Iron Spider, and jolly good it was too. A few tweaks, some new graphics, and job done. It's hosted at GitHub, where they have a Pages feature for simple websites. Once it's all propagated, I'll link the blog to it, too.  I couldn't get all that to work, so I've gone back to Google Sites.

At the moment it's propagating through the DNS servers, but here's the link.


Saturday, March 17, 2012

Ooh... I have a .co.uk address.

You can now read this on marknotgeorge.blogspot.co.uk. Nothing to do with me...

Friday, February 10, 2012

QMLIrc is now BelleChat

Or it will be, when I get round to changing the name on the project. But it's beginning to come together. The feature set is fixed for version 1.0 as follows:


  • Compatible with mIRC color codes. I've modified Communi to correctly parse the background colour, still have to sort out the user's input.
  • Multiple channels open at once.
  • Scrollable user list with Whois page, which can be automatically populated.
  • Conforms to the Belle UI guidelines. It works in Anna, though. Orange UK haven't approved Belle yet! 
Here's a screenshot...

Pretty colours!
And apropos of nothing, here's a shot of fairycake cars in my street...






Saturday, January 14, 2012

Steps forward and back

I've been working away on the car and QMLIrc. In both cases, I've made a little progress but some setbacks.

The car. I'm currently working on the LH rear sill - the bit between the rear wheelarch and the bumper, where the boot floor drops down to meet the rear wing. I've successfully patched the outer panel and I'm now working on the inner panel, which is a slightly complicated shape. See below...

Here, I'm trying to make a patch from sheet steel. The trouble I'm having is that the metal is a bit thin in places, so I'm blowing holes. I keep having to cut back. At the moment, I've cut right back, which will allow me to get inside the panel and clean up the metal a bit better.

On to QMLIrc. I have made some progress. I've created a IRC channel selection dialog, which shows channels and topics. This uses the QML ListModel system, and it worked surprisingly well. The QML UI code sends a signal to the C++ IRC code, which requests a list of channels from the IRC server. As channel list messages are received from the server, the C++ code creates a list of channels and their topics in a custom C++ class. When the list is complete, the C++ code registers it with the QML code and emits a signal. The QML code then responds to the signal by creating a SelectionDialog from the list.

The trouble I'm having with QMLIrc is that there's a bug which crashes on exit when there's been more than one channel tab open. It's annoying.

Thursday, December 29, 2011

Introducing QMLIrc (yeah, it's a rubbish name...)

Behold. The first screenshot of QMLIrc, my IRC client for Symbian Anna and Belle smartphones. You'll see elements of Windows 7 in the background. This is because it's a screen capture of the program running un the Qt Simulator, as I haven't yet downloaded a screen capture program for my N8.


You'll notice the Belle-based user interface, mostly built on QT Quick Components. So what can it do right now? Well, it can connect to an IRC server, and join one or more channels. It can send output to the server, and receive input, which it can direct to the proper tab. And, thanks to the Communi library, it has pretty colours, too! If fact as it stands it's a usable, if extremely basic IRC client.

Here's the GitHub repository if you want to play...



Sunday, December 04, 2011

Belle will go to the IRC ball!

My previous post requires some explanation

I've been hanging around in the chatrooms on UKChatterbox a lot recently. Mainly using the Java IRC (Internet Relay Chat) client on the website, but occasionally on my Nokia N8. There are a few IRC clients out there for Symbian phones, but all of them so far have one major failing: they can't use the split screen keyboard introduced in Symbian Anna. So you miss what people are saying as you're typing your reply. Therefore I'm writing my own.

I'm using QT Quick, which makes it easy to write code which conforms to the Symbian Belle look and feel. Belle isn't out yet on my N8, but the component set will run in Anna, and by the time it's ready, I may well be running Belle. Much of the heavy lifting - the posting and translation of IRC messages to the server - is being done by the excellent Communi library, written by JP Nurmi et al.

My plan, such as it is (I've never bothered with any Detailed Design Documents or any of the other overheads of software engineering as I work on my own: it's all in my head), is in three stages:

  1. IRCBoilerplate. This is a simple Windows IRC client whose function is to allow me to get to grips with using the Communi library in a relatively comfortable environment. At the time of writing, it is perfectly usable as an IRC, client, if a little rough and ready. But then, it is boilerplate code. The GitHub repo for IRCBoilerplate is here. It's not the latest version, though.  It is. Why? See below...
  2. SessionWrapper. This is two of the classes from IRCBoilerplate placed in a separate QT Library project, so that they can be shared between IRCBoilerplate and QMLIrc (the working name for the Symbian IRC client. Horrible, isn't it?). Their function is to further decouple the UI (written in QTQuick QML) from the Communi-based backend code. I'm planning to limit the interaction between the two to using Qt signals and slots. I haven't set up a repo for this yet. I have, but SessionWrapper as a separate library is defunct. The reason is that it's too difficult to set up multiple static libraries in Qt. As SessionWrapper is two files, it's easier just to put it in the main project. I've had to adapt it for QMLIrc anyway.
  3. QMLIrc. This is the Qt Quick based IRC client for phones running Symbian Anna and later. All I've done so far is prototyped the UI. See above...
So there you have it. When it's finished, I'll probably end up putting it in the Nokia Store. It'll be free, though. I'm doing it for fun, not profit. 


Saturday, November 19, 2011

Version numbering in Qt isn't such a git.

Warning: This is techy stuff. Those of a delicate persuasion (or those who have a life) should look away now...

Still there? No? I'll carry on anyway. In Qt, there's no out-of-the-box way of automatically identifying the version of a project. This could be useful for debugging purposes, for example. However, if you use source code control, you can achieve it easily.

I use Git as my SCCS, and I have adapted the solution I found on Qt Centre, which uses SVN. My version uses git describe, which outputs a string in the following format:


latest tag-number of commits since tagging-unique identifier of latest commit


The code goes in the .pro file of your Qt project, and is as follows:


# Create a macro from the Git describe command, to use in about boxes.BUILDSTR = '\\"$$system(git describe)\\"'
DEFINES += BUILD=\"$${BUILDSTR}\"

This code inserts the git describe string in a #DEFINE macro called build. Here I've used it in a function to display an about box:


void MainWindow::on_aboutButton_clicked()
{
// Display an About box. This uses the BUILD macro created from the // Git describe string in IRCBoilerplate.pro QString versionString = BUILD;
QString aboutString = "IRC BoilerPlate " + versionString + "\n ©2011 Mark Johnson.\nUses the Communi IRC library by J-P Nurmi et al.";
QMessageBox::about(this, tr("About IRCBoilerplate"), aboutString);
}



What's IRCBoilerplate? I'm writing an IRC client for my phone. IRCBoilerplate is a simple Windows IRC client I'm using to learn the nuances of the IRC protocol.

Thursday, November 17, 2011

I'm not married anymore!

I kinda lost interest in this here blog. I mean, no one was reading it. And I'm lazy.

Anyhow, in the two years since I last posted, I've:


  • Got a job as a Trainee Accountant at a small local firm. I like the work, they like me, and as soon as they're sure I'm free of the wobblies they'll pay to further my training. Wobblies? read on...
  • Passed my AAT.
  • Got separated, and moved back in with Mum and Dad. Hence the wobblies. I'm not talking about it - it's water under the bridge, and this blog's about me now. Besides, I have a lovely girlfriend now, who inspires me. I still see the girls regularly.
  • Not done all that much to the TR7, but I've recently restarted, now that my ex has cleared the garage in her new home where she's kindly allowing me to keep it.
So I'll try again to keep this blog up to date. I'll use it to document the TR7 work as normal, and also my attempts at writing apps for my Nokia smartphone using Qt.

Saturday, June 27, 2009

Black Goo

I've not been looking after this here blog, and so I've decided that I'll make more of an effort to document my TR7 rebuild. The story so far...

(cue Wayne's World-style wibble effect)

I've been repairing the left hand side of the floorpan, where there was some corrosion at both the front and rear edges. This is not good, as the TR7 is a monocoque, so the floor forms part of the structure, as does most of the metalwork, to be truthful. The rear floor area is especially important, as this is close to the area where the trailing arms that hold the rear axle to the chassis bolt in.

So I've been busy - cutting out rusty metal with tinsnips and angle grinder cutting disks, and welding in new metal. I've been using both sheet steel and commercially available repair pieces as appropriate. Once the new steel was welded in, I cleaned up the remaining areas of original metal with a twisted wire cup in my trusty angle grinder, before treating any remaining surface rust with Kurust, which chemically neutralises the rust. The surface rust formed in part because the bituminous sound-deadening panels fitted at the factory were fixed to the floorpan underneath the paint, so I am hoping to prevent this by putting the replacement sound-deadening panels on top of the paint.

At the moment, I have primed the floor, using U-Pol Acid #8 etch primer aerosol and normal grey primer. The next step, which I did this evening, is to seal the seams and welds using U-Pol Tigerseal, which is a polyurethane adhesive sealant which comes in a tube.
Here's the primed front floorpan before Tigersealing:

And here it is afterwards:

Tigerseal is very gloopy, and it's hard to get it looking neat. But it's sealed the edges well, and once it's dry will be ready for paint. Hopefully, I'll get the paint done (as it's completely hidden by carpet and the like, I'm going to use a few coats of satin black) before the TR Drivers weekend at Billing Aquadrome, Northampton next weekend. Like last year, we're dragging out the tent and will be camping all weekend. The car will be there next year, honest...

Monday, June 08, 2009

This is good

Tom Reynolds has written another book. Which is good, because the last one was superb.

What is even better is that because it's published under a Creative Commons licence, it can be downloaded and linked and embedded almost everywhere. So here's my attempt to increase Tom's readership by almost none:



Remember kids - it's available in all good bookshops, several evil supermarkets and a few dodgy websites.

Sunday, June 07, 2009

Tum te tum...

Many sunrises have passed since I last blogged. Not much has happened to tell the truth. I'm a week or so away from my AAT and payroll exams. I think I'm pretty ready.

The jobhunting has stalled, pretty much. I did have a second interview, with a major construction company looking for accounts assistants for a major road project. Needless to say, I didn't get the job. The three people they took on had specific construction industry experience. Fair enough, but it doesn't help me. I do believe that I have made a big mistake looking for a job a year earlier than I had planned. It's coloured my view of my course, and it's made it harder to get motivated to revise. It's strange, because I can do it. There are people out there doing the same course who are in work, and seem to be struggling, or who don't seem to have got it as quickly as I have. It's frustrating.

Thursday, March 05, 2009

I'm nowhere to be seen...

I've just found out that one of my co-students has been writing a blog. I don't see her and her cohorts so much these days - although we're still doing the same course with the same lecturers, I'm doing the other class most of the time (we do two three hour classes a week, each of which is held twice, once during the day and once in the evening. I usually do Tuesday evening and Wednesday morning, and Student Granny does Wednesday afternoon and evening). SG can be quite scathing on her blog, which I read from end to beginning once I discovered it.

Alright. I admit it. I read it to see if she'd said anything about me. So shoot me. But there's zip. I'm not the subject of her wrath, or anything else.

Friday, February 27, 2009

Wahey!

Saw this on FailBlog:

fail owned pwned pictures
see more pwn and owned pictures

Reminds me of a toy we did at McDonald's once. A range of dragons that balanced on a rocky outcrop, except that one of the outcrops looked strangely familiar. It was swiftly withdrawn, but I'm sure Jo Coton took one home...

Wednesday, February 25, 2009

Lies, damned lies and no statistics at all.

Stepdaughter #1 and I were photographed for the AAT Magazine article today. Which was a slightly bizarre experience. How so?

Well, for a start the dress code was 'smart casual'. Now I'm a jeans and t-shirt or work clothes (which with my work history, tend to be some sort of uniform) kinda guy, and so I'm not entirely sure what smart casual is. I therefore took myself to that high class gentlemen's clothing emporium that is Asda, and bought a couple of polo shirts and a pair of chinos. But Mrs MnG told me that I should never wear shirts with horizontal stripes, as they'll make me look fat. So I put on a grey short-sleeved shirt I already had, and took the polo shirts as spares.

We did three sets of photos. The first set took place in one of the computer suites at college. If you've already done AAT Foundation, you'll know that there's no computer element to Intermediate, so SD #1 doesn't even have a Burton College login. No matter, as Johnny the photographer had carefully arranged the computers to show the bright blue Windows XP login screen, with us sat on chairs in the middle. The next few minutes were a montage of Johnny photographing us, getting SD #1 to smile, and running round wiggling mice.

Next up was in the library, where we were photographed in one aisle, whilst Johnny was in the next aisle, poking his well-endowed Nikon through the books. For composition, don't you know...

Finally, we were shot actually studying, or at least pretending to. I was doodling, then pretending to read a text book, when the fire alarm went off. "Just a couple more shots..."

It was fun, and Johnny told us that he'd got some good shots. And hopefully, some accountant somewhere will see my gurning mug, and think "I'll give that man a job." Possibly. Maybe.

Tuesday, February 17, 2009

I'm a media star!

Sort of. Kind of. Darling Stepdaughter #1 and I are to be featured in a forthcoming issue of AAT Magazine, as part of a feature about families studying the AAT. Watch this space...

New life goal


I have a new life goal. I want to find a job which will enable me to get Nokia's iPhone-killing N97. 32GB memory, touch-screen and slide-out keyboard, 5 megapixel camera, GPS, etcetera etcetera...

In other mobile-related news, I have downloaded Shozu, which will enable me to upload photos straight to Facebook. It'll also make it easy to upload pics to Blogger, when I get that bit to work.