lauantaina 23. elokuuta 2008

Installing Series 60 SDK (part one)

Q: How do I code for my new Nokia smartphone running S60?
A: You don't, aim for Maemo devices instead.

Q: No but seriously.
A: Remember, I warned you, it shall be painful!

Disclaimer: This blog has been written by a fellow coder who has been involved in Series 60 development since the first release got out so there might be certain amount of dry humor involved. Just don' take it too seriously :)




First let's do some googling..



First link looks promising as both S60 and Nokia are mentioned. Let's click that one and see where we end up.



Whoaah! Our little programmer is hailed with a big, fat flash animation. Fortunately, REAL men would use Firefox and Flashblock so this kind of booby trap wouldn't explode to their eyes and make them blind. Anyway, let's see where we can find that SDK while we're here.

On the left hand side there's a link Tools and SDKs which rings a bell. Click that and another page greets us.



Lot's of content and as we're lazy we click on the first link from the top that sounds nice to us. C++ for Symbian OS tools and SDKs could be it but we're not targetting for Symbian but for Series 60 instead. So down a bit and..



Found it! But before we click let me say something about the image. It seems that the whole block of links is one big JPEG(!) image that has been compressed so much that one can clearly see the compression artifacts.


A big big no no! Couple of hints here:
  1. Use PNG, it's lossless and good for sharp edged graphics like the one mentioned
  2. Text on the links should be text on top of image, not an image itself (a must for i18n)
Enough with the BS of web design. Clicking on that link opens up a page like the one below.



There's a download link on the right hand side and the latest SDK already chosen in the drop down menu. This is okay as all the Series 60 on the shops today are based on the latest generation (aka. 3rd edition) of it. What is questionable is the vast number of SDK's available: 17 of them! That's few gigabytes of stuff there. I mean how am I supposed to know which one of those I should download? Can't flip a coin as it only has two sides of it. Even using two dices give you only 12 different options..

Assuming you're having your phone at hand you can go to http://www.nokia.com/phones to check the specs and you'll see what edition the phone is running. Just take the latest if you're unsure.

Clicking the download button will give you.. yikes.. mandatory registration! Those two words really don't mix well :(



After registration you can download the SDK which is a actually a ZIP file containing installer and bunch of other files. At this point I'm getting a bit frustrated.. Still eager to get that Hello World running I double click the setup.exe just to see the following note.



Now wait a minute. What the heck is Perl and where to get it? Is it free or do I have to pay for it? Let's click No as I'm not sure and need some instructions. What? The window just disappeared and left me staring at my desktop. I'll start the installer again and click Yes this time and hope that the instructions for Perl will follow.

Boing!! Another window, this time complaining about missing Java.



Pressing No would again end the installer so I click Yes to continue. Installer continues happily until... Kaboom!



Eh.. cant launch the perl (note small letter in the front, the missing apostrophe in can't, Perl not capitalized and no period). Pressing Ok will summon the same dialog again!


This is funny. Pressing Ok this time.. will.. KABOOM again!



Ahem.. So if I run Vista, which I don't (and will not, even this XP is running in VirtualBox on Ubuntu), I need to manually patch the compiler in order to get a working SDK! This must be a joke, right? Happily pressing Ok (as I'm running XP) will detonate another one.



It is something about the missing Perl (aka. the perl) again. Have to remember that kids, P-E-R-L. Let's continue.. BOOM! Another mine explodes.



This cryptic message means that there is no free (as in speech and beer) compiler for the phone installed. Without GCCE you cannot really compile anything for the actual phone so press Yes here. (this is not completely true but the guys with RVCT licenses will know that already)

Boom! This spawns another installer up and running. This time it's the compiler for the SDK.



After clicking next several times I'm finally finished installing Series 60 SDK.

Now, let's compile that famous Hello World shall we!

Open up a command line, head to SDK examples and..


..the perl is missing.

(to be continued..)

Maemo goes 666

keskiviikkona 6. elokuuta 2008

US Patent No. 7,407,089

Luin epäuskoisena Slashdotin artikkelia, jossa kerrotaan, että IBM:lle on myönnetty tiistaina patentti, jonka avulla luottokortille tallennetaan tieto siitä haluaako asiakas muovi- vai paperikassin ostoksilleen. Ilmeisestikin jenkeissä on tapana, että kassatäti (tai setä) kysyy tämän asiakkaan puolesta ja ojentaa asiakkaalle halutun kassin. Patentissa kuvaillaan lisäksi pieni tarra, joka liimataan asiakkaan kortille, josta tämän tiedon näkee ilman kortin koneellista lukemista. Artikkelissa kysytään mielestäni varsin oikeutetusti: onko tällainen asia niin merkittävä tekninen oivallus, että se on patentoitavissa ja patentin arvoinen? Mielestäni ei mutta jenkeissä kaikki on mahdollista.