Symbiatch - maailma on rikki

WP7-kehitystä oppimassa? / Learning WP7 Development?

25.02.2011 16.02 - mobiili ohjelmointi 

Kiinnostaako Windows Phone 7 -kehitys? Saanen suositella ilmaista Charles Petzoldin Programming Windows Phone 7 -kirjaa. En ole itse vielä sitä lukenut, mutta tuntien Petzoldin maineen voisin väittää, että kirja on hyvä.

Interested in learning Windosw Phone 7 development? May I suggest grabbing a free copy of Charles Petzold's Programming Windows Phone 7. I haven't read it myself yet, but knowing Petzold's reputation I'd say it's probably a very good read.

Comments (1) | Comment


20.02.2011 14.53 - mobiili 

In November there were news about Symbian getting millions of euros from EC. The reason was to get European software technology to flourish and whatnot. SYMBEOSE and stuff. Great. But it didn't take long for Nokia to tell us that Symbian is going to be put out.

What happens/happened to this money? Did they get it? Is it used to develop Symbian, an OS that is soon not used by anyone? Or some esoteric fork of it? I personally couldn't find any information about this and would like to know what's going on.

When Nokia changed Symbian Foundation from a development foundation to a licensing body and took Symbian to itself, the money should've been retracted. If it wasn't, the EC just gave a single company millions of euros for the development of a in-house product. And a product that is going to be killed soon.

There's no reason to give them that money now. The money should be used for SMBs doing something productive. I hope that's the case. Or at least the money has been taken back (if it was ever given to Nokia/Symbian).

If anyone has any information about this, please tell me!


Symbian Signed vs Apple/Microsoft Software Releasing

16.02.2011 13.45 - mobiili ohjelmointi 

I got a comment about endorsing a platform that controls the software that is installed on the device, especially since I've complained a lot about Symbian Signed. I thought I might explain my reasons for this a bit.

History of Symbian

Before Symbian Signed things were nice on the Symbian front. You could make apps using all APIs and distribute them the way you liked. No restrictions. Fine. But then came the horrid Symbian Signed and Capabilities. Good idea, implementation sucked.


The main problems with capabilities were that you could only get certain ones without paying and if you didn't pay, the user got a reminder claiming that the application might steal your personal information and whatnot. So scary tactics to force people into Symbian Signed.

Also, the capabilities had to be given up front which was idiotic. And there was no possibility to select which capabilities you allowed the application to have. Yes, I allow the app to read my contacts. No, I don't want it to get my location. Umm, ok, I can't install the whole app? Nice...

Also the capabilities were too coarse. For example, my mIRGGI needs network access, which is fine for most people. But when installing S60 shows that mIRGGI can also make calls. Most people probably don't want that to happen (and it won't, mIRGGI has NO functions that could make calls). But they can't tell that to the OS. Stupid.

Symbian Signed

The first version of Symbian Signed was horrible. First you had to get a developer id which means spending $200/year for a code signing certificate from a single provider. This was easy, but cost quite a bit, especially for freeware developers.

Then if you wanted to get your apps to the public, you had to pay for "testing." And I put it into quotes because it wasn't really always testing rather than nitpicking. There were cases where the application showed a version number incorrectly (1.2.3 instead of required 1.02.3 or something) and the testing failed! And when you fixed that you had to pay for retesting.

Also the payment was for each and every version. Make an app, sell it to 100 people. Make an update, pay again but you might not get any more purchases. Make another update and so on. So you're paying and getting nothing in return. Why would companies want to fix or update their product often when all it meant was money lost? (I know this isn't always so harsh, but still)

Discount Testing

Then Symbian Signed was transformed so that you could test the stuff yourself. All you had to do was pay $20 per shot for a quick signing. $20 for signing? That's a lot. Once again, every little fix or update you made cost you that much. Better, but still not reasonable.

There was also for a limited time a freeware testing thingy where you could get some freeware apps signed for free. But they didn't like it if you released too many versions too soon etc. And later on it died off.

The last try was to make the whole Symbian Signed free for Symbian/Qt/Java apps. That's when the system started to look like a reasonable thing to do.

The whole time the explanation for this was to make sure that the origin of the application could be determined. And the whole time there were certificates available for Java, Windows applications etc which did the same. The difference? You could sign your code yourself. Without paying for "testing."

Apple Developer Program

Apple started the whole thing with a commercial developer program. You pay $99/year and you get the tools, testing (and they even do test, even though I've got some "it doesn't work", "surely it does, I've tested it a lot", "oh, sorry, yes it does" problems once) and distribution for that price. Fixed price. And that's the key difference here.

You can also distribute ad hoc applications, which means that you input the device IDs for a maximum of 100 devices and sign the application for those with a certificate that you get from Apple. Usually done for testing purposes.

Larger companies can also get a system that allows them to distribute apps for their employees freely, but that requires a 500 employee enterprise IIRC.

And what about capabilities? For example, when running a program that wants to get your location, you're asked if it's ok. When running, not when installing. And you can allow/disallow this whenever you want to. The same with notifications etc. This is the right way to go!

Windows Phone Developer Program

To develop for Windows Phone 7 you can get the tools for free. But if you want to distribute, you'll pay $99/year. And no hidden/extra costs here either.

Microsoft also has stated (after the jailbreak thingy) that they're looking into allowing the installation of applications on the devices without paying or going through the marketplace. And I also hope that they really make it possible. And I hope they won't make stupid restrictions for the applications.

I have no knowledge about how capabilities are done in WP7, I've only seen them declared in the application XML file. Must see into this.


WP7 development is more restrictive than Symbian/Maemo/Meego, that's for sure. At least for now. But Symbian's capabilities and track record with the whole Signed crap is not at all good. And I personally rather pay $99/year for development environment that actually works than kill my sanity with a free one that doesn't. I did pay Apple's fees for a couple of years before I made a cent on anything iOS. Just because I wanted to learn it and the environment was only half-crap (XCode, Interface Builder etc are horrible but not nearly as bad as Carbide.c++ etc). And I'll surely pay for Microsoft/Nokia the yearly fee to make apps for WP7 even if they're freeware. I can afford it and I know what I'm getting in return.

Now just waiting for Microsoft's move on the 3rd party app installation front. I don't thing it'll happen on the next update (which is due out very soon), but maybe later? And since Nokia won't get any devices out for a while, it can wait a bit.

But I don't want to wait, maybe Microsoft could update the Silverlight they already have for Symbian. Then we could create apps for Symbian and WP7 with it. That would be cool. Qt for Symbian/Maemo/Meego and Silverlight for Symbian/WP7. And surely Moonlight could be used for Maemo/Meego too, so we could get a truely universal platform? ;)

Comments (1) | Comment

"Ei WP7-kehittäjiä Suomessa" / "No WP7 Developers In Finland"

13.02.2011 15.17 - IT-ala mobiili ohjelmointi 

Nokian WP7-julkistusta seuranneessa hölinässä on tullut useammankin kerran esille huoli suomalaisesta ohjelmistotuotannosta. Symbian ja Qt kun selvästikin olivat vahvasti täällä osattuna, mutta kukaan ei kuulemma tee WP7-kehitystä. Mielenkiintoinen väite, mutta asiaa voi tarkastella hieman järkevämminkin. Meinaan kauanko menee, että on?

Symbianin oppimiskäyrä on aina ollut hyvin jyrkkä. Sitä on yritetty laskea tuomalla ties mitä virityksiä avuksi, mutta apua ei ole ollut. Viimeisin repäisy oli Qt. Se ostettiin kolme vuotta sitten Nokialle. Kolme vuotta. Ja siinä ajassa ei ole vieläkään saatu kaikkea tehtyä, vaikka luvattiin jo kaksi vuotta sitten tulevaksi.

Ei kuitenkaan takerruta siihen, vaan tarkastellaan Qt-kehitystä. Qt on vähäisellä kokemuksellani ja muiden kertomuksia lukeneena reippaasti parempi kuin Symbian. Se ei ole vaikeaa. Mutta kehittäjät ovat yleensä olleet muita kuin mobiilikehittäjiä. Ja jos kehitetään mobiiliin, pitää tehdä käyttöliittymät eri tavalla, mobility API pitäisi saada käyttöön jne jne jne. Eli opettelemista on. Mutta taustalla kuitenkin jotain osaamista.

Qt ratkaisee sitten Maemo/Meego-kehityksenkin. Kunhan siis teet todennäköisesti uudet käyttöliittymät jne. Mutta silti se Qt pitää opetella. Henkilökohtaisesti en ole edes törmännyt moneenkaan taloon, jotka tekevät kehitystä Qt:lla. Mutta kai niitä on, kun kerran nettikommentoijat niin sanovat. Minähän uskon.

Entäs se WP7? Moniko oikeasti tietää millä sille kehitetään sovelluksia? Tätä lukevista ehkä useakin, mutta yleisesti nettikommentoijista hyvin harva. Voin sen tässä paljastaa, kera selityksen miksi ei ole ongelma, vaikka juuri tällä sekunnilla ei olisikaan montaa WP7-kehittäjää.

Jos haluat kehittää OEM:nä WP7-sovelluksia (kuten vaikka Nokia haluaa, esimerkiksi Ovi Mapsin jne), sitä ei tehdä millään ihmeellisellä WP7-APIlla. Alustana WP7:ssa on Windows CE, jota ohjelmoidaan Win32APIn kautta. Kyllä, se sama Win32API, jota on käytetty jo yli 15 vuotta työpöytäsovellusten tekemiseen. Moniko Suomessa ohjelmoi sillä? Moni.

Jos haluat tehdä muuten sovelluksia WP7:lle, kehitysalusta on Silverlight for Windows Phone. Se on alijoukko itse Silverlightin ominaisuuksista lisättynä tietysti mobiiliominaisuuksilla. Moniko täällä on tehnyt Silverlightille jotain? Ei välttämättä kauhean moni, mutta se ei ole ongelma. Miksikö? Koska Silverlight taas on alijoukko .NETistä, mukaanlukien WPF, WCF jne. Moniko ohjelmoi .NETillä? Aika hiton moni. Moniko tekee käyttöliittymät WPF:llä? Yhä kasvava joukko. Moniko käyttää WCF:ää juttelemaan bisneslogiikoille ja servereille? Hyvin moni.

Entäs pelit? Niitä voi sitten tehdä XNA:lla, joka on myös .NET-ympäristö ja jolla voi tehdä pelejä niin työpöydälle, Xboxille kuin kännyynkin. Moniko tätä täällä osaa? Ei varmasti niin moni, mutta eipä ole pelintekijöitäkään. Ja pelintekijöistä moni.

Eli kysymys kuuluukin: moniko suomalainen voisi olla WP7-kehittäjä ensi viikolla? Aika hiton moni. Moniko Qt/Symbian-kehittäjä voisi opiskella WP7-kehityksen? Kaikki varmasti. Eikä vaatisi edes kauheita ponnisteluja.

Joten itse en todellakaan näe ongelmaa siinä, että "Suomessa ei ole WP7-kehittäjiä." Koska Windows-kehittäjiä on ja paljon. Ja se riittää.

Ja vielä yksi asia: Symbian ei katoa huomenna. Eikä ensi kuussa. Eikä ensi vuonna. Ei kannata huolestua nyt niin kauheasti.

Nokia's decision to use WP7 in their devices has gotten several people to declar their concern about Finnish software development. Symbian and Qt development seem to be quite strongly available here, but seems that nobody is doing any WP7 development. Interesting claim but the situation can be appraised more rationally. Meaning: how long will it take for there to be developers?

The learning curve for Symbian has always been very steep. They've tried to lower it with this'n'that-kinda stuff many times, but to no avail. The latest attempt was Qt. It was bought three years ago. Three years. And it still isn't what it was supposed to be two years ago.

I won't get caught on that but rather consider Qt development. With my little experience and by reading things from other developers Qt is a lot better than Symbian. But that's not saying much. Qt developers, on the other hand, have been something else than mobile developers. And if you are doing mobile development, the UIs have to be done differently, mobility API should be usable etc etc. So there's a lot to learn. But there's still much knowledge about Qt to be used.

Qt solves the problem for Maemo/Meego, as long as you (probably) create the separate UIs etc. But you still have to learn Qt. I haven't met that many companies doing Qt but there must be lots of them since people on the net are saying so. And of course I believe them.

What about WP7 then? How many people really know what is used to develop for it? From those reading this I guess several, but for the laypeople probably not many. I can reveal it for all with an explanation why there is no problem with there not being any WP7 developers at this second.

If you want to develop OEM software for WP7 (as I suspect Nokia will want to, Ovi Maps etc) you don't use any esoteric WP7 API. WP7 runs on Windows CE which uses Win32API for development. Yes, the same Win32API that has been used for over 15 years in desktop development. How many people in Finland are using Win32API? Many.

If you want to develop other applications for WP7 you use Silverlight for Windows Phone. It's a subset of the actual Silverlight plus mobile APIs. How many people in Finland have done Silverlight development? Probably not that many but even that's not a problem. Because Silverlight itself is a subset of .NET including WPF, WCF etc. How many people develop with .NET? Lots of people. How many people are using WPF for the UIs? Ever growing. How many use WCF when talking to business logic and servers? Many.

Games, then. That's where XNA comes in. It's also a .NET environment that can be used to develop games for desktop, Xbox and mobile devices. How many have experience about it here? I don't suppose that many, but there aren't that many gamemakers. Of them I suspect very many know it.

So the real question is: how many Finnish developers could be WP7 developers next week? Very damn many. How many Qt/Symbian developers could learn WP7 development? Everyone I'm sure. And it wouldn't even take that much work.

That's why I don't see any problem with there "not being any WP7 developers in Finland." Because there are lots of Windows developers. And that's enough.

Oh, and another thing: Symbian isn't going away tomorrow. Not even next month. And not next year. Don't worry so much.

Comments (8) | Comment

Nokia + Windows Phone 7

11.02.2011 13.04 - mobiili ohjelmointi 

Ah, it finally happened. I didn't think it would, but I was wrong. Nokia is taking on Windows Phone 7. Great! Finally they'll have a working platform with great development tools!

There are millions of people that are probably yelling NOOOO! at the moment. Shut up, I tell them. If you have some anti-Microsoft thing, it's your problem. If you'd just take your head out of your nether regions, you'd understand that Nokia has been so bad for developers, their UIs have been crap and they can't even make a decent browser in several years. Not even if they have WebKit and others available.

I would've thought that Nokia would've possibly made a new UI for the phones (not a good thing, taking account their track record), or at least gotten Qt to work in it. But no, they're keeping Qt for Symbian, Meego etc.

What about Symbian? They say they won't throw it out, yet. But they aren't telling us what it will be used for. And Meego? They'll release "a device", but what? I think Meego probably will work for tablets etc, but there's no point in making another UI for phones. Since that's what it would be.

I'm very interested to see what happens next. When will the first phone come out, what will Nokia's hardware knowledge bring to the table.

And for those that are saying "Microsoft is taking over Nokia." The whole point for taking on Elop was to get Nokia to go to another direction. It's been going downhill for so long. Why can't you just accept the fact that maybe, just maybe, a partnership (not a takeover) with Microsoft is exactly what they need?

Also, how many of the people whining about Windows Phone 7 have actually used it? Developed for it? I personally have not held a device in my hand. But I have developed some test applications for it. And I can say that in the time that it took me to make a mockup version of Telkussa Mobile for Windows Phone 7 was 15 minutes. No previous knowledge about WP7 development (and not much about WPF development either). It's just so simple to do things and the development tools actually work!

I've done the application for Android too, to some extent. Most of the time went to fighting with Eclipse and ADT (they're quite unstable, also some x86/x64 stuff etc). I did get it done, but it's slooooooow. Horribly so. Since there is lots of data handling when loading TV guide data in the beginning.

I'd like to do it for Symbian, Qt, Qt Quick too. But I'd kinda in need of a minor braindamage (major in case of Symbian). The development tools are alien to me and don't seem as mature as I'd like them to be. In case of Symbian, Carbide.c++ is crap. Even after years of development. Qt Creator is probably less crap, but it's complicated. It took me a while to even find out how to change the target of compilation. Could be just my inability, but still. And also, the applications that are produced by Qt look different on the devices. Not nice to use that kind of a platform.

The only platform that actually has that application out in the wild is iOS. It took me quite a while to get it done, since XCode is horrible and iOS APIs were alien to me. They're not horrible, but it takes a while to get into a platform, know how to use iOS's memory handling (quite awful), threads etc etc. But it's much less horrible than Symbian. Android, I'm not sure. I don't have enough experience about it. But the XML crap UIs don't tickle my fancy, at all. WPF/Silverlight did it right since you don't need any getControlById() and casting etc that you need with Android.

So, I'm intrigued. Very much so. If Nokia needs a developer for WP7 stuff, I'm interested. You didn't get me to work for you previously, but now you can call me ;)

Comments (6) | Comment

Android + Exchange, Not Quite And Other Things

10.02.2011 17.50 - mobiili 

Finally tried Android 2.2's Email program with Exchange. I can tell you, it's not quite ready for real world use. Or maybe I have some strange crippled version? If so, do tell me.

I also have to mention that I hate the fact that I have to have a Gmail account. I don't want it. I don't use it. But I must have one to use Market or anything. Shitty. And I can't even change my primary email account to anything else! Lock-in anyone?

Where is the backup application? Oh, Android doesn't have one? The only thing I can do is allow some of my information to be sent to Google and it'll get downloaded from there? Nice. With other manufacturers I can create a private backup. Not with Android. And even the cool online backup doesn't work. Installed applications, upgraded the OS, logged back in. Google says I'll get the apps back soon. Not the case. I have to install everything again. Nice. Cool. Wonderful!

But to the Exchange stuff. First of all, it has a stupid bug that Nokia also had previously: when syncing lots of mails, it'll keep making noises telling me there's new email. Stupid.

So, I can only sync stuff for one month? Whose braindamaged idea is this? I want ALL my email here. All. If I want to. But it seems Google knows better.

There's an option Sync Calendars. Select it. Well, nothing's visible. Oh, right. It didn't ask me which calendars I want to sync. Now, where's the option... Oh, nowhere? Right. So when I have several calendars, I can't sync them. Nice.

At least Sync Contacts works. But can I sync contacts so that it won't send them to Google, since it basically forces me to use Gmail too? I'm not sure. Hope so.

So, all in all. Not quite there. Couldn't use this crap in my daily life. Maybe it'll be all better in 2.3 or 3.0 or...


iOS 4.3 Upgrade Won't Clear Your Device!

09.02.2011 20.16 - mobiili 

Woohoo! I was just talking about the trouble iPhone/iPod/iPad users go through when updating the devices. All data is erased and you have to sync everything back in. Many times it takes quite a long time to do that. Then I decided to update to iOS 4.3b3, I had the time. To my surprise, there was no syncing after the update. It took a bit longer than usual (about 15 minutes), but the data was still in the device! Great!

Now all we need is firmware loading over-the-air and the removal of iTunes activation and we're on par with Nokia!


The Internet Is Full

04.02.2011 00.00 - IT-ala 

So, finally it happened. The Internet is full. ICANN informed that they've allocated the last pieces of the IPv4 address space to someone. People have been talking about this for years and now it's reality.

This doesn't really mean that the IP addresses are exhausted. They're just allocated, but there are free addresses available. ICANN handles the upper level allocation, but there are local authorities (like RIPE, ARIN, APNIC) that handle lower level allocations. And then there are internet operators below that and their customers etc. So it's not as bad as it looks like.

Also, one might think that the allocations done by ICANN are probably not that sane. Let's check what can be found:

  • 240-255/8 is reserved for "future use"
  • 224-239/8 is for multicast, which still doesn't seem to be used that much

That's already 12.5% of the address space. If we really needed more addresses, we could probably take 240-255/8 into use. That'd give us 268435456 more addresses.

Also, there are some old company reservations, which seem a little odd. At least these companies have a /8 network just for themselves:

  • General Electric
  • Apple Computers
  • Ford
  • Xerox
  • HP
  • DEC
  • AT&T Bell Laboratories
  • AT&T Global Network Services
  • MIT
  • Eli Lilly
  • Halliburton
  • Merck
  • US Postal Services

Naturally I don't know what the companies use these for, but really. Does Eli Lilly or Merck (pharmaceutical companies) really need a /8 network? You know, even Microsoft doesn't have a /8 network for themselves here. They do have lots of IPs, I'm not saying that. And DEC, a company that I thought didn't even exist anymore. Apple? Ford? Xerox?

So, if we really needed, we could easily get lots of IPs for use. But the real question is why the heck isn't IPv6 already in use? It's been around for a decade. It's supported in all modern OSs, network devices widely support it etc. So let's just get on with it!


Kuka on taustalla Feissarimokissa?

03.02.2011 09.41 - viihde 

Niin moni hihittelee "feissarimokille" nykyään, mutta onkohan monikaan pysähtynyt miettimään mikä on instanssi tuon takana? Tuskinpa, sen verran löyhästi nykyään väki tietojaan levittelee kaiken "hauskan" perässä.

Sivuilla ei kerrota yhtään ketkä sitä ylläpitävät. On vain mystinen FMTeam. Ja nyt sivusto on osa "viihdenurkkaa", josta myöskään ei kerrota omistajatietoja. Miksi ei?

Domaintiedot on luonnollisesti salattu palveluntarjoajan toimesta. Sieltä ei omistajatahoa löydä. DNS-palvelut on palveluntarjoajalta. Sähköpostit Googlelta. Mitään tietoja ei saa irti.

Mikä voi olla syynä sille, että pelätään kertoa kuka palvelun tarjoaa? Pelätään, että joku suuttuu kun omia juttuja retostellaan? Ja luulevatko omistajat oikeasti saavansa mainostajia palveluun, jos eivät edes kerro minkä instanssin kanssa sopimus mainonnasta syntyy? Yksityishenkilön? Toiminimen? Osakeyhtiön? Joulupukin?

Lähetän tästä viestin myös tuonne mystiselle tiimille ja mielenkiinnolla odotan vastaavatko ja selittävätkö tilannetta. Kuitenkin suosittelisin ihmisiä taas kerran hieman miettimään mitä tekevät ja minne asioitaan levittelevät. Kasvottomille ei ainakaan.

Comments (3) | Comment  |  Omat jutut  |  Muiden jutut  |  Kategoriat  |  kirjaudu