Showing posts with label Nokia. Show all posts
Showing posts with label Nokia. Show all posts

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.

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.


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.

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.

Tuesday, February 17, 2009

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.

Thursday, December 04, 2008

I've got a new Phone!

The contract on my N73 came up for renewal, and as the phone was beginning to get a bit tired - there were a few scratches, the lens cover was getting loose and causing the camera to switch off randomly and the volume down key was broken - I decided on an upgrade.
The main feature for an upgrade for me was built-in GPS. I've been using TomTom 6 on the N73 quite successfully, but the bluetooth GPS receiver with its separate charging lead and the cigarette lighter doubler required meant there was a fair bit of spaghetti round the dash - not good. I did look at the HTC Touch Diamond, but this would have cost me £60 to upgrade to. So I stuck with Nokia, and got myself a 6220 Classic in Plum (they had no black in stock). I also negotiated a drop in tarriff (from Dolphin 35 to Dolphin 25 - fewer minutes but still unlimited texts) and increased my data from evenings and weekends to all day. Bundle in the £7 a month buyback on my old phone (actually my stepson's old phone - he grabbed the N73), and I'm paying less than before. Bargain.
First impressions are extremely positive. The 6220 is slimmer and appreciably lighter than the N73. The screen seems brighter, if slightly smaller, and the keypad seems slightly larger. I've noticed the keys can move a bit if pushed in the wrong direction, so I'll have to watch that. A good thing for me is the deletion of the extra side key to top left instead of near the camera shutter key. This stops it being pressed when putting the phone in the car mount.
The phone seems much slicker in use too. The camera lens cover slide is much, much smaller, and looks more robust. The S60 operating system finally gets a built-in keylock, and the menu transitions look cool. Also cool is the ability to set the standby wallpaper to a slide show. Coolest of all is the message reader, which will read incoming text messages. The built-in Maps application works well, although the UK maps weren't already on the memory card as I expected them to be. Speaking of memory cards, it won't take the same size as the N73, but it comes with a 1GB card, which will do until I can afford an 8 or even 16GB one.
The 6220 also won't take the same hands-free lead as the N73, which means that until I can get a proper Bluetooth car kit in the Astra, I've had to buy wired lead. The 6220 comes with a stereo headset, which is no good in the car. But I have found a clever feature. The 6220 has a 2.5mm jack socket for the headset and TV-out lead, which will also take headphones, using the phone's built-in mic. So I've bought a 2.5-3.5mm jack plug adapter, which means I can use the tape adapter to route the phone's audio through the car stereo. Seems to work fine for Maps and mp3s, and for the odd phone call I take in the car. The camera seems fine, too.