/bin/tim

January 8, 2008

A real Android handset?

Filed under: Android, Dev, Mobile — tim CARMICHAEL @ 10:48 pm

At CES there’s a buzz that the Wistron GW4 Linux phone could become one of the first real Android handsets.  Apparently their rep announced that it was capable of running the Android image … the question is when can I get one?

gw4.jpg

November 26, 2007

Where Android may stumble …

Filed under: Android, Dev, Linux, Mobile — tim CARMICHAEL @ 11:02 pm

One of the great things about WindowsMobile is the fact the the OS is signed and sealed by MS before it goes onto an OEM device which means that an app which runs on the emulator sholuld run on any physical device (of same version at least).  I applauded Android’s entry into the market because I feel it will open up devices in a way netither WindowsMobile or Symbian can, becuase of their limited market penetration, price and technology.  I believe Android drives a simliar standard down to devices that would never be able to run WindowsMobile or Symbian due to cost or power.  However, I’m slightly worried that implementations by manufacturers may lead to a uneven ISV playing field because of what and how is delivered to be an ‘Android’ device.  This leads me to think that the compatibiltiy and capability problems that have plagued Symbian may turn up in Android.  To a certain degree its inevitable because certain ‘Android’ phones will be below the ideal feature quality bar, but I would have liked to have seen more plans for certification of the OS platform so ISV’s can actually write once and run everywhere.  If only Microsoft could have generated the critical mass to have WindowsMobile on bog standard (featureless) phones as well as high end devices.  Trouble is, I think that particular train has left the station now, and after 5 years of pushing water uphill as an ISV,  I see that most of the water got away.  If half of Samsung, Motorola and LG phones ran WindowsMobile it would be a wildly different story.

So, I now watch with interest to see some real implementations ie not on the emulator.  Of course I’m referring to deep device system stuff as opposed to fluffy graphics for a game. Anyway, we’ll see….

November 12, 2007

Android SMS namespace

Filed under: Android, Dev, Mobile — tim CARMICHAEL @ 7:21 pm

Here’s an example of how the Android team are on the right track for developers.  (OK I’m no Java fan boy, but it works and there are plenty of knowledgeable devs out there)  For example, the android.telephony.gsm.SmsMessage class has lots of usefull functionality thats easy to access and use, look at these methods for example; (now I really want a real device)

 

      static  int[]  calculateLength(String messageBody)
Calculates the number of SMS’s required to encode the message body and the number of characters remaining until the next message, given the current encoding.
      static  SmsMessage  createFromPdu(byte[] pdu)
Create an SmsMessage from a raw PDU.
        String  getDisplayMessageBody()
Returns the message body, or email message body if this message was from an email gateway.
        String  getDisplayOriginatingAddress()
Returns the originating address, or email from address if this message was from an email gateway.
        String  getEmailBody()
        String  getEmailFrom()
        int  getIndexOnSim()
Returns the record index of the message on the SIM (1-based index).
        String  getMessageBody()
Returns the message body as a String, if it exists and is text based.
        MessageClass  getMessageClass()
Returns the class of this message.
        String  getOriginatingAddress()
Returns the originating address (sender) of this SMS message in String form or null if unavailable
        byte[]  getPdu()
Returns the raw PDU for the message.
        String  getPseudoSubject()
Unofficial convention of a subject line enclosed in parens empty string if not present
        String  getServiceCenterAddress()
Returns the address of the SMS service center that relayed this message or null if there is none.
        int  getStatus()
For an SMS-STATUS-REPORT message, this returns the status field from the status report.
        int  getStatusOnSim()
Returns the status of the message on the SIM (read, unread, sent, unsent).
      static  SubmitPdu  getSubmitPdu(String scAddress, String destinationAddress, short destinationPort, byte[] data, boolean statusReportRequested)
Get an SMS-SUBMIT PDU for a data message to a destination address & port
      static  SubmitPdu  getSubmitPdu(String scAddress, String destinationAddress, String message, boolean statusReportRequested)
Get an SMS-SUBMIT PDU for a destination address and a message
      static  int  getTPLayerLengthForPDU(String pdu)
Get the TP-Layer-Length for the given SMS-SUBMIT PDU Basically, the length in bytes (not hex chars) less the SMSC header
        long  getTimestampMillis()
Returns the service centre timestamp in currentTimeMillis() format
        byte[]  getUserData()
returns the user data section minus the user data header if one was present.
        SmsHeader  getUserDataHeader()
Returns an object representing the user data header
        boolean  isCphsMwiMessage()
Returns true for CPHS MWI toggle message.
        boolean  isEmail()
Returns true if message is an email.
        boolean  isMWIClearMessage()
returns true if this message is a CPHS voicemail / message waiting indicator (MWI) clear message
        boolean  isMWISetMessage()
returns true if this message is a CPHS voicemail / message waiting indicator (MWI) set message
        boolean  isMwiDontStore()
returns true if this message is a “Message Waiting Indication Group: Discard Message” notification and should not be stored.
        boolean  isReplace()
See TS 23.040 9.2.3.9 returns true if this is a “replace short message” SMS
        boolean  isReplyPathPresent()
Returns true iff the TP-Reply-Path bit is set in this message.

Why Android is going to be big

Filed under: Android, Mobile — tim CARMICHAEL @ 7:07 pm

IMHO, Android is going to be big, no make that huge.  I say this from the perspective of a developer and I can actually feel the Android initiative accelerating under my feet.  I have to say that Google have followed the Microsoft approach to developers (embracing) rather than the Symbian model (which involves a barge pole).  Google are aggresively targeting the developer community which will drive content for devices which will attract manufacturers and operators and ultimately combined with sexy devices, gets end users.  I predict a race occuring amongst handset manufacturers to be first to market with the ‘G-Phone’.

The Linux core makes for a solid foundation, and Google have built a compelling and architecturily comprehensive developer stack. Looks real good. My only concern is the security model which I haven’t had a chance to examine yet, especially around the XMPP android to android data protocol.

I downloaded and installed the SDK and ran up the emulator, and I was very impressed with its performance and integration.  Obviously it can’t make a call, but the data services are hooked up so that the internet is available as if it were a real phone for app testing.  At first glance the emulator works as well as it looks!

Can’t wait to receive my first real test device!

Android Home ScreenAndroid on my blog page liveCalling me on Android

Older Posts »

Blog at WordPress.com.