You Are Here:

Community: Blogs

Gabor Torok's Forum Nokia Blog

Enterprise Mobility Development

tote_b5 | 28 October, 2009 23:06

Some of you might have read one of my previous posts in which I wrote that I had had to choose between mobile and enterprise development mostly for personal reasons. I was sorry to realize this because mobile is my passion, but I thought the change was inevitable. Now I don't.


It's a cliche that the job market is much bigger for enterprise developers than for mobile devs. That was one of the main reasons why I had to change area, too - not as if I didn't enjoy enterprise as well. The interesting thing I've just come to realize that there's a gap between the boundaries of the two areas: it's for people with knowledge on both (otherwise huge) areas. The opportunity is great for both kinds of developers coming from either direction, because it offers a way to reach out even more people.

Now you understand why I read an article the other day with great interest: it described the required skill set for an enterprise mobility developer. First, it just confirmed that my theory was right: there's a need for such people. Second, let me add some more points to the list provided. I could have extended the list on the original blog post, however, for that I should have had an account on that site which I was reluctant to create. Here's the list:

  • Bandwidth: I think it was network what the author really meant. Bandwidth really is one of the characteristics that one needs to pay attention to, but it's also worth mentioning different types of networks (from 2G to 3.5G, WiFi, VPN, etc.), their main characteristics (e,g IP address re-assignments, frequent network outage), roaming, etc.
  • Options for development: today's popular web development (very important to note that it's mostly applicable for smartphones only, thus not an option for the vast majority of mobile phones) vs native vs any other environments.
  • Testing: never-ever forget that emulator/simulator is not the same as the real hardware. Peculiarities of various networks also count (quality, reliability, QoS, etc.).
  • Option for cross-platform development: one company may target one platform at a time, however, it's also wise to plan ahead and build the foundation with the future in mind.
  • Deployment, maintenance: app stores vs downloadable install packages from own site. Keeping enterprise service and mobile client versions in sync so that they're always fully inter-operable. Auto-update. Etc.
  • Monetization, marketing: what I really mean here is making use of app stores as efficiently as possible. It's today's trend for mobile manufacturers to have their own stores and compete with carriers who would also like to monetize on this opportunity (by having their own stores). Sort of a war between vertical (manufacturers) and horizontal (carriers).

And I'm sure we've still missed a lot from the list. In any case, that was my two cents. :)

Cheers,

Tote

Smartphone OS market share - 2012

tote_b5 | 09 October, 2009 20:56

Yes, you read it right: it's 2012. Gartner published a report (link: Computerworld) in which they forecast the following smartphone OS market share for 2012:




We could all see the trend which players remain, disappear or gain strong foothold for a while by now. Nokia has always been the strongest when it comes to smartphones and they will be able to keep their position according to Gartner. They have a huge loyal user base and Nokia as an Internet company and phone manufacturer in one will probably be able to fight successfully against its competitors.

Apple has great technical innovations (form factor, made touch trendy with multitouch, etc.) in addition to the ability to sell (how easy it is to forget about this!). Their tight control on most parts of the mobile value chain is very different compared to what their competitors do, but it has proven to affect user experience in the right way and made this business very profitable for the company.

Google is a goliath in Internet business with huge influence on people's lives already. They use this power to become successful in mobile business with a great strategy: cost reduction for everyone, let it be manufacturers, network operators, developers, users, etc.

All these companies are able to make people passionate about their devices. The term, convergence, has been already accompanied with smartphones in the past few years, however, it's always been about integrating something into the deviceMP3 player, FM radio, digital camera, GPS, etc. This time it's different: we're living the age of integrating the mobile phone into an even bigger thing, a cloud called Internet. It's no surprise why Google is successful with Android: people are already dependent on their services and they "only" had to provide the means for mobile users to access these services via their beloved gadgets.

It wouldn't be surprising if these figures became true by 2012. All the remaining players are less innovative (Palm Pre is a copy of iPhone), struggling with finding their identity (M$), are not offering a portfolio that is wide enough (BlackBerry is a business phone), etc. It might be worth noting that data communication will be dominant by 2012 and will drive the growth of MID-market. Wonder if Gartner has reckoned with this, too.

Tote
 
Ps.: Google Chart API is our friend. :) 

Fate of Symbian C++

tote_b5 | 09 October, 2009 20:53

Historically, Symbian OS has evolved from EPOC, a mobile operating system written originally by Psion. The foundations were laid down in the 80's and a lot of work had been done to it while it became EPOC32 in the late 90's, the direct predecessor of Symbian OS. Also for historical reasons, the developers of Symbian decided to deviate from standard C and not-yet-standard C++ and create their own flavour of programming language. They thought their own exception mechanism (aka leaving), string handling (alias descriptors), naming conventions (C, M, R, T classes), etc. are better than anything else and make it the most appropriate tool to write an entire operating system and related frameworks for resource constrained devices.

They were probably right. But since it was a deviation from "normal" it was a question of time to turn out if people tolerate the difference. People, also known as developers. Through developers the whole market. Small and big players alike.

When Nokia acquired Trolltech speculation started. About Nokia's real reason, I mean. A lot of people didn't believe that it was "just" about making a common framework for smart- and feature phones + desktop computers. Personally, I thought it was a really valid reason alone, though naturally wondered how it would affect the future of Symbian.

People also speculated if not only will Nokia replace Avkon (the UI framework for Symbian S60) with Qt, but change from Symbian to Linux, too. Time has proven that it was not the case. Symbian OS was - and it still is - so valuable that it wouldn't have made sense to throw it out. Nokia has achieved so much with this operating system, put so much money in the development of it and most importantly the system has proven that it DOES work so that it is reliable, secure, can be customized, etc. It simply made sense to keep it.

The latest news about Qt vs Symbian C++ is that "Qt will take over the application layer on Symbian devices, among others, reducing Symbian development to under-the-hood core programming at best" (from El Reg). At best. So finally it seems the market (again, through developers) didn't tolerate the afore-mentioned deviation. Not as if developers didn't have a bunch of alternatives to develop for Symbian devices: Flash, web run-time, Java, Python, .NET, etc. Still, the programming language that offered the most freedom to developers has apparently failed to attract and keep the masses. It is now time to retreat in the wings.

In the closing words, let me chew upon how much marketing could have supported this programming language to become more popular. Take, for example, the "official" language of iPhone development: objective C. Is it a deviation from standard C? Yes. It's not even C++, if that counts at all. Is it easy to learn? Personally I didn't have the chance to study it, but my ex-colleagues did and they told me that it wasn't that difficult as they had anticipated. Admit that they had a decade of experience in mobile sw development that most people don't. What I'd like to point out, though, is that there are languages that are much easier to learn and use in practice, such as Java, Python and the likes. All in all, I think Obj-C is at least as much deviated from the standard as Symbian C++.

Then why is it so popular in contrast with Symbian C++? Perhaps it's because of the tools - compare the two emulators, for example. Or is it the processes - there are pros and cons on both sides: Symbian Signed has received much criticism, but Apple approval process is not much better, either. Or is it the hype that surrounds iPhone devices and related development environment that made developers to forget about the imperfection of this language? I think it's pretty much that case. What made the hype? Innovation and marketing, i.e. that Apple could find out something new and they could sell it, too.

Symbian C++ could have been saved with a bit more selling power, in my opinion. It is not going to disappear, just less apparent. And I don't cry for it, because I know it's called evolutionI just wonder what those years will be worth of that I had spent with it.

Tote
 
 

Rate This

 
 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia