RSS
 

Archive for the ‘nokia’ Category

Improving Qt’s properties.

01 Jul

I have known Qt for about 9 years now. My first encounter with Qt was as a normal user who was exploring Linux to find out what the fuss was all about. With KDE I got my first experience of Qt. But I have only very recently started to use Qt as a development tool, and I have been very happy about that. Makes life easy, with Qt being ported to Symbian, Meego the gates are open for developers to make money. Since I like to experiment with all the platforms no matter who they are from, I also played around with Objective-C on iPhone some while ago.

While Qt offers many many nice features which make Objective-C look like from stone age. Objective-C has some nice features as well, one I mentioned in my previous post, which Qt already solves rather nicely and in a better way as one of the commenter pointed out. Objective-C and Qt are quite similar in a sense that they provide improvements on top of an already existing language. Qt with meta object compiler and Obj-C with something similar.

So back to the point, I now use Q_PROPERTY macro in my QObjects based classes a lot:

class Person : public QObject
{
Q_OBJECT
Q_PROPERTY(QString name READ name WRITE setName)

public:
void setName(const QString& aName) { iName = aName; }
QString name() const { return iName; }

private:
QString iName;
};

Now consider this Objective-C code:

// person.h
@interface Person : NSObject
{
NSString* name;
}
@property (nonatomic, retain) NSString* name; // same as Q_OBJECT 

// person.m:
@implementation Person
@synthesize name; // this generates getter/setter in the .m file

// rest of the code ...

So do you see what I see ? In the Objective-C version of the code I don't have to write the getter and setter methods, whereas in Qt i have to. I think all the information to automatically implement the getter and setter functions is already in the Q_PROPERTY macro, may be the moc compiler can go ahead and also generate the getter and setter methods for us ?

 

Developing Maemo5 and MeeGo applications on Windows

21 May

Maemo/Meego devices are like a computer that you can put in your pocket, for example the N900. Before N900 these maemo devices had been slow, but thanks to the iphone the whole computer industry has realized the importance of speed. N900 is not slow, what i like about this phone is the keyboard and the great web browser that it has. Just imagine the scenario, you are reading a web page on your desktop and then when you have to catch the bus, that page opens up when you start the browser on your N900. This is possible with the firefox addon called the Mozilla Weave. N900 is just awesome, it just needs to exercise 4 hours a week to lose some extra fat that it has, but other wise I really like it.

But perhaps the best thing about N900 is that my Qt apps that I write for  Symbian  also work with little modifications on my N900! you dont even need to install some crazy toolchains or use the linux os to do any of this; with the Nokia Qt SDK you can do all of this from your windows computer. Even though its in beta right now; but every thing works; i am using it for a meego/maemo app i am doing and no issues yet

 
 

The iPhone OS 4.0 Agreement stink.

10 Apr

So the internets are abuzz with the news that the new iphone os 4.0 developer agreement prohibits using any non apple endorsed programming language, framework for iphone/ipad development. This is hardly any thing surprising, given the way apple has been acting ever since jobs came back in control. When they were irrelevant they didn’t have the power to make any rules, now that they have a good market share, they are showing it. It almost feels like a kid who lost a game in his teens taking revenge in his 50′s.

Some people are comparing this with the Window Phone 7 Series and how its limited to .NET and C#, well that’s not exactly the same thing, Windows Phone 7 has no market share as of now, it will be coming to market in the late 2010. Microsoft sets this standard before they have any kind of market share, and besides any language ( php, vb, python ) can be used to create CLR code and that can be used for making apps on wp7 ( yet ).

But I believe apple has every right to do what it is doing. It might be good for the company, but sad for most of the developers. I myself was looking at monotouch as a tool for doing apps for iphone, but I went with objective c instead, it was not that difficult to learn and I think if you are a good c++ programmer objective c would be a piece of cake to learn, in two or three days. Monothouch is also just too expensive in my opinion.

However, like google has said earlier and I believe it myself that webapps are the future way of doing apps. Phonegap for example is an awesome project and it has a lot of potential, what we need now is standardization of web apps / javascripts apis. W3C for example has now standardized the Geolocation api, I think we need similar standard apis for example to access the phone book, sensors etc ….

 

Two finger scrolling on Windows 7/XP/Vista

30 Jan

The two finger page scrolling on the macbooks is really neat, I think it is a better implementation then using a part of the laptop track pad for scrolling the pages. The newer laptops now have that feature, but what if your laptop doesn’t have multi-touch trackpad ? Well Logitech has released a new free iphone app which lets you use your iphone/ipod as a multi-touch track pad with your laptop.

First you need to install it in your iphone/ipod.  Search for ‘Touch Mouse’  in the app store, install it. Then go to Logitech Touch Mouse Server Web site, and get the server software for what ever your OS is. It seems only Linux is not supported. Sad! . Install the server, then run the app on your iphone/ipod, it will detect your computer and hit connect.

So while this is very neat, not every one has a iphone/ipod ( I have a first generation ipod touch ). It would be really great if there was a similar app for the Symbian phones, Android, WebOS or Maemo phones.

To do that we need to understand the protocol used by the touch mouse server and the client. My investigation just came to the conclusion that its a UDP based protocol, the app also uses bonjour for service discovery. The UDP protocol is very cryptic and it seems this is not a easy task, it would be just great if Logitech can release some documents on this.

 
1 Comment

Posted in Qt, UI, nokia

 

iPhone OS 4 SDK, the iPad Mania today.

27 Jan

So here we go again, another new product from Apple and the Internets will be getting crazy tonight. A humongous iphone will be great for web surfing on the sofa if nothing else.

But what I am excited about is the background processes in the new sdk (which they are yet to announce, hopefully). Finally we can have some useful applications. What I would want is a nokia step counter kind of software. I already have it on my Nokia E72 and it is so useful. I have my daily goal set to 10 km of walking.

So just waiting for the new sdk to be posted on to the web and weeks of endless night hacking ahead. Time to market is the key.

 
 

Nokia should enable third party developers to submit apps to ovi store.

11 Dec

Nokia should get its act in order if it seriously wants to compete with google & apple. One big thing that I dislike about Symbian and Maemo phones is the inability of independent developers to make money out of it. This is where apple has succeeded and might be one of the big reasons iphone has been so successful.

Take symbian, I can not even afford to get my applications signed for distribution[1], it adds up to 300 euros every year just for administration fees then further more money when you submit an application, and every times it is tested, which can easily cost you hundreds, this is just too much, sorry I am not buying.

For Maemo, well, there is no ovi store, yet! but what does it cost to install applications on the Nokia N900? so i did some searching and it seems[2] maemo uses the standard debian debs, and using debsign is enough and you don’t have to pay any one, much like android. So this would mean once the ovi store is launched for the N900, it could be a good option since Qt is now available for maemo as well. However the mentality of the average user of maemo will be that of a hacker and I am afraid they might not pay money unless the software is extremely good, in other words they are not idiots like most of the iphone users.

But since Symbian has the most install base Nokia should get more developers onboard by making it easier, it just costs too much right now.

The Maemo powered Nokia N900

The Maemo powered Nokia N900

http://developer.symbian.org/wiki/index.php/Complete_Guide_To_Symbian_Signed

http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging%2C_Deploying_and_Distributing

 
 

Compiling Qt4.6 with OpenSSL Support on Windows with MingW

01 Dec

The Symbian port of Qt is a blessing, no more head banging. Work will be so much easier. The best thing about using Qt for Symbian development is that you dont need to use Carbide or the Emulator, you can use QtCreator to do most of your work. So I downloaded the 4.6 and before I can use it to continue my QFacebookConnect library, I need to compile it with OpenSSL support enabled. You have to do a lot of googling/binging to get that information. Well here is how you do it:

in the command prompt:
SET LIB=c:\openssl\lib\mingw;%LIB%
SET INCLUDE=c:\openssl\include;%INCLUDE%
SET PATH=c:\openssl;%PATH%

now go to the Qt source folder and execute the configure.exe like so:

configure.exe -openssl

and finally
mingw32-make

and here a nice demo of qt4.6 while it compiles for you.

 
 

Nokia N900

29 Nov

Maemo seems to be getting good reviews all over, Nokia shows off SNES on N900, quickly thinks better of it — Engadget. But lets not forget Palm’s webOS also dazzled people and it is currently better that Maemo 5 in some aspects, but it has not gotten much traction, yet.

I am getting a N900 in a couple of days, but I am not planning to do any major development, if any at all for Maemo yet. That is because there is currently no easy way to sell your apps for Maemo i.e. there is no Ovi store for Maemo yet. But most importantly I just hate Gtk/Gnome/Hildon UI which Maemo5 is built upon. If I was to say I hate C it would be very close to truth. I think of C as a uncivilized savage beast (a beast, not a mouse).

Another thought I have about this n900 is how much they are promoting its multitasking capabilities, multitasking does have its benefits, but in small portable  devices, where speed and performance is very important, multitasking can create problems. So now I think iPhone’s approach is better, there is only so much you can do on a 600MHz processor. I think Apple will eventually introduce multitasking, but not like we have it in the existing smartphones. I believe at some point in the future the iphone os will allow ui-less apps to run in the background, but only one ui app at a time. I think they will have a approval process with conditions like how much resources etc an app uses.

 
1 Comment

Posted in nokia

 

Introducing www.namaz.me

19 Sep

One problem I have always had was getting the Namaz/Salat times for the place I am at a certain time, now there are web sites which give you that information. But there is too much hassle involved in getting the required information. You first have to select your country, then your city and then you are bombarded with lots of advertisements and so on.

I thought that there must be a simpler way. I was aware of the new w3c geolocation api, which is available in firefox 3.5 and in google chrome ( with a certain google plugin, in other browsers as well ). So I decided to use that API in browsers where it would be available, and use IP Geolocation ( from ipinfodb.com ) to get the latitude and longitude position where I am at a certain. After that it is just a mathematical equation to get all the prayer times.

The user interface of the web site is very simple, infact I copied the iphone UI. But the application should theoretically work on all mobile devices ( iphone, nokia, samsung, htc etc ) on all desktop browsers ( firefox, chrome, internet explorer, safari ).

I tried to use w3c geolocation api as much as I could, but for example its not possible to use in safari, internet eplorer, older versions of firefox so then IP geolocation is used. Like wise only iphone and android devices currently support the w3c geolocation api ( android uses google gears ) so for Nokia s60/s40, Windows Mobile, and other devices IP Geolocation is used. Also the opera mini browser is officially not supported and probably never will be, the reason for that is because opera mini uses its servers located in Norway to fetch the data, and www.namaz.me will always think that the user is in Norway. Same is true also for skyfire.

IP Geolocation is not accurate, in some cases it can be only as accurate as the country level.

So do give www.namaz.me a try and report bugs etc.

 

Nokia N95 8GB

10 Mar

I got a free Nokia N95 8GB from work a couple of weeks ago, I had previously used the regular N95 which I very much liked, it was an even better experience with ths 8GB version, it feels much faster and better, the wider screen does look better and it came with spider man 3 movie, which is my favorite movie and played really well on the phone, the quality was crisp and very clear, this phone feels very solid in hand. But the best thing about this phone is how usefull it is. I use the web browser a lot, I check emails a lot on this phone, I check bus timings, flight timings, the Google Maps application is really usefull with the internal GPS, and 8 GB of space is really awesome when it comes to music.

 I also played with the iphone as well a couple of days ago, iphone feels great in the begining but i miss the keyboard, and the lack of 3g really sucks and on top of that no application development support for iphone really is something to think about.

well i just want to say that n95 is a goood phone a really usefull phone.

 
No Comments

Posted in 8gb, iphone, n95, nokia