Wednesday, June 09, 2010

The magic continues

Of the entire ruckus going around with the iPhone4 launch and all the “new” and “magical” features that it brings to the people I feel that something is amiss and perhaps no one is taking a note.

Let’s talk about the all the “magical” features and see how well do other devices match up. With the Android Froyo in the field there have been comparisons between the features of iPhone and Android.

Recently I saw a blog titled “New” to iOS 4 is Old for Android. Of the features they have mentioned here lets tackle them one including WinMo as well

  • Multi-tasking - Goes back to the very first Android phone, the G1 (circa 2008)
    • Windows mobile had it since ancient times.
  • Threaded Email - Same as above, G1 had it 2 years ago.
    • There are programs available that do it. No one restricts you to whims of some “Jobs” on WinMo.
  • Folders, Video Sharing & tap to focus has existed on previous versions of Android for a while now
    • Forever.
  • Tethering - This has been around on Android for a while as well. But Sprint is more gung-ho about it with their EVO 4G
    • Do I even need to talk about this one?

From what I feel a certain Mr. Jobs is all about showmanship and ability to get people excited with small upgrades making money for his company and cheating the asses off the fans.

Take the plain old “Copy Paste” for example. He said no one needed it. Then in some version down the line the turtleneck was up the stage presenting the absolutely magical way of sharing the data between apps running on the same system welcome “Copy Paste”.

It’s the same story with almost all the features you find on the iPhone today.

Lets see how new are the various features on iPhone and WinMo.

 

iPhone

WinMo

Native Apps

Medieval

Ancient

Multitasking

Fresh off the line

Ancient

Copy Paste

Modern

Ancient

Video recording

Fresh off the line

Ancient

Video conferencing

Fresh off the line (Restricted)

Ancient

Folder for apps

Fresh off the line

Ancient

Home Screen

Fresh off the line

Ancient

Noise Suppression

Fresh off the line

Ancient

Mail

Fresh off the line

Ancient

Voice Control

Fresh off the line

Ancient

MMS

Modern

Ancient

Soft Keyboard (customizable)

Unborn

Ancient

Search

Medieval

Ancient

Voice Memos

Fresh off the line

Ancient

Calendar

Fresh off the line

Ancient

Weather

Old

Ancient

Notes

Fresh off the line

Ancient

Tethering

Fresh off the line

Ancient

Encryption

Fresh off the line

Ancient

Source for Features http://www.apple.com/iphone/features/more-features.html

Wow, it seems that WinMo had all the features that have been described “Magical” by the singular authority on all things apple (you never know when and what will change) since ancient times. Only thing that held WinMo from being the leader is that MS gave up on beautifying the OS and there never was a fast device which carried WinMo even though hardware was there. This is one mistake that cannot be overseen but still letting Mr. Jobs take all the credit for revolutionizing the phone industry is most certainly an overstatement. He did what he does best – Presentations and Copy Paste (earlier from Xerox and now from other Phones).

Sunday, May 23, 2010

Need for rationality…

There are times when you are asked to maybe go over a few things and give your comments on them, or maybe try and find some bugs or design flaws. This usually is a common practice in IT world where software engineers often enlist their peers for validating and verifying the design and the code they write.

Most of the time this process is nothing more than a quick scan of the code/Design to see if there are any design flaws as these are the ones that cause immense pain in the ass if left unchecked. Implementation details on the other hand are mostly trivial and easy to fix.

The details pertaining to the communication between modules or the way they go about storing the data which might be of some use to any other module are very important and should be addressed before even a single line of code is written. And the details regarding alignments of various UI elements though very apparent are the easiest things to fix.

But I have seen people fighting over the best way to align a textbox to a radio button and not care about the data that is going to be passed on to an asynchronous function.

The event handlers in question take something akin to void* from C/C++ world and then use runtime queries to determine the properties it has and then take some actions. The best part is all these could have asked for a specific type of object and then done the same actions with compile time bindings. That’s the beauty of languages like JS/AS/Python, you don’t need to know what is the data type of any given variable. You can query the variable for the property you think it should have and the variable will tell you if it has that property. So far so good, but the developers who use these languages forget that this is a feature of the language and like all good things it has a price to pay for.

For starters anytime you use this kind of run time data binding and property search its going to be freakily expensive. Computing cost apart, this type of code will be a nightmare for the next guy who comes in to maintain/develop the code/product. Anywhere you go it’s a discovery process all over again. He cannot be sure of the content of the variable unless he/she has gone through all the possible execution paths to get to that variable and even then it’s a bitch to keep track of all those pathways and the various properties they might infect.

Compare this type of code with Compile time binding and anyone looking at any isolated piece of code can tell what exactly is going on in the localized view that he/she has. They know the data coming in and the format and type and they know what is going out. The guessing game has been replaced with a much cleaner and well defined set of rules.

Back to the original topic, I recently was a witness to a lengthy discussion about how to align a textbox to the label part of a radio button and believe me the guy who was fighting for the implementation details of some UI element was the very same guy who didn’t give a rats ass for the sanity of data being passed around in asynchronous function calls where each and every function had to go through the same data discovery stage as nothing was clearly defined.

Imagine the person fighting for how should the text box placement go and not caring about the way all important data flows through the system. I choose to believe that the guy who does this has no interest in the product as a whole but is concerned with how it looks to that in when the demo time comes up he can have a pretty thing to showcase. I’m not saying that software should not be pretty but first and foremost it should be functional.

But then I look around in this world of mine and see that everything pretty (functional or not) usually get what they want. Take Britney Spears, Lindsay Lohan or any other bombshell out there. No one care whether or not they have acting talents but just because they are pretty they can do pretty much everything and get away with it. The irony is it’s not limited to just glamour world, in out tech world a insanely could have been great product is crapped just because it was not pretty (Looks at windows Mobile) and a stupid crippled product goes ahead and becomes one of the bestselling things ever just because it was pretty (iPhone/Pad).

Sigh…

Monday, March 22, 2010

When the body says no…

There comes a time in everybody’s life when the person want to go on, for the reward that’s on the far end of the road is worth it but the body simply says “Not happening”.

What do you do then? Do you keep going or do you stop and rest and then continue the journey.

The answer is to let the current take you to the Promised Land. Agreed that the current alone will not be able to make the same time but the effort you save doing so will allow you to savor the end result.

I’m talking about rafting and the end result is the thrill you get while on a rapid, rocking in all the directions and not knowing when the water that’s supporting the raft is going to disappear allowing the raft to free fall till it hits the trough.

So what’s it going to be…