OperaMini supports Flash and tabs
Wednesday, February 13th, 2008A new release of OperaMini supports Flash and tabbed browsing. This is very interesting as IPhone does not support Flash yet.
A new release of OperaMini supports Flash and tabbed browsing. This is very interesting as IPhone does not support Flash yet.
Among the news stories describing the recent proposal of Microsoft to aquire Yahoo! I found out that the latter has released a new mobile service software called Yahoo! Go. It looks like a Java program. The home page allowing to download it opens on my Siemens A60 but I am unable to download it because it says my cellphone is too old.
This is another example of a mobile software targeted at an over-crowded market of low-end smartphones. It is true that people have more cellphones than computers these days, but how many of those are smartphones? On the other hand, the trend is clear: instead of imrpoving legacy hardware usability, industry is pushing people to upgrade their traditional cellphones.
Mobile is a very hot area these days. There are lots of improvements in mobile browsing technology. The minimap approach is to allow a user to preview the web page and then zoom in a region of interest. These browsers are graphical in their nature. Bomjpacket uses a text transformation approach. It changes layout of a web page and makes use of a pre-installed mobile browser to display these text-only pages. This approach has a number of benefits. First, it works on any hardware, including phones from early 2000s. In addition, graphical approach uses horizontal scrolling. That is, if there is a long line then instead of wrapping it to the next line the graphical browser will display only part of it and require user to scroll. While scrolling is not bad on its own, it needs special input devices such as stylus or a scrolling wheel. Most cellphones have neither. Text-based approach does not require horizontal scrolling, only vertical.
There are a lot of features I would like to implement. When deciding on importance of a feature, I am trying to follow commercial software. Why follow rather than innovate? Well, I am thinking that what is good for thousands of users is what I also need. That is, I might not even know what I need. When I look at advanced technology I am starting to understand that this is indeed cool and that I also need it.
Is being a follower bad? Of course, I could spend my time trying to improve text-based browsing instead of implementing barely working JavaScript engine as I did. However, Opera has announced that it supports JavaScript in the new release of OperaMini in the Fall 2007. As a company, what would I answer if I was working on text-based browser? Users are so bored of text messaging and now I am saying that I have text browsing. They would turn away. Instead, in December 2007 I proclaimed that I am also doing JavaScript, but on a less expensive cellphone, that is, on any cellphone and the user does not have to download anything. In other words, I have improved on what Opera has done a couple of months earlier. Therefore, being a follower is not always bad in software business, I think. Everybody knows a big company doing exactly this.
Here is a list of features I would like to implement in 2008:
Bomjpacket: best thing since sliced bread. And it is free.
It has been nearly one year after inception of Bomjpacket. Here I would like to describe how it all started, the main milestones and plans of future development.
When I started as a Senior Lecturer at Dzerzhinsk Poly we needed course web pages but there were no Internet access. Thus I thought of using cellphones to access Internet. It was cellphone boom at that time. The prices were as low as 0.2 cent a minute or 10KB of WAP traffic. This enabled the use of a cellphone as an Internet access device. This kind of Internet became virtually free. I am wondering if situation is the same in other parts of Russia, in Europe, around the world. I guess it is not the case at least in the US where the cheapest subscription was around $20/month.
So we started in February 2007. I figured out that an inexpensive cellphone could not access HTML pages. I learned WML and created a few pages in it. However, students asked for regular HTML pages. My initial guess that they would use cellphones was wrong. They did use them but they preferred traditional Internet.
Since there were two versions of each page we had to synchronize them. Instead, I decided to write an HTML->WML converter. WML is a restricted HTML. That is, very few tags are allowed. In addition, headers of a WML file are different from HTML. In the beginning, I was creating HTML pages that were using that limited number of tags only. Thus, converting was trivial.
In May 2007 I realized the full potential of this technology. The free Internet looked so attractive. I have improved Bomjpacket to the point that it opened up a few web sites of interest such as Wired magazine. However, it was far from being a full-fledged Internet browser. In Summer 2007 I was working on improving the quality of Bomjpacket.
The main difficulty was fixing HTML. These pages are often malformed in the sense that a tag that is open does not get closed, the nesting of tags is not preserved, etc. HTML in fact contains excerpts in a number of languages: HTML itself, CSS, Javascript. Initially, I was getting rid of those fragments. What remained after that needed a lot of work. The main idea was to delete unnecessary tags leaving mostly text. However, deleting all tags erases structure of the document. Initially, I allowed <H1>, <H2>,… , and <P> tags. On the resulting page Bomjpacket placed the header titles. Pressing on them opened related pages. If a paragraph was too long, it was divided into a number of pages.
However, the main structuring information was in the <DIV> tags. They were often nested into each other. Imagine this tree-like structure. The root node has a number of children. Thus, the main page includes previews of each children node which is typically the content of that node cut at a specific length. This principle of generating preview of each node applies at each level of the tree. As the user navigates down the tree, (s)he uncovers additional content. When (s)he gets to a node with no children, the whole text is displayed. Bomjpacket-1.0 was released on August, 9.
I was using Bomjpacket as the main source of Internet as I only had dial-up at home which was quite expensive. I needed to search the Internet. Google home page has a form where a query is entered, a button is pressed, and it gets submitted. Thus, forms and POST/GET queries was the next thing to implement. I used libcurl as the networking library. It has a lot of nice features such as security and cookies. I did use cookies in Bomjpacket but SSL was not working with Godaddy hosting plan. Bomjpacket-1.2 was released on September, 7.
While browsing Internet like this, I noticed that there are a lot of small images of size 100×100 pixels that would perfectly fit on a small screen. In the beginning of Internet everybody had Under construction animation on their pages. Time has gone and Flash is the dominating web technology supporting animation, interactive user interfaces, etc. However, those pesky images are in use today as well. I have added small image support in Bomjpacket-1.3, cleaned up the code, and let it go on October, 10.
After working the whole summer and half the fall on Bomjpacket, I looked around and thought what was next. I was tempted to write an academic paper but then I asked myself: what is the innovation here? I did not have a clear answer so I decided to innovate more. IPhone was the buzzword at that time. One of its strongest components was Safari. I was thinking if we could get any closer to Safari. To me, the most important feature was Javascript. Another supporting argument was the fact that Javascript was responsible for hiding parts of a webpage. If those commands were not executed then everything on a page appeared visible. Imagine all menus expanded, all tabs displayed simultaneously, etc. The web page becomes very cluttered. Off we went to implement JavaScript and CSS support.
I used existing implementations of JavaScript and CSS in PHP. However, they were mostly working under PHP5, whereas I was using PHP4. I converted those projects to use PHP4 and released Bomjpacket-2.0 on December, 28. At that time, Bomjpacket was dependent on a number of external projects. My primary goal was to make these projects interoperate smoothly. I was a kind of crazy engineer adding lubricant at rusty parts. It reminded me of Siberian Cutter movie of Nikita Mikhalkov, thus I codenamed this release with that movie name.
Of course, JavaScript support was not comprehensive enough. As of now, it only parses Google and Google News. JavaScript, DOM are very convoluted technologies!
At the beginning of 2008 I find it tempting to further work on JavaScript. However, this is not our top destination. There are other cool features on the horizon that I would like to implement. The roadmap is in the next post.
Continuing from the previous post, here I will describe characteristics of a perfect Internet browsing device. Over the past year I have been watching different kinds of phones trying to figure out what is necessary to browse Internet on a cellphone.
1) Big screen. The holy grail of mobile browsing is folding a wide-screen HTML page as you see it on your computer into an extremely small mobile screen size. Therefore, the bigger the screen the better. However, mobile browsing was never a priority. Very few phones have big screens. Here are a few inexpensive ones:
![]() |
![]() |
![]() |
| Samsung C300 | Siemens C75 | Siemens M65 |
![]() |
|
|
| Fly SX210 | SonyEricsson 500i |
The Siemens has been manufacturing wide screen cellphones in 2004 and 2005. Recently, a number of sliders have become available from Samsung and Fly. The latter is quite an innovative company. We will discuss this particular phone below. Its other phones have cute features such as game console emulators.
2) Fast processor. I was pondering the question of why mobile browsing did not become popular in early 2000s. The WAP technology was available at that time. What we are doing now is basically catching up on unexplored technology of previous generation of hardware. It often happens in science that useless things are invented, then get forgotten, and then re-invented. Pneumatic tire is a perfect example. However, rediscoveries have rarely happened in computer science which is a very young field.
A notable exception is virtualization. It has been invented in 1960s but went mainstream only in 2000s. Mobile browsing has been invented in 2000 but it will become popular in 2010.
I guess the low CPU speed hindered the adoption of technology in both cases. It is difficult to find out which CPU is used in a cellphone without cracking it. IPhone has an ARM11 processor which is fast. But smartphones are more expensive than ordinary phones. The processors used in the latter case are so slow that scrolling a 100 lines of text introduces a significant latency into browsing.
3) Touchscreen. Bill Gates mentioned in his CES 2008 keynote that multi-touchscreen is one of the most important technologies of the future as it impacts how users interact with devices. There are a few cellphones with touchscreen. Again, everybody knows Palm but they are different from cellphones.
![]() |
|
| Fly SX210 | Sony Ericsson Z558i |
4) Keyboard. This is a smartphone attribute but lets think if a cellphone should also have it. The fact that cellphones do not have it yet is a design decision rather than a price reduction effort, I believe. IPhone does not have keyboard at all.
I think that Internet browsing does not require keyboard whereas working with e-mail does. It is up to the user to decide if (s)he needs keyboard in his/her cellphone. You can get a smartphone such as Palm Centro nearly for free in the US with a wireless carrier contract. Motorla Q, Blackberries are also inexpensive with a contract. The rest of the world will have to pay roughly $400. Basically, we have no choice other than wait. Centro is certainly a step in the right direction.
![]() |
![]() |
![]() |
| Palm Centro | Motorola Q | Blackberry |
5) Software. Each cellphone has a pre-installed browser that accepts web pages in a number of formats. WML is a very restricted version of HTML allowing text, images, and links. XHTML adds user interface elements such as buttons. A few browsers accept HTML pages like those found in the Internet. They either transform them to fit on the small screen or display a page preview using smaller fonts and allowing user to zoom in a region of interest as S60 does. Wikipedia enumerates multiple browser vendors.
6) Editor’s pick. I would recomment an inexpensive cellphone with a large touchscreen. Fly SX210 fits this criterion. This is our phone of choice.
Bomjpacket has a demo page that allows everybody with a cellphone to try out this HTML->WML converter. Whenever a user accesses this demo site, information on the make of the cellphone is logged. To those concerned with their privacy, these information is available in HTML headers as the name of the browser, like Mozilla or IE. Therefore, we believe we are not doing anything wrong when recording this type of information.

The statistics includes data on Russian users only. The users of this service were college students for which this system was developed. One might say that the results are therefore not valid. I would say that students are most enthusiastic part of population. Of course, I am unable to predict average user age of this service but I believe it is around college student age. Therefore, restricting user base to those in college would not affect results much.
It is clear that Nokia and Samsung account for 75% of Russian market. I would say this goes along well with my own feeling. If you walk into any shop in Russia you would see these two makes necessarily and a few others depending on type of shop. Fly and LG cellphones are available there as well, but it looks like customers do not buy them. Another explanation is that they are used for purposes other than Internet access.

This image shows world statistics. I opened up Bomjpacket for everybody in August 2007. Since then, a lot of people from around the world have accessed it. Nokia and Samsung hold a 50% share which is a significant value as well, but it is less than in Russia. Motorola and Siemens have similar numbers in both cases, 15% and 8% respectively. The remaining 25% went to SonyEricsson. Why are they so unpopular in Russia? My perception is that SonErics are entertainment kind of phones. Probably, people in Russia do not listen to music on the go. They read paper books instead while commuting.
So where all these users are? The following diagram shows the country of each user. It is clear that the US is the largest consumer. However, a lot of European countries are behind the Other part because the number of users from each such country is insignificant. The number of users in the EU is nearly the same as that in the US. It looks like there is a dependency between make of phone and country, although I do not possess enough data to make any conclusions. It looks though that Samsung and Motorola are stronger in the US and South Africa, whereas Nokia and SonyEricsson are better represented in the EU.

Why isn’t there a cellphone for book reading? There are Java programs that convert any TXT book into an applet. It looks like cellphones need improvement in terms of screen size, most importantly. Sliders try to address this problem. I will try to summarize necessary characteristics of a perfect Internet browsing cellphone which would perform equally well as a book reading device. Stay tuned.