lunedì 29 novembre 1999

Google Maps now with Street View

Google announced the adding of new features to their Google Maps on Wednesday 17th. The most important is Street View coming with the same street-level imagery available on desktop. You can use the Street View feature clicking on the apposite command after a search or clicking on a map and selecting "Street View".


Another interesting feature is the introduction of the business reviews: now it is possible know in advance if visit a store worths or not.


Also the walking directions introduced recently in the desktop version are available in the mobile application.


The search speed and the accuracy of the location has been also improved. Users with J2ME phone and BlackBerry can now enjoy the new features!


 




Subbuteo on Nintendo DS

Also Subbuteo can't stay far away from the digital era. It is indeed available on the portable game station Nintendo DS. The game is published by Halifax and 505 Games.


The user might use the pen and the touchscreen to move the players and kick the ball. It is possible create leagues or join some of the official leagues. It is also available an editor to change the existent teams or create new ones with their own colours and shirt. It is possible play with other users using Wifi.


The game is sold in Italy for 39,99 euros.


I can't give an impression about the videogame because I don't have a Nintendo DS but I'm pretty sure that the realism of the old Subbuteo table won't be easily reacheable.


Subbuteo Screenshot

J2ME "on device debugging" with Sony Ericsson SDK

The Sony-Ericsson SDK provides you a tool to perform an on-device debugging of your J2ME applications.



After the SDK installation you can go to "Start" -> "Sony Ericsson" -> "Java ME SDK for CLDC"  and check the presence of two tools: "Connection Proxy" and "Device Explorer".



First of all you have to connect your Sony-Ericsson mobile phone to your pc. Launch "Connection Proxy" and press the "Settings" icon in the buttons bar. Select the COM port where your phone is connected to and press "Ok". Press "Connect" at the right top in the Connection Proxy software window. The "Status" frame below the device image should show the "Connected" status for your device.

Conn Prox settings



Now launch the Device Explorer. It should start the synchronization with your phone. If it doesn't, start it manually clicking the "Reloading device information" in the buttons bar.

After a while in the left column you should see the list of application installed in your device. Now you can select the application you want to debug and start it.



The System.outy.print messages included in your code will be shown in the console window at the bottom of the "Device Explorer" software.

Device explorer_1



The tool can be used also to manage the application: install, delete, stop, pause, and resume it.

Coming back from Argentina

DSC00427I'm sitting in the Santiago del Chile Airport waiting for the Air France flight which will take us back to Europe after a week spent in Argentina in Cordoba.

I had a really good time in Argentina, meeting really nice people and visiting nice places. I enjoyed  a lot eating, drinking and walking in Cordoba, looking at a different reality than Europe which makes you thinking about life.

Also flying over The Andes during the Cordoba to Santiago transfer has been great. It has been an experience I'll never forget.

DSC00465

DSC00434

Serializing an image with J2ME

Sometimes you need to transfer an image from your J2ME application to a server. In that case you need to serialize the image so you can write its bytes onto the connection opened with the server.

A good example to perform this task is in the Sony Ericsson Developer Site. Check out the article at developer.sonyericsson.com/site/global/techsupport/tipstrickscode/java/p_java_0502.jsp

Sony-Ericsson C905: first Capuchin phone

Sony-Ericsson has announced the new phone C905, the first phone supporting the project Capuchin (which define a bridge between J2ME and Flash). It is also equipped with an 8.1 megapixels camera and GPS. The screen resolution is 320x240.



It belongs to the JP-8 Sony-Ericsson family and it introduces a new subset called JP-8.4 which includes the phones of the JP-8 family supporting the project Capuchin.


It will be available on the selected markets during Q4 2008.


Sony-Ericsson C905


J2ME Google Maps API

I've found this interesting article from the wiki of Forum Nokia describing a library to query Google Maps to geocode addresses to their geographic coordinates and to retrieve static images with custom size, zoom and format.

The article is complete with source code and shows also an utility to scroll the map you get from Google

Go to the article clicking J2ME Google Maps API

Google maps example

Update to JP-8 family

In the Sony-Ericsson developer website we can find an useful article about their JP-8 platform that at the moment includes 14 devices.

 The most innovative supported API by this family are the Content Handl
er APIs(JSR-211) and the Mobile Sensor APIs (JSR-256).

Sensor APIs can be used to get the network signal or the battery level.


Battery
SensorInfo[] infos = SensorManager.findSensors("battery_charge", null);
String sensorURL =infos[0].getUrl();

Network signal
SensorInfo[] infos = SensorManager.findSensors("network_field_intensity", null);
String sensorURL =infos[0].getUrl();

The Content Handler APIs can be used to launch the native music player to play an audio file.

Registry registry = Registry.getRegistry(this.class.getName());
Invocation invoc = new Invocation();
invocation.setID("com.sonyericsson.musicplayer");
invoc.setURL(file:///..../playlist.m3u); //optional, if not used a resume play will be made.
invoc.setResponseRequired(true);
boolean mustExit = registry.invoke(invoc);
if (mustExit) {
// App must exit before invoked application can run
destroyApp(true);
notifyDestroyed();
} else {
// Application does not need to exit
}

You can read more about this topic in the Sony-Ericsson Developer Site

Roma wins the Italian Cup

Roma ends the season with the victory of the Italian Cup beaten Inter 2-1 in the final played Saturday in Roma.

Mexes and Perrotta scored the two goals for Roma. Pelè scored for Inter. A little revenge for Roma after Inter Scudetto victory.

The two teams have demonstrated to be the best Italian teams of the last two years.




The new Opera mini 4.1 is available!

Get Opera Mini

After a month of beta-testing, the new Opera Mini 4.1 is available for the download (Opera Mini website).

It is possible have a guided tour of the software:click video tour.

Opera4.1_2

The new features, described in the Opera website pages, are:

More speed

Prior to this release, we upgraded our servers and Opera Mini now receives your requested Web pages up to 50% faster. So you can now access sites like Facebook, BBC, and any of your other favorite Web sites even faster, with Desktop-like speeds. 

Find things faster


The new Opera Mini 4.1 lets you search for text within a Web page so you can get to the information you need even quicker than before.


Get to your Web sites faster


When typing Web addresses, Opera Mini 4.1 will recognize and suggest completions for you based on your Bookmarks and browsing history, making address input faster, easier and much more intuitive.


Download and upload files


On phones with File connection API, you can now upload and download files using Opera Mini 4.1, without being re-routed to your phone’s native browser. Update your blog while on the go. Upload photos to your Web site or social network. Add attachments easily to Web-based email, and download other non media-rich content to your phone using Opera Mini 4.1.


Save it for later


On phones with File Connection API, Opera Mini 4.1 lets you save pages for offline viewing so you can quickly access and read your desired Web content, even when you’re on a plane, in the subway, or in other places where you can’t get network reception. Depending on your phone, you may need to choose a destination folder for storing pages for offline viewing.


Now, we have only to try it!




Opera4.1_1



 




Keep updated about mobile phones world: Mobile News podcast

Mobile News LogoWhen there's not enough time to browse through online headlines, email newsletters and trade magazines, simply download The Mobile News Podcast. Its a weekly 30-minute podcast that will keep you up-to-date with everything happening in the mobile telecommunications industry.

The hottest new handsets, the latest downloadable software and the current mobile news headlines are all brought to you in an entertaining show created by the editorially unbiased team of Iain Graham, Mark Bridge and James Rosewell


Get the mobile podcast!


Double Ibra: Inter wins the Serie A

Inter wins the serie A thanks to a Super Ibrahimovic who gets on the pitch in the second half and scores two goals against Parma for the final 2-0.

Roma, winner of serie A for around 60 minutes, can't beat Catania which avoid relegation with the 1-1 scored in the final minutes.

This is the 16th "Scudetto" for Inter.




The most beautiful own goal

No comment!







Sponsor

The most beautiful own goal

No comment!







Sponsor

Revenge Juve: Inter beaten 2-1













1 - 2



It could be larger the victory of Juventus against Inter but at the end the "Bianconer" have risked to draw a match already won.

After a first half where the two teams studied each other, Juventus has started better the second half scoring the first goal with Camoranesi (in a not seen offside position) and then the secondo one with Trezeguet after a nice assist of Del Piero.

Del Piero himself missed twice the chance to close the match (thanks also to the good save of the Inter's goalkeeper, the Brazilian Julio Cesar) and Inter came back to the match thanks to Maniche (who replaced Julio Cruz). The same player hitted the post in the last action so Juventus could start the celebration for this victory waited two years after the scandal Calciopoli which have seen it plays in second league (Serie B).

Inter sees now Roma (that won 2-1 versus Empoli) only four points back and the race to the league is again open at 8 games to the end. Juventus is at third place with nine points over Milan (5th place) with good chances to play in Champions League next year.

Inter:
Julio Cesar 7; Maicon 5,5; Burdisso 4,5; Materazzi 5; Maxwell 5,5; Stankovic 5; Zanetti 6; Chivu 5,5; Jimenez 6; J.Cruz 5,5; Ibrahimovic 5,5. Balotelli s.v., Maniche 6,5; Suazo 6.

Juventus:
Buffon 6,5; Grygera 6; Le Grottaglie 6; Chiellini 6,5; Molinaro 6; Salihamidzic 6,5; Camoranesi 7,5; Sissoko 7; Nedved 6; Trezeguet 6,5; Del Piero 6. Nocerino s.v.; Iaquinta s.v.
































Inter 68
Roma 64
Juventus 58
Fiorentina 53
Milan 49
Sampdoria 47
Udinese 46





The J2ME graphic library LWUIT becomes Open Source

LWUIT Open SourceThe LWUIT project is now Opens Source as announced in the blog of the project. Now the new features/bug fixings will be commited diectly to the repository and they will be immediately available for the developers that can also contribute directly to the project.



Main features of the new drop/source code include the following:



  • Live drag and drop support for components in layouts

  • Component z-ordering support

  • New absolute/scalable layout allowing arbitrary positioning

  • SVG Image support using JSR 226 - SVG Images can be loaded and applied to any component

  • 3D transitions are now possible for all components including dialogs and arbitrary components

  • Performance improvements: Added the ability to repaint a dirty rectangle within a Component

  • Added support for glass pane allowing a painter/painter chain to draw on top of the current component very efficiently.

  • Fix for issue of layering modal dialogs one on top of the other


About the license of the library they say: "The license we picked is the GPL+Classpath Exception which allows binary linking with the application (unlike the LGPL) thus allowing you to build and obfuscate your own proprietary applications. We still intend to offer binary drops under the current binary license to give you a choice between two licenses and ease your interaction with the legal department in your respective corporation (note that the binary license only applies to the binary drops!)."

Beach Soccer: Italy into the final against Brazil

Italy's celebration in the Beach Soccer World Cup's quarter of finalItalian beach soccer national team is going to play the final match of the tournament (started in Marseille on 17 July) against the best team of the world: Brazil.

Italy won against Spain the semifinal on penalties (a revenge of the Spanish penalty victory in the Euro 2008 quarter of final) after a 4-4 draw. In the previous round Italy defeated France, the houme-team.

Now the hardest match: Brazil is the strongest team of the world and in the semifinals they won against Portugal 5-4.

Read the article from the FIFA Official Website

LG KE970 Shine bug using MediaPlayer and setVolume

If you want to set the volume in the MediaPlayer using the following code:



                InputStream is = getClass().getResourceAsStream( "/sound.amr" );

                Player player = Manager.createPlayer(is, soundType);

               
player.addPlayerListener( this );

               
player.realize();

                VolumeControl volumeControl =

                (VolumeControl)
player .getControl( "VolumeControl" );

                if ( volumeControl != null ) {

                    volumeControl.setLevel( volume );

                }



when you launch the player with:



                player.start();



no sound can be heard on the LG KE970 Shine without getting any error.



This device requires to get the prefetched status if you want to set the volume and play the sound correctly. The working code is then:





                InputStream is = getClass().getResourceAsStream( "/sound.amr" );

                Player player = Manager.createPlayer(is, soundType);

               
player.addPlayerListener( this );

               
player.realize();

               
player.prefetch( );

                VolumeControl volumeControl =

                (VolumeControl)
player .getControl( "VolumeControl" );

                if ( volumeControl != null ) {

                    volumeControl.setLevel( volume );

                }




Maybe other phones are affected as well (especially LG). Post comment if you other phones with the same problem.

Two weeks in Spain

Tomorrow I'll leave from Amsterdam to go to Andalusia for two weeks of holiday!

See you on 13rd of July.

Out of topic: Interview with Jeremy Rifkin author of

I'd like to publish this video taken from the BeppeGrillo.it blog talking about the future of energy and the third industrial revolution.

It's something to think about!

You can read the entire article at:
http://www.beppegrillo.it/eng/ (English)
http://www.beppegrillo.it/2008/06/intervista_a_je/index.html?s=n2008-06-25 (Italian)



Lazio - Rome 3-2


Surprisingly, Lazio stops the following of Roma to Inter winning the serie A big match of yesterday.
 
The first score is for Roma with Taddey that (luckly) deflect into the goal a kick of Behrami.

Lazio equalizes a few minutes before of the interval thanks to Pandev after a good move of Rocchi and Kolarov.

In the second half the second goal of Lazio with a penalty scored by Rocchi after a fault of Juan to Rolando Bianchi. After few minutes, Perrotta scores the 2-2.

When everyone thinks about a draw, Behrami takes advantage of a Rocchi's cross and scores the final 3-2.







Nokia Serie60 and 40 bug: softkey codes are not reported on a normal Canvas


Forum Nokia Logo

This bug is reported by forum.nokia.com in their "Knowledge Base" section.

Some key codes are not reported through the keyPressed(), keyRepeated(), and keyReleased (
methods of the Canvas class on a normal, non-full screen Canvas. This applies especially to the left, middle (when present), and right softkeys. Those are only reported back to the above key-capturing methods on full-screen Canvas instances.

The MIDP 2.0 specification says:


For some devices the keys used for commands may overlap with the keys that will deliver key code events to the canvas. If this is the case, the device will provide a means transparent to the application that enables the user to select a mode that determines whether these keys will deliver commands or key code events to the application.


This does not happen on all tested devices.

The tested devices are
Nokia 6301, Nokia 6555, Nokia N95, Nokia E61i. The families affected are S40 5th Edition (and FP1) and S60 3rd Edition (and FP1 and FP2) .

WiMax in Italy

The call for bids for the WiMax licence in Italy is going to create many polemics because of the presence of carriers like Tim, Vodafone, Wind and H3G which start in a privileged positions to get the licences.


That makes difficult
get in the contest for other players (like public administration for example)

Since this blog believe this is not a acceptable rule, we invite our visitors to subscribe the petition (you can click on the image below) to avoid this situation.

The webmasters can help more publishing the same box in their websites.




J2ME system properties

Sometimes it is useful to know informations about the J2ME platform running in a devices. To get this data it is possible use the System class and its method getProperty().

Both standard properties and brand's specific properties exist.

At this URL:
www.forum.nokia.com/info/sw.nokia.com/id/37086440-dcce-4fb4-aa3e-8d8c16d62b33/MIDP_System_Properties_v1_2_en.zip.html


you can find a document from Nokia Forum where a list of system properties is shown. You'll see some specific Nokia properties also.

Sony Ericsson Virtual Lab

Sony Ericsson logo


The registered Sony Ericsson Developers Community members have now the opportunity to test their own application on pre-commercial phones.This is an online services which:



  • is a global service, 24 hours a day, 7 days a week



  • is convenient: no shipping of phones or firmware updating required



  • has selected 2007 phones, representative of JP-7, JP-8 and UIQ 3



  • can test key presses and network behavior



  • has on-line session reservation, virtual view of phone and real-time results



  • for one hour testing slot per phone, $18-20 (USD) per hour depending on selected monthly package



Link: developer.sonyericsson.com/site/global/products/virtuallab/p_virtual_lab.jsp

Detect softkey automatically

Surfing on Internet, I found this post in the Sony Ericsson Developer Forum. I've not tested it yet but it seems a good idea!

I'm going to test it in the next days....if someone wants do the same here is the link:


http://developer.sonyericsson.com/thread.jspa?threadID=41399&tstart=0

...in main class (Presentacion.java):

//Softkeys...
public static int LeftSoftKey = 0;
public static int RightSoftKey = 0;




...while a splash screen is showing:

Thread myThread = new ReturnSoftKeys();
myThread.run();



...in some point, inside the main class:

private class ReturnSoftKeys extends Thread{

public void run(){

try {
Class.forName("com.siemens.mp.lcdui.Image"); // Set Siemens specific keycodes
Presentacion.LeftSoftKey = -1;
Presentacion.RightSoftKey = -4;
} catch (ClassNotFoundException ignore) {

try {
Class.forName("com.motorola.phonebook.PhoneBookRecord"); // Set Motorola specific keycodes
if (getKeyName(-21).toUpperCase().indexOf("SOFT") >= 0) {
Presentacion.LeftSoftKey = -21;
Presentacion.RightSoftKey = -22;
} else {
Presentacion.LeftSoftKey = 21;
Presentacion.RightSoftKey = 22;
}
} catch (ClassNotFoundException ignore2) {
boolean found;

// check for often used values
// This fixes bug with some Sharp phones and others
try {
if (getKeyName(21).toUpperCase().indexOf("SOFT") >= 0) { // Check for "SOFT" in name description
Presentacion.LeftSoftKey = 21; // check for the 1st softkey
Presentacion.RightSoftKey = 22; // check for 2nd softkey
found=true;
}

if (getKeyName(-6).toUpperCase().indexOf("SOFT") >= 0) { // Check for "SOFT" in name description
Presentacion.LeftSoftKey = -6; // check for the 1st softkey
Presentacion.RightSoftKey = -7; // check for 2nd softkey
found=true;
}
}catch(Exception e) {}


for (int i=-127;i<127;i++) { // run thru all the keys
try {
if (getKeyName(i).toUpperCase().indexOf("SOFT") >= 0) { // Check for "SOFT" in name description
if (getKeyName(i).indexOf("1") >= 0) Presentacion.LeftSoftKey = i; // check for the 1st softkey
if (getKeyName(i).indexOf("2") >= 0) Presentacion.RightSoftKey = i; // check for 2nd softkey
}
}catch(Exception e){ // Sony calls exception on some keys

//I change this, the following lines will be commented
//Presentacion.LeftSoftKey = -6; // including softkeys
//Presentacion.RightSoftKey = -7; // bugfix is to set the values ourself
}
}
}
}
}
}



At this point, if the ReturnSoftKeys method failed, the values of the softkeys are 0. This could be because a exception crashes the method. Usually getKeyName

inside the keypressed method:

public void keyPressed(int code) {

int gameAction = getGameAction(code);
//bla bla bla

if (this.LeftSoftKey != 0 || this.RightSoftKey != 0){ //The ReturnSoftkeys method was a success

if (code == this.LeftSoftKey){

softKeyIzquierda();
}

else if (code == this.RightSoftKey){

softKeyDerecha();
}
}

//ReturnSoftKeys was a failure, looking for SOFT in the key name
else {

if (getKeyName(code).toUpperCase().indexOf("SOFT") >= 0) { // Check for "SOFT" in name description

if (getKeyName(code).indexOf("1") >= 0 || getKeyName(code).toUpperCase().indexOf("LEFT") >= 0){

softKeyIzquierda(); // check for the 1st softkey
}

if (getKeyName(code).indexOf("2") >= 0 || getKeyName(code).toUpperCase().indexOf("RIGHT") >= 0){

softKeyDerecha();
}
}

//the name of the key doesn't include "soft". for example if is in spanish: "tecla Accion" instead "soft" I assign the value manually
else{

if( code == (-6) || code == (-202) || code == (-21) || code == (-11)/* || code == (-1) */){

softKeyIzquierda();
}

else if(code == (-7) || code == (-203) || code == (-22)/* || code == (-4)*/){

softKeyDerecha();
}
}
}

repaint();

 

FileConnection API System properties


At this link, we can find several interesting J2ME system properties useful when we are working with File Connection API and we want know, for example, names and path of some directories.

The link is from Forum Nokia website but is a good start for all the devices supporting this optional package.

www.forum.nokia.com/document/Java_ME_Developers_Library_v1/GUID-545CA84A-8378-4DFA-9035-94479F5BE26E.html


Filesystem in Serie60 Emulator

When we are working with FileConnection API, it's good to have an easy way to put file in the file system of the emulator to test at least the read side of our midlets.

If we are using the Nokia Serie 60 3rd edition FP1 emulator we can find the filesystem at

C:NokiaDevicesS60_3rd_MIDP_SDK_FP1binepoc32winscwc

(supposing we have installed the SDK under C:).

If you enter in the "Data" folder, you can then see the folders for the files like Images, Sounds, etc.

Kakà: the most paid player of the Serie A

An article in the italian "Gazzetta" sport newspaper makes a ranking of the most paid players of the Italian Serie A. The first one of this ranking is Ricardo Kakà who earns 6 million of euros.

Sure, they are a lot of money but Kakà can do something special like on 13 September 2005, Champions League, Milan versus Fenerbache.

13-09-2005 Milan - Fenerbache 3 - 1


Nimbuzz is Hiring


Nimbuzz logo


"Imagine all the people around the globe to be connected. One world in which we find and share happiness, interests, dreams and wishes. Wherever you are, whenever you want!


It really is not just a dream anymore. The Nimbuzz technology is giving new meaning to mobile communication. AND WE ARE HIRING…


Think about it… being part of one of the top start-up companies in Europe that will change the face of mobile communication, working with enthusiastic people and having super career opportunities. Nimbuzz is currently recruiting the best of the best.


If this sounds like a blast and you are top of the bill, then drop us a quick note with your resume attached. Because we might be looking for YOU!"


This is the Nimbuzz (the company where I have been working in) message for people are interested in get a fantastic job opportunity. The available positions are:


Technical Department:



  • Flash Developer

  • Gateway Developer

  • Java web developer

  • Javascript developer web team

  • Senior MIDP Developer

  • Senior Symbian Developer

  • Security Officer

  • Web designer

  • Openfire specialist


Marketing & Sales Departement


  • Creative copywriter

  • Graphic Designer

  • Product Manager

  • User Interface Expert

  • Viral Marketeer


If you are interested in one or more positions, ask me the job description sending an email to: emanuele.pecorari@email.it

Use of the Samsung J2ME emulator

Once you have installed a Samsung emulator it's a little bit difficult to understand how to use it. Here is a little guide to start a midlet in the emulator (from Samsung website).

"
To run your MIDlet on the emulator, please place your JAD and JAR files in a folder which does not contain any special character or space in its name. Click "File", "Import MIDlet" and then locate where your JAD and JAR files are.

If the phone skin is too large for your computer, placing the phone’s keypad out of view, please use num keys of your keyboard."


URL: developer.samsungmobile.com/Developer/resources/board_read.jsp


China phone market

Nokia is the head brand in the Chinese mobile phone market and togheter with the other foreign manufacturer (Motorola, Samsung, Sony Ericsson,...) cover the 70% of that.

Small penetration for the Chinese brands like Huwaei and ZTE.

Here is the table with the complete data:






































Nokia 30,90 %
Motorola 22,50 %
Other firms 19,00 %
Samsung 9,60%
Sony Ericsson 7,70 %
ZTE 4,80 %
Huwaei 3,20 %
Bird 2, 30 %

 


Portable J2ME application: deal with the optional package

When you want to use the API of a J2ME optional package, you have to start to deal with the differences through the different mobile devices. The implementation of the different JVMs doesn't guarantee that the not mandatory API are supported so you can experience problems already in the installation phase.

You can only try to follow some guidelines to make this risk as small as possible and have a midlet working on a large number of devices.

A good way to do that is try to isolate the part of the code containing references to the not mandatory APIs. An interface is used to decouple the main code of the midlet from the code containing class which can be not included in the implementation of the JVM. All this code needs to be included in a class implementing this interface. The code of the midlet uses the Class.forName() and Class.forInstance() instructions to instantiate this class after the runtime check about the support of the Optional Package we would use. In this way the class using the not supported class is not loaded in the virtual machine if the JVM doesn't support them.

Interface

public interface BluetoothManager {

   public void send(Object O);
}

Class implementing the interface

public class BluetoothManagerImpl {
  
   public void send(Object o) {
      javax.bluetooth.LocalDevice ld = javax.bluetooth.LocaleDevice.getLocalDevice();
      javax.bluetooth.DiscoveryAgent = ld.getDiscoveryAgent();
      .....
}

Main code of the midlet

public class MyMidlet extends MIDlet {
   String btSupport = System.getProperty( "bluetooth.api.version" );
  
   if (btSupport == null )
       return;

  Class c = Class.forName("BluetoothManagerImpl");

  BluetoothManager btManager = (BluetoothManager )c.newInstance();

   .....
}

Genoa - Juventus 0 - 2



Stemma JuveGrygera and Trezeguet give the win to Juventus in the 27th day of the Serie A.

Great match for Grygera who assist the French striker for the second score as well as score one.

No chance for Genoa in the match until the first Juventus' goal.

Trezeguet have reached the top of the scorer ranking with 16 goal (togheter with Genoa striker Borriello).

Next match for Juventus against Napoli. Fiorentina (in Florence) for Genoa.
































Inter 64
Roma 58
Juventus 51
Fiorentina 47
Milan 46
Udinese 40
Sampdoria 39






Come back soon Eduardo!


Three minutes of a Premier League game, Brimingham-Arsenal: Martin Taylor, Birmingham defender, tackles the Arsenal forward Da Silva Eduardo. But the tackle is not like many other tackles: the tackle is very late and dangerous, Eduardo have already passed the ball and the Taylor's foot hits Eduardo right leg. The big weight of Taylor push on the leg and breaks it.

The images of the accident are very vicious, the English TV doesn't show the replay. You can feel the pain only listen to the narration of the match commentators describing the condition of the Eduardo leg and his foot.

Probably he'll need 11 months to come back and play again. We want wish to Eduardo to come back stronger than ever and to score goal like this:








Bug Nokia series 60: WMA and Push Registry behaves inconsistently receiving several SMSs

The problem happens sending several SMSs (5-10 or more) to a series60 device (all S60 2nd and 3rd Edition devices). The WMA unsinged midlets using PushRegistry acts wrongly when launching. We can have:


  • Slow queuing of received SMSs;

  • Symbian OS Error;

  • Launching fails;

  • Crash of application without message or error.


The solution claimed by the Forum Nokia is the signing of the Midlet with the Third Party Protection Domain and change the permissions for the autostart to "always allowed".

It is not a easy solution (the sign process is always a pain) and also it is a pity that the affected feature is one of the most interesting for J2ME developers.

Link to the Forum Nokia Knowledge Base article.

Nokia N96: the new super phone

Nokia N96The Nokia N96 is the new high level Nokia device. Beyond the nice design, it presents also a lot of features among which the DVB-H support that make the user able to see tv programs in high definition.

It supports WIFI and A-GPS, it has a 5 MegaPixels Carl-Zeiss camera. The screen resolution is 240x320  and the color depth is 24 bit.

The operating system is the Symbian 9.3 and the Nokia family is the Serie 60 3rd Edition Feature Pack 2.

The Java platform supports the following JSRs:


  • CLDC 1.1

  • eSWT UI API

  • JSR 135 Mobile Media API

  • JSR 172 Web Services API

  • JSR 177 Security and Trust Services API

  • JSR 179 Location API

  • JSR 180 SIP API

  • JSR 184 Mobile 3D Graphics API

  • JSR 185 JTWI

  • JSR 205 Wireless Messaging API

  • JSR 226 Scalable 2D Vector Graphics API

  • JSR 234 Advanced Multimedia Supplements

  • JSR 248 Mobile Service Architecture for CLDC

  • JSR 75 FileConnection and PIM API

  • JSR 82 Bluetooth API

  • MIDP 2.1

  • Nokia UI API


eSWT is a subset of the cross-platform SWT and give to the developer a finer control over the UI or a greater variety of UI components (called widgets in eSWT) than what the LCDUI API can offer. The drawbak of the eSWT is that it is supported only by the series 60 3rd edition FP2 or newer

Java ME Tips

Java Tips is a resource where we can find interesting articles about Java developing (J2EE, J2SE, IDE, Web Services, ...).

There is a specific section with a huge collection of J2ME tips starting from some very useful for beginners up to more sophisticated suggestions.

The J2ME section is visible clicking here

First Pato's match: Milan-Napoli 5-2

Immediately Super Pato: Milan beats Napoli 5 - 2


18 years old, big anticipation and he doesn't fail his debut in the Serie A: one goal, a lot of great movings.

In the same match also Ronaldo makes magic: two goals!

Look Pato's magics:



Bug MMAPI Nokia: setDisplaySize method in Series60 3rd edition

Nokia Series60 3rd EditionThe method setDisplaySize() for VideoControl doesn't work properly for S60 3rd edition.
The implementation doesn't user the parameters passed but uses always the max allowed size mantaining the aspect ratio.

Here is the link to the Nokia Technical Library about the bug:

Go to Technical Library

Calciomercato.com su j2me soccer

Calciomercato.com su j2mesoccer!

Da oggi sul blog j2mesoccer è disponibile il box con le notizie aggiornate di calciomercato.com. Potrai restare sempre aggiornato sugli ultimi movimenti!

Happy new year!

J2MESoccer wishes a happy new year for everybody!


See you in 2008!

Stick

Passato e participio passato: stuck

Principali traduzioni:


  • Ramoscello, legnetto

  • Conficcare, ficcare, introdurre

  • Attaccare

  • Rimanere fermo

Bug Nokia: S60 2nd edition platformrequest always launch browser

I experienced this problem in the Nokia 6670 launching a platform request to call a number (using the protocol tel:).

After the call, the result is the start of the web browser and then the call starts. The problem happens in the series60 2nd edition and 2nd edition FP1

Here is the link to the Nokia forum post about this problem:

Forum Nokia

Camera snapshot: difference between Nokia Series40 and Series60


Starting from 3rd release it is possible take picture from J2ME application using the camera in the Nokia series40.

There is a difference between in the startPlayer action between series40 and series60.
In the series60 you can start the video to take the picture using the string capture://video. This doesn't work for series40 where you have to use capture://image.

You can make your application able to understand which string have to use writing a code like that:

Player p;
try {
    Player p = Manager.createPlayer("capture://image");
}
catch (Exception e) {
    p = Manager.createPlayer("capture://video");
}.....

It is important use capture://image first because some series 40 support the capture://video but in that way you can take video film but not snapshot.

Skype e Tre: una storia tutta italiana

Linkiamo un post del Blog "I miei silenzi.com"...rimango senza parole. Ancora una volta gli operatori italiani non hanno perso tempo per fare una pessima figura nei confronti dei consumatori: che vergogna!

Skyphone e 3:la disonestà fatta operatore

Take snapshot using J2ME on Nokia Series 40

There are several tutorials about taking a picture using the optional package MMAPI and almost each one advises to use the string "capture://video" in the method startPlayer() to start the phone's camera from a J2ME application.

Using this approach in the Nokia Series 40, you'll get an exception calling the method takeSnapshot(). The Series 40 requires to start the player using the "capture://image" string instead of "capture://video".

Nokia Ovi

Last week Nokia presented Ovi, the new service to enable user to access social networks, communities and contents.

ovi

At the same time it has launched new phones to get the best user experience interacting with Ovi:

  • The Nokia N81 and N81 8GB multimedia computer is configured to find, buy, manage and play music and games purchased via the Nokia Music Store and N-Gage. In addition to dedicated music and gaming keys, 3.5 mm headphone connector and 3G and WLAN connectivity, the Nokia N81 also boasts keys that light up with activation.

  • The N95 8GB multimedia computer offers up to 20 hours of video or as many as 6000 songs in addition to a 5 megapixel camera with Carl Zeiss optics, built-in A-GPS, WLAN, HSDPA and a two-way slide. The N95 8GB also arrives with a luminous 2.8" QVGA display.

  • The 5310 XpressMusic boasts up to 18 hours of music playback, memory for up to 3,000 songs on an optional 4GB microSD card and dedicated music keys. At 9.9mm thick and weighing under 71 grams, the device also features a 2-megapixel camera and a two-inch QVGA screen with up to 16 million colors.

  • The 5610 XpressMusic promises up to 22 hours of music playback and capacity for 3,000 songs on an optional 4GB microSD card, with a Music Slider key promising easy access to music content. Alongside its 2.2-inch, 16 million color display, the 5610 XpressMusic features a 3.2 megapixel camera with autofocus and dual LED flash.


Here is the url of the Ovi service: ovi.nokia.com/ovi/app/ovi/flash/

Italian cheats? No, champions of the world

On the eve of the match that Italia and France are playing next Saturday, the French player Lassana Diarra, follows the example of his CT Domenech and defines Italian as cheaters (www.gazzetta.it/Calcio/Nazionale/Primo_Piano/2007/09_Settembre/04/diarra.shtml).

I'd like to remind something to Diarra and Domenech) to show what Italian are: champions of the world!

World Cup 2006: Italy-France


FootyMad mobile: football on your J2ME phone

FootyMad is a brand new football information service brought to you by Mobile Sports Limited. FootyMad mobile gives you the most comprehensive coverage of football available on your mobile phone, allowing you to stay in touch with the beautiful game whenever and wherever you are.

FootyMadMain features of the application are:


  • All the latest news;

  • Real-time match coverage, including goals,
    cards, half-time and full-time scores;

  • Minute by minute commentary as games unfold;

  • Results and post-match reports;

  • League tables;


The included leagues are:


  • Many from England and Scotland;

  • Italian Serie A, Dutch Eredivisie, German Bundesliga, French Ligue and Spanish Liga:

  • International teams and competitions (Champions League, Uefa Cup, World cup, National teams, ...)


The application is downlodable from here. You can send the program trought a sms to your phone

Discover Bluetooth devices from a J2ME application

Using the optional package JSR-82 (where is available of course) you can implement clients using the Bluetooth feature of your device.

Let's start discovering the devices around our phone. First of all you have to get a DiscoverAgent object from the object LocalDevice that represent your device:

LocalDevice m_locDevice = LocalDevice.getLocalDevice();
DiscoveryAgent m_discAgent = m_locDevice.getDiscoveryAgent();


After that you can call the startInquiry method:

try {
   m_discAgent.startInquiry( DiscoveryAgent.LIAC | DiscoveryAgent.GIAC, this );
}
catch ( BluetoothStateException e ) {
  e.printStackTrace();
}


in the previous piece of code, the startInquiry method has been called with two arguments:

- the first says we want to discover both devices temporarily discoverable (LIAC) and permanently discoverable (GIAC)
- the second argument is a DiscoveryListener object that will receive notification each time a device has been discovered and when the discover action has been completed.

The method called in the DiscoveryListener each time a device is discovered is

public void deviceDiscovered ( RemoteDevice remoteDevice, DeviceClass deviceClass )

The remoteDevice object contains information about the discovered device like the bluetooth address and the friendly name you can use to show it to the user.

The deviceClass object contains information about the type of device has been discovered.

The method called when the discover action is finished is (always in the class implementing the DiscoveryListener):

public void inquiryCompleted ( int i )

The argument i will be an integer saying if the action has been completed or if it has been interrupted (it's possible stop the action calling cancelInquiry( this ) in the m_discAgent instance).

J2ME performance tips: improve your for/while loops

When you write a desktop or a server application you can often ignore some small tips that in a mobile application can be very powerful.

Let's talk about loops. You have to avoid as much as possible operations in the loops that you can perform once out of the loop. For example:

for ( int i = 0; i < 5; i++ ) {
   int a = 10;
   int m = 5;
   int f = i + (m * a);
}

can be written like:

int a = 10;
int m = 5;

for ( int i = 0; i < 5; i++ ) {
   int f = i + (m * a);
}


avoiding five assignments.

Another good practise is avoiding call of a method in the conditional block of the loop. If you use the size of a vector as limit of your loop you have to avoid:

for ( int i = 0; i < vector.size(); i++ ) {
   int f = i + (m * a);
}


and write instead:

int limit = vector.size();
for ( int i = 0; i < limit; i++ ) {
   int f = i + (m * a);
}


The suggestions are also explained at J2ME DevCorner blog

New release for one of the best j2me application: Opera Mini 4.2 available!

Opera Mini is one of the best J2ME application ever and on 25th of November the new version 4.2 is available. Some new nice feature have been added:


  • Synchronize, edit and delete notes via Opera Link

  • 24 new languages

  • Better handling of RTSP, enabling more users to watch video (from You Tube Mobile for example...)

  • Skins are back (along with new skins)

  • "Accept" link at the end of the EULA (for BlackBerry users)


The developers are also working on the global load balancing for all the users.

Here is a screenshot of the application:

opera_mini4.2You can download Opera Mini clicking here

Simple audio player for J2ME

The following article shows how a simple mp3 file in your jar application can be played using the mmapi classes (included in the JSR-135 optional package or in all the MIDP 2.0 devices which include a subset of mmapi).

Suppose the file is sound.mp3. You can create a class implementing this method:

    public void playSound(final String soundFile, final Display display) {  
        try {
            InputStream is =
                getClass().getResourceAsStream( "/sound.mp3" );
           
            Player player = Manager.createPlayer( is, "audio/mpeg" );
            player.addPlayerListener( this );
            player.realize();
            player.prefetch( );
            player.start();
        }
        catch ( Exception e ) {        
            e.printStackTrace();
           
            if ( player != null ) {
                player.close();
                player = null;
            }
        }
    }


In the method we have added a PlayerListener (player.addPlayerListener( this )) so we suppose the class implementing the playSound method implements the following PlayerListener interface playerUpdate ( Player player, String event, Object arg2 ) method:

public void playerUpdate ( Player player, String event, Object arg2 ) {
        if ( event.equals( STOPPED ) || event.equals( ERROR ) || event.equals( END_OF_MEDIA ) ||  event.equals( DEVICE_UNAVAILABLE ) || event.equals( CLOSED ) ) {
           
player.deallocate();
            player.close();
            player = null;
        }
    } 


This method frees resources when the player ends the sound playback or an unexpected error occurs. The same method can be used to play sound from network or using the FileConnection API (in those case the URL of the file changes).

Campionato: iPhone application for world soccer league fans

For the first time I'm going to talk about an IPhone application which is a must for supporters that want to follow soccer leagues.


Campionato is an IPhone application wrtten by two great Italian coder: Stefano Sanna and Roberto Fraboni with the help of Simone Marinelli and Maurizio Terzo.


Campionato screenshot


It's mainly about Italian Serie A for which presents the following features:



  • Live info;

  • Matches live scores;

  • Match details;

  • Fixtures;

  • Updated tables;

  • Players rankings;

  • Info about teams and stadiums;

  • Maps integration for stadiums localization;

  • Favourite team choice;

  • Links to teams and general soccer websites


For the other leagues it is possible get the live scores. The supported leagues are:



  • Premier League (England);

  • Primera Division (Spain)

  • Bundesliga I (Germany)

  • Ligue I (France)

  • Eredivisie (Holland)

  • Superliga (Portugal)

  • Premier Liga (Russia)



The applications is available on the AppStore

Users habits are changing due to the crisis

GetJar (the most known mobile applications portal) have carried out a survey to understand how the ongoing financial crisis is affecting the behavior of the mobile users.

The 78 percent of the users is delaying the upgrading of his mobile plans and the 76 percent is going to reduce the amount they spend using the phone.

The following are the percentages about on which service they spend most money:



  • 35% sms

  • 18.5% voice

  • less than 17% data

  • 12% premium services


The survey is reachable at http://www.mobileattitudes.org/

J2ME WTK Record Store deleted each time you run the application

Past days I experienced a weird problem building and running a midlet with Antenna inside Eclipse. Each time I built and run the application, the WTK "DefaultColorPhone" emulator I used had the RMS completely deleted. Everything was fine if I exited from the appliction and started again without any building.

The solution has been going to the Windows current user "Documents and Settings" folder and browse in "j2mewtk2.5.2appdbDefaultColorPhone". There I found a file in.use that was the lock for the existent RMS and that was the reason why the WTK generated a new clean RMS each time I built the application. Deleting it everything is ok again.

J2ME application to follow the Italian Serie A

I'm so glad to have the chance to present a J2ME application helping the supporters to keep track of the results of the Italian soccer league Serie A. This midlet has been created by an Italian developer, Stefano Russello.
The application shows the league fixtures and can store the matches results producing automatically the league table with the statistic information for each team. The matches results storing can be manual or automatic. In the first case the user will write the matches result, in the second one the application will get the results after a connection to a server.


Furthermore the midlet presents information about the teams such as geographic position, the stadium and the home and away shirts. The graphic interface is nice and intuitive. The application can be used fully after paying a registration fee of 5 euros (through PayPal) but the user can try a demo version for free before buying the license.

J2ME Application for Serie A

Bug Nokia: extra withespace character causes error in installation

Newer the phone, more strange the bug. The following is a bug affecting some Series60 devices (3rd FP1, 3rd FP2 and 5th): Nokia E71, Nokia N79, Nokia N96, Nokia 5800 XpressMusic.

The withespace characters before and after JAD attributes should be ignored according to MIDP specifications but if user tries to install an application with a whitespace character after the last JAD attribute on one of the mentioned decvies he will get a "Compulsory attributes missing".

So, be sure to remove whitespace chars from your JAD!

Additional confirmation to edit PIM data

This issue appears on the Nokia families: Series 80 2nd Edition, S60 2nd Edition FP2, S60 2nd Edition FP3, S60 3rd Edition, S60 3rd Edition FP1.

From Forum Nokia: when a MIDlet tries to edit an existing contact, add a new one, or remove an existing contact using the JSR-75 PIM API on S60 2nd Edition FP2, S60 2nd Edition FP3, and S60 3rd Edition devices, the user is asked for change confirmations every time, even if the API access setting is "always allowed". This includes situations where the MIDlet is placed in the operator/manufacturer domain (excluding S60 3rd Edition FP1 devices), or the user has manually changed the API access settings for the MIDlet in a trusted 3rd party domain.

Unfortunately, there is no workaround for this problem.

Sun to launch app store


Sun is going to announce its own app stores at the Java Conference on 1st of June in San Francisco. According to Sun, Java powers more than 4.5 billion devices, including about 2.1 billion mobile phones and handhelds as well as more than 800 million PCs, 3.5 billion smart cards and myriad set-top boxes, printers, games, car navigation systems and related technologies.

While details on the Java store otherwise remain scarce, it seems that added candidate applications will be submitted via the web, evaluated by Sun for safety and content and presented under free or premium terms to the broad Java audience. "Over time, developers will bid for position on our storefront, and the relationships won't be exclusive (as they have been for search)," he writes. "As with other app stores, Sun will charge for distribution--but unlike other app stores, whose audiences are tiny, measured in the millions or tens of millions, ours will have what we estimate to be approximately a billion users. That's clearly a lot of traffic, and will position the Java App Store as having just about the world's largest audience."

From Fierce Mobile Content