Opera Mini 3.0 Beta 2 is out

I meant to post this yesterday, but then Blogger had some problems and did not log me in. Now everything is ok, so here’s the post.

I read that Opera Mini 3.0 Beta 2 was out. I was just in the process of downloading and testing. I clicked on the ChangeLog page to discover the new features and fixes.

To my suprised I discovered that eventually Opera decided to re-introduce a parameter to recognize the device it’s running on. This was a hot topic on wmlprogramming as more than one developers and service providers did not know how to deliver contents to their users (don’t think only about ringtones, also consider images rescaled to best fit the screen, for example).
Users download and install Opera Mini because they want a better experience on WAP (and Mobile Web), developers work hard on their mobile sites to provide an optimized experience, but with the old Opera Mini this was not possible. This was certainly an issue.
From the service providers’ point of view it was a problem because they could not recognize the device as all were identified with the very same user-agent.
From the browser’s point of view it was a problem as Opera Mini should be able to manage the download, store it and manage the DRM if implemented. Not an easy issue.

I exchanged a few e-mails with my friends at Opera and they understood the problem. Talking is always good.

So Opera Mini 3.0 Beta 2 comes with a solution. Reading from the changelog:
# Added three new request headers, X-OperaMini-Phone, X-OperaMini-Phone-UA and X-OperaMini-Features

But wait… Let me think… Haven’t I seen this before? Something similar… Oh, YES! MS IEMobile! Now I remember! If you don’t, check out this other article I wrote before, new MS IEMobile user-agents.

I know Opera is for the open standards and is one of the most active companies in the W3C, but… this does not solve the problem for developers! Trying to read Opera’s mind in 3 points:

  • Opera is for open standards
  • Opera wants to be nice to developers
  • Opera wants sites to provide the same page to their browser as if it was a web browser and then the client will adapt

For these reasons they kept the user-agent unique for all devices, but added extra HTTP headers (respecting the standard, of course!). Nevertheless, this requires additional work from site developers aimed only at Opera Mini.

What are developers supposed to do? Install Opera Mini on EVERY device and check how the HTTP headers change to discover which device it is?

There MUST be a better solution.
A unified solution among all browser developers should be taken. I would suggest a solution around WURFL, of course, but if this is not possible, well, then even UAProf would be better.

YoSpace’s SPEDE 6.0

This is certainly not a new release, but today I needed for a few tests and so I also took a chance to write a short review. I have to admit that in the last few months I haven’t been involved in any tough WAP development, but more in writing guidelines and reviewing documents. Nevertheless I think this is going to be a very useful tool, so let’s see what it offers.

First things first. Yospace offers two tools, one is an online emulator for your site and one is a develompent tool, AKA SPEDE.
Where do you get it? A trial version of SPEDE 6.0 is available for Windows, Linux and Mac. Is this the proof of Java’s write once run everywhere?

What is it?
SPEDE is a testing toolkit that offers all the needed tools to verify that your mobile sites work as expected on many devices with little effort. It is primarily an emulator, but also offers more tools that will help developers to clean-up mistakes and optimize pages.

When you open it for the first time you get two devices side-by-side a Sony Ericsson K750i and a Motorola V3i. The devices will display a default start page from Yospace’s site.
On the right you will have a box that represents your workspace (the devices that you want to emulate) and another box for the recently visited locations. Very handy to jump back and forth.

Now the real fun starts. On the right you have a “workspace” box. Right-click and add all the devices that you like. I like to have different brands and families. I’ll add a couple of devices to show you how it works.

With 4 devices side-by-side it’s very easy to see how a page is rendered. You can load and re-load pages on a single device or on the entire workspace alltogether.

How are devices emulated? Yospace buys the real devices, checks the resolution, characters per line, number of lines, screen size in inches (they are from Middlesex in UK!) and everything that is needed to show how the devices look. They also test device features such as available fonts, font sizes, image formats, how images are rendered and so on. They do a deep device testing to make the emulation as real as possible.
Each device will act as the real device and you will be able to browse to any page. Here’s another screenshot with a different page on each emulated device. I could open single URL’s on each of them and then keep browsing. You can click on the buttons to see how it will be on the real device or use your keyboard (much easier!):

What else? Some of the tools available clearly come from the WML days, but they are very useful if you still want to support them and make sure you never get a “Unsupported content” or similar error.
Check out the full source, the decoded markup (if you received a WMLC page, otherwise it will be the same) and WML variables. Cookies are also available, but not in this screenshot. You can see, edit, add and remove them at your will. Feel the power!
Click on the screenshot to see it in fullscreen. You will notice that you can also see the HTTP headers, very useful if you want to check the charset, content-type and other headers. Hex view is also available, just in case you want to edit the binary version! πŸ˜‰
Source URL is a dropdown and you can pick previous pages still in cache (each device has its own cache!).

Like every good browser, SPEDE also give you the possibility to add and manage your bookmarks.


Something that is not present in your default browser, but that will be very useful if you’re a mobile developer is a “device settings” menu that you can personalize for each device.
Configure the user-agent string, decide the parsing strictness and add custom headers.

If you can choose between strict and relaxed validations… You will also want to know if your page effectively validates. SPEDE offers you this too, of course. See this last screenshot that shows errors (if any) and a list of the requests made to download the markup, CSS, images, etc. Very useful!

A “skin manager” will let you see all the available skins. As described previously, skins are not just images drawn around the page, but real implementation of the browser behaviour.

The last feature is also very important if you want to test your site from time to time to verify that everything is still working. The scripting engine. You will get two windows, one with an old Nokia 7110 and a text window. You can write your script, save it, re-open it and edit it. Once you’re happy with it, you can run it.
I have to admit I did not test it, but I understand how important it can be if you keep up a big site for a long time and always want to make sure it’s working properly.

Is this a perfect tool? Well, it’s a very good tool and if you’re serious about mobile development, I suggest it. Like every other software, it’s not perfect. While testing and taking screenshots, a couple of times the Sharp GX30 hung and did not want to open any other page. I forced the workspace to load another page and eventually worked. I don’t konw what happened.
The Motorola V3 and V3i did not load the images for a WAP page that I have developed and incidentally I have a V3 here and works like a charm. I know that YoSpace dedicated a lot of time to this tool and I believe that the rendering if faithful, but of course this little glitch raised some doubts or at least made wonder how precise can be the emulation of a third party tool. Will it be able to emulator all the different sides, behaviours and glitches? I think it’s a very tough job.
When you look at the source code, YoSpace kindly included syntax highlighting. My personal preference would have been for more intense colors such as red. Also, the “Status page” shows errors, if any, it would be great to also see it in the source code window, highlight the markup.

It would have been good to have more Siemens and LG devices.
When are new skins available for download?

One last thing is the general UI. I tested on a Mac OS X. The UI is clearly inspired by Windows. I know that it’s a big effort for a small number of users, but a more native interface would have been appreciated.

Nevertheless, this is a great tool and don’t forget that it’s DAMN cheap!

3 introduces X-Series

I just received an e-mail to view the webcast about the new X-Series from 3.

Just 2 minutes later I read from Tom Hume that 3 might be going out of business in UK.

I don’t know if 3 will really be sold and if Vodafone will buy it, but I can tell you I’m really looking forward to see X-Series. In two words, it’s a flat free subscription to access internet services.
According to the site you will have your standard subscription, whatever you picked and you will add X-Series on top of it. You will be able to call with Skype, chat with Gtalk, Y!M and MSN, watch TV with Sling and browse the internet.
This is all VERY interesting. I wonder what the flat free is and if the internet will REALLY be open.
There are only 2 supported devices. 2 high-end devices from Nokia and SonyEricsson. Why is the device required? I am a bit scared that this is another big marketing announcement and then, when you read the details written in the back of the contract you discover that it’s a flat fee to chat over MSN and not for the whole internet.
I also wonder about Sling. How is it going to work in the other countries? What are Mr. Murdoch and SKY going to say about this?

Anyway, if I’m wrong and it’s open internet…. Count me in!

The service will be launched in UK next month and in the other countries in EU where 3 is present early next year.

On a similar trend, Vodafone Italia has launched “Vodafone Infinity Fastweb” (news item in Italian here) that lets you close your fixed line subscription, receive calls to your old number on your mobile, pay a lower rate when at home (even if you effectively receive the call on your mobile) and use a real aDSL connection for internet (and Skype, why not?).

TIM and Wind in Italy both have mobile and fixed lines, what are they doing?

WURFL 2.0.3 is ready

I just pushed on sourceforge and on the main WURFL site a new wurfl.xml.

The new file is ready to download. It took a few months to have an update, but it was worth the wait. We added a lot of new user-agents and device descriptions.

Notably I did a lot of work with my friends from DADA to add a lot of information about Verizon devices. We now list all the approved mobiles have real user-agents for most of them and also list the unique id’s that Verizon assigned to them. This means that we also list those strings that Verizon uses with its MM7 gateway!

A new capability is also available that will tell you if an XHTML device also supports file upload via WAP. Very useful, isn’t it?

WURFL 2.0.3 can be downloaded. Take it while it’s fresh!

mobile web, make your own standards

Two days ago I posted about MS IEMobile and commented about the features they promote that are not based on any standard, but only on their own ideas and technologies.

Thanks to JΓ©rΓ΄me, I found a link on Six Apart that promotes an alternative way to advertize mobile versions of sites. Specifically of blogs (as that’s their very own business).

If you read the article down to the bottom of the page, you will discover that actually this “technology” was already agreed to become a standard!
So 5 guys get together, agree on something and HEY, that’s a standard!

I didn’t think it would be so easy to make a standard. I wonder what the W3C (I know they don’t make standards but recommendations, but what’s the difference?), IETF, ETSI and other organizations are here to do. πŸ™‚

Orange Partner site

While doing my normal research for new device descriptions resources I discovered this new developers’ site. New to me, at least.

Orange Partner sounds a lot like a site that will provide info only if you sign strict NDA’s or pay something to Orange. All this is not true! What a good news! πŸ˜€

Orange partner requires a registration, but it’s free and takes just a couple of minutes.
Once registered you can access a lot of valuable information about devices distributed by Orange all over Europe. The great thing is that it also lists devices that were customized for Orange. Descriptions are fairly well detailed and list most of the information that you will need about a device.

Lists of devices can be accessed in various ways, depending on the device type, country or Java platform. Not bad at all.

Here’s an example, the Motorola V3. Gives a fair description of the browser markups, messaging features, ringtones, etc. Also provides a sample user-agent and a UAProf URL.
Could go in more detail about J2ME features, but still it’s a lot of good information.

The site also features articles, an online FAQ and forums.

As you would expect from the site name (“partner”) there is a number of services to get your applications and services certified and be served on the Orange network.
Technical support request is also available.

The site is really well promising and already provides a lot of valuable information.

I am always surprised when I see a good site for mobile develoeprs, but maybe, eventually, big corporations have understood that the better support for third parties, the more services for their devices and customers (see my other posts about SonyEricsson, for example).

new MS IEMobile user-agents

A couple of weeks ago there was a post on wmlprogramming about the user-agent for the new MSIE Mobile.

MSIE Mobile has always been hard to detect for server-side software. All mobile devices running Windows present the same user-agent.
user-agents changed when new OS versions or browser versions were released, but there is no way to detect the device model from the user-agent. You will never know if the device hitting your site is an HP, HTC or another device.

Manufacturers are free to customize the user-agent. O2 does this most of the times, examples are the SPV C500 and SPV C600.
Unfortunately most manufacturers don’t do this.

So how do you understand that a user-agent that looks a lot like MSIE is actually IEMobile?

  1. the user-agent is not EXACTLY like MSIE for desktop windows
  2. there are some extra headers that you can use

Extra headers set by IEMobile (all versions):

  • UA-pixels: {i.e. 240×320}
  • UA-color: {mono2 | mono4 | color8 | color16 | color24 | color32}
  • UA-OS: {Windows CE (POCKET PC) – Version 3.0}
  • UA-CPU = {i.e. ARM SA1110}
  • UA-Voice = {TRUE | FALSE}

As you can see, from the above data you can probably get some extra information about the current device.
Too bad that this is in perfect Microsoft-style, which is NON STANDARD. If you want to support Microsoft devices you need to do ad-hoc development.

Jumping back to the original reason why I wrote this post, IEMobile is now going to have a new user-agent:
Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile m.n)

‘m’ is going to be the major version;
‘n’ is going to be the minor version.

Not a big step forward in device recognition, you will have to admit!

Anyway, we can clearly see how Microsoft is working towards standardization and making the developers’ lifes much easier. Here is their idea of making mobile sites accessible. When you tailor your page for mobile devices, use this brand new meta tag and IEMobile will not adapt the page:
<meta name=”MobileOptimized” content=”width”>

It goes by itself that this is not standard; that Microsoft made it up on its own and that no other browser on the market supports this.
So forgive me for being so ironic in the text above. I know I gave you the illusion that something good might happen and then it was a lie. Sorry.

If you really want, you can read the full article here:
http://blogs.msdn.com/iemobile/archive/2006/08/03/Detecting_IE_Mobile.aspx

It is sad to see so many comments from the readers excited about the new features… These are not new cool features, IMHO.

Tera-WURFL

More than 4 years ago I developed the first library to parse WURFL. Initially it was only a PHP file that parsed the XML and created an associative array.

Later I added a class to also search a device given a user-agent and get capability values for the user-agent. With the growth of WURFL, caching was needed to try to speed up the search and retrival of data.

My WURFL PHP library has a very minimal set of requirements, PHP and XML support compiled in. This is something that I never wanted to change during these years to make sure that ANYONE could download and use it.

I am happy to announce that more development has been done on top of my original library and that Steve Kamerman, the author, has achieved great performance results with his new library.
The new library uses MySQL, so a new requirement is added. For this reason I will keep my library as-is, but still, if you have a database available and want some good performances, then I suggest you take a look at Tera-WURFL.

It’s worth visiting the links presented below to see it in action.
There is a test page that lets you see how user-agents are matched and some speed test.
Also, since Tera-WURFL uses a database you will need to update it when a new XML comes. Steve provides a nice admin panel to manage the script and data (don’t mess up with it too much!).

So, once again, congratulations to Steve for his huge work and great new library.

Cingular allStar program

In August 2006 Cingular launched a new program for its develpers’ site called Cingular allStar.

I sent an email and quickly received a reply that they would be happy to list me as an allStar. I received a list of questions and you can now see the replies on the allStar program homepage.

Cingular is a very important operator in USA, we want to give better support to US devices and carriers in WURFL. This is certainly a first step towards that (not to mention all devices that we already list).

The developers site has changed a lot in the last year or so, demonstrating that the company wants to provide better support to developers. Many articles about browsing have popped on the site. This is a great for new developers approaching the mobile space.

Keep it up!

M:Metrics first Quarterly Web Briefing

A few days ago I posted about the two Web Briefiengs that my colleagues from M:Metrics would have made this week.

If you missed any of the two and are interested in listening to them, they are now freely available online. We have two formats provided, Windows Media and Macromedia Flash. This should make them usable on any platform.

The two briefings cover mostly the same topics which are MMS, video, mobile TV and mobile VAS in general. The EU briefing is about EU too and provides more numbers about the 5 major countries that we cover (Italy, UK, France, Spain and Germany). The US briefing is quite interesting because compares many figures between US and EU and gives some hints of what should happen in the next few months.

If you are interested, here is the M:Metrics Q3 Web Briefing EU Focus and here is the M:Metrics Q3 Web Briefing US Focus.