Sunday, September 20, 2009
Direct UI, Orbit, Qt
Wow, it looks like our blog was on a very long summer holiday. One that started early and continued longer than expected. There has been a few things I have intended to write about but they are kind of old news already. One of these issues is Qt and the Direct UI framework to be built on top of that on Nokia platforms.
Earlier this year there were rumors that S60 Avkon application framework would be replaced by a Qt based Orbit framework. My first thought on the matter was: "Why not just go plain Qt, why do we need another Avkon like platform specific framework and make cross-platform development more difficult again?" At that point I wasn't aware of Direct UI or the fact that Direct UI will provide new interaction and navigation logic on both Symbian and Maemo platforms in the future.
It appears that Orbit is just an enabler layer for mobile application development and consists of widgets tailored for mobile development. Together, this all will mean a rewrite of the application suite taking advantage of Qt APIs, Orbit widgets and Direct UI. Avkon will however not co-exist with these frameworks and there will be a binary break. This is probably done in order to fully take advantage of new technology at the cost of maintaining compatibility. I think this is a correct choice as the Avkon framework really is over the hill and the burden of it could result in compromises.
All of this is of course still in progress and the road ahead is relatively long. Symbian roadmap has Symbian^3 (which can be considered as just a necessary step towards Symbian^4) complete half way of 2010. Symbian^4, which is supposed to have both Orbit and Direct UI, is proposed to be ready early 2011. This means there will be devices based on Symbian^4 available somewhere in the second or third half of 2011.
The story for Maemo platforms is very similar. Qt and Direct UI will replace GTK+/Hildon based applications in the Harmattan (Maemo 6) platform that will be available somewhere in 2011 according to current information. In the Fremantle platform (Maemo 5, the platform in the forthcoming Nokia N900 release) the applications are still GTK+/Hildon based but the Qt framework is provided by the community.
Apparently both Symbian^4 and Maemo Harmattan will have Qt 4.6. New features in Qt 4.6 include a new animation framework that is coupled with a state machine framework, support for multi touch and gestures. All of these features are enablers for a modern touch based UI. It also seems that there are efforts to create a new suite of Qt APIs for mobile device functionality in the form of Qt Mobility project, which will further make it possible to create applications targeting S60, Windows CE and Maemo.
So, what does this all mean in practice then? Well, first of all Qt and Direct UI will be a bridge between Symbian and Maemo platforms, enabling cross-platform development between the two. This is something that hasn't really happened yet on any platforms. Secondly, all Symbian third party applications need to be totally rewritten. And yes, I mean totally, since Avkon and Qt/Direct UI will have as much in common as George Bush and Malcolm X.
The positive side of rewriting is that it might actually be easier to completely rewrite a Symbian application in Qt than trying to maintain it's S60 equivalent. I'm a strong advocate for Qt and in my experience writing Qt applications is extremely simple. Qt Creator is making this even simpler.
While these improvements are most welcome and needed it remains to be seen what other manufacturers will come up with in the same time frame. One and a half year from now multi touch or kinetic scrolling won't be exactly state of the art so will Nokia come up with some other innovations in their releases?
Thursday, April 30, 2009
Mobile browsers - what's going on?
- Available in S60 operating system as a default browser. Default browser cannot be changed.
- Based on WebKit like mentioned previously.
- Proper support for normal web technologies (HTML, CSS and JavaScript)
- Decent Flash support, although most of the Flash pages are mostly unusable, e.g. Youtube. I don't use any Flash-based services with this browser.
- Supports WML.
- Small differences in different S60 platforms / feature packs. Starting from S60 3.2 (3rd edition Feature Pack 2), it should be possible to update only the browser, not whole OS. At the moment there hasn't been these kinds of updates.
- I use mostly S60 browser but in some web pages it just doesn't work, in these cases e.g. Opera Mini is a good choice. It is difficult to give good guidelines when to use S60 browser and when Opera Mini, usually web pages that are "complex" work better with Opera Mini.
- Nokia is porting S60 browser to some of its S40 devices, but I don't have any experiences about it.
- Opera Mini is a Java-based browser that is available for multiple devices / operating systems.
- The browser is fast and doesn't use so much memory. When I was using Nokia E70, S60 browser ran out of memory quite often, but Opera Mini worked fine, even if you were listening music when you were browsing.
- Mini uses servers which handle the rendering between your phone and the web site you are accessing. This enables small traffic costs if you don't have unlimited data plan.
- Mini enables accessing your favourite bookmarks anywhere, anytime if you are using Opera Link. This is a nice feature if you lose all the information from your phone, you still have your favourite bookmarks with you.
- Mini is a stable browser that can handle any kind of web page, excluding Flash pages.
- I've had multiple times difficulties using WiFi with Opera Mini.
- You can get Opera Mini by visiting the address mini.opera.com using your phone’s default Web browser.
- Supports WML.
- The only non-Java-based browser that uses server between your phone and the web site you are accessing.
- You can download Skyfire by going to get.skyfire.com with your phone's default browser.
- Like almost all other browsers, Skyfire supports most used web standards.
- Has probably the best Flash support, but still not fully usable.
- I haven't used so much, but I've had quite many difficulties getting Skyfire to work properly.
- I haven't been able to update Skyfire version 0.9 to my Nokia N96.
- When I had Nokia E70, I was mostly using Opera Mobile 8.65 which felt better browser than E70's default S60 browser although Opera Mobile 8.65 wasn't providing full Web rendering.
- Opera Mobile 9.5 has full Web rendering
- When used with X1, Opera Mobile was much better than IE.
- Supports WML.
- I used SonyEricsson X1 Xperia for some time and tried it's default browser, Internet Explorer.
- If I would need to describe this browser with one word, it would be lousy.
- Although I like browsing with mobile devices, I must say I wasn't feeling like this when I was using IE.
- Zoom doesn't work properly.
- There are three different rendering possibilities (one column, fit to screen and desktop). Fit to screen is the option.
- I wasn't using X1 for so long, but it seemed that it has the same rendering engine than Internet Explorer 6.
- I must admit that some part of these lousy experiences can be caused by the device which wasn't so good either.
- Like Opera Mini, Bolt is Java-based browser which uses also server between the phone and the web page you are using.
- Still in beta.
- Good URL auto-complete, just like in Opera Mini.
- Almost identical features when compared to Opera Mini.
- One of the biggest difference is magnifier, shown in second picture below.
- Seems fast, just like Opera Mini.
- Like I mentioned previously, Nokia is porting current S60 browser to some S40 devices.
- Unfortunately I don't have any experiences about this browser. If you do, please share them with us.
- Nokia is not porting this browser to every S40 devices, because they recently introduced Nokia 6216 which has Opera Mini pre-installed.
Safari on iPhone / iTouch
- Like mentioned previously iPhone's Safari is based on the same WebKit engine than S60's and Android's browser.
- Another thing that everybody knows is that this version of Safari doesn't have Flash-support.
- I haven't compared S60's and iPhone's browser but nowadays it feels that iPhone's browser is faster than Nokia N96's.
- Safari supports all the necessary web technologies, like HTML, CSS and JavaScript and this makes it suitable for convenient browsing.
- Don't support WML.
Safari on Android
- Most probably quite close to S60's and iPhone's Safari because all are based on the same Webkit engine.
- I would guess that browsing is convenient.
- I haven't used Android-based phones yet, but they should be available in Finland in Autumn.
- Mostly pre-installed to SonyEricsson phones.
- Available for S60 also.
- If I remember correctly, newest versions have full Web support.
- Used at least to be fast (when I was using Nokia E70).
- Doesn't fully support WML.
I left out some older browsers, e.g. Services -browser which can be found from older Nokia S60 devices and Nokia S40's built-in browser that are both developed in-house by Nokia. These browsers use mobile rendering, meaning that they put all the content on the web page to one, long column.
You can divide mobile browsers e.g. to following categories
- Full Web (Almost all new browsers)
- Java-based (Opera Mini, Bolt Browser)
- Server in the middle (Opera Mini, Bolt Browser, Skyfire)
- Mobile rendering (Older browsers, but some new browsers have this as an extra feature)
All browsers support normal web technologies, including JavaScript that enables for example AJAX-based services. Some are still supporting also WML. Personally I don't have so much experiences about different implementations of JavaScript but the more complex services you make, the more important is to test with different browsers. "Normal and simple" services that are using basic HTML and CSS works fine with all browsers.
Although Flash is supported in some browsers, you cannot really say that Flash-based services would be usable with mobile device.
In future it is interesting to see will for example Nokia be sued because their default browser cannot be changed or uninstalled in S60. The similar situation is in Windows and Microsoft have sued for multiple times because IE cannot be uninstalled.
I've noticed that few features annoy me in mobile browsers, and unfortunately there isn't any browser that wouldn't have these features. One is URL auto-complete, in Opera Mini and Bolt it works like it should but not in S60 browser. Second is that Java-based browsers open "text editor" when entering text, not like S60 browser which works like PC-browser when entering text, just showing normally text that you are writing to input field.
If you want the best possible user experience, I suggest you learn how to use shortcuts. The problem is that every browser are using them differently.
Opera Mini has lots of shortcuts.
As you can see, at the moment there are multiple good browsers for your mobile and only you can decide what you prefer. My choices are S60 and sometimes Opera Mini and I might start using Bolt as well.
The ways I'm using Twitter and Facebook
I usually tweet using Dabr with my phone or TweetDeck if I'm next to my computer. In TweetDeck I have some work related searches configured.
Picture 1. With Dabr, twittering is easy.
Saving Private Phone
- Log in to Ovi.com
- Choose your device pre-selected for you and enter your phone number
- Ovi sends you a SMS with sync information
- Open SMS and save sync information
- Start syncing
After you've synchronized your phone, you can access the information even if your device would get lost or stolen.
Thursday, March 12, 2009
Shopping centre in your pocket
The service consists of list of shops and when you choose a shop, you'll see its opening hours, homepage and phone number. You can also rate the shop and see where it is located.
You can get different discounts using coupongs like illustrated in figure 9. By showing this code in a restaurant, you would get an euro discount from a beer.
When you are going next time to Kamppi you don't need to stand in front of info board anymore if you are looking something. You might also find some interesting discounts from the mobile channel. You can access the service by entering kamppi.nokia.mobi to your mobile phone's browser.
You might wonder how users will find this service? There are posters around the shopping centre the address as well as video ad in the screens. Because this is a browser based solution, it should work in every phone that has browser.
I really like this service, especially because I don't need to stand in front of the info board if I'm looking some store etc. The concept is easy to copy and use in any shopping centre or fare and this way offer good user experience to visitors.
Disclaimer: Nordea is participating to the trial and I have also been involved but thoughts mentioned above are my own.
Sunday, March 1, 2009
Little help for power problems
I've managed to run to these kinds of problems with my Nokia N96 quite often and started thinking of buying an extra battery, just like in my digital camera. Unfortunately there are some problems having two different batteries, for example charging and changing the battery when you need to switch your phone off. Due to these problems I decided to struggle with one battery.
Today I ran to a little helper called DC-11, which enables you to charge your phone wherever you are.
After charging DC-11 I noticed that my N96 switched itself to power saving mode which means that battery is about to die relatively soon. I plugged in DC-11 and was able to move freely, make calls etc. and after about 2 hours the battery of N96 was full.
DC-11 is a really handy and small gadget that helps you before the batteries get better and power consumption lower.
Wednesday, February 25, 2009
WRT Widgets and Aptana Studio
Nokia recently announced The Nokia WRT Plug-in for Aptana Studio. Aptana Studio is a popular web-development environment that offers integrated language support for HTML, DOM, JavaScript, and CSS technologies. Aptana Studio is available free of charge under an open source licence and is based on the Eclipse framework. The Nokia WRT Plug-in for Aptana Studio provides features that enable the creation, editing, testing, and deployment of WRT widgets from within Aptana Studio.
The plugin allows you to preview widgets created for WRT 1.0 and also have code completion for that. You can also develop widgets for S60 5th Edition and WRT 1.1 but the Platform Service APIs are not included in the plugin, so the autocomplete feature will not work for the API functions. Also, widgets using the Platform Service APIs must be tested using the S60 5th Edition emulator. Hopefully we'll see a full WRT 1.1 support in the plugin sometime soon.
The Forum Nokia pages say that the installation of the Nokia WRT Plug-in for Aptana Studio isn’t supported if you are running the Eclipse IDE and using the Aptana Studio Plugin. However, since Aptana is Eclipse based, I found installing the WRT Plugin actually possible. In case you have done some S60 C++ development or maybe Java development, you already might have Eclipse or Carbide.c++ installed. In this case you might not want to install the standalone version of Aptana Studio. I used my existing Carbide.c++ installation and added the Aptana Studio Plugin and the Nokia WRT Plugin on top of that. EDIT: I noticed that only parts of the WRT Plugin will work with Eclipse/Carbide so installing the standalone version of Aptana Studio is recommended. You can still do widget development in Eclipse/Carbide but your tools will be limited.
This is an optional part if you don't want to install the standalone version of Aptana Studio. In your Eclipse/Carbide.c++ installation you can add new update sites to download extension for Eclipse. Add http://update.aptana.com/update/studio/3.2/ as an update site. You can find this from the menu path Help > Software Updates > Find and Install. Select Search for new features to install and New Remote Site.
Confirm and accept the license agreement that follows. You'll also need to accept installation of some components and finally restart Eclipse. After the restart Aptana plugin wants to install Aptana Subversion Support. Install that as well and restart again.
After restart, your installation should have a My Aptana tab open. This is also the case if you have a standalone version of Aptana Studio. Select Plugins and you should find Nokia WRT Plug-in for Aptana Studio. Get it. (Alternatively, you could add http://release.aptana.com/install/nokia1.0/ as a new update site and install the WRT plugin that way.)
Installing the WRT plugin will add a new item in your development environment's projects. You should now see Web Runtime (S60) under File > New > Project. Creating a new project with this wizard will create the minimum set of required files for developing a web runtime widget.
You can easily validate, package and deploy a widget from the project context menu.
The widget can be deployed to either an S60 device via Bluetooth or to S60 3rd FP2 or S60 5th Edition emulator.
Once you have deployed the widget package to the emulator environment you have to locate the wgz file from the File Manager application and install it. The widget package can be found from C:\Other.
You will probably also want to enable debugging facilities for JavaScript. This can be done by activating script logging from S60 browser settings (General > Java/ECMA Script errors).
Sunday, February 22, 2009
Location, location, location
The answer is Location Based Services (LBS) which are discussed more and more everyday. With the help of LBS, you can easily let your customers know where you are instead of taking your services wherever the customers are.
Now some of the service providers have started sharing your location. One good example is Google Latitude which was introduced lately as a new feature in Google Maps illustrated in picture 2.
Luckily Latitude don't show your Google Contacts' location automatically so you need to ask their permission and then they will be added to Latitude. This task is extremely easy because you can choose to add all of your contacts same time without writing their e-mail addresses like illustrated in picture 3.
You can see easily where all of your friends are with a single climps like shown in picture 4.
Unfortunatelly Latitude doesn't offer any interaction methods with your friends, e.g. chat or some kind of microblogging. This kind of feature would be really handy in some circumstances.
Google isn't the only service provider who is offering social location based services, for example Nokia Research Lab is offering FriendView which also utilizes your phone's location. You can see example in picture 7.
Picture 9. FriendView has a webpage where you can see where you and your friends are.
Everybody that has been using services that are showing your location knows that it doesn't work well indoors. Don't worry, there is a solution to this - indoor location. It is possible to define your indoor location with the help of wireless accesspoints. Nokia Research Center has written an interesting article (pdf) about indoor positioning. I hope we'll see some real life experiments about this soon.
It is interesting to see when location is integrated to your phonebook. Imagine seeing all your contacts with their location. Nokia is for example offering Contacts on Ovi through Nokia Betalabs, which allows you to chat with your Nokia Ovi or Google contacts. This service could also utilize positioning information. What if Nordea that is shown in brackets in picture 12. would be my location?
In addition to location, your phonebook could also show all the conversations that you had with your contacts no matter what method (SMS, e-mail, IM) you have been using. Nokia Betalabs is offering a Conversation application that is grouping your SMSs based on the sender. You can see "the conversation" with the person, just like in iPhone.