Category Archives: JavaME

Myths of mobile Web2.0 (and mobile Ajax)

One of the next buzzword these days is “Mobile Ajax“, as THE technology that will save mobile applications. This was especially true with the recent announce of “SoonR”, the first mobile enabled Ajax application. Looks good, but unfortunately, I have no Ajax enabled browser out of the thousands of handsets we have here at MobileScope….

But this generates some buzz, and as usual, some hype. So, in a “back to reality” attempt, I’ve tried to discuss a few myth of “mobile Ajax” here:

  • Mobile 2.0=Mobile Web2.0 (and Mobile Web2.0 = Ajax on mobile). Wrong, as this imply a choice of technologies. The good thing (or is it a bad thing?) with mobile, is that there is a huge choice of  technologies. If mobile is connected, does not mean that it is connected only through browser.
  • Ajax is the only technology to create mobile mashups: (this is the same wrong statement than in the web): No, basically ALL technologies can be used to create mashup, to access to existing Web services:
    • J2ME (and not need to use “JSR172″ to do this)
    • FlashLite can do it to
    • Native OS of course….
    • Even Wap/Html/Xhtml can be used to create mashups…
    • A few example of personal mobile mashups (done in “plain J2ME”)
  • Ajax applications will run the same on mobiles than on PC, and this will save us some porting costs. Wrong! Seems that the Write Once Run Anywhere myth is back!! It was actually already not achievable through technology designed for this, so I did not see how Ajax app (which is basically designed for one or two platform) will be able to address suddenly thousands of different platforms….. And all the existing so called mobile Ajax applications are ALREADY specific for mobile. The SoonR mobile version is not the same one than SoonR on PC….
  • Ajax applications are a way to by pass operators….There is
    absolutely NO link between operators and this. Java, Flash, Symbian
    applications can be acceded directly by end user as well as Ajax
    applications (and with a bigger installed base). In fact, there is a
    link: as an Ajax is an online application, it’s easiest for them to
    block certain site if they want too….And no way to install it outside
    the browser! The biggest issue is not the access, is the billing…Or
    the business model. How to make end user pay for services in an easy
    way….

I like Ajax as one of the technology that I could use to create a better experience, but as discussed in one of my previous post, I think that the complexity needed both in the browser and the application is unnecessary on mobile device, and we should take the mobile  opportunity to solve some of the technical issue raised by Ajax on the web. There is also an interesting article from Dioan Hincliffe raising a few of the Ajax issues: Seven things that every software project needs to know about ajax.
A few of his remarks:

  • Ajax applications are complex applications (even if they are doing simple things). This leads to this comment: “Good Ajax programmers are hard to find”
  • The browser model (of Ajax) haves some limitation: no way to access to some local resources of the handset…
  • The browser was never made for Ajax. In other way, ajax developer used the installed base of modern browser to create something unique.

Now, back to mobile….Should we try to duplicate current ajax complexity to mobile, with one model, or can we try to solve some of the issues of Ajax?

I am a strong believer of the last option. There are already three technologies that will play significant role in the future: J2me, FlashLite, and Ajax. Only one is really deployed now and it’s J2me. FlashLite is on the way and Ajax far from being a reality yet. But these three are complementary, and could work together in a perfect way, in a different and better model than on the web.

Technorati Tags: , , ,

Flickr got maps – good time to GeoTag!

Two interesting news for today:
First, Flickr introduced some mapping feature for geotaged picture. You can see where these picture has been taken. Of course, visualisation is done through Yahoo Maps, which is less accurate (outside U.S.) than GoogleMap, but that’s a good start, and probably a big incentive for Yahoo to correct this soon.
Of course, this feature is nothing really new, but it’s nice to see in integrated. Note that “Pikeo” is an Orange project that intent to do the same kind of things, but not as smooth as I would expect it…

Surfview

The bad side seems to be that you need to do an extra step, even if your photos are already geotagged. You need to “import” them (go to “organize”, then “map”). This step is probably not needed and useless.
The other issue seems that YahooMaps seems to contains a lot of errors, as you can see on this snapshot….

The other good news of the day is the announce that I am involved in the “mobup” project since some monthes now. Mobup is a free open source Flickr uploader. Now mobup haves some geotagging capacities: if you have a connected GPS to your mobile phone through bluetooth, Mobup will add Geotags to this. Of course, the geotagging picture capacities of J2memap are based on Mobup…

Technorati Tags: , , , ,

A small guide…to J2me benchmark/test midlets

Calibrator v.1.4 Many times I’ve browsed the web to find the “best” midlet to do testing, finding supported JSR, and so on. So here is a small list of resources I’ve found on this topic. So feel free to add unlisted things, so I will be happy to extend the list.

  • Calibrator
    This one is doing a good job in many areas, testing all capacities of different JSR, RMS speed,video/audio capacities, etc…Results are send to a server, but this server side is really lacking of polishing. No organisation at all….That’s the only point to improve, but the midlet proven to be very useful. That’s my current favorite.
  • TastePhone
    Here also, a lot of different tests are made, including RMS speed, copy speed, etc… Results are available on the result pages, but it might be in French only
  • JBenchmark
    On of the older, probably good for speed checking, but limited forother informations. Speed issue is only a small part of the problem. But good website to browser the results…
    Note that there are others benchmark now, JBenchmark2 (for MIDP2.0 devices) and JBenchmark3D (for JSR184).
  • GrinderBench:
    position themseves as an “industry benchmark” developed by EEMBC, but coming very late in the market, and focused only on speed benchmark.
  • FPCBench: Update: The author of FPCBench posted some info on the bench as a comment of this post. It seems that it’s more than just speed. Unfortunatly, my main concern with this bench is that the UI is not as simple as Calibrator (why a Calculator is needed in such program), and results seems to be send through SMS…
  • MicroCode: another project, not tested (thanks Wendong)

Other interesting resources:

I use frequently J2mepolish device database library, to quickly find if a handset support a specific JSR or not…. This database can be reused with j2mepolish to create specific build per device, or device family.

Technorati Tags: , ,

Navigation on mobile for free (nearly)

I’ve just realized recently that GoogleMap has an interesting possibility. When looking for directions, you can specify a latitude/longitude location instead of an address. This opens up the possibilty of real time directions on your mobile, linked to your GPS( thanks to J2memap)…
So I’ve quickly implemented this in Version v0.906, thanks to the “here” location in the direction box. If you type or selecet here, your coordinates will be used as a starting point.

Here is an example:


Lost in Paris?

Lets find an hotel

Do I have an issue with “é”?

Let’s find how to go there

Hum…

and follow the sign…

This is GPS navigation for free (except the data costs, that might be huge depending of your operator!)

And my disclaimer: this is an experimental feature, and does not attempt to replace any “real” navigation system!

Technorati Tags: , , ,

Mobile Widget Frenzy: Mobidget is coming

Let me introduce a company where I have some involvement as a technical advisor. This company is called Mobease, and their first product, still in beta, is called mobifindit! It’s a search engine for mobile phones that goes through offline and online content… MobileCrunch already has a positive review here. Mobifindit! will soon reach the 1.0 stage, but the company is working on a second important project named Mobidgets!

Mobidgets is a widgets engine for mobile phone. I will not describe all the features here, first because they are not yet frozen, but also to keep some excitement. I will do it in a later post. But Mobidgets is looking for alpha testers, people who are interested in creating widgets for mobile phones. So, to join the program, we prefer you to be a developer but there’s no need to be an expert! The only constraint is to have a Symbian S60 device 2nd Ed FP2 or FP3. If you are interested, go to Mobidgets.com

And here is a screen shot….Looks nice, no?

Update: a Java MIDP2.0 version is in the pipe too! The Symbian one was only a little bit more advanced than the J2me one. Of course, widgets will be compatible between the two versions, but Symbian provides some features not accessible through Java.
Technorati Tags: , , ,

Opera Widget Strategy: Widgets everywhere….

This interview with Opera CEO gives some hints about Opera strategy in Widget space.

Opera is probably one of the players with the best positioning. Technically, they will benefit from their Opera platform, that contains already some important piece for a widget engine, the rendering engine, a script interpreter. Even better, their proxy technology that allows the transcending “on the fly” of widget from PC to Mobile is also a key benefit.

They also have on of the most deployed browser, so their strategy make sense.

Is this the ultimate solution for widget? I am not convinced, for different raison that I’ve already raised. A widget running on desktop and mobile will be different. Not only for size reason, but for usability reason: keyboard instead of mouse, other input functions, etc…. What will be the easiest path? To create very simple well adapted to different device, or try to create a single app adapted to all device?

I think that some widget could be easily adapted, a clock, or a weather widget are probably things that could be easily scaled to different platforms, but does a “phone book widget” on a mobile will be the same than a “phone book widget” on a PC?

Technorati Tags: , , ,

Nokia E61 and GPS

I’ve just discovered something today, thanks to a user of J2memap: The nokia E61 support the JSR179, but does not have a built in GPS. So it can be only server side localisation. But you also have the ability to pair it with a GPS bluetooth device directly, so JSR179 implementation will use this informations…Smart approach! Unfortunatly the JSR179 provide more limited information than a full access to the GPS device, but that’s probably the price to pay for interoperability.

Ok, the E61 design could have been better, but the screen is really great, especially for this kind of application!

Technorati Tags: , , ,

What is a (mobile) Widget

This is a translation of an article that I wrote for a French blog, about “mobile widgets”. It’s a general introduction and description of the widget, and especially mobile widget concept:

Plusmo So, what is a mobile widget:

A widget is generally speaking a small application, a little bit of code, that does one simple thing but does it well. The second important things about a widget, is that they can be combined together. The last one being the fact that usually, it’s fairly easy to develop a new widget (comparing to developing a full application).

To be able to run a Widget, you need a “Widget Engine”, which is the framework needed to run these micro applications. On the PC, the most popular is Konfabulator, and Dashboard on Mac OS-X. Web applications haves also their own widget, that can run within the browser, like clock, web counter, etc….These applications exists since a long time, it was called previously plugins, components, extensions, gadgets, but the real innovation is that it’s now in user hands: they can combine these widgets to create their own unique application. Typically, the user can choose to have CNN news, Paris weather, a Flicker photo stream, a clock, etc….

This approach fits particularly well on mobile world, where space on screen is limited, and where it’s not easy to switch between applications. Some companies like Widsets, Bluepulse, mFoundry, Bling and Opera have developed some widget engines. Not all of them haves the same approach, even if all of them recognize the filiations with Widget. Most of them are for the moment personal news /RSS reader (Widset) but extremely well done, others allows some interaction with the user (plusmo, mFoundry, etc…). All of these engines -except Opera widget – are for now available on top of J2me. The interest of widget is both for users and developers:

  • For the user, he can create his own application buy choosing and customizing his widget set.
  • For the developer, he can easily develop and deploy application for end user. Of course, not all application can fit into the widget description, but I believe that in the future, a good combination of Web/Ajax based application and Widget will fill 80% of the needs.

I recommend particularly two applications: Plusmo, which is in my mind on of the most interesting one but with a poor UI, and Widsets, which is the opposite: a great UI but the application itself is lacking of maturity. Of course, I am not any more objective as we (Webwag) also have a mobile widget engine.
I believe that Widget will be the equivalent of “Web2.0″ app for mobile: adapted to small screen size, solving in an elegant way the portability issue, providing real interest for the end user it’s certain that this kind of application will become more frequent in the future months.

Of course, there is still a lot of open question: does a “standard” wil emerge (see C.Enrique post
on this)? Can Desktop be reused on mobile? (I think that the question
is more “is there an interest to reuse desktop widget on mobile”).

If now widgets are in most of the case a way to access to some RSS content in an easy way, I believe that their scope will extend to integrate more interactivity with end user, and conquer more space on your phone sceen!

Technorati Tags: , , ,

Another Flash from J2me developer perspective (Part1)

First, let me restate something: I am a strong promoter in Flash, but after some weeks of usage, I am still wondering why it does not match my expectations in terms of productivity. It seems that I am taking too much time for doing simple task. Why?

Here is a few of the points that I’ve identified:

  • Lack of UI toolbox
  • The biggest issue, especially for me, is that I spent too much time on things that are not my core competency: graphics! When trying to create user interface using Flash,there is no toolkit to create common UI element, like button, menus, etc…. I know, it must be easy to develop them using Flash, but mine really look crap, and then I have to spent a big amount of time with things that I do not deal usually; create nice looking button, put everything in place to do a scrollbar, etc…

    So what is really missing, for me, is a toolbox of usual UI component (menu, buttons, textbox, checkbox, etc…) that just can be drag-dropped on the screen, and easily manipulated, eventually customized, as well some common “effect” that could enhance the UI.

    The weakness here, it’s that its ‘too’ open, you have to create everything from scratch. You have to deal with concept that I usually do not care about, to understand the philosophy of Flash: all the tools, layer, etc…usefull for designer, totally not needed for me. I hope that market will mature, and some people (Adobe?) will provide such common toolkit, as well as some “skins” for these toolkits, still providing the ability to create everything from scratch. In fact, I’ve just realized that Flash is a low level graphic vector engine, and not an high level UI engine.

  • An application is not “linear”
  • Your application is presented through the “timeline”, on the editor. It shows, in a linear way, the various frame that correspond to your application. But an application is not linear like this: you go from one screen to the other, from main screen to parameters, back to main screen, then go to another one, etc… So, the ActionScript code is full of “goto”…The exact same goto that has been banned decades ago from high level programming is back in Flash.…


The stage view in Flash: all linear

The Flow design view in Netbeans: flow oriented

(I don’t think that NetBeans is better than Flash, but it’s just my understanding of what could be an higher level view of an application logic)

  • Where is the “developer’s view” in Flash?
  • The other weakness, it’s that it’s not a developer environment. It’s really a nightmare to figure out where is your code. The window is too small, very few feedback. ECMA script is not a so bad language, it’s not very fast, for sure, but it’s especially the lack of “developer orientation” which is a big problem in Flash8…

So, what is the solution? I would like to see a tool, may be using Flash as a low level technology that would allows me to focus on rapid prototyping, providing me predefined but customizable element. I would like to see a clear separation between code, and UI design and elements…And may be some higher level abstraction, like the one proposed by Netbeans…

I might be missing some important point, like the right tools, widget sets, etc…so please, if there are some developer who now some of them, I would be happy to test them….

In the meantime, I have to improve in Flash, learn a lot of things that I hope will let me be more productive once mastered….
Technorati Tags: , , ,

Geotagging and Pictures (and a world record!)

I’ve added a few nice features in the latest J2memap release (v0.9, not yet you): the ability to take some pictures, and to upload them directly to Flickr with some geotagged flags thanks to the mobup classe
The other day, I was in the french fast train, and make probably the record of the fastest geotaged and uploaded picture in real time, at 300 kmh! I forgot to switch on full size, so quality is quite bad, but it got the position on the map, as well as the snapshot of J2memap who include some nice icons once the picture has been geottaged: it’s quite easy, just take a picture, and it will be send to Flickr using your current GPS position.
Here are a few screenshots:

The picture in Flickr (ok, the resolution is really to small)

The screen of the mobile (yes, TGV was not at 300 km/h at that time, only 295…)

the result on the great tool yuan.cc:

I like this one, as it a real good example of mashing up different tools, googlemap, flickr, yuan.cc, j2memap, and a little bit of mobup… No real usage yet (who knows? ;-) ), but fun!

Geotagging with mobile is in the air, Martin is doing some experiment too, look at it…Technorati Tags:

Widsets review: just another RSS reader?

I’ve just played a little bit with the application, but on the emulator only, and here is my first feedback:
Basically, it’s a kind of RSS reader for mobile, where you select on the server side the feed you want to read. In that case, a feed is called a widget but does not provides any interactivity.

  • The first level of UI is really well polished, and gives great hopes about the app.
  • The web site is an high end Web2.0 site. From the Web, you can browse widgets, select one, configure it.
  • When you have selected your widget set, just press update to update it on your mobile..

But:

  • The application does not work on my mobile! (big problem for a mobile app). Still waiting from feedback from the Widset team, but it seems that it’s linked to the usage of TCP which is not open on all operators network, instead of plain old HTTP.
  • The first level just show you the icons, gives very few feedback about “whats new”. The onlylinformation that seems to be displayed – and not on all feeds – is the number of new articles in the feed. Once the first “waooow” effect is gone about the UI, you realize that it’s not so user friendly: the button are big but does not carry so much information.
  • The “preview” widget from the web is just a static one. In fact, it’s a picture provided with the widget set. It would have been interesting to have a “real” preview
  • When digging in, the second level of UI is not very useable too. For instance, on the weather widget, you see a list of days, and you have to select that specific day to see a two line information about the weather…
  • The widget can not be configured on the mobile. Needs to go on the web site! Even if I really l ike the Web site, I think that there is plenty of uses cases where you need to configure such app without any access to the web site, for instance, when you have changed your location and want another RSS feed.
  • No picture is displayed when reading the feed, except for the Flickr one.

There is an “SDK” available, where you can change the look and feel of the feed: color, icon, etc…

Widset haves a good Web2.0 site, but an average RSS reader: no picture display, lack of browsing methods….

So if I have to compare the three on this race up to now, Plusmo, Widsets and Bluepulse, Plusmo is still ahead of the others….

Upadate: Thanks to some information coming from widsets guys (see the comments), I was finally able to configure my handset. I had to change the default Orange access point to another one – which is strange, as all the other app worked well. Anyway, it works, and I must say that UI is great on mobile. Does not change most of my remarks, but this put another level in the  level of polished UI in J2ME….

Technorati Tags:

J2me porting to brew

JavaGround announced today that they were providing a solution to port J2me to Brew…

“We founded Javaground on the concept of enabling developers to quickly
create and port high-quality games for the J2ME platform,” said Alexandre
Kral, chief executive officer of Javaground. “Now, our team has mastered
the technology to allow the mobile game industry to streamline the
development of video games for other types of mobile platforms. In essence,
programmers can develop their games in Java and port it to the BREW
solution.”

Challenging statment….

Technorati Tags: , ,

The rise of Vector Graphic

One obvious and interesting trend in mobile is the rise of vector based graphics and MMI. All new mobile graphic engines are more or less vector based, much more than 3D based. Of course, a 3D engine is also a vector graphic engine, but there are some fundamental differences between the two, much more at the creation level then at the rendering level. Interestingly, on the desktop, UI did not changed a lot since years and does not use a lot animations. Even if more and more desktop rendering engine are vector based or even 3D based, the display itself does not take really advantage of this: no animation, etc…

So why vector graphics are so adapted for mobile:

  • in a limited space, animation is a way to provide a much better feedback to
    the user (compared to stand alone graphs)
  • there is no “standard” UI for mobile yet (even if there are some
    emerging trends). The learning curve of something new is very fast compared to
    desktop, so you have the ability to explore new metaphore.
  • vector graphic is an easy way to solve the screen size and cross platform
    issue….
  • tools are adapted for UI designer (Flash for instance).
  • size: vector based animation haves usually a much smaller size…

Several companies are investing the space right now. Of course, Macromedia/Flash should be one of the early winner on this path. However, as I’ve put more effort in the past weeks on Flash, I can tell you that but Java not so far away, thanks to TSVG and JSR226. On the browser side, seems that the path is still a little bit long, as we are still waiting for good browser (Opera is a good starting point).

I’ve just make a short “list” of companies related to this area:

Technorati Tags: , , , ,

Mobile Ajax and security

  Does security will raise some complex issue for Ajax based app?

 One of the benefits of Ajax is that the “application” does not reside on the client, but is downloaded each time you access to the server eventually with some caching mechanisms. This mean that transparently the application can evolve, include new features, etc…

 One of the well know weakness of browser based app, is the fact that these application can not access to local resources of the device, like Bluetooth, address book, GPS, etc…

 One of the possible (and probable) evolutions will be to provide some specific API to these applications to access to local resources. Fine, but this raises more the security problem: would you give an unlimited right to any browser app to access to your private data? Of course no, but then, how to manage this: by providing a certificate per session? But disabling access to this device?

  For downloaded app, the solution as been solved by putting a certificate mechanism. This provides some advantage, as only the “trusted” application can be downloaded. The disadvantage is that it’s very costly, in
terms of money, time . But in all cases, this can not be applied directly to Ajax based app…

  I have no clue on how this will be solved, I am just worried to this issue has not been addressed by promoters of the “full Ajax” solutions for mobile…

Technorati Tags: , , , ,

Technorati Tags: , , , ,

mPowerplay and J2memap

First, I’ve finally went upgraded J2memap with some important functions. search is now fixed (but not yet direction), but more important, a some memory allocation issue on Nokia has been fixed.
I take the occasion of this note to “introduce” mPowerplay. This fantastic tool enable you to display any midlet on the web, without any change, just by adding ” http://webstart.mpowerplayer.com/ before the URL of the midlet you want to display, and ending with “.jnlp”. Of course, you can protect your midlet if you want, for demo games for instance. I am just surprised to see that no so many developers are using it. See the result on J2memap: J2meMap_Beta

Technorati Tags: , , ,