Wednesday, July 14, 2010

small issues great impact---My basic learnings Blackberry

In developing a blackberry app we frequently go trough Paint,PreferredWidth (),etc...

#1)In a Manager or a Field there will be a default Height and width.This is obtained by using getPreferredWidth().If the height or width exceeds the preferred width then the width and height is obtained by using getHeight() and getWidth().So,if you want to use the width of a Field then it is better to go for

Math.max(field.getPreferredWidth(),field.getWidth());


#2)In paint method,
If you want to draw a background type of thing,do required coding before Super.Paint(graphics),else if you want to draw a text type of thing do required type coding after Super.Paint(graphics).Super.Paint(graphics) will do the required painting defined in code(ex. for a horizontalFieldManager it will add the fields which are written in respective code.).

#3[14/07/10])If you are a Blackberry developer running and debugging costs you a lot.Better go for 8320 simulator running.it will take very less time when compared to other simulators.9700 takes a lot of time to load but the advantage is load once use number of times.unlike other simulators 9700 doesn't ask for restart if you delete the app(unless if there is an exception that too in some exceptions only).9700 is based on 5.0 JDE.when coming to 9000 simulator it allows deletion for one time.After second time deletion of same cod file it asks for restart.


Friday, July 9, 2010

online vedio streaming in Blackberry .

I'm trying to stream the video from internet directly.I tried it hardly in my application....the code is...
       
//BB Code
private void startPlayingVideo2(){
  try
  {
  Class playerDemoClass = Class.forName("VideoScreen");

  _player = javax.microedition.media.Manager.createPlayer("rtsp://stream.zoovision.com/Movies/vader_sessions.3gp");
 
  // Realize Player
  _player.realize();

  
  _player.addPlayerListener(this); // Add listener to catch Player events
  _player.setMediaTime(100000);
  
   _videoControl = (VideoControl) _player.getControl("VideoControl"); // Get the Player VideoControl

  // Initialize video display mode
  _videoField = (Field) _videoControl.initDisplayMode(VideoControl.USE_GUI_PRIMITIVE, "net.rim.device.api.ui.Field");

  // Set the video display size to 200 x 200

  // Create a manager for the video field
  _videoManager = new VideoManager();
  _videoManager.add(_videoField);
  add(_videoManager);

  // Set video control to visible
  _videoControl.setVisible(true);

  
  _player.prefetch(); //player has to prefetch before it is getting started
  _player.start();  // Start the Player

  // Set up Player volume
  setVolume(_currentVolume);
  }
  catch (Exception e)
  {
 
  }
}    


Connections should be fast for live straming.

I checked in device as well as simulator.It worked fine for me.9000 simulator only supported for online streaming and i checked in 8220 device also.
Youtube Videos from m.youtube.com didn't worked for me.Some links worked for me are

static video:
rtsp://stream.zoovision.com/Movies/vader_sessions.3gp

for live videostream:
rtsp://stream.zoovision.com/live.sdp

For live audio stream:


Have a nice day.....

Wednesday, July 7, 2010

OCAP,OCAPRI,Tru2Way,MHP,ETV,Java TV,CDC


OCAP
is a specification developed by cablelabs and public facing brand name is Tru2way.Before going to Tru2 way i have to discuss on MHP(Multimedia Home Platform).

MHP is a specification developed by DVB(digital video broadcasting) which is extensively used in Europe and some parts of Asia.The first origin for Tv applications is started by DVB.The Television that support these applications is known as interactive Television.These Applications are supported by Digital TV's(which implements digital signaling).

The applications developed are installed on set-top boxes.The set-top boxes of north america are different from rest of the world.Cable Labs started working on Interactive applications(Firstly started by DVB) which gave rise to OCAP(OpenCable Application Platform ).This spec is branded as Tru2Way.

OCAP can be shown as a stack for easy view.


Applications

----------------------------

OCAP API


JavaTv JFM MHP


CDC/FP/PBP

-------------------------------------

JVM



By now we can get an idea from the application perspective that OCAP is a collection of API's.

OCAP is based on MHP.It uses some of the elements in MHP.The first OCAP Spec is based on MHP version 1.0.0.Later on DVB released another specification Called Globally Executable MHP(GEM) to make it easier to use elements of MHP by other specifications.Later on OCAP is based on GEM.

Java TV describes set of concepts required for Dtv such as acessing serviece information,selecting new services and loading files form corousel.It is done in way that it is not tied to Dtv standards.JavaTv describes many of the concepts required for DTv platform.there are some elements missing.So,JavaTv is more a component rather than a middle ware software itself.OCAP uses JavaTv concepts for accessing service information,selecting new services and loading files form corousel etc.

JFM(Java Media Framework) ,an API for rendering Video and other Media.

CDC(Connected Device Configuration) It forms the base of a Java technology stack. It is intended for devices such as television set-top boxes, automobile computers, and other midsized computers.

FP(Foundation Profile) and Personal Basis Profile (PBP) round out CDC with additional APIs, including APIs for user interface and graphics.

OCAP RI(OpenCable Application Platform Reference Implementation) is the implementation for OCAP.The applications can be developed using OCAPRI.

In order to start with OCAP we have to go through some of technical terms.


  • Bound application: An application that is tied to a service in order to operate. When the user selects another service, then (in most cases) the application is terminated.
  • Unbound application: An application that is not tied to a specific channel and can run independent of any service. Unlike bound applications, an unbound application continues to run after the user navigates to other services.
  • MPEG-2 transport stream: The binary stream of data that delivers the audio, video, and interactive content to Tru2way-enabled devices (TVs, set-top boxes, and so on). The transport stream originates from the cable operator and terminates at the cable installation.
  • Return channel: A separate bidirectional data connection between the Tru2way-enabled device and the cable operator. All Tru2way-enabled devices include a cable modem that enables the device to have a high-bandwidth connection back to the cable operator.
  • Service: Conceptually, a service is a TV channel. However, a service is actually an integrated collection of audio, video, and program data that's presented together.

The main feature of these apps are two way communication between User and cable operator.

ETV is another specification in TV app dev.It aims at maximum set-top boxes.

The main differences between Tru2Way and Etv are
ETv applications are supported by legacy set-top boxes,where as Tru2Way applications don't.But the present Set-top boxes support Tru2Way apps and Etv applications may not provide user interactivity.
Tru2Way is having Superset functionality of Etv.So,the applications which are developed in Etv can be completely developed using Tru2Way.
For Bound applications Etv is best and for Unbound Applications tru2way is best.

Both have common "Write once deploy any where" concept.

ATSC have recently announced the Advanced Common Application Platform (ACAP). This is supposed to be a common basis for all interactive TV systems in the US, be they cable, satellite or terrestrial. This is also based on GEM, and adds some elements from OCAP that are appropriate for the US market.

Here are some references:

http://developers.sun.com/mobility/ocap/articles/intro/

http://www.interactivetvweb.org/tutorials/javatv

http://www.ibm.com/developerworks/java/library/j-ocap1/index.html?ca=drs-

http://www.ibm.com/developerworks/java/library/j-ocap3/index.html?ca=drs-

http://www.ibm.com/developerworks/java/library/j-ocap2/index.html?ca=drs-

Friday, June 25, 2010

Iphone 4...yet another revolutionary product



From past 4 years a new surprise form Apple every year.The revolutionary product which changed the world of smart phones.The most recent is Iphone 4....A lots of features added to the Previous version.Starting with the deign...longer battery,new A4 chip,Retina Display,5Mp cam with LED flash,high res video capturing,Multitasking,Video calling(Face Time),Screen resolution..........Thinner ans yet smarter than previous ones.
The first Day of bookings over 600,000 iphones were ordered according to the apple.

Design & Battery--->
Iphone 4 delivers nearly 16% more than previous iphone.This is possible with the increase in size of battery.But the size of iphone is the same and thinner.So how it is possible?.The answer is the processor(A4) Size is reduced and increased Battery size and thus battery capacity. The crve of previous iphones id replaced with rectangular design.


Talk time:
Up to 7 hours on 3G
Up to 14 hours on 2G

Standby time:
Up to 300 hours

Internet use:
Up to 6 hours on 3G
Up to 10 hours on Wi-Fi

Video playback:
Up to 10 hours

Audio playback:
Up to 40 hours

Retina Display---->
The display is amazing.The screen resolution is 960 X640.You will feel like as you are printing the paper written by you.The screen Glass is on front and back which is very hard and finger print resistant.The technology used in making the glass is based on high speed train front glasses.

5Mp cam--->
The Cam comes with a LED flash and 5mp .We can get high def video recordings.
There is also a front Cam.

Multitasking--->
The one which is missing in all previous iphones.


Face Time(Video Calling)--->
Video calling is already present in some of other smart phones.But what makes difference is the quality of Call is completely dominating than other phones.The Camera can switch from front and back cameras with a single TAP.

The other features include ...folder creation,App Store(nearly 1,50,00 apps)...etc...


Some of the Drawbacks are fixed battery.We cant change the Battery.Some users use two batteries .they will definitely face the problem.In built memory card.There is no option to take the memory card out of the phone.

Iphone 4 comes with two variants....16gb and 32 gb .
16Gb costs around 199$ , a contract with AT&T network.
32Gb costs around 299$ , a contract with AT&T network.


For more details visit

http://www.apple.com/iphone/


14/07/10......

Many issues are raising on the signal strengths of iphone.The signal level decresases when the hand position is on he left bottom side at a particular point.Apple team have to respond to this ASAP.

J2Me...My first App

My first App ....Mobile App...i have to do it on J2ME platform.I developed a J2ME application at last with the help of 3rd party LWUIT.The tool LWUIT is very flexible to use.But the performance degrades compared to pure J2ME app.The issue we struggled is displaying the large text.We are getting the whole text in a single line(cutting the text which is more than screen size.).We wrote a function to wrap the text into pieces sufficient for the screen and display each piece in a separate label.But this will take lot of time if the text is too large.....

Compared to BB and Iphone J2ME api doesn't have a rich look and feel.The network connectivity is good in iphone.

Small phones always support J2ME.Nokia and sony erricson mobiles also suport J2ME.

Wednesday, June 23, 2010

tru2way---rare Tv app dev

Had to do some R&D on TV applications a long ago.I finally concentrated on Tru2Way technology which is emerging,Brand name for opencable specifications.OpenCable is a set of hardware and software specifications under development in the United States by CableLabs to "define the next-generation digital consumer device" for the cable television industry.Tru2Way is developed by Cable labs.

Previously there is another technology called MHP(multimedia home platform) which is a decent success in UK.Then an Us company CableLabs started working on this Stream ..finally it is Tru2Way.The set top boxes in Us are bit different from rest of the world.Tru2Way is spreading among US.
Comming to the technology...what is this technology?why we are using this technology?what are the other technologies in this category?...these are some of the questions raised.....

Basically for a TV application the user cant interact with the cable operator ie there is no 2 way communication.But the applications which are developed by Tru2Way can have an interaction with the cable operator....confined by the application.Suppose a reality show is going on.You have to poll the contestant through SMS,but by using this technology we can directly poll to a contestant through remote.this is a sample application.we can develop a lot more.

This field has to be improved a lot.As far as i observed we are not able to input the characters i.e the user can only generate events.

The apps devoloped on this technology are installed on the Set Top Boxes.It uses java Tv API for network issues.

If you are interested in this technology first thing is to visit http://www.java.net and where you can find forums....for a lot more discussion.


some of the useful links are:

http://www.ibm.com/developerworks/java/library/j-ocap1/index.html?ca=drs

http://www.ibm.com/developerworks/java/library/j-ocap2/index.html?ca=drs

http://www.ibm.com/developerworks/java/library/j-ocap3/index.html?ca=drs





Blackberry App dev into my life

After a lots of confusion in my life...I am into Blackberry app development.


First of all the Mobile applications need a lot of patience to develop.We have to use less resources not like the web apps or Java apps.It is based on Java (J2Me).RIM modified the J2me API into the way Blackberry supports.BB apps are COD files(which cant be extracted) not like JAR files of J2ME.J2me apps are also supported by Blackberry.But these(J2ME) Apps will not be approved by Blackberry app store team.

I worked on J2ME for 2 months and then suddenly shifted to Blackberry dev as per requirement.My first task i remember i have to support arabic text in my app.its a simple thing,the one that challenged me is to retrieve an arabic text from editField.I struggled a lot...and At last i got soln to store the value in RMS and retrieve the value from RMS.These are some of my first experiences on BB app dev.

On the flip side,The debugging and running are too slow in BB.An app developer should have a lot of patience.

Introduction.....Ends here.