Browsing conversations tagged with " symbian c++"
Sep
23
2010

A deep look into Ravensoft’s creations and Nokia offerings with Andy Nugent

Most of you probably already know Ravensoft, the company behind the popular Tweets60 and Battery Extender apps for Symbian devices.

Today Andy Nugent, one of its founders, shares with the Nokia Devs‘ readers his thoughts and experience talking about these apps, about mobile development for Nokia platforms, and suggesting some improvements that could bring benefits to Nokia developers and users.

ND: Hi Andy, welcome to Nokia Devs! Please tell us about yourself and about Ravensoft.

Hi, I’m Andy and I founded Ravensoft along with Chris Byrne and Mark Johnson in 2007. At that point I’d been working as a software developer for nearly a decade on various projects, from servers with terabyte databases backends to implementing SMS clients for phones with RAM measured in the kb.

Mobile software was always my main interest, it was a lot more satisfying developing something you’d actually use on a daily basis. I’d worked with Chris and Mark in the past, and we setup the company with the aim to develop some of the apps that we wanted for our phones.

ND: Which technologies do you use to create apps for Nokia devices?

We mostly use native Symbian C++ in Carbide with the various S60 SDKs. We’ve played around with Java and WRT but the apps we’ve worked on have always required us to implement them natively. There’s a couple of guys in Ravensoft who have used Qt on desktop projects, so we’re currently looking into what we can do with the new mobile Qt SDK.

ND: You have published various apps on the Ovi Store: what’s your impression about it? Anything you’d like to be improved?

It’s getting there. It’s almost hampered by the variety of devices Nokia has. Roling out updates across the full range is a huge task.

From a publisher point of view, you really want the purchasing to be a lot better, so you can offer a trial / lite version, and people should be able to upgrade in app. The current system of publishing two items, and expecting people to go back to the store, buy, download and reinstall the full version isn’t great. Also, being able to contact users who review the app would be great. We’ve seen comments on our apps where people have had problems that we either have a solution for, or we’d like more info so we can try and solve it, and we literally can’t contact the user.

As a user, things like being informed when an update is available, being notified when the developer of an app I’ve liked has released something new, better recommendations (you’ve downloaded apps x, y & z. Other people who download those also downloaded a, b & c), etc. Basically just better discovery (and a slicker client).

Some of the recent announcements, like in app payments, should help with these, and hopefully the Qt client will be rolled out across more handsets.

ND: Can you describe your Battery Extender app in 10 words?

Intelligent settings and features management to extend standby time.

ND: This app received great feedback from its users: how did you have the original idea? Was there anything you added or removed due to specific platform functionalities?

Basically a combination of annoyances I had with various phones and things I’d take time to do by hand. If I was out with my camera, I’d use Sports Tracker to generate GPX logs for geo-tagging my photos, I’d turn down all the other features so the battery would last longer. If I’d gone out straight from work and I knew a late night was on the cards, I’d spend a couple of minutes adjusting settings to my phone would last the night. And my big mistake was leaving Google Maps running after I’d used it for directions, which just kills the battery once you’re in a building. So Battery Extender aimed to do all this without me having to think about it.

We did look at adding in functionality to switch between 2G & 3G dual mode to just one, but the security permissions required meant we wouldn’t be able to use Symbian Express signing anymore, which would have made each new release very expensive. Hopefully Ovi will extend the free signing to existing apps (it’s currently only new apps) in the future. Other than that, Symbian is pretty much open.

ND: In your opinion, which are the most important factors to create a great app? And which the errors that developers should avoid at all?

I think you really need the right idea, and then get the app finished as soon as possible, you don’t need it to do everything in the first release. There’s nothing more annoying than having the idea and sitting on it only for someone else to come along with a similar app.

I’m also a big fan of mobile apps that do the core tasks cleanly. I don’t need them to be cluttered with every possible function a service offers. If users are only going to carry out a task infrequently, then let them do that when they’re using a desktop machine.

ND: Which is the app that gave you the most positive feedback? Please tell us a bit about it.

We’ve already spoken about it, but Battery Extender has been by far our most popular application. People are genuinely shocked by how much of a difference it makes. We’re currently looking at what more we can do to make it simpler to make the battery last even longer. We have a couple of ideas, but first off we’re going to look at allowing the user to change the phone’s profile (silent, meeting, etc) via Battery Extender, but partnering this with changing the phones settings. So when you go into the cinema and switch your phone to silent, you also switch to max power saving as well.

ND: Which are the features that you’d like to see in the near future on Nokia platforms?

I think you really want to see a better user experience from the built in frameworks. Having done some iPhone development, and just dropping in web browsers, maps, kinetic scrolling lists with graphics, variable size text, etc. All with very little effort so you can concentrate on adding functionality. You really want something similar on Nokia’s platform. Qt is going to help with that, but that still needs to be rolled out on a lot more handsets so you can really develop for Nokia’s huge user base.

I’d also like to see a lot more consistency in firmware versions across the range of handsets. So rather than having dozens of phones on the market, all with 2-3 different firmware versions in public use because networks haven’t passed the latest one, or the latest one isn’t available in a certain locale yet. It’d be great to get all non-touch screen phones running release x of S60 3.2, and all touch screen phones running release y of S60 5.x. It’d make testing apps a lot simpler, and in my opinion remove one of the major barriers in developing for Nokia as opposed to Apple.

ND: How do you see the Nokia overall strategy and platforms, if compared to other mobile platforms?

Apple and Android have a big strength at the moment that their platforms are fairly un-fragmented. It’ll be interesting to see how long they manage to keep that going. This has largely been achieved by offering upgrades to existing phones. That’s really attractive to users when they’re signing up for a 2 year contract, and also great for developers as you have a lot less need to be developing for older OS versions. Possibly something Nokia could think about?

I think Nokia switching to Qt is a great move. It should really help bridge the gap between the great looking Android / iOS apps, without the developers having to spend significant amounts of time developing their own custom controls. Switching the built in apps to Qt should really help with giving phones a ‘wow’ factor when someone uses it for the first time. It also takes away some of the uncertainty regarding Symbian vs MeeGo, in that it shouldn’t really matter which underlying OS the phone is using.

On the downside, I do think Nokia’s range of devices could be a lot clearer. The C series is the prime example, you have the C6-00 & C6-01, which have different form factors and different versions of the OS. You then also have the C3, which is based on a completely different OS (Series 40). Is the general public expected to know why an app doesn’t work on their C3 that their friend has on their C5/C6? Apple certainly going to have this problem. It’s a balancing act between offering a user choice and confusing them, but I’d say having a handful of form factors (E71, N8, E7, etc. equivalents) with 3 variants of each, that are clearly branded as low / mid / high end would be a better solution.

ND: Anything else you’d like to say to Nokia developers?

I’d say to be active in Forum Nokia. When we’ve had any issues with publishing in the Ovi Store, having someone to contact with issues has been invaluable.

Jul
9
2010

Talking with Gargi Das, Python developer with an eye on LBS and embedded systems

Today Nokia Devs talks with Gargi Das, an enthusiastic Nokia developer from India. If you are a Forum Nokia Community member, you may know Gargi (a.k.a. gaba88) for his excellent contributions, especially in the Python for S60 area.

ND: Welcome Gargi, please tell us a bit about yourself.

Thanks, I am a Software Engineer from India. I am an Nokia Enthusiast and a Forum Nokia Champion too. I love writing applications for Nokia devices. I carry a expertise in getting some good Location Based solutions and GIS, apart from that I also write applications for IPhone and Samsung Devices.

Generally I am fond of Bollywood Music and Movies :)

ND: Which platforms and technologies do you use for mobile development on Nokia devices?

I have almost used all technologies (except Java) that Nokia provides to write applications for its devices. I started with the open source Python, continued with Symbian C++ using carbide.c++, and I’m still developing apps in Symbian c++. During for a sort period of time I used Aptana studio and javascript to develop some WRT Widgets. Currently I am developing applications using the new Nokia Qt SDK and Qt for S60.

ND: When have you started to develop for Nokia devices, and which are the main differences when developing an app today, compared to when you started?

I wrote my first code for mobile devices which was in Python during my early college days, in mid of 2006. The first Nokia device I used to test my application was the Nokia 7610 which was cool device that time. Through out my college days I wrote several applications using Python, JavaScript and Symbian c++.

Nowadays developing applications for mobile is a part of my profession, and the best part compared to the past regards resources: today lots and lots of resources are available to learn new stuffs which makes a developer’s life bit easy. Apart from that, the options to develop for different kind of platforms have widely opened out, with the presence of other smartphone OS in the market.

ND: Have you published, or do you plan to publish apps on the Ovi Store?

As of yet I have not published any apps on Ovi Store, but as recently Nokia has allowed individual developers to publish applications on the Ovi store, I am developing some apps using the new Qt SDK and as soon as that are finished I am going to make then live on the OVI Store.

ND: Can you describe your Calls Info app?

The main objective of this application is to give a detailed analysis of money spent by the user on his or her mobile phone. Calls info gives a graphical analysis of outgoing calls and incoming calls by which the user can know to whom he is making the most calls and from which caller he is getting the maximum calls.

There is analysis of the calls and their cost which will make the user aware of his or her cost details. If we talk about postpaid customers in India, they don’t get the knowledge of their bill instantly if they want, but by using this application the postpaid customers can easily know the total money he has spent. Apart from the cost analyzing objective the application has the objective to make the user aware of his or her location on which he or she has made a call or received a call.

ND: You have a great experience with Python for S60: which are the pros and cons in using this technology, in your opinion?

As I have told previously Python was the language using which I started developing applications for mobile devices, I helped and still helping lot of people at the Forum Nokia Python section, I also wrote some tutorials for newbie’s which helped them to start developing applications using Python for S60.
The Best part of writing applications using Python for S60 devices is its rapidness, Python for S60 drastically decreases the development time of an application compared to other platforms and at the same time its still functionally powerful.
The bad part is that Python needs a runtime on the backend to make the applications work and the runtimes are not shipped with the devices, so the deployment and distribution of applications become a bit difficult, which makes Python a bad choice for writing commercial applications.
Anyway, if I get any chance I will more than love to write applications using Python for S60.

ND: Generally speaking, which are the biggest hurdles you face when developing for Nokia devices, and which the major benefits?

To be very honest there are quite a few hurdles when developing applications for Nokia devices and at the same time there are lots of benefits which makes the developer happy and enjoy the development.
Talking about the hurdles when using Symbian C++, which was the main platform to write applications for Nokia devices, the bad point was that, if you are a beginner, then by no means you are going to love developing apps using Symbian C++ and, apart from that, development time was also an issue. But with Qt for S60 I hope that these shortcomings will be overcome, as Qt drastically decreases your applications development time, and learning Qt is simple too.
Talking about more benefits, Nokia Developer offerings and support is one of the best in through out the mobile ecosystem

ND: Is there something you’d like to see in Nokia devices or technologies, that you haven’t seen yet?

To start writing this let me remind you all that I am a very big Nokia Enthusiast. I am using Nokia Devices since 4 years and as a user I love those devices. But there are certain things which Nokia has missed out and I hope those things will be back to Nokia soon.

If I talk about features in a device then I can firmly say no devices can be compared with Nokia one based on its features, but recently Nokia has failed to create some innovations and a very good UX, I hope with the upcoming S^3 , S^4 and MeeGo Nokia will strongly fight back and will be on top as always.

ND: Please share with us your impressions about the general mobile ecosystem, and how you see it in the next few years.

We all developers know that this Mobile Eco-System is growing at a very fast rate. We as developers have lots of option to choose a platform and language to give some ideas a practical sense: some factors like ease of development and a better marketplace to distribute the applications play a major role in making a ecosystem very effective and grow rich.
The good thing about the ecosystem is that every one here is taking a step to make developers life very easy and I guess they know what amount of importance developers carry for a particular ecosystem.
The main challenge I personally see as a developer in this mobile ecosystem is the level of fragmentation already occurred and I if I see the future I don’t see this going down at any stage, so we as a developers need to work out on some thing which helps all of us to fight up this fragmentation issue.

The next thing I am going to tell is that Nokia, and particularly Forum Nokia is doing an excellent job in reaching out to the developers, helping out in any manner and form they can. This point gives Nokia a special point in my thoughts and I know whatever be the challenges, Nokia will definitely come up front.

Last but not the least I will thank the Nokia Devs’ guys for giving me a chance to express my thoughts and they all are doing a excellent job and it was just a small help from my side to them.

Advertising

Facebook Fans