Translate

Search This Blog

Sunday, December 24, 2006

Mobiles still ringing in New Year

Oh my God, thanks a lot for letting me read this article.

I am so tired that during insane nights of work this week I thought of burning all my mobiles and going to live as a fisherman in Porto de Galinhas or the like, whatever, I don't know...

Well, I finished the application today (I hope so :) and now it's almost Christmas, but this article is an eye drop to my tired eyes. Great :)

Friday, December 15, 2006

The 12-key numeric keypad

Interesting article by ARCchart - Keypad makes way for control surfaces.

Sorry for this short post but I've read it quickly and maybe I will do so once again tomorrow (oops, today). I am swamped this week working too hard in a mobile application project - MTrack, a logistics application...

I blogged a lot last November but now I am really busy, Christmas is getting closer and I need to finish that baby...so let me rest a little now...

Thursday, November 30, 2006

Microsoft Vista released for sale

Be ready, you will need new hardware to enjoy its full capabilities. So, I am now asking myself, how is Microsoft going to have it deployed in volumes? There's more to it than I can imagine...

Anyway, you will ask me: What the f...does it have to do with mobile stuff?

Well, I've heard that Windows Mobile 6 (a.k.a Crossbow) will have some features inherited from Vista, is it true??? Hope it will require fewer resources, though :)

Microsoft Vista released for sale

Wednesday, November 29, 2006

YouTube goes mobile

As I am a fan of YouTube and also a mobile software application developer, I just wanted to have it registered here.

YouTube moves to the small screen

The so-called 21st century network (21CN) - have you heard about it?

It's news for me as well, so let me just include a text excerpt...

"The so-called 21st century network (21CN) is being built in the UK using Internet Protocol technology. The massive upgrade, the first of its kind, will cost British Telecom £10bn and take until 2010 to complete."

Interested? Go read the article - First call on new phone network.

Friday, November 24, 2006

OFF-TOPIC - Smart homes a reality in South Korea (includes OSGi, though)

Home automation will grow in the coming years, so this article tells the status of it in South Korea.
I have some really cool ideas involving home automation and OSGi, so I think I need to start a new company, if you're a VC investor please contact me, ha, ha, ha. Just kidding (not sure in fact) but...

I know that OSGi (another technology for the future) is involved and Philips has some interesting implementations like the iPronto (not sure if still being marketed, though) product line. Worth checking anyway!

Smart homes a reality in South Korea

Wednesday, November 22, 2006

Mobiles hope to be 'smart wallet'

NFC again, so if you're interested go there and read the article. Just to mention some "smal" players involved, they are: Bouygues Telecom, China Mobile, Cingular Wireless, KPN, Mobilkom Austria, Orange, SFR, SK Telecom, Telefonica Móviles España, Telenor, TeliaSonera, TIM, Vodafone and 3. Do you need more? ;)

Mobiles hope to be 'smart wallet'

Wednesday, November 15, 2006

Monday's release of Java ME, known as Project Mobile and Embedded

Now it is official, Java ME is Open-Source!

Is it an evolution or will it mess everything and destroy the platform? Opinions may vary and abound...

Duke Open-sourced

Duke is now free as well, so visit his home :)

"On Nov. 13th 2006, Sun announced that Duke would become Free Graphics, just as the implementations of Java ME and SE became Free Software."

https://duke.dev.java.net/

More about Open-Source Java

It's a hype, even people who do not know exactly what Java is are talking about it.

Sun 'releases' Java to the world

The most interesting thing is that when I started developing Java applications one of my previous employers tried to persuade me that Java would not succeed, it would die as it seemed to be just that fancy Applets running within a web browser (the security-holed Internet Explorer). A Microsoft Solution Provider at that time with tons of VB coders, ones that use Visual Studio to drag and drop a component and think they are real software developers...poor guys.

Ha, ha, ha, it sounds like joke for me nowadays, I replied: "there are a dozen of companies using it so I will invest too". One of the smartert choices I've made in my career so far.

And now in 2006 I am one of the JUG Leaders (and founder) of MGJUG and believe me, I have received a message from one guy who works for that same company, and now they are using JEE there.

So let me summarize: Java will dominate the world as of today and all other technologies (including RoR, Microsoft .NotYET and C#, it's pronounced Sharope in Brazilian Portuguese) will die.

Luckily, I have a lot of Java certifications and I am working with the three Java platforms for a long time now, so I will not be affected by this invasion. Actually, the opposite :)

So, if you're lucky like me you can sleep in peace and wake up in the morning with your Java phone ringing around...mine with loots of cool JME apps on it.

So stay tuned the next time and think out of the box my dear ;)

Gee, I don't want to be so mean :)

Thursday, November 09, 2006

LBS in Brazil

A cool article by Estadão, a major online newspaper in Brazil. Unfortunately it is in Brazilian Portuguese but worth posting here anyway...

Celular vira auxiliar digital do automóvel

Friday, October 27, 2006

Biometric systems - welcome to the future!

Biometric systems will become pervasive in the next 5 to 10 years I guessed, then I came across an interesting article by BBC News.

Worth checking if you don't know what those systems are, there's a very cool Guide to Biometric Technology on it. Let's see how that all will interplay with mobile devices, I can imagine some use cases and I must admit that I have expectations considering that...


Wednesday, October 25, 2006

Train firm to issue phone tickets

Yes, this is all about NFC - Near Field Communication.

The Helsinki, Finland scheme in this article is very interesting as now we Java ME developers have JSR-257 Final Release. So it's time to start looking at it, I can see a lot of killer solutions steeming from NFC. Great ;)

More on that soon.

Tuesday, October 24, 2006

Heavy mobile use 'damages sperm'

Gee!

Heavy mobile use 'damages sperm'

I have just a little daughter but I do plan to have more kids, so I think I need to discard all my 5 mobiles as of today...or maybe I can use a cool shielding solution, let's see...I will find a good solution, maybe I can use a SAR shield under my pants, is it going to work out?

And I thought it was all about brain damage...but the problem seems to be more complicated (deeper) than I had anticipated, ha, ha, ha :)

FireFox 2 is out!

FireFox is so amazing that even my wife is now using it, and she's not a techie! I cannot imagine working without FireFox as it helps me perform a lot of tasks: find a lot of resources I use during my daily activities as a software developer, use it for debugging web pages, RSS and a lot of other cool features I cannot mention in a single blog post, a real tool and not just another web browser.

So, if you're not using it yet, read the articles below and give it a try ;)

Firefox browser for web 2.0 age

What's New in Firefox 2

Saturday, October 21, 2006

The Game On exhibition at the Science Museum in London

That exhibition is simply amazing, it makes me feel as playing my old Odyssey console back in the 80's, when I started getting interested in electronics and then computing. Then I bought an Atari 2600, a Sinclair Spectrum afterwards and started programming some simple games using BASIC and only 48KB of memory. Good times :)

Unfortunately I live in Brazil and I cannot afford to go there just to visit Game On, just nostalgia then...

From BBC's In Pictures section:

"The Game On exhibition at the Science Museum in London brings together more than 120 different videogames, spanning the entire history of gaming – from the first videogame, SpaceWar in 1962, to the Xbox 360.

"This is about the history and culture and development of computer gaming," said the exhibition's co-ordinator Gaetan Lee.

Visitors can play on classic arcade games such as Space Invaders, Donkey Kong and Centipede and chart the growth of games over the last 40 years."

Check it out:

In pictures: Game On at the Science Museum

Friday, October 20, 2006

Mobile Game Development - what's next?

An interesting article by Vishnu Sankar published at NewLC.com discusses innovations in Mobile Game Development. While it's superficial and doesn't get to the details of each trend, it's worth reading, so enjoy :)

Mobile Game Development In Future

Wednesday, October 18, 2006

Book Review - PRO Java ME MMAPI by Vikram Goyal

Well, as I had promised, here it goes.



Pro Java ME MMAPI: Mobile Media API for Java Micro Edition has amazed me. The book is unique as it covers and desmytifies one of the most fragmented and confuse Optional Packages for JME. I've read more than a dozen books about JME but this is the first book that has really cleared some doubts I had regarding Mobile Media in JME.

I strongly recommend this book if you are developing Multimedia Applications using JME.

Vikram Goyal has done an outstanding job by clarifying and detailing every aspect of MMAPI, discussing the way it has been specified, emphasizing the differences that may occur from one implementation to another and also providing clear, detailed and error free examples that illustrate the aspects being discussed. Also, the text is very well written and I've found only 3 typos. Very impressive! Apress is also doing a wonderful job.

Chapter 1 introduces MMAPI and presents its features and requirements as defined by the JCP - Java Community Process, compares MMAPI and the MIDP 2.0 Media subset, where it fits regarding the JME Software stack and at last it lists the manufactures and market players supporting MMAPI. Nice introduction!

Chapter 2 explains the MMAPI Architecture, the main high-level interfaces, delivers an introduction to the supported protocols and content types, presents the relevant feature sets and the security issues one must take into consideration. It also details the MIDP 2.0 Media subset so that one can understand what's left out on devices implementing it.

Chapter 3 introduces the reader to MMAPI hands-on programming by explaining two simple MIDlets. It also builds the foundation regarding the overall development process and environment.

Chapter 4 is unique, it details the Media Player lifecycle, its possible states and transitions. It explains each state very thoroughly as well as Player events and how to work with them, even the limitations and issues regarding custom events. I've never read a book covering MMAPI with such a detailed explanation.

Chapter 5 covers all the issues regarding the access of media over networks. It starts with a very clear explanation of Threads in JME as well as the security permissions for media acess over networks. Then it puts it all together in a very clear and easy to follow example.

Chapters 6 and 7 are the best ones in my opinion. Those two chapters do pay the book, definitely.Vikram has been brilliant and desmystified Synthetic Tones and the MIDI protocol. He has remembered me of my of childhood, when I've had musical theory classes as it explains everything music and shows you how that all fits into programming with MMAPI. Those chapters are so complete that they have a lot of tips on how to convert from RTTTL to MMAPI format, the MIDI specification and message format and how to work with MIDI in MMAPI, how to create JTS files and other niceties. Thanks Vikram :)

Chapter 8 explains how to work with Audio and Video, playback, capturing, storing, controlling, mixing, it's everything there. It also describes the details of Media Encodings and Sampled Audio as well as the GUI options for dealing with Video.

Chapter 9 has a very cool Device Blogging application that builds upon all the subjects presented so far and also gives a good example of MVC pattern in JME.

Well, the only criticism I have is regarding the section about Streaming Media and also the Appendix about the JSR 234 - Advanced Multimedia Supplements. Considering that Vikram has proved he's really a subject matter expert He could have provided better sections about them. In fact, He has already written an article about Streaming in JME and it's available on his web site (see below - so I forgive him) but AMMS is still to be covered. What about on the second edition of his book? Let's wait and see!

Experiments in Streaming Content in Java ME

A must have book, 5 stars, absolutely!

Sunday, October 15, 2006

Wibree unveiled by Nokia Research Center

Nokia unveiled a new technology (and protocol) that's really impressive, Wibree, a short-range, wireless technology that is more energy-efficient than Bluetooth as per Nokia announcement.

It's being conducted by Nokia Research Center. The most interesting issue is that Nokia is partnering with some other companies and is planning to set Wibree as a standard.

Watches, health monitors, sport sensors and other "really constrained devices" are among the target devices for this new protocol. I bet it will be a success in the coming years mainly because it extends the reach of mobile solutions to a lot of other types of devices.

Check the links below for more details about Wibree.

Wibree

BBC Article - Wibree

NewLC Article - Wibree

Nokia Research Center

Java is Everywhere Video

Amazing Video! Can you notice it? Sun's Java technology is connecting everyone to everything - from the datacenter to the edge. Are you ready for what's next?

Java is Everywhere Video by Sun Microsystems


Friday, October 06, 2006

Mobile Phone Contactless Payments Gaining Traction

This article is a prove of what I am talking about for some time now, NFC is a very interesting technology.

Ok, I am an enthusiast of IMP (JSR-195), IMP-NG (JSR-228) and also NFC but it's good to see that the market for NFC is now evolving and getting out of its infancy.

Let's see what will happen in the coming years then.

Mobile Phone Contactless Payments Gaining Traction

In Java ME, we have the JSR 257: Contactless Communication API that's almost reaching the Final Release version, so keep you eyes opened!

Sunday, October 01, 2006

Juarez Barbosa - Forum Nokia Champion!

Wohoooo! Now I am a Forum Nokia Champion!

After months of active participation in Forum Nokia Discussion Boards I have been selected as a member of that select group. I am very glad of being selected as one of the top developers worldwide. Just 100 developers nowadays in a community of more than two (2) million developers, and I am one of them ;)

Here's the Forum Nokia Champion Program announcement - Nokia announces creation of Forum Nokia Champion reward program in recognition of outstanding individual mobile applications developers.

Actually, back in March I had already been selected as the first ever Forum Nokia Poster Of the Month for my active and outstanding participation in the Discussion Boards ;)


I received two S60 3rd Edition devices (a.k.a Multimedia Computers) as awards for those nominations - one Nokia N93 and one Nokia 3250. Great!

I don't have words to express my gladness :) Forum Nokia is amazing, I have the chance to be in touch with brilliant people and it adds a lot to my career and knowledge.

In fact, I joined Forum Nokia to learn from more experienced people but it turned to be a very good experience to me mainly because I can also help less experienced buddies, great!

If you don't know Forum Nokia and the Forum Nokia Champion Program and is interested in learning more about them take a look at the links below.

Forum Nokia

Forum Nokia Champion

And of course, now Juarez Barbosa Jnr is there - Who is a Forum Nokia Champion?

Ha, ha. My family is proud of me :)

Sharing my knowledge and perception of technologies

Hello there,

This is Juarez Alvares Barbosa Junior and I am from Brazil.

As of today I will be blogging about the several fantastic technologies and tools I use in my job and career as a software developer.


I will start by reviewing a great book called PRO Java MMAPI by Vikram Goyal, which discusses the Java ME MMAPI - JSR-135 - Mobile Media API.



I am just finishing the overall evaluation and review for it and I will post it here soon, so stay tuned! :)

Juarez Junior

Thursday, September 07, 2006

SCMAD - Sun Certified Mobile Application Developer for the Java 2 Platform, Micro Edition

Well, I think one of the main reasons I have been selected as a Forum Nokia Champion is because, besides experience, I have taken the Sun Certified Mobile Application before and it has contributed a lot to my knowledge and overall skills, because the exam helps you know a lot of details of JME in general, MIDP 2.0 and so many related subjects.

My excellent performance on the Forum Nokia DiBos as pointed by Nokia is due to a hard work for studying and passing the exam, besides overall experience, so my efforts were really worthwhile :)

So here's is my certificate, one that I am proud of having indeed mainly because although I am programming in JME since 2003, I studied for 5 months prior to taking the exam and yet stayed half of my vacation time back in 2005 preparing some memory maps that helped me clear it.


You can find more information about SCMAD here.

The exam objectives are below, a lot of things to know about, you must know the details ;)

Section 1: JTWI (JSR 185) and Overview of JTWI-Compliant Wireless Applications


  • Identify the goals and characteristics of the JTWI specification (JSR 185), including the mandatory specifications, conditionally required specifications, and the minimum configuration. Compare the relationship and differences between JTWI and other wireless Java technologies.
  • Develop portable applications that are compatible with the requirements and restrictions an application programmer must adhere to, in order to ensure compatibility with a JTWI-compliant device, including resource minimums (standard-size application), clock resolution, and the use of preferred Multi-Purpose Internet Mail Extensions (MIME) names as applicable to Connected Limited Device Configuration (CLDC) 1.0 and 1.1, Mobile Information Device Profile (MIDP) 2.0, Wireless Messaging API (WMA) 1.1, and Mobile Media API (MMAPI) 1.1).


Section 2: CLDC 1.0 and 1.1


  • Identify correct and incorrect statements or examples about the requirements and scope of the CLDC specification, including the differences between 1.0 and 1.1.
  • Describe the ways in which a CLDC virtual machine does and does not adhere to the Java Language Specification (JLS) and the Java Virtual Machine specification.
  • Identify correct and incorrect statements or examples about CLDC classes including those derived from J2SE, and the CLDC-specific classes, including identifying which core J2SE classes are NOT included in CLDC, or have different behaviors (for example java.lang.String and io classes)
  • Given the differences and limitations of exception/error handling with CLDC devices, handle exceptions correctly.
  • Write code that effectively manages memory and garbage collection.


Section 3: Security (Both CLDC and MIDP)


  • Given a set of requirements, design and build applications given CLDC-specified application-level security, including the sandbox model.
  • Identify correct and incorrect statements or examples about untrusted MIDlet suites.
  • Explain trusted MIDlet suite security authorization and permissions, including the process for MIDlet suite signing.
  • Explain requirements and process of using X.509 public key infrastructure (PKI) authentication for MIDlet suites.


Section 4: Networking


  • Write code using the Generic Connection framework specified by CLDC, recognizing its characteristics, use, classes, and interfaces. This may include identification of the class hierarchy and relationships of the Generic Connection framework.
  • Write code for MIDP 2.0 networking, and issues and limitations related to Hypertext Transfer Protocol (HTTP), HTTPS, and Transmission Control Protocol/Internet Protocol (TCP/IP) sockets and datagram, recognizing which connections are required and which are optional, as well as comparing the issues related to TCP/IP and User Datagram Protocol (UDP) datagrams.
  • Write code using the MIDP 2.0 classes in the javax.microedition.io package, including code that correctly opens, closes, and uses a network connection, using the implications of network blocking operations, scheme, connection number limitations, and character encoding.
  • Given a problem scenario, troubleshoot networking issues for MIDP 2.0.


Section 5: Application Model, Delivery, Lifecycle, and Provisioning


  • Explain the specification guarantees for: browsing for MIDlet suites, transferring MIDlet suites, using HTTP, push registries, basic authentication, installing and updating MIDlet suites, invoking MIDlet suites, and deleting MIDlet suites.
  • Identify correct and incorrect statements or examples about the MIDP application model, including: the MIDP execution environment, MIDlet suites, MIDlet suite packaging (including the manifest and the application descriptor), discovering available services on the device, discovering which version of MIDP and CLDC is on the device.
  • Develop applications that correctly reflect a MIDlet's application lifecycle, including: the purpose of the MIDlet class, communication with the application management software, platform request API, valid MIDlet states and transitions, and the behavior that should and should NOT be implemented within different lifecycle methods (including the constructor).
  • Deploy a MIDP 2.0 application with the correct use of Java Application Descriptor (JAD) files and manifests.
  • Given an installation failure, analyze the problem and develop possible resolutions.
  • Given a set of requirements, develop applications that correctly implement MIDP 2.0 support for delayed or scheduled activities using timers and background threads.


Section 6: MIDP Persistent Storage


  • Develop code that correctly implements handling, sharing, and removing RecordStores within MIDlet suites.
  • Develop code that correctly implements adding, retrieving, modifying, and deleting individual records in a RecordStore, and converting RecordStore record data to and from byte arrays, and that reflects performance implications.
  • Identify correct and incorrect statements or examples about filtering, comparing, event listening, and enumerating records in a RecordStore.


Section 7: Push Registry


  • Explain MIDP 2.0 Push Registry benefits and limitations, and describe its use in applications.
  • Develop applications that correctly use MIDP 2.0 Push Registry including discovery, dynamic compared to static, and recognizing the types of connections that can and cannot be accepted.


Section 8: MIDP User Interface (UI) API


  • Given a scenario, develop MIDP 2.0-compliant user interfaces, recognizing portability requirements and limitations (such as double-buffering not guaranteed), and performance issues (such as using inner classes and freeing memory buffers).
  • Discuss the MIDP user interface high-level API including concurrency, portability, structure of the API, and interplay with the application manager.
  • Explain the MIDP user interface low-level API including font support, repainting, and coordinate system.
  • Given a set of requirements, develop interactive MIDP 2.0 user interface code with proper event-handling (including both the high-level and low-level APIs, repainting and threading issues).
  • Identify correct and incorrect statements or examples about the classes (including the class hierarchy) within the javax.microedition.lcdui package.
  • Compare and contrast high-level and low-level APIs, including layout techniques.
  • Explain requirements, issues, class hierarchy, and relationships between items and screens.


Section 9: MIDP Game API


  • Given a scenario, develop code using the MIDP Game API package to improve performance and reduce application size.
  • Compare and contrast the use of MIDP's GameCanvas class and the MIDP low-level canvas.
  • Given a set of requirements, develop code using MIDP's LayerManager class.
  • Given a set of requirements, develop code using MIDP's Layer, Sprite, and TiledLayer classes.


Section 10: Media Using MIDP 2.0 and the MMAPI 1.1


  • Given a set of requirements, develop code using MMAPI's support for tone generation.
  • Given a set of requirements, develop code that correctly uses MIDP support for sound including audio playback, tone generation, media flow controls (start, stop), media type controls (volume, tone), and media capabilities using "Manager", "Player", and "Control" objects, recognizing the difference between required and optional features.
  • Develop code that correctly uses MMAPI support for playback and recording of media, including the use of the "DataSource", "Player", and "Manager" objects, support for audio and video capture and playback, system properties queries, recognizing the difference between required and optional features.
  • Identify correct and incorrect statements or examples about the media class hierarchies in both MIDP 2.0 and MMAPI 1.1.


Section 11: Wireless Messaging API 1.1


  • Describe the WMA's basic support for sending and receiving messages, and the Generic Connection Framework.
  • Explain the WMA's support for Short Message Service (SMS) and Cell Broadcast capabilities.
  • Identify correct and incorrect statements or examples about WMA including the WMA addressing scheme, client vs. server connections, WMA-related exceptions, WMA-related security issues, message size limitation, message creation, sending, synchronous compared to asynchronous message receipt, and the relationship between WMA and Push Registry.

A Champion Day

It is the Brazilian Independence Day (September, the 7th) and when I checked my e-mails the great surprise was there. Nokia sent me an e-mail message informing that I have been selected as one of the Forum Nokia Champions worldwide. Now I have access to lots of confidential information, training events and even cool devices. Check below...