The Frosting on the Cupcake

For the past few months, there has been lots of talks about Android Cupcake.  There have been many changes throughout the OS.  This is a list of some of the changes documented for 1.5.  Apart from those changes, there have been more changes that have gone unnoticed for the most part.  For one, the batter life seems to have been improved.  These are some of the changes that I have noticed.  If you find other gems that I missed please feel free to let me know and I’ll add them to the list.


The Gmail app received a few welcomed changes.  One of the most noticeable change is the checkbox next to each email, which allows you to perform bulk actions suck as Mark as Spam, Mark Unread, Add Star, Archive, Change Labels and a new feature called Mute.  If you mute a conversation further emails received in that conversation will skip the inbox and go straight to your All Mail folder.  The labels screen also got a minor change as well, instead of the confusing +/- icons, you have a checkbox next to each label.

Something that I welcome is the ability to restore a message from the recycle bin back to the Inbox.  There have been a few times where I had to use the online version to restore some emails that I deleted by accident.  It also seems like more formats are supported when previewing attachments, and you can directly install .apk files from emails.

Checkboxes Checkbox and Stars gmail3.png Gmail Labels gmail5


The browser has received a set of changes as well.  Now you have the ability to find page and select text.  The bookmarks screen has been updated as well.  Now you get 3 tabs for the Bookmarks, Most Visited and your History.  You can add pages from your Most Visited and History to your bookmarks.  Just press the star next to each item.  The menu also has changed, the Forward button is now part of the main menu.  The Windows button received a minor change.  If you just have one window open it will say “New Window” instead of “Windows”.  On the windows screen now you don’t get a confirmation when closing a window, it just closes it.  The Search and Url fields have been merged and it works like the address bar in Chrome.  As you type you get url and search suggestions in the same place.  Something that didn’t change in the browser is the file download.  Most files are still being restricted.  I really had hope they would remove these restrictions or have an option to disable it.

browser3 browser3 browser3 browser4 browser5 browser6 browser7 browser8 browser9

Auto Rotate

It’s nice to finally see autorotate built in. Has some lightbox effect where the screen grays out while it’s changing oriantations. I’m running the JF 1.5 build and not sure if the T-Mobile version will include the spare parts app but there is a setting to change the animation for the autorotate. The other option is where the screen zooms out rotates and rocks back and forth while the app is being re-rendered and zooms back in. Seems pretty responsive to me. Takes 3-4 seconds to rotate, but depends on the app also. screenorientation screenorientation2

Virtual Keyboard

Something that impressed me was the virtual keyboard.  I’m not fond of them but the Android one works nicely.  It’s able to detect what key you inteded to press.  On top of that you get auto suggestions as you type ignoring typos.  You can enable haptic feedback and sound as you type away.  Over all I’m really impressed and feels smooth.  I can type as fast as I want to and it will just miss a few letters but rarely get dropped and if they do the suggestions are there to help.  If you are like me that type in English and Spanish having the auto replace becomes annoying since it will change certain words to what it thinks you intended to write.  I endedup turning the auto replace off.

vk vk2

Call Logs and Contacts

The call log screen has been changed a bit. If you press the phone button on the left, a call is made to that contact.  If you press on the contact itself you are taken to a new screen that was added.  There wou get more details about the call.  Time, date, duration, call again, senf SMS and add to contacts.  The other new and welcomes feature is a change to the dial pad when in a call.  Now instead of the number 5 it says “Diapad”.  The other big change is that if you are in a call and leave the dialpad open, after a few seconds the pad is still up but locked now.  The screen no longer times out.  Instead it tells you to double tap to keep dialing.  This should improve things quite a bit when calling companies with automated systems and so on.

call call2 call3 Call4

Messaging, Music Player, Widgets and Others

The text message app received a few changes.  When viewing a consation, now you you can call the recepient via the main menu.  Also now you can see your friends GTalk status next to each text message converstation in the main window.

messaging messaging2 messaging3

Now to that lovely Music Player.  Seems like they haven’t abandoned this one completly.  There were some color changes in this department.  The player still sucks but something that I welcome is the alphabeticall scrollbar.  It makes it easier to scroll through a large collection of music.  Wish they had focussed on this a bit more.

music music2

Widgets are the hot new thing in 1.5.  I see lots of potential in this area.  I installed the Battery Meter and Jeff Sharkey‘s Weather Widget.

weatherwidget home calmusicwidget

The notification area got minor changes.  The button to clear notifications is now smaller.  Also the are where the button resides has been separated from the notifications so when you scroll the bar will be possitioned in it’s place and wont move.  The Lock Screen and Pattern Lock Screen have been updated as well.  Now they take on your regular background instead of the plain black background.  Also for the Pattern Lock you can change the setting to get haptic feedback as you enter the pattern.  App Tray is no longer transparent.  I miss the transparency, I got used to the old style.

notifications lockscreen patternlockscreen apptray


Overall I love all the changes.  Things feel smoother and much faster now than pervious versions.  I feel that this update will put Android back on track with the competition.  One minor anoyance/bug is that now you can only play one sound source at a time.  So if you are listening to music and a notitication comes in, the music will skip a second and the notification will play.  For those familiar with Linux distros, it feels like having the sound device set to OSS over ALSA.  Gets annoying after a while.

I would like to thanks JesusFreke for all his contributions.  I finally rooted my phone and when with his JF 1.5 build.  Kudos to him and everybody involved in taking Android to new lengths and making it better.

Thanks to Eliana for the great title suggestion. Also thanks to Leeds from the Android IRC channel for proofreading.

Komodo (Edit) Abbreviations

Recently the Komodo (Edit) developers added a new feature to Komodo 5.1, that feature is abbreviations.  The abbreviations feature allow you to quickly replace certain keywords with snippets of code by just pressing CTRL + T (or your key of preference).  This can be extremely useful.  I decided to create an abbreviation library for CodeIgniter.

Let’s say I type cicontroller and press CTRL + T, that will be replaced with:

class MyController extends Controller
	public function __construct()
	public function index()

MyController is highlighted by default for easy replacing.

Here is my current library.  I’ll update it as I add more items.

CodeIgniter Library

Mask Facebook Title and Favicon – Greasemonkey

There are times where you don’t want to show that you are on Facebook. I decided to create a simple Greasemonkey script to do just that. This script removes the favicon — that icon that shows in the tab — and it also sets the title to “Page Not Found –”. Hope it has some use for some.

Download – mask_facefook.user.js

// ==UserScript==
// @name          Mask Facebook
// @namespace
// @description   This script will remove the favicon and the page title from Facebook.
// @include       http://**
// @include*
// @include	  https://**
// @include*
// @version       0.1
// ==/UserScript==
// Set the form values.
var link = document.createElement('link');
link.setAttribute('rel', 'shortcut icon');
link.setAttribute('href', '');
var head = document.getElementsByTagName('head')[0];
// Set the title by default.
document.title = 'Page Not Found -';
// Lets make sure the title is updated every 5 seconds in case an IM is received.
setTimeout(function () {
	document.title = 'Page Not Found -';
}, 5000);

Putting the past behind me and moving on.

It’s been almost 5 months since I officially left Simple Machines (SM), for good. I was part of the team since November 2005 and for the most part it was a great experience being part of the team, I loved it. However, like everything else, all things must come to an end.

No organization is without its flaws, some flaws are bigger than others. Simple Machine is not immune to this. It might not be obvious to some but there has been in-team fighting for almost a year now. Some people credit the Meeting of the Minds (MotM) and the biggest contributor to all of this.

The MotM was great because some friendships were developed but on the other hand it broke friendships. Personally I got to learn how some people truly are and their motives.

After the MotM issues upon issues started to stack. Most of them went unsolved and many just beat around the bush every time the issues came up. One of the biggest issues was the fact that – at the time – SM had only one partner and it was like that since the LLC was formed in 2006. This was unacceptable to some. Many started to see this as a lack of trust for the current partner. In reality, what the system needed was checks and balances. If something were to happen to that person the project would’ve been in the air. This was just one of the many issues.

Another issue was that the whole structure of the project needed re organization. The team had outgrown the ‘structure’ that was setup. Some people were not willing to compromise and make the change that was long overdue, starting from the Project Managers all the way down to regular team members.

Personally my final blow was the direction that the team was being led to. My problem wasn’t actually the direction but the way that it was being done and how members were manipulated and in some cases, some members feared the ‘higher ups’.

It got to a point in which I lost total respect for a certain individual and to this day I haven’t gotten any sort of respect towards that person. In fact I’m getting to a point where I resent that person and everything that they stand for. That said I do appreciate some of the things that they did for me. You can say that I got to where I did in terms of knowledge because that person pushed me to learn more and better myself.

I understand when one or two people on your team tell you that you’re the cause of the problem and you just ignore it. Hey it could mean that they just don’t like you. But you have a handful of key people telling you that you are the problem and you blatantly ignore them, then there is a problem.

IMO incompetence, if used right, can be a dangerous ‘tool’ (for a lack of a better word). When you are incompetent and you know you are, you tend to find ways to make up for it. Sometimes these methods that you use just make it worse. What I mean is that you tend to find ways to ‘eliminate’ those that you feel are competition to you, even if they are not. You start making things up in your head. I won’t develop more into this, I’ve said enough about this and you can get the picture.

With all this brewing things got pretty bad and the end result was not a happy one. Depending on how you see it. There were a few of us that ended up leaving the project and moved on in life. To this date, things are a bit sour between a few of the members that have left and those currently on the team. Some say that we left because we were part of the problem or that we don’t care about SMF. In reality, I for one still care about the project and hope it succeeds; I just don’t really care about some of the people behind the project. This does not include past and current developers. I have nothing but love for each and every single one of them. There are others outside the Dev team that I still have respect towards them.

Now on to bigger and better things, not everything ended in a sour note. Some of us have kept a close relationship and views. We have started to push these views forward. In what way you may ask, we recently officially formed a NPO. If anyone is interested you can check us out at YouraSoft. We hope that this will mark the beginning of a great future.

As for me, Juan aka Jay… After taking a semester off from school, I transferred into the Bachelor of Technology in Computer Systems program at New York City College of Technology and I’m back in action. This semester I’m taking “College Algebra and Trigonometry” and “Intro to Psychology”. I like the professor for the most part. Don’t really like the school though. It is too damn disorganized. I transferred from a CUNY to a CUNY so they are supposed to have all my records. THEY DON’T. They even went as far as having me as an out of state student, asked for my immunization records, proof of address and this week I got a letter saying that they need my High School diploma. To top it off the transfer department gave me 2 classes that I didn’t even need to take, had to drop them. They put me in this computer class that 99% of the class had an average IQ of 10 in computer related knowledge.

Work and school have kept me pretty busy but, I haven’t been off the programming scenes completely. Recently I picked up on CodeIgniter – which I’m loving – and have been using it to work on I wrote an ecommerce site so that they can sell tickets to their events. At the moment, the site is running a beta version. Check it out and feedback is always welcomed. Also, I’ll look into posting a demo up. As I hit towards the end, I’ll make a post devoted to it and explaining the system more.

To end this on a happy note, I’ve been reading a lot about Android and I expect to start writing applications for the platform.

Also, soon I’ll start to study for the Zend PHP 5 certification. Hoping that goes well.

Simple Flat File Image Gallery

I did this for a co-worker. It’s a small script that scans a given directory for images and displays the html resized version as a thumbnail with a link to the full image. It’s not fully done though. I didn’t finish adding support for pages since it was something simple and did it while I had some free time at work. Maybe it may be of some use to someone.

Continue reading Simple Flat File Image Gallery