Chrome OS: The Google's New Venture

Hello, World!

Yesterday, Google has pulled off the curtain over it's new invention: Chrome OS. And, before anyone there asks, yes! "OS" stands for Operating System (why would anyone put any doubt on Google). Plus, we are not talking about an operating system runing into a browser (WebOS or WebTop) as you could find in G.ho.st or DesktopTwo.

Google is building a full-fledged operating system designed to provide instant access to the internet. The main objective is get from shutdown to ready-for-browsing in a few seconds. And it will be available for free and open source! It will target most on netbooks, where it may let Microsoft eating dust, but may also run on desktops.

Guess its not the end of Microsoft's reign, but it's a step in this direction.

Read the full anouncement on Google's Blog.

UPDATE: Plenty of netbook OEMs had adhere to the new OS. According to telecoms.com, "The web giant said that Acer, Adobe, ASUS, Freescale, Hewlett-Packard, Lenovo, Qualcomm, Texas Instruments, and Toshiba had all signed up to get involved in the Chrome OS either on a hardware or software level."

New iPhone Patents Submited by Apple

Hello, World!

Apple has submit three new patents for iPhone software features that promise to automate, through configurations or by observing gadget usage, tasks sending "happy birthday" messages based and even like setting up silent mode when phone gets inside a movie theater. The patents also say that the ones trying to call you may get a message informing where you are or that would be better send a text message, instead of calling.

Guess I saw a application with similar features at last Google Android Developer Challenge, ain't I?

Anyway, you may check out more info at Gizmodo's article.

UPDATE: There are also other patents that stand for RFID support, Haptic (tactile feedback) on the Touch Screen, fingerprint identification and more. Checkout @ iLounge.

May I Use Your Charger, Please?


Hello, World!

Alright! Who out there has never get your phone out of batery and had trouble finding a charger? Don't worry! Your problems are now over! European Union get his mind on a simply, yet obvious, idea: a common charger plug pattern! Yes! The same charger may charge a Motorola, Nokia and even Apple assets! Its just like imagining Sonic and the Mario Brothers on the same game... Oh! That's already happened too? Whatever...

The major handset manufacturers just signed up into a Memorandum of Understanding defining that Micro USB will, for now at least, be the default plug for chargers.

Now you may be thinking: "Right, but I'm not in EU grounds...". Now, think twice! They sell the same phone all over the globe, and the changer input plug is all about hardware, which hits on design, so it will be non-sense to build an phone model with the universal plug only for EU. What I mean is that the whole world will get the benefit as a bonus! EU's point!

The first phones covered by this agreement are expected to come out in 2010.

Check out the telecoms.com full note on this major industry move here.

Android: Overall and Predictions

Hello, World!

Well. its been a while I'm following what is, in my opinion, the most
interesting happening in the mobile phone arena: the previously rumored as Google Phone, and later officially named Android. The way Google entered on the mobile world was something of unexpected, and, at the same time, filled users, OEMs, carriers and, specially, developers with plenty of expectations.

Some out there might be asking themselves where I've been when Steve Jobs did his wonderful keynote announcing to every corner of the world he’s new engineering achievement: the iPhone. I would like to clarify that it is a great and innovative phone, but in my view, nothing more than that. Remember that, once, upon a time, Motorola RAZR was a great and innovative product...On the other hand, Android has something of renewing to the whole mobile industry. Its is free. It is open. It is completely customizable. And for us, developers, it builds up a entirely new paradigm for developing applications. Application developers or not, many of you might had saw the videos of the first Android SDK, which packages an emulation of what we would see later on a cell phone.

As new SDK releases follows we could preview what later became the first Android phone to hit the market. Many had noticed that the phone has exactly the same software you found on the emulator. Some might say it even looks like the emulator. What I'm trying to say is that was the system as the Open Handset Alliance has made it (Duh!). The HTC engineers had only changed hardware drivers and vuala, there it is! Other OEMs are certainly tweaking their phones so we might expect plentiful of mobile phones for all flavors and tastes to be launched this year (check what Google CEO said @ Telecoms.com).

Yes, Google has rally built something... a really powerful platform... it is even about to show up into the crescent netbook market. What!? Yes, the netbook market. Android has setup fear into dominating Windows XP. Asus, HP, Dell, Acer and recently MSI (checkout @ Engadget) had been spotted attempting to build netbooks over Android. And the latest announced OS update – version 1.5, also known as Cupcake - gives us a hint that this netbook story is becoming serous as it states to support "x86" processor architecture (used by Intel and AMD mobile processors).

Alright so we've made it through here and here it is Cupcake. Cupcake adds lot of news on the platform but if you keep in mind that Android it is being evolved into a community, many of his new features may point clues to what OEMs are planning for they forthcoming mobile devices. I could bet that one of the coming Android phones is an iPhone-like touchscreen phone without a physic QWERTY keypad, as the Cupcake supports virtual keyboard. It’s pretty acceptable that, at least another one of them is a music phone, due to the added AD2P support... (see a full list of changes @ Android.com; see how to emulate the new environment @ Nullwire.com).

The new mobile phone era brings application stores out of the carriers hood - thanks to Apple, I must agree - and just a few clicks away from our fingers, also enabled us to developing innovative applications beyond what we could even imagine. Accelerometer and GPS are now familiar and in the near future will become usual as mp3 players and cameras. Android had moved through it all and added application cooperativeness into the game. Enabled developers to replace untouchable features like phonebook, home screen or even calling applications in the way you just expect from Windows to use a music player, web browser or mailing application as default for all your requests.

Plus, I just could not believe how easy it is to deploy and test applications at Android. And debug it on device! It’s just great! Once you have installed the phone drivers, just plug the phone on the computer; go to Eclipse and press run/debug! That’s all! The application starts running on the phone in a few seconds! Marvelous! For sure, there are new times coming for the mobile devices arena.

Soft Keypad

Orientation Switching

Design Patterns: The Ultimate Reference Site

Hello, world!

As you might have noticed, is quite a while since I did my last post. This crisis times are really tough and even my "posts pruduction" had slown down. That was a joke. Good one, uh? Nevermind. Today I'm here to speak about software design patterns. In fact, I will not precisely speak on them but only point a nice site a friend of mine told me about and which I've been using as reference since then: Source Making Design Patters. This site is really amazing when it comes to this topic! There you may find rapid and straightforward answers to take down your most scareful doubts, or even learn it all to get a nice background on the subject. What the hell are you still doing here? Go for it now!

SCJP 6.0 Exam: Unmystified

Hello, world!

In December/2007, I've just started to study to take my - very late - Java Programmer certification as the version 6.0 of the exam was early released. Although I knew it wasn't the latest version of the exam (and of Java itself), I've started studying for the 5.0 exam, which, alone, has too many new things to be learned for a mobile programmer. This time, I'm going to talk about the Sun Certified Programmer for Java Platform, Standard Edition 6.0 Exam and my experience of doing the test. 

[Offtopic] As you might have noticed, I awoke with the spirit of making things different and, thus, decided to do my first English post here, at MicroKode. I'll probably keep writing my articles this way and I really hope that the few out there who read my daydreams don't bother about it. I also hope this help to transform this "few" in a "little greater few". Now, back to the topic...

As I've said, the 5.0 version of Java has a lot of new things: Generics, Boxing, Enhanced for Loop, Enums, Varargs, Static Imports and Annotations (the last is not required for the exam). So I've just forgot the existence of a newer version - the sixth - and started reading the "SCJP Sun Certified Programmer for Java 6 Study Guide" from Kate Sierra and Bert Bates. This book is just the best. Go for it! 

About one month later I finished reading it and bought the voucher. I gotta say a word on it: the Sun service here in Brazil is just a bunch of crap. They are very polite and try to attend your requests for the best, but I had to wait about 1 month and a half to get my voucher numbers. And when they finally sent it to my e-mail the expiring date was wrong. Luckily I received a new mail with the correct date, before I even notice the other was wrong.

While waiting the voucher numbers I started doing some simulated exam from the Whizlabs software and I, gotta admit, I've never passed the exam in the simulator from these guys. The difficult level they apply on their software is far more hard than the test itself. But, at the time I wasn't aware of this and decided to delay my application to a later date, that turned to be 14th this month, about one year later.

If you think I was studying all this time you are completely nut. I only did the test because my voucher was about to expire! So I stepped to the Prometric site and scheduled my test to January 14th. Note: the current day was January 8th. This day I request a friend to help me with the scheduling and he just ask me why I was applying to 5.0 exam. He argued that the differences between the two versions of the exam where very few and that it won't worth to do the "old" test anymore. I did some searching and found several articles saying the same. Look, I was about to loose 330 bucks anyway, what's the problem on adding a bit more of complexicity to the mix? I took the exam version 6.0.

The "new" Java version hasn't any bigger changes. At least none of the new exam topics were a big deal. Only one class and two new Interfaces to know about. Compared with the wave of changes from the 1.4 to the 1.5 versions, this means nothing. Here are my tips to get passed the test with no headaches:
  1. Read the Kate Sierra and Bert Bates book. The reading is soft and the content is great, after finishing it you sure gonna be ready to take the test. Don't forget to make the exercises and re-read the "Two-Minute Drill" a few days before the test, so you can refresh the things in your mind and identify the parts where you have to study a little more. 
  2. Buy your voucher as soon as you decide to take the test. Don't wait to finish studying to do so. If you do, you may forget all you've studded before Sun deliver your voucher number.
  3. Don't even think taking the test for the 5.0 version. The differences are few to none. I got just one question about Console and none about NavigableSet and NavigableMap interfaces on my exam. Remember your voucher allows you to do any of the exams.
  4. Don't even download the Whizlabs exam simulation software. Alright, that's a bit exaggerated. You can download and exercise on it, the software is really good. But keep in mind that the real exam is much easier. When I said "much", I meant MUUUUUUUCH!
  5. Don't be afraid, Generics aren't a problem at the exam, but double check Collections. Much of the exam will test your knowledge on declarations, initialization and scooping, flow control and fundamentals. In fact I think about 1/4 of the exam questions just don't compile. There were also two questions about OO (coupling and cohesion), one for IO and a few for Collections and Generics.
  6. On the SCJP 6.0 exam, they raised the passing score, but also the test time. And a lot! So, don't run, you got enough time. I finished the test with about one hour and half left.
Finishing the legend, I surprisingly had passed the test... and with easy. Scored 79% when the passing score was only 65%. Obviously I wish I had gone 100%, but I just don't have enough patience to study that much, and, after all, getting certified, alone, was a great deal for me.

Last, but not least, follows a list of test simulators for you to practice on before taking the real test:

2009: Ano da Invasão Android

Hello, World!

Pois é, depois de mais um mês de pouca - na verdade nenhuma - produção, estou voltando a postar novidades por aqui. Dessa vez vamos falar do "robozinho" do Google: o Android. 

Depois de muita especulação, boatos e afins, finalmente saiu o primeiro celular portador do aclamado sistema operacional do Google... e isso não é novidade nenhuma, afinal, já faz bem mais de um mês que isso ocorreu.  O fato é que isso é apenas o começo... do post.

Nos últimos tempos li muitas matérias sobre o danado do bonequinho verde e ultimamente ele está cada vez mais presente na mídia especializada. Após o lançamento bem sucedido do G1, fruto da parceria entre a tailandesa HTC e a americana T-Mobile, nos U.S.A e, algumas semanas depois, na Europa, as principais forças do mercado de celulares estão correndo atrás de colocar um "robozinho" na rua.

Empresas como a própria HTC, Kogan, Motorola, Sony Ericsson, Kyocera, Asus, Garmin, Huawei, LG, Samsung and Toshiba já anunciaram até datas de lançamento para seus brinquedinhos (previstos, em maioria para o terceiro trimestre deste ano). A danada da latinha verde-limão está sendo cogitada até para substituir o MacOS X, no iPhone! Calma, calma! Isso é apenas um projeto de algum ciêntista/nerd maluco por enquanto. Mas a versão 2.6 do kernel Linux, usada nas entranhas do Android, já habita o gadget dos sonhos da maioria da população do mundial. Jobs que se cuide...

Bom, o que eu quero mesmo dizer com isso é que se você é um desenvolvedor, programador e peão, como eu, e também não sabe implementar um "Hello, World!" em Android, como eu, essa pode ser uma grande chance de oferecer razões concretas para seu chefe não te demitir. Aprenda a mecher nessa jossa! Vou dar uma colher de chá, pode começar vendo os videos abaixo [In English]. Eles são feitos pelos próprios membros da equipe do Android e oferecem o startup legal pra quem não sabe nem do que isso se trata. 

Introduction


Architecture Overview


Application Lifecycle



Android APIs



Building an Application Demo


Depois você pode continuar explorando essa tecnologia aqui e prepare-se! No pior dos casos você poderá participar do próximo Android Developer Challange e faturar uma grana alta, sem contar fama e prestígio. [Talvez eu esteja exagerando um pouquinho...]