Category Archives: phones

Opera Mobile 11.50 on Nokia 5230 Series 60 and HTML5

This is a browser you can install on a Nokia Symbian phone. It has better HTML5 support than the default.

The HTML5 test site scores the browser as 286 (compared to 94 for the standard browser) out of 475.

The details are here.

Key things (in my opinion) are:

Canvas 20/20. 2D and Text drawing are supported.
User Interaction 0/36. Drag and Drop – No.
Web Apps 15/20. Application Cache – YES.
Communication 15/36. XMLHttpRequest (Level 2 No, but original is there).
Storage 15/20. Local Storage – YES.
Workers 15/15. Web Workers – YES. Shared Workers – YES.

Very promising (but still no drag and drop).

Nokia Browser 7.3.1 on a Nokia 5230 Series 60 Version 5.0 and HTML5

This is the standard Nokia Browser for Symbian phones with an Software version of 51.0.002.

The HTML5 test site scores the browser as 94 (as at the 31st of March 2012) out of 475. The HTML5 standard is still evolving so the score may change with time.

Okay so we have a score, which is good for comparisons, but what does it really mean for developers and users.

The details are here.

Some of the features I find important are:

Canvas 20/20.
It understands the canvas element and 2D and Text drawing.

User Interaction 0/36.
Drag and Drop – No.

Web Apps 4/20.
Application Cache – No.

Communication 9/36.
XMLHttpRequest – Partial.

Storage 0/20.
Local Storage – No.

Workers 0/15.
Web Workers – No.

All up it is a bit disappointing but one can work around some of the shortfalls.

Nokia has its own version of local storage that can be tested for and used (leaving us still doing browser specific checks in HTML5, for now).

Installing Apps on a Mobile Device

There are three basic ways to get an app on to your device.

App Store

The most common is probably: going to an app store (eg Google Android store or Apple iPhone), picking one, downloading a file directly to your phone (or to a desktop device and through a USB cable to your phone). The file is in an appropriate “installer” format and includes everything needed to install the app on your phone. That means: the program and also any settings and other files needed. Typically these include the program name, the icon to display, the program id (often used as part of where to install the app), and the program version. It can also include a list of what permissions it needs from the user in order to run (access to: internet, location, sms, etc).

On an Android phone the file ends with “.apk” and the program is always a set of java classes. You can do HTML apps on Android but these seem to ship as a set of resources (files / pages) that the java app uses. Your java app simply calls the built-in web browser and turns on a bunch of normal settings such as javascript support.

A Nokia S60 phone is very similar. It’s file ends with “.wgz”. The same settings, files and permissions are present even though they are in a different format. The program is normally a native executable. That is, it runs directly on the device hardware. However, it can also be a set of HTML pages which the installer will automatically associate the built-in browser with.

On Apple the file ends with “.ipa” in the Apple AppStore (see wikipedia .ipa). This is really a “.app” file with some extra bits for the AppStore. (See wikipedia .app but ignore mention of Symbian and note that iPhone also uses an ARM processor).

The install file is really easy to use.

HTML5

The second way to get an app on your device is actually easier. It is SO easy you probably don’t even know you got it.

HTML5 apps on the web include the ability to be downloaded onto your device for speed / performance / bandwidth reasons. If you’ve used one of these, it is on your phone. Once you’ve got it, you no longer need access to the internet. You no longer have to pay for downloaded data (it’s already downloaded). From a developer’s perspective it is the ultimate in making life easy for the user. It is a zero-click download.

The drawbacks are: you don’t even realize you’ve got it, and – at present – none of the browsers contain an uninstall option for these apps.

Probably this will change with time. I really love the simplicity of the installation but we probably need browsers to: pop up a message saying “Application installed” after it downloads the files in the HTML5 manifest, and list installed apps and provide a “remove” option.

The worst fix, which we get sometimes, would be to ask a thousand questions during the install (Are you sure you want to download file 3 of 17? what about file 4? where would you like to save this? An application is trying to install …, Some files can be harmful …, The internet can be harmful …, Technology can be harmful … and so on).

I already have to tap about eight times to call someone on my phone. Let’s not mess apps up too.

ZIP file

The final way to install an app is the hard way. It is a ZIP file containing the program, icons and settings. You unzip the file and copy the contents to your device. You may still need to do some steps to register the app on the device. With a HTML app this can be: open your browser, point it at your installed index.html file, and click the “save favorite” option.

HTML5 and Mobile Device Performance

I have been tinkering with the puzzle program.

One of the difficult bits with puzzle (that the user never has to deal with) is cutting the picture up into tiles. I am going to put something together to do the hard work; but I haven’t yet. However, in this modern era of HTML5 and with me being very impressed with how far Javascript has come, I thought I’d build it into “Puzzle”.

The new version of Puzzle is here – but don’t try it on a mobile device.

 
 
Things that are new with it are:
– you can change pictures, and
– you can change the difficulty level.

As suggested above, picking a picture results in the application slicing the image up into tiles. You could, in theory, point it at any picture on the web and have it use that. It’s theory because there isn’t a choice for “use own picture”; but it would be a simple change.

Also, given that I’m splitting the picture up as we go, it becomes possible to change how many tiles it get split into. This leads to the difficulty level setting. With this version you can choose the grid size. Instead of four rows by three columns, you can have five by four or six by five. Twelve tiles becomes up to thirty.

Performance unfortunately takes a turn for the worse.

The individual tiles all exist in browser memory as PNG files. They don’t exist on the web. They aren’t cached. Every time you move a tile the browser has to convert the PNG format to a set of pixels and redraw the tiles that move. It takes time.

On a very low end laptop the time required was noticeable. On a mobile device it would be agonizing.

I think the performance hit is coming from the internal conversion from PNG but I don’t know as yet. I shelved ideas for even larger grids.

The new “Puzzle” requires the HTML5 canvas feature. Some performance-related ideas to try are:
– display the canvas element and do the visible moves using it.
– don’t change what image is in what box – move the box coordinates instead.
– cut the images up beforehand and do a HTML4 version.

The canvas element is intended for this sort of thing so there is a good chance that image manipulation and display using it will be faster than loading images into other HTML elements.

If the browser has gone to the trouble of building a bitmap for an image there is a good chance that moving that image’s location on the screen will take less effort than rebuilding and redrawing the bitmap.

The HTML4 approach would establish a baseline – how slow/fast was this before HTML5? If it also proves practical, well that isn’t a bad thing. What we’d lose is the ability to use any picture and to cut it to any number of tiles.

Nokia and HTML5

Well, I am really quite disappointed; and a bit surprised.

About 10 years ago I lived on what was known as “the bleeding edge”. It is a term referring to that area past “the leading edge”, an area well and truly past what is possible and into the untried, untested, and often unfeasible. It is the stuff of science fiction before it becomes science fact. It was a good place to be, with many satisfying “wins” despite the also numerous dead-ends. It involved a small company with a very innovative view of the future and which did amazing things.

Unfortunately the bleeding edge is aptly named and being too far ahead of the present led to the death of that company.

I joined a large, safe, traditional company and managed a range of teams who did traditional things. They did them well and they included a few small and safe innovations. The company stayed well away from anything involving risk and the easiest way to cancel anything was to discuss the risks.

My time outside of work has also focused on the “tried and tested” and well-established; though with some regret more recently.

HTML5 came out a little while back and seems to be the current technology. It is established. It is in use. It isn’t new and untried. It isn’t “bleeding edge” and, whilst it is nearby, I wouldn’t even call it leading edge. It is in use. We are past the early adopters and at the start of the masses – where “everyone” is getting on-board.

So I am indeed surprised to find I have taken my readers and customers beyond the realm of the possible.

I have a Nokia 5230 phone at present. It is a bit old these days, having come out in December 2009 or early 2010, but it does still get software updates. It got updated using Nokia/Ovi Suite last year to something like version 40.0.003 and the browser speed improved considerably. Javascript (software that runs in the browser) became practical and Java’s claim to fame, “write once, run anywhere”, came true with HTML applications and Javascript (no relation to Java).

The latest “standard” for HTML is HTML5. Internet standards start as discussion papers, get introduced, become widespread, and are formalized as a standard long after everyone is using it. So make no mistake – this is the current standard. Browser manufacturers are releasing browsers that work with it and are bragging about how much better theirs is at HTML5. It is not just the latest releases of the browsers either. HTML5 has been supported by Internet Explorer from IE8 (see quirksmode.org). According to Wikipedia, IE8 “was released on March 19, 2009”. At my time of writing that is almost three years ago. The current release is IE9 with IE10 due out real soon. A similar situation exists with Firefox, Chrome, and the other browsers. HTML5 is mainstream.

In the phone world: Android has HTML5 support, as does Apple, but Nokia is sadly lacking. There is a HTML5 compatibility site which ranks browsers. At the time of writing, Nokia doesn’t appear – not even at the bottom of the list.

Nokia has a number of new releases imminent.

The first (Ver 50) has been out for a while but, as I bought my phone through a reseller and the reseller hasn’t packaged their customizations up into their version of the new release yet, it wasn’t out for me. That got solved by converting the phone to the normal Nokia release and then downloading the update. To my dismay, whilst having lots of nice things in it, it still doesn’t support key HTML5 features. By “key” I mean LocalStorage and Canvas which are the two enhancements I have been using. It does have some HTML5 support and scored 123/450 at the HTML5 test site (see the nokia 5230 blog)

Symbian Anna is the next release. It has the same browser as Ver 50 for the 5230.

Symbian Belle is the one after that. unleashthephones.com did a review which put Anna on a Nokia Symbian v3 phone at 96/450 and Belle at 152/450. (The Nokia 5230 runs Symbian v5).

The best solution seems to be to install a different browser. Opera has been recommended on other sites for the 5230.

Update 16 Feb 12

Nokia Browser 7.3 and 7.4 that come with the Anna and Belle releases do not support HTML5 to any great extent.

Nokia Browser 8.5 that comes with the MeeGo 1.2 Harmattan OS on the Nokia N9 does a reportedly full implementation of HTML5 (www.developer.nokia.com/Develop/Web/Documentation/).

You can save information from the browser on S60 devices but only with proprietary Nokia function calls (Nokia’s Javascript WRT object) and these are only available if you create a Widget (locally installed Web App).

Countdown Timer

I am terrible with time.

I promise the kids I’ll be back inside in 10 minutes and 30 minutes goes by. Time just passes at a different speed when you are engrossed in something.

There are apps to solve this problem. They go on your phone and I even installed one. My phone went flat. It just chewed up the battery at a great rate of knots finding out if the time was up yet.

Okay, I’m in a phase of doing apps myself and I haven’t had one up for a few days so here is a possible solution (see picture).

You can run it here.

I don’t know if it is any better on phone batteries as yet.

HTML5 Puzzle

My youngest daughter got a tile puzzle a few days ago. You know, the ones where there is one blank square and you slide the tiles around to make a picture.

Anyway, I liked it so I thought I’d do one for your phone. It looks like:

You can click “Show” to see what the picture looks like and click “Start” to jumble it up.

You then click on a tile to move it, and any others in between, towards the black (empty) square. Keep moving the tiles until it looks like:

It can be found here

HTML5 Scribble App

There is a very nice Scribble application that allows you to draw on any modern phone / tablet / iPad or PC.

It looks like this:

You can try it at www.wintellect.com.

Here is the same application rewritten to suit any size phone, with a button for “Clear”, and with changes because my daughter wanted a finer sized pen. Unfortunately it loses the nice chalkboard for simpler sizing.

It has been trialed on an iPad and it doesn’t work. The iPad doesn’t support “drag and drop” which means you can’t draw by moving your finger (or a stylus) around. I’m guessing it’ll get fixed in an update at some point. There are things other than Scribble which need you to be able to drag.

The latest version looks like:

You can get it here

How to Connect a Nokia Phone to the Internet using the USB Cable

IP Passthrough (Nokia Network Bridge) is a tool that allows you to connect your nokia mobile phone to the internet via the USB cable and your PC.

This is good because you don’t need a data plan and the associated costs for your mobile.

It has a couple of “gotcha”s:
– the PC (or laptop) MUST be connected to the internet via wire. It doesn’t work with WiFi.
– the PC (or laptop) MUST be running Windows 2000 or Windows XP.

It hasn’t worked for me, as yet, because:
– my laptop has XP but uses a WiFi connection to the net, and
– the desktop has Vista on it.

Installing on Vista with Admin rights doesn’t solve the problem. It uses a legacy Control Panel Application that may rely on underlying OS details that have changed.

If you have a recent model mobile phone, you can probably connect using WiFi to your home, office, or other WiFi network for internet access.

If your phone is an older model without WiFi, the options are:
– get the above (or a similar product) working with vista or 7,
– plug the laptop into the router/modem with a cable, or
– get a mobile data plan.

The last option is the long term solution. In this era of cloud-based computing, it no longer makes sense to have a device that doesn’t connect to the cloud.

4G

Well, it looks like it is all starting to happen.

We had GSM phones (2G) for quite a while and then, when everyone was comfortable with that (market saturation), we moved to 3G phones. Despite my comment about the market state at the time, there were also very good technical reasons to move to 3G and so we find ourselves in a mainly 3G world today.

With most new things there is a “catch 22”. Manufacturers need a big enough market for it to be worth their while, yet the public needs to see enough manufacturers for the public to become a market. You can come up with the technology; but – no matter how good it is – if no-one buys it, you go broke.

What I am finding interesting is that the 4G technical war seems to have settled and we have reached the standardisation stage. This lowers the risk for manufacturers and the consumer market is beginning.

4G is technically very nice. It is a more consistent solution for an internet age. We lose legacy “connection-based” communication paths and move to Internet Protocol for the whole system. Yes, these are phones and no, you can’t talk or listen any faster. However, most people use their phones for much more than voice these days. Modern phones do a lot of web surfing. This can be looking stuff up, calling up a map or a street view, updating your facebook status, or tweeting your thoughts. 4G looks at all communication, even voice, as data and transfers that data the same way. The wikipedia article is 4G

4G offers better data speeds and this means streaming movies, video conferencing, and office work from your phone. Okay, phones are small and tablets are the rage, but tablets connect to phone networks too. And doing office work on a tablet whilst enjoying the sunshine on at the lake shore will appeal to many.

So is anyone making 4G phones? Does anyone have a 4G network? The answer is, “yes” to both. They are starting to appear:

An Android 4G phone from Verizon
Samsung 4G phone for Sprint
Microsoft 4G phones coming
4G Tablets for T-Mobile

Sure, this is in the US and they are often different to the rest of us, but 4G is starting to pop up elsewhere too:
Australian Telstra 4G network

How to Install a Browser App on a Phone

Background

A browser application (app) usually consists of a number of files. There are likely to be images (pictures), javascript files, HTML files and others.

If you save a webpage in Internet Explorer (File, Save as…, type: Webpage complete) or in Chrome (Wrench, Save page as…, type: Web Page Complete), you get a HTML file AND a folder with lots of other files.

Setting up a browser app is similar. You need to setup the file, the folder, and all of the files in the folder. Then, you can go to the “web” page.

You don’t really go to the web, you access it locally on your phone (or PC or iPad or …). It doesn’t cost you any internet access fees or any data download fees. It doesn’t rely on the web server being up. It isn’t limited by the speed of an internet connection.

The easiest way to set up all of the files and folders (some apps have more than one) is to arrange them all on your desktop computer (Windows, Mac, Linux, …) and then copy the entire “tree” of files and folders to your phone.

The easiest way to arrange them all is to have them in a ZIP file that you can expand using the already ZIPped paths.

All of the phone apps on this site come as a single ZIP that you can expand and copy to your phone.

The Process

1. Expand the ZIP somewhere.

For example, in Windows:

a. Right click the ZIP and choose “Extract All”. You’ll see something like

b. Click “Extract”. A new Explorer window will open like

2. Connect your phone to your computer so you can copy files.

With Nokia phones, I find it easiest to use a USB connection and “Mass storage” mode. This avoids using Nokia’s OVI software and just causes the flash drive of your phone to appear as another drive on your computer. Copying is then a simple Windows Copy and Paste. The computer may take a minute to recognise the phone as an external drive if you haven’t connected it before. When it is ready you see

Press the Enter key (to “Open folder to view files”) and another Explorer Window will open. In my case, it looks like:

3. Copy the files.

Keeping with the above examples:
a. Go to the Explorer Window with the expanded ZIP in it.
b. Select the files. If you are lucky it will have a single folder (like “hp67” or “hp29c” etc) and you can right click that folder to select everything. Otherwise, press Control-A (to select all) and then right click one of the items.
c. Choose “Copy”.
d. Go to the phone Explorer Window.
e. Create a new folder if necessary (right click in the right hand side and choose New then New folder, give it a name).
f. Go into the folder where you want to put the files (I use “Greg” for things I’ve added).
g. Right click the right hand side and choose “Paste”. You should see “copying files” for a bit, then it’s done.

4. Disconnect.

a. Safely Remove Hardware. If you are connected using USB: note which drive the phone came up as (K: in the above picture), close that Explorer Window, click “Safely Remove Hardware” at the bottom right of the computer (in the “system tray”), and choose the drive that connects to the phone.
b. Unplug the phone.

4. Using the Application.

a. Run your web browser.
b. Go to the installed page.

For a Nokia phone:
Options, Go to, New web page. You’ll see “http://www.”.
You need to change this to the installed the browser app.

(1) In my case, the phone refers to the flash card as drive “E:”. (Note this is different to what the desktop called it (K:)). You can often find out what the flash card is called by looking at properties of music (or other files) copied on to the phone. These will usually say where the files are stored – such as “E:” or “C:”. So, as far as my phone is concerned, I installed the “hp67” folder in “E:/Greg/”.

(2) In the “hp67” folder are a number of files (and subfolders). One of the files is the one that the browser should display. With my applications this is always “index.html” as this matches what is often used on web servers and the internet. With other browser applications it may be a different file so check any instructions that came with that particular browser app.

(3) When you know the drive, directory, and file; you can change “http://www.” to something like “file://E:/Greg/hp67/index.html” and touch the “Go to” button.

c. Save it in your Favorites / Bookmarks so you never have to remember where it is installed again.

For Nokia:
Touch the 3 lines button and choose “Save bkmrk.”

Here is what you should end up with, for an iPhone:

Nokia S60 and Windows

Well, it looks like the end of the line for the S60.

It happened a little while back, whilst I wasn’t noticing, according to wikipedia. The story is “In February 2011, Nokia announced [they will use] Windows Phone 7 as their Primary OS [instead of] Symbian.”

I could be wrong but it does look like Symbian (S60) will fade into obscurity. The article goes on to say that Nokia shed 3000 Symbian staff to Accenture on 29 Apr 11. Accenture must be getting something out of the deal; but it looks like a nice way to give ex-Nokia staff a way to get involved in other development lines.

There is still some potential. Nokia were open-sourcing Symbian / S60 so perhaps we’ll see a dedicated team of enthusiasts supporting it. The catch is, whilst open-source developers are keen, very capable, and often produce better products; their focus is rarely on commercialising the software. It is commendable but it doesn’t result in market leadership. They really are a great bunch of people but, for all the wrong reasons, we are likely to see the mobile phone market become: Apple, Android, and Windows (not in any order).

It will make it easier to develop phone apps and it will be easier to find something that works on your phone. So – despite my sadness – there are pluses too.