Join Now

Software architect working in Symbian/S60 area since 2000 and still being enthusiastic about mobility. Please visit my introduction page on Forum Nokia Champions web page.

Mobile software development - Functional testing

tote_b5 | 08 May, 2008 01:36

Simon Judge's blog made me think, again. He wrote about Mob4Hire, a company offering people for mobile application testing. Testers get paid via PayPal after bidding on projects (i.e. mobile applications/solutions) and developers get testers at a (hopefully) reasonable price. Finding testers might be especially useful if your geographic area is not the one you'd like your software to be tested in.

You know, lots of developers (dare to say: most?) do not recognize the importance of testing. This is the least pleasant part of development, I must admit, yet one of the most important. There are various kinds of testing including (but not limited to) unit-, regression, load, "smoke", etc. testing. The one, Mob4Hire provides solution to is called functional testing, where one can test the whole solution end-to-end. You know, mobile handsets are very-very fragmented in terms of platforms: applications can be developed in many programming languages like Java, Symbian C++, Windows Mobile Win32/C#, iPhone Obj-C, Linux C/C++, etc. And even when sticking to the same platform and programming environment, JME for example, the supported features vary very much from device to device. This, along with the complexity of what operators allow 3rd-party programs to do, makes it very difficult for a new application to be thoroughly tested.

Nokia already provides a free service for developers wishing to test their mobile applications written for Nokia S60 platform: it's called Nokia RDA (short for Remote Device Access). It is an Internet-based solution, where you can remote control a real mobile phone. You can request, for example, that SIM- and/or memory card be inserted in the test device as well as more than one phone be reserved for your test session to test peer-to-peer communications.

DeviceAnywhere provides a similar solution to Nokia RDA, however, it's not limited to a particular platform, nor to only 1-2 network operators. According to their web site, their service is "a revolutionary online service that provides access to hundreds of real handsets, on live worldwide networks, remotely over the Internet". Unfortunately, it is not free of charge.

Note that you cannot test everything with these solutions. For example, applications that use camera, GPS, accelerometer are basically out of question as well as ones using external accessories.

Another option for functional testing is making use of the services of Test Houses. Professional testers verify the quality of your software (compared to Mob4Hire, for example, see Simon's opinion) so that you can be sure you get the most what you paid for. Sometimes it's even required for your application to pass certain tests in order to get certified by some authorities. However, you may need to pay a lot for this service, see the list & pricing of Test Houses that Symbian Signed accepts, for example.

Finally, let's talk about community-driven testing. Once your application is in such a shape that it is ready for external people to play with it, you can ask them to go and use it extensively. You can offer free copies of the software to them, for example, or they may do it just for their own gratification - it's the same. This way of testing works extremely well in solutions based on client-server architecture with a mobile front-end and a server back-end. It's quite common in these scenarios that the mobile-end is just a light-weight client software that can be freely distributed, thus it doesn't cause any inconvenience if software distrubition is not strictly controlled. The point is that you may get lots of people playing with your software, because it's their passion. And passion drives people to do their job well, simply because they enjoy it, they love your program and they'd like it to be even better. I'm really a great supporter of this kind of testing. :)

Can you recommend any other way for performing functional mobile software testing? Please let me (us) know!

Tote

eyePhone - Your tourist guide

tote_b5 | 06 May, 2008 16:55

I've stumbled upon this article recently and thought might be worth sharing with you.

If we put the name of this software aside a bit (it obviously tries to ride the waves of iPhone), the idea is great. Take a smartphone being able to

  • take good quality photos
  • use GPS
  • communicate over Internet
and you have your on-line tourist guide always at hand. It doesn't require too much from the handset, no? I bet even a good feature phone would do.

Of course, the client software shall not be too thick, most of the business logic is on server-side, right? An average (phone) camera quality should be enough, a Bluetooth-attached GPS is sufficient and basically every mobile phone can transmit data over the net lately. Okay, if an angle sensor is also part of the phone, then the client can gather more data that eventually makes recognition more accurate.

As opposed to the client-side, the server must be very intelligent. Image recognition can be very complex, since poor image resolution, distant objects, pictures taken from different angles, etc. can make it very-very tricky if not impossible. Yeah, I know that the article mentions that the concept was proved, but I believe it only when I see it, you know. Obviously, the solution must be community-driven - you cannot expect any service providers to maintain such a big database alone. And I'm sure that from business point of view it's the server-side software that one can license, whilst the client software would be available free of charge. At least, that would make sense.

Finally, it's very interesting that others are also making experiments in this area.
  • Android Scan is an application written for Android Developer Challenge that uses camera and mobile processing power for barcode recognition and scanning for metadata of CDs, DVDs, books on the internet.
  • Nokia also develops navigating system based on image recognition, where you can just "take a picture of a nearby landmark, like the Golden Gate Bridge, with the camera in your mobile phone. Then, Nokia will match your photo with other landmark photos in its mapping database, and tell you where you are."
  • J-MAGIC is a Japanese company that "sees market for picture-based search", too.

And the list is by far not complete. I wonder who will come up with the most innovative idea bundled with a sustainable revenue on the service so that both sides (i.e. consumers and providers) get what they want.

Any thoughts?

Originally from mobile-thoughts.blogspot.com.

Tote

Symbian and Windows on the same device - what the hell?

tote_b5 | 22 April, 2008 02:50

I've just finished knitting the brows after reading it in the news that IBM launches an initiative that has something to do with the mobile world. "It seems", I thought, "that there's so much money in mobile business that even the Big Blue could not resist".

But now I'm totally down on the floor with the idea of having more than one, potentially completely different, operating systems on the same device. I've just read that Motorola invests in VirtualLogix, Inc. whose "VirtualLogix VLX enables multiple operating system environments to run concurrently on shared hardware and provides a range of performance, fault tolerance and security options to address specific market requirements".

In my opinion, the whole solution abounds with challenges. Technically, from usability/business point of view, whatever. The thing is that each member of the value chain must learn/tackle something new. For example,

  • Device manufacturers must be prepared for having to integrate such hardware elements in the same device that enable multiple operating systems to run in parallel also considering the cost of virtualization (in terms of time, but money-wise, too). These pieces of hardware must give the best performance so that the user experience is constantly good on all platforms. For example, whilst a ~500MHz CPU performs well on a Windows Mobile-powered device, it's a dual 330MHz CPU that gives the same performance on an Nokia N95 8GB. Of course, this applies not only to the CPU, but to memory, persistent storage, etc., too. Thus, hardware costs will definitely be higher than for regular phones.
  • Of course, there will be a constant fight for giving the same performance as on a normal device and also keep the price of the device as low as possible. As to software vendors,
    • Writers of guest operating systems (each operating system will be guest, by the way) must prepare for a new challenge, namely that scarce system resources will become even busier and harder to get access to.
    • Some weird situations could also occur, for example, when a resident background application would be waiting for an incoming call, which would eventually be "stolen" by another virtual device with a higher priority.
    • In addition, it would result in a much better user experience if commonly used resources, such as persistent storage, were shared. For example, the file system:
      • One use case would be to allow the user to seamlessly move files between OSes.
      • Another to allow browser applications of the same type running on different platforms (e.g. based on WebKit on Android and S60) to share cookies, forms data, etc.
      • On the other hand, mobile OS vendors should be careful about what they would give access to: a secure platform cannot afford making a security hole by letting other platforms access sensitive shared files (such as DRM-protected content) unless a satisfactory level of protection is applied.
  • I'm not sure as to how network operators could be affected by the introduction of a multi-OS mobile device other than having to adjust something in their administration system. Oh yeah, a seamingly not so important question: branding should apply to ALL operating systems running on the same device. Anyway, I think these issues would be less important and easier to solve than the challenges described above.
  • Not necessarily a content provider issue, but it rather concerns the content consumer who would not like to pay for the same content twice in order to be able to use it on the same device, but on a different platform. For example, I wouldn't like to pay again for an MP3 music that I've already downloaded to my Windows Mobile device, but would like to listen to it now on my S60 phone (remember, we're talking about the same phone!).
  • Finally, the user: I think the experience, as such, would be new to the user. The feeling that she can choose which device she'd like to work with today. However, it's uncertain at what price this feeling would come: in terms of user experience, reliability, price of the device, etc.
Personally, I think it's not the right time to introduce such an advanced technology, not as if it was a question now. When smartphones are still often considered as a toy used by mobile geeks, when most people still want to use them only for voice calls and text messages, when enterprise infrastructures rely on/users committed to either Windows Mobile or Symbian, but not both - there is simply no business demand and serious reason to hurry. It must be a long-term plan, though I still wonder if/how/when it will work out.

Originally from mobile-thoughts.blogspot.com.

My two cents,

Tote

True emulation for Symbian development - when?

tote_b5 | 11 April, 2008 16:24

Though I've already heard that Windows Mobile SDK offers true phone emulation, however, only now have I got to the point that I ask for your opinion: why cannot we do the same during Symbian software development?

Note that you might have also heard that iPhone developers can also rely on this useful service. Nevertheless, don't forget to bear in mind that they must be working on the same platform, i.e. MacIntosh OSX. That is, there's not too much to emulate there.

But Windows Mobile is different: you develop on Windows presumably on an x86 architecture and produce binary code for another processor architecture (ARM) that you can even debug on. How? Why on Earth cannot we do the same?

Tote

Apple as an MVNO

tote_b5 | 10 April, 2008 16:13

Very interesting patent from Apple (thanks to Unwired View), I wonder how it would work in practice.

Generally I can see it's a viable idea, however, also wondering how roaming charges can compete with any networks' own tariff. I understand that there would be a competition between available network operators, however, roaming charges still remain roaming charges.

Tote

Another hack for Symbian Platform Security

tote_b5 | 09 March, 2008 23:35

One of my articles that has gained lots of attention was written about hacking Symbian Platform Security. Although it turned out that reproducing the workaround found by Symbiaali is laborous, requires strong technical knowledge and its wide-spread use is very unlikely, it clearly showed me that people were interested in this topic.

Today I found another post at Symbian Freak that describes just another way to turn Symbian operating system's well-known permission checking feature off. Although I don't agree with the title of the article (good-bye?? S60??), I think at least it's worth a few words.

What is this crack about? How can we cheat Platform Security capability checking so that it does not care if our program really has the capability being checked or not? Well, in a very special way:

  • Take a development environment for Symbian, like CodeWarrior Pro or Carbide.C++ Pro. Please note that you will need the ability of on-device debugging, that's why CodeWarrior Personal/Carbide.C++ Express is not enough. I'm unsure if Carbide.C++ Developer Edition was enough (this is between Express and Professional), but I doubt that. More on this later.
  • Prepare everything for on-device debugging (connect phone to PC, install MetroTRK to phone, etc.).
  • Start any program from within the development environment (aka IDE) in debug mode.
  • Change some bits in the kernel stack responsible for security enforcement. This is the most critical place, where you can really turn everything upside-down. And since you can do that, I believe it's Carbide.C++ Professional Edition that you need and not Developer - latter is less expensive, but in turn it provides only on-device application debugging in contrast with Pro's system debugging.
  • Voilà, we're done - we have access basically to anything.
Disadvantages
  • The crack is temporary, since everything is done in RAM.
  • Required tools are expensive: CW Pro was available at ~$1.700 (the product is discontinued and cannot be bought officially), Carbide.C++ Pro can be purchased for $1.300.
  • Break is limited to one device.
  • Proved to work only on Nokia N80, on other "hotter" devices (like the N95) it does not work or at least nobody has been able to make it work so far.

What kind of damage can a cracker still do?
  • Explore file system, discover what is stored where and how (as if you had AllFiles and/or TCB capability) and exploit it.
  • Access to DRM-protected content (as if you had DRM capability). This might be more dangerous as you can download e.g. DRMed music once and sell it multiple times later on.

To sum up this post, this new way of cheating Platform Security is the traditional way of cracking. I'm not surprised that it had been discovered and published, I just wonder why it has taken so long? And finally, I don't think that it would cause major problems in Symbian ecosystem.

What do you think?

Tote

Update: Corrected the name of Carbide.C++ edition to Express. Thanks Lucian!

iPhone SDK and Business Model - only kids get too excited

tote_b5 | 08 March, 2008 18:09

I think it's a good idea to wait a bit with commenting the announement of big things. You might not be as fast as others, but at least will have a broader view to the whole picture. At least that's what I did with Steve Jobs' announcement about the iPhone SDK (official press release is here) and developer program. Having read lots of articles written about it (by writers faster than me:), my remarks are below.

App Store
This is the place, the only place, where people can download 3rd-party software from, let it be commercial or freeware.

  • Making it centralized is a good idea, better than having to look for something at lots of places. Especially if Apple undertakes lots of tasks, like distribution, advertising, content filtering, software update, etc. On the other hand, it will naturally result in that the control will be kept in one hand - it'll always be up to Apple to decide what is porn, illegal, etc. Is that good for us? Also, it doesn't help too much in pushing down the prices (I mean, interest rate) if there is only a single point of sell.
  • I've been already thinking about that reselling applications should be done by device vendors themselves in order to keep the price at a more bearable level than it is at now. For example, Handango's 40-50-60% is something I call unabashed. However, it's understandable that they keep interest rate at that high level: it's their main (only?) income. Whereas for device manufacturers it would not be. Okay, I understand that they've been trying to keep themselves away from this part of the business so far, but nowadays that Internet is everything and if you don't provide a service that your competitors do, then you lose. For example, Nokia now offers Mosh and Ovi, but I can't remember if they offer App Store-like service, too. If they don't, I'm sure they will soon.
  • One more thing: I think Apple is now bargaining. They announced a 30% interest rate from the price that developers will be able to sell their apps at, however, that's still too high. Never mind, let's check what people say about this rate, if the opposition is too big than we can offer less. From 30% you can do that.

Development
Apple announced that developers can download the SDK free of charge, bundled with source editor, debugger, interface builder (= UI designer), project management and integrated version control software and lots of other stuff.
  • However, doing that require paying $99. It's a one off cost and in fact sounds reasonable for "standard" developers ($299 for enterprise developers) - it's mostly for signing, though freeware app developers will also have to pay this fee - for traceability purposes. In this respect (i.e. traceability), it's similar to Java certification and Symbian's Platform Security.
  • Only platform is Mac? Sounds like a joke, look at the figures how many people/developers use this platform compared to Windows, Linux. I read it in Paul Todd's article that the SDK offers true simulation, not only emulation, which is fantastic. I wonder how VMWare would perform in iPhone development, though: people could install a virtual Mac machine on their operating system for development. Even more, it would make sense for Apple to create freely downloadable VMWare images for developers having everything pre-installed on it.
  • Let me talk about the programming language developers are supposed to use, Objective-C. To be honest, I don't "speak" this language, but I have seen code written in it. I've been in "cross-platform business" lately and having said that I can see this language being more useful to our efforts than Java, for example (since none of the popular mobile OSes are built on non-C/C++). On the other hand, I'm afraid that Obj-C is too far away from standard C and C++ and one would need to make too big efforts to keep the codebase as common as possible.
  • As for opening up 90% of APIs: it's nice, but a double-edged sword. First, Apple's got only one platform and one device (I mean, mobile phone). If everything goes fine with Apple's business there will be more platforms and more devices: the burden of SDK maintenance may grow to sky-high especially if you open up such a lot of APIs, taking care of source- and binary-compatibility, documentation, etc. You know, I would love to see Symbian/S60/UIQ to go open source or at least open up lots more APIs, too, but I understand why these companies decided not to do so. If Apple has the capacity to do it, then looking forward to it.
  • As to $100M VC fund for 3rd-party development: it's obvious that newcomers have to say big, like this (remember Android's Developer Challenge?), I'm just hoping that others will do the same. Even if they're not newcomers, "just" founders of this industry. :)
  • No multi-tasking: phew, it's really pain in the ... well, you know where. Although lots of things can be solved by storing state information when an application is forced to quit (heard that no 3rd-party app can run in the background! See Techcrunch for more details) and then retrieve that information on re-launch, this limitation causes lots of use cases not to work, like listening to incoming SMS, downloading/uploading/streaming content in the background, generally just hopping from one application to another where the soon-to-be-background app would still have things to do. I don't know why Apple has decided to introduce this limitation, but hope they will drop it soon.
In general, I'm happy that Apple has joined the mobile industry. As well as Google has or rather it just will. I always say that we can learn from anything, let it be good or bad. Life will prove that an idea or in particular an implementation of an idea is viable or not. The point is that we can all benefit from it: either by copying and making an idea better or avoid a mistake that has already been done once.

From mobile-thoughts.blogspot.com.

Tote

Google, the ultimate savior of mobile

tote_b5 | 15 February, 2008 16:55

That's why I like Russel Beattie. Definitely the post of the week for me. :)

Tote

Nokia to acquire Trolltech

tote_b5 | 28 January, 2008 13:48

Of course, I read the press release from Nokia. I even noticed that my fellow FN Champion, Paul Todd, was faster than me to write about it. Never mind, I knew it in advance that I can't be faster than AAS, nor Simon Judge, either.

What comes as a surprise to me, though, that no-one has pointed out to an important aspect of this announcement: am I alone to think that this is Nokia's answer to Google OHA?

Nokia already had a mobile Linux platform, called Maemo, but with this $153M acquisition it has now joined LiMo, too. See brief comparison between LiMo and OHA here. It's interesting to see how mobile phone manufacturers are committing themselves to different "open" mobile operating systems (e.g. Nokia to Symbian/S60, Maemo, LiMo; Motorola to LiMo, OHA, Symbian/UIQ) just to find the ultimate revenue source. If there is such, since who said that multiple mobile OSes cannot happily co-exist? Anyway, for us, developers, it might easily become the ultimate hell.

Originally from mobile-thoughts.blogspot.com.

Tote

Touch(less) UI + Accelerometer

tote_b5 | 13 January, 2008 01:44

We all know iPhone. Even though it's not available in Hungary as of yet, I've already had the chance to hold it in my hands and play with it. It's simply great. People say that it's because of the touch UI, but I don't believe that. It's not that simple. Lots of other manufacturers have already made phones with touch support, but for some reason the success of their products is not even comparable with iPhone's. I think it's because of Apple's approach to user interface, more importantly to user experience. They made it as simple as possible and it will be very hard for phone vendors to compete with it.

Motorola announced their ROKR E8 phone at CES 2008. It's a touch-driven phone, needless to say. The coolest feature that I found is that it doesn't have a physical keyboard, but it dynamically shows always the relevant keys based on what feature/program is being used at the moment. I remember of a patent that I have read about over at IntoMobile: Nokia had patented their invention of a dual-screen phone with touch support. My first reaction to seeing the drawing from the patent that the keyboard layout could be displayed on one of the screens and it could be dynamic: sometimes QWERTY, sometimes ITU-T, sometimes something else, something relevant. I'm very happy to see it to come true.

You might have already heard about that Nokia was planning to add tactile feedback support to their future phones, which means a little buzz when user presses one area of the (touch)screen. Very interestingly very similar to what Motorola has just come up with. You know, one of the biggest constraints of using a mobile phone instead of e.g. a laptop is screen size. And the size of the screen has so far been limited 1: by the device size (it must fit into one's pocket), 2: it had to have a keyboard. It seems that the trend for 2008 is that there will be no keyboard on smartphones at all. Ehm, I mean no real, physical keyboard - as opposed to virtual.

Have you heard that Nokia recently submitted another patent application for touchless UI? See Unwired View for more details. The basic idea described in the patent is that there would be sensors arrayed around the perimeter of the device capable of sensing finger movements in 3-D space. The user could use her fingers similarly to a touch phone, but actually without having to touch the screen. That's cool, isn't it? I think the idea is not only great, because user input will not be limited to 2-D anymore, but that I can use my thick, dirty, bandaged, etc. fingers as well (as opposed to "plain" touch UI). I'm a bit sceptic, though, how accurate it can be, whether the software will have AI or the user will have to learn how to move her fingers. We'll see hopefully very soon!

Finally, there is one more thing I'd like to mention here. It's the built-in accelerometer. I'm pretty sure that most readers have already heard of that the newest Nokia smartphones have built-in accelerometer. It's sort of a motion sensor that actually hasn't got so much publicity so far. I was always wondering why Nokia has not announced, advertised, etc. this piece of gadget. I mean at all. I can't remember if I have ever read any articles, blogs, etc. from Nokia about that they have put this extra hardware in their phone. You know, an accelerometer in a mobile phone is unusal. Not only to me, but to other people as well.

Why did Nokia not advertise this? If it's expensive, it doesn't make any sense not to advertise it. If it's cheap (I bet it is), then it doesn't have to be advertised, but then why add it to the phone at all? Just to see what the (developer) community thinks about it? What kind of applications can they make out of it? Although it's a good idea, I don't think it's a valid business reason. And you know, it was also unusual that Nokia published an API for developers to use this feature - but it was an R&D API! Knowing Nokia and using their SDKs for ages, I would say it's, again, very unusual. It's like "Let's publish this API so that we can see what others can find out with it, but doing it so that we don't have to announce it".

I wouldn't be suprised if the accelerometer eventually had something to do with the touchless UI. I have the feeling, since I'm a programmer, that even with the array of transducers (see the patent) it's not trivial to figure out what the user has done with her fingers. For example, it might be very important to know in what angle the user's hand is to the device ... and this is the point where the accelerometer comes in handy. It helps to know how the user's one hand holds the phone while making gestures with the other. And this altogether is the new thing.

Originally from mobile-thoughts.blogspot.com.

Can't wait to read your comments,

Tote

Predictions for smartphone industry in 2008

tote_b5 | 04 January, 2008 01:59

I've read the recent blog of my fellow Forum Nokia Champion, Paul Coulton, with great interest. Similarly to Paul, I'm not an experienced fortuneteller, but after reading his article I thought I would give it a try, too. You know, what can I lose other than being not right? :)

Let me comment some of his findings, first. Although I can't foretell how ad-driven content will work out in mobile space (since it's simply not trivial how to advertise on mobile devices), I can say the biggest supporter of this model (their name starts with G if somebody didn't know) largely depends on operators' support. If operators (aka carriers) do not make it cheaper for customers to download data from the Internet than it is today, then the success of this model is very questionable. And actually this mostly applies to widgets as well: although they can work with local data, too, the most popular use case of widgets will still involve transferring data over the net.

As to NFC (short for Near Field Communication), although I strongly believe in the future of this technology, it's still in its infancy and I don't think 2008 would bring the break-through in this area. NFC-enabled mobile devices might appear in people's hands in 2008, however, it would only be one part of a larger ecosystem: the wide-spread use of RFID tags in various places (movie posters, business cards, etc.) + the introduction of accompanying services (such as a bus ticketing service) will still be the question of later years. I think.

Paul's list could be completed by the following things in my opinion:

  • Touch UI: it's a MUST HAVE feature for every serious phone manufacturer in 2008. We have seen lots of patents from various manufacturers that had something to do with screens, how they will look like and we can guess how they will work. There's already lots of effort put into working out the ultimate touch-based user interface and the success of iPhone has already shown us that it's not something in vain.
  • Java: the language and its development environment will be more and more popular again thanks to the introduction of Google-phones. As we all know, the programming language and libraries used in Google's public SDK is not Java (neither ME, nor SE), but something else that allows Java developer to re-use their existing knowledge in a slightly different environment. Anyway, I believe Java will only profit from this thing.
  • Awakening of (North-)America to the world of smartphones thanks to iPhone + gPhone. It seems that American companies can convince American people more easily that they need smartphones. And you know the reason why Nokia is happy seeing the huge success of iPhone? That's why.
  • Most innovative players in mobile phone industry (Nokia, Apple, Google, others?) will introduce their internet services designed for (their) mobile phones. Google is an internet company and just about to enter the mobile market (700 MHz frequency auction, gPhone, etc.). Apple has had very popular internet services (e.g. iTunes) for years by now and they now feel the taste of success on mobile area as well. Nokia has always been a mobile company, but they've decided to open to internet services and have already introduced a few popular services (MOSH, Ovi, etc.). Why do they do this? Because pulling money out of customers' pocket once (i.e. when they purchase mobile phones) is not enough - why not getting more money from them? Who will suck from this? Of course, the operators. I would even call it "double-suck", since not only will they suck thanks to people using e.g. VoIP over WiFi (in other words, not using operators' network), but they will suck because people will turn to internet services provided by others (e.g. Nokia, Apple), not their operators.
I'm sure that I've missed a few things that could have been added to the list. Could you help me?

Tote

Smartphone OS market share in 2007

tote_b5 | 07 December, 2007 10:10

I'm a big fan of Simon Judge's blog, Mobile Phone Development, and I read his article about Q3/2007 Smartphone Market Share with great interest. I agree with his findings, however, I would add my own thoughts to it, too.

I found it very interesting that most people might not noticed without paying careful attention to the details, that there are already more smartphones running Linux than Windows. It was surprising for me to see that, as I've sort of had the impression so far that even though mobile Linux has its potentials, it still hasn't gained much market share as of yet. Well, I was wrong.

The next thing worth noting with regards to mobile Linux that almost a quarter of the whole report is about explaining why mobile Linux would be a bad alternative for manufacturers, operators, etc. Surprisingly, considering costs as well. That, of course, shows what Symbian really thinks about this threat.

As to Windows Mobile: I've also read a couple of reports, where analysts predicted that Microsoft would take over the lead role as mobile OS vendor from Symbian by 2010, but I also believe that it's unrealistic. Although I recall a question I was asked informally by someone in London, where I attended Forum Nokia Developer Day this October, that what I was thinking about the competition between Microsoft and Symbian. I asked back: is there any competition? This might sound as a joke and now I think I was too self-confident: although Microsoft might not pose a big risk to Symbian as of yet, it's still a key player that's just getting stronger over time.

I've just read it at over IntoMobile that iPhone outsells e.g. Nokia N95 in Europe. Well, although it's a BIG warning sign, let's not forget about that Nokia

Finally, some notes on mobile OS market share in the US:
  • There are two vendors who have much bigger share here, than all around the world: Microsoft and Palm. Their cases are pretty much different, though: whilst Palm will potentially disappear from the (rest of the) market in the not-too-far future, Windows Mobile is predicted to gain bigger share from year to year.
  • However, it's not only these two players among whom the market is split. Or at least will be soon. Apple has just jumped in to this business with great initial success. Although selling pretty well in Q3/07 is something remarkable, they still need some time and stable growth to catch up.
  • Symbian fills a marginal role in this part of the world, but as we all know Nokia and Sony Ericsson are both working hard to change the situation. Nokia has, for example, just teamed up with Verizon (ehm, it was Verizon who joined Nokia, actually) for developing a fourth generation mobile broadband network. I believe a successful co-operation with a big American carrier is the first step for Nokia to gain a foothold in US. Sony Ericsson, on the other hand, has sold 50% of their share in UIQ (a company, but also the name of a Symbian variant) to Motorola. Even though Motorola is said to be fighting for survival, they're still a key player whose help might always come in handy.
  • Finally, what is not in the figures is OHA: although they're still nothing more than a promising alternative now, the first phones based on Android will appear during next year - I wonder if they will be able to make as a good start as Apple did.

Your thoughts are welcome - as always!

Originally from mobile-thoughts.blogspot.com.

Tote

Tilt-O-Mania, also known as Nokmote

tote_b5 | 15 November, 2007 15:09

Have you ever felt that your idea is stolen and "Damn, I wish I had been faster in doing it"? Now I feel exactly that way.

The first time I heard that another Nokia phone, N95, has a built-in accelerometer I started wondering why on Earth? Why on Earth is it worth for Nokia to put such a device in their phone? Has Nokia 5500 Sport (first Nokia device with built-in accelerometer) proven that it's worth making further experiments with? I haven't seen any analysis telling so, although I admit that it doesn't mean anything. Why on Earth has Nokia kept it secret that there was such a gadget in their hottest device? Is it a secret? Isn't it something that makes the device even cooler?

Then I started to think about what we could do with it? First, I thought RotateMe was a great software, I really liked the idea. But I felt something was missing. Then I found it: why not simulate joystick key presses (i.e. left, right, up, down + press) by tilting the device to the right direction? Since it's fairly easy to simulate key events in Symbian C++ just as if they had really occured, I thought it was easy to implement. The good thing in this idea that it works with existing software, no need to re-write or adapt anything: applications will not notice the difference between real keystroke and simulated.

Tilt-O-Mania

That would have been the name of my software. R.I.P. Now it's called Nokmote and it's not mine at all. :( Sorry guys behind the "sad smiley", I'm happy that you'll come out with an implementation, but I must tell you that I'm unhappy that you'll come out with it. :)

To be honest, I was always wondering why nobody had ever discovered the opportunity in writing such a software. As more and more S60 devices will come out with built-in accelerometer this feature could become such an integral part of user experience that even Nokia might want to use it. I dare to claim that even the joystick could be replaced by the accelerometer + this solution in the future. Not only could Nokia save some money by removing some existing hardware (i.e. the joystick), but they might even be able to use the new spare space for other purposes. Isn't it so cool?

And you know what? The solution is not Nokia/Symbian specific: any (mobile) device having a motion sensor could do on-screen navigation like this. Another Symbian phone, iPhone, gPhone even a laptop, though it would be funny to see a businessman tilting his computer at the airport just for the sake of navigation. :)

On the other hand, I was shocked to find that my(?) idea was not original at all. I mean not that now somebody has come out with an implementation for S60, but this idea was implemented years(!) ago on another mobile phone. You know, some of my colleagues have worked with a MyOrigo device and when I told them my idea they enlightened me that it had already been implemented. Check out this article from The Register  and you'll see that such a device is already on the market. Okay, it is a not-really-famous mobile phone and perhaps it doesn't even make use of accelerometer data, but still the idea is theirs: user tilts software navigates.

Never mind, although I'm sorry to see that I can't be THE pioneer in this area, I'm happy to see that it'll be available to us soon. Good luck for writing the software!

Originally from mobile-thoughts.blogspot.com.

Tote

Android SDK is out - first impressions

tote_b5 | 13 November, 2007 03:15

After watching the video about the introduction of Android for developers, I'm convinced that the new phone will generally be as useful and user-friendly as e.g. the-also-newcomer iPhone. Well, it came as no surprise to me, I'm just expecting a lot of innovation from the new player in mobile space. I don't expect that the new platform will offer as many features as traditional Symbian-powered devices and I can even dare to say that it's not going to be as stable, either ... yet. However, I'm pretty sure that they will catch up soon and offer real alternatives for users, phone manufacturers, operators, etc.

What has totally escaped my attention, though, was that the programming language for this platform would be Java. Based on the fact that it's going to be a Linux-based OS I kind of anticipated that the programming language would be C/C++. I don't know the rationale behind this decision, but it will definitely give a boost to the otherwise stagnating JME programming environment.

I wonder, though, how Google is planning to solve the infamous Java fragmantation problem for mobile phones. What is that? Well, even though Java is a very popular and platform-independent (aka portable) programming language, it's just the set of Java core services that is available on every mobile device. The presence of additional features, such as advanced mobile graphics, security, etc. depend on phone manufacturers' decision, whether it's worth adding them. Which makes Java mobile applications market very fragmanted (some features are available, some are not) and development very frustrating. You know, I have heard an example that a mobile Java game programmer had to make 100(!) variants of his game "just" to be able to distribute it to as many phones as possible.

Another thing about mobile Java development is that most mobile phones are running on another operating system than Java. In fact, Java is not an operating system at all, even though there have been attempts to make Java-based mobile platforms, see e.g. SaveJe for more details. But Symbian OS is similar to Android platform in that they both have their native platform (Symbian OS and Linux, respectively) meaning that platform features are usually available in native programming language first and then some JNI layer added on the top and there you are, it's ready for Java programmers. So far so good. However, it introduces some latency in the equation as it requires some time to write features in native environment first and wrap it in the second round. Will Android suffer from the same problem?

My regular readers already know that I was involved in S60 Browser development and it was very challenging and I really liked it. For that reason, I'm happy to see that Google chose WebKit for their mobile browser (S60 Browser is also based on this rendering engine) and in the demonstration it worked well. I was wondering which display method they would choose for web pages:

  • S60 approach that displays the web page in its entirety without scaling
  • or iPhone approach that scales down the web page to so that it fits to display dimensions, though it's hardly readable, but lets the user zoom it very conveniently (e.g. by double-tapping on screen)

They actually chose both: they first display the page without scaling and then user can scale it down for better navigation. I'm pretty sure that Nokia has their own IPR on MiniMap (i.e. the zooming interface) so that might be one of the reasons why Google didn't choose that option. However, what surprised me that they use the same visual history for page navigation as in S60 Browser.

So these are my first impressions after spending half an hour with Android after midnight. I'm really keen to hear your comments - just as usual! :)

Originally from mobile-thoughts.blogspot.com.

Tote

[Update]: I'm shocked, check this out: Dalvik: how Google routed around Sun's IP-based licensing restrictions on Java ME. It basically says that Android phones will NOT be JME-powered, but you can write JSE programs to them. With Android, Google has introduced their own VM, Dalvik, which eventually does not make use of Java bytecode, but their own Dalvik format. It's all to get rid of Sun being involved in licensing.
It's another question how good or bad will it be to the community. It means a new variant on the horizon, a VM incapable of running so-far-standard Java bytecode, thus your midlets will have to be re-compiled. I can see why Google is happy to have their own solution to this problem, but I can also see why developers would be unhappy due to that they'll have to take just another Java variant into consideration. Even if their pockets will be full with (Google's) money.

Join Forum Nokia LaunchPad - 25% discount

tote_b5 | 05 November, 2007 23:40

Nokia is famous and well-known of their developer support. Forum Nokia is a portal for anybody interested in tools, documents, techniques and insights to developing solutions running on Nokia devices. The recently renewed site now contains a very popular community-driven forum, Wiki, blog, etc. for everybody's use. All this for free.

However, sometimes even this extensive support proves to be not enough. There are cases when you need more information from a more reliable source in shorter time. In other words, more support. And this is when professional support comes into play. Something that you don't get for free, something you have to pay for.

What is this professional support and what do you get for your money?

Whilst there are many kinds of professional support provided by Nokia, I'd like to talk about two of them: Forum Nokia PRO and Forum Nokia LaunchPad. I'm pretty sure that you have already heard of Forum Nokia PRO, available for professionals for years by now. The benefits of this program is well-described here, it's worth noting that it is invitation only. As opposed to Forum Nokia LaunchPad, which is available for everybody, individuals and companies alike. Benefits include free copy of Carbide tool, discounted tech support, application signing, books, early access to technical information and lots more. Although there is a clear difference between services provided for PRO and LaunchPad members (former naturally gets more), I believe it's worth joining either program if you're a serious developer/company.

And here comes the deal

As a Forum Nokia Blogger and "self-appointed LaunchPad ambassador" I am entitled to offer you €200 off the price of Forum Nokia LaunchPad's (otherwise) €800 membership fee. Yes, that is 25% discount! If you have been thinking about getting more from Nokia and joining LaunchPad program, this is the right time to do it!

How does it work?

I give you a promotion code, namely LP600 (short for LaunchPad for €600), that you can use when applying for Forum Nokia LaunchPad membership and that's it! You just need to enter the above code (in Promotional code field) right before pressing Submit and you're done, you pay less.

Convinced or eager to know more? Just visit Forum Nokia LaunchPad for more information and apply for membership!

Original from mobile-thoughts.blogspot.com.

Tote

1 2 3  Next»
 
 
Powered by LifeType