The Snow Leopard is Coming…

August 24, 2009 § Leave a comment

In the latest Apple WWDC 2009 they mentioned that Snow Leopard will be shipping in September, but here it is shipping in the 28th of August as mentioned on the Apple official web site. did they plan for this from the beginning? Is it a marketing plan? is shipping snow leopard before Windows 7 another marketing plan?

I don’t know, but believe me there is nothing greater than shipping a product before its actual date, which is something very difficult in our field (Software Developers), and apple did a great job.


Safari or Firefox ?

August 20, 2009 § Leave a comment

This browser war is between Mac users, should I use Firefox as my browser or Safari? Mac users disagree on which is better, however (fortunately) we all agree on one thing (Internet Explorer S**KS). Once I bought my first Mac I didn’t even considered Safari I just downloaded Firefox and used it, this happened because I was coming from a Windows platform and Firefox was my browser so I kept using my nice old browser.

However when Apple Safari 4.0 beta was available, I said I should give it a try, in the end I can’t judge about something without using it, besides trying will not kill me, so after using the beta version I liked everything about Safari except the tabs position which was too much on the top, however when Safari 4.0 was released the tabs came back to their original place and now I was satisfied with the design too.

Startup Time
For this test I restarted my MacBook to be sure applications are not cached, when I launched Safari on my MacBook its startup time took 1 bounce on the Dock, Firefox took 8 bounces, there is a big difference in startup time which I can’t explain, may be Mac OS does something for safari on startup (I don’t know). After closing both applications and trying to open them again they both took 1 dock bounce.

CSS Rendering
For this test I used the CSS benchmark test. Safari completed it in 8 ms versus 39 ms for Firefox, without closing the page I did the test again, Safari time was still the same while Firefox took 22 ms. Since there was a change I decided to repeat it till Firefox gives me a constant result however I could not reach this point, but the fastest result was 12 ms.

SunSpider Javascript Benchmark
This benchmark tests the core JavaScript language only, after completion it provides a detailed report, I took in consideration the total time to complete the test, Safari took 727.6 ms while Firefox took 1404.6 ms. This test allows you to compare the results of each browser and Safari was 1.93x as fast.

Peacekeeper Javascript Benchmark
Although in the previous Javascript test Safari beat Firefox, I decided to try other Javascript tests, I found Peacekeeper. Safari scored 3153 points while Firefox got 1432 points. which makes safari 2.2x times faster. However it was mentioned in the website that Chrome 3.0.195 was even faster than both Safari and Firefox. (I will target Chrome in another post).

Acid 3 Test
This is one of the famous browser tests used to assure that a browser conforms to web 2.0 standards especially for DOM and JavaScript, Safari got 100% while Firefox got 93%.  (Man I am starting to love Safari).

V8 Benchmark Suite
Ok one final test to be more sure of my results, I found this V8 benchmark website, again Safari was faster than Firefox with 1894 points versus 270 points only. which means Safari was 7x times better than Firefox. is that possible!!

Summarizing the results of the different tests in the table bellow, its clear that on a MacBook machine, Safari beats Firefox in everything related to performance.

Ok this was performance but this is not the only factor for choosing a browser, the nice thing about Firefox is the huge number of plugins available, which allows you to extend your browser and add new functionalities, however – for me – the only plugin that I used on Firefox was Firebug which is a great tool used by many web developers to navigate the DOM of an HTML page, test CSS styles and find JavaScript errors. The pleasing information is that Apple understood this need for web developers, and provided a Develop menu similar in its functionality to Firebug, this menu is hidden by default but you could show it from the preferences panel.

This was my revision of Safari Vs Firefox, and I repeat, it was done on an MacBook, so performance results may be different on a PC machine. I will try to make a similar comparison between Safari & Chrome.

What about Internet Explorer? Man please, Internet Explorer is the worst browser in the universe, its ugly, slow, and doesn’t respect web standards, the only reason its out there is to make Software Developers explode of anger because they have to test their web applications on it since it has a market share of nearly 68% (but thanks God it is continuing to lose market). So I will be waiting for the day IE dies…

NextThe Road To Java Certifications 1

The Power of Apple Multi-touch Trackpad

August 16, 2009 § Leave a comment

Everybody knows what is a computer trackpad, its that sensitive surface on your laptop that allows you to move the mouse cursor, click, double click, and sometimes scroll vertically and horizontally. In other words its that device used to provide a real mouse functionality.

I surfed the web searching for what a PC trackpad offers, and I got the following list:

1. Move the mouse cursor.
2. Effect single clicks by tapping on it or pressing the left button.
3. Effect double clicks by pressing the right button.
4. Scroll vertically by swiping on the right scroll strip.
5. Scroll horizontally by swiping on the bottom scroll strip.
6. Some different actions by tapping on one of the four corners.

And its exactly what a real mouse can do, move, click, and scroll. But what about this trackpad made of glass?

This is the latest Apple answer for what a trackpad can be and do, It is amazing how many things (Gestures for Mac users) can be done using this awesome piece of engineering. The great thing is the introduction of intelligence, this trackpad understands your finger gestures, depending on the way you pinch, rotate, or swipe and the number of fingers you use, this is a revolutionary idea that changed the way a trackpad is conceived, using this trackpad you can do the basic stuff I mentioned above, in addition:

1. Right click by tapping the trackpad with two fingers.
2. Scroll over the screen by moving two fingers on it, for example for a vertical scroll move two fingers from top to bottom.

3. Rotate things (images, .pdf pages) by rotating two fingers on the surface of the trackpad.
4. Zoom in and out, by making a pinch gesture, this is handy when you want to zoom in a .pdf page, or an image.
5. Make a one page scroll if you swipe vertically using three fingers, I use this to move fast between .pdf pages.
6. Navigation between different images, tabs, or forward/backward operations in safari by swiping with three fingers horizontally, this gesture is overloaded in many applications, for example in Adium (a chat program) I use it to switch between conversations.
7. Show the desktop by swiping with four fingers to the top.
8. Do an Expose operation by swiping with four fingers to the bottom.
9. Switch between applications by swiping with four fingers left or right.

Finally you can even input chinese characters using the trackpad, its clear that apple has expanded the number of things you can do using a trackpad, and this is thanks to their multi-touch technology first introduced in the iPhone. You can even customize your trackpad gestures using some applications one of them is named Multiclutch.

This is one of the reasons why I love Apple products.

Next: The Perfect Software Development Team

MacBook Bluetooth Disappeared

August 13, 2009 § Leave a comment

Today I faced a common Mac problem, I have lost my Bluetooth device, It disappeared from my menu bar and from my preferences pane, I didn’t panic because I remembered a friend of mine faced the same problem, however I didn’t remember how he managed to solve it, so I started with a machine reboot but it didn’t work, so I googled and found a group of suggestions:

VMware Fusion may be hiding your Bluetooth
I was pretty sure this was the problem since my VMware starts automatically as I boot. What I understood is that the Bluetooth device may disappear from your Mac because its being used by the virtual machine operating system, for example Windows XP, in other words only one OS can see your Bluetooth, so I cmd + Q’ued VMware but Bluetooth was still missing, I tried a restart but no Bluetooth (Damn it!).

Delete the file Library/preferences/
I didn’t find this exact file, I found a file named where xxx was a sequence of characters and numbers, I think this was a temporary file that got missed up somehow (don’t ask me how, It wasn’t me), after deleting this file I restarted the MacBook again and the bluetooth was still not there, so I moved to the next suggestion:

Repair your disk permissions
To do this I Opened Disk Utilities, please don’t ask me where it is, use spotlight, anyway after opening Disk Utilities I selected Macintosh HD and clicked Repair Disk Permissions, this operation took around 5 minutes, I restarted my MacBook AGAIN and this time Ta Daaa bluetooth is back.

I don’t know what the hell caused my Bluetooth to disappear, but its a common problem in the Mac community, and I didn’t like restarting my MacBook four times in 20 minutes. The strange thing is that almost every mac update contains something related to Bluetooth, may be this is the issue they are trying to fix, if this is true there is only one thing sure This Problem is Driving Mac Developers Crazy.

Oooh In case you are a PC users don’t send me an email … I WILL NOT SWITCH

Mac or PC … Mac OS or Windows ?

August 9, 2009 § 1 Comment

One of the biggest debates between computer users those days … can your Mac do this? can your PC do that? my Mac never crashes, your PC crashes every 15 minutes and goes BLUE… I have zillions of applications for my PC you have only ILife IWork and I stuff. So what should I choose a Mac or a PC? do I have to answer this question? should I? really? OK I will try to answer it based on my own experience. and I will try to be as fair as possible… just don’t buy a PC they SUCK!! no am kidding … lets get started.

Holly S**T what about Linux? yes I know Linux is for those guys sitting in their rooms in the dark nights, demanding Facebook to provide a command line so that they can use it instead of its new ugly GUI interface (did you join the groupWe Want The Old Facebook Back?). I am leaving Linux out of competition for one reason hardware compatibility. And I will just wait for the day when instead of having 100 linux communities and versions, there will be one version that offers all their pros (will Google do it?), and PLEASE SOLVE THE HARDWARE PROBLEM I can’t waste a whole week searching for a graphics card driver, and finally get an answer: hey Linux is open source you can write the driver yourself WTF!! I have other stuff to do, I am going back to PC.

Don’t get me wrong, I am not against the power of command line tools, I am a fan of the Unix philosophy (make each program do one thing well) for Java programmers (cohesion). and I believe that each tool should start as a program that can be invoked by a command line, and then if needed wrap it with a good looking GUI interface that delegates mouse clicks to the command line. This makes programs communication easier, for example you can include an FTP server in your program easily using this philosophy. I suggest that you read The Art of Unix programming, I learned a lot from it. We lost the track lets go back to Steve Jobs and Steve Ballmer.

Lauren (after she bought that PC) became a PC user, she is happy with her 699$ PC, it runs Windows XP, she uses Microsoft Word, Excel, Internet explorer, she writes nice documents, she checks her email every 10 minutes, change her facebook status every 4 hours and everything is working fine. there are no BLUE SCREENs. Justin the programming geek comes to Lauren desk and notices she is running Windows, and starts telling her how Mac’s are great, they never crash, they are neat, they are fast, they are virus free (are they?) they look good … and so on. so Lauren decides to switch to a Mac, how much does it cost? 1200$ OMG!! hey I can buy 2 PCs with this price, get lost!!.bottom line for Lauren, Macs are too expensive. Bottom line for Justin, Lauren is an Idiot.

The problem is that Lauren and Justin are looking at it from different angles, Lauren just needs to do three things with a computer, and they are really basic things, why should she spend a lot of money to do things she already does without problems? on the contrary Justin uses the computer in a more sophisticated way, he gets things done quickly he knows all keyboard shortcuts, he automates most of his tasks, he writes programs. So the answer to which one is better a PC or a Mac is as one of my University professors always said, IT DEPENDS.

Macs are great in their design, everything has been thought in details, especially the last generation with the multi-touch trackpad that does different actions depending on the number of fingers you use (up to 4 fingers), they are very neat, good looking, they have a great operating system that have many great services such spotlight, time machine, spaces, and many others. You can do almost anything using a keyboard shortcut which by the way are the same across all applications (advanced computer users love shortcuts, because they increase your speed to do things). but all this comes with an extra price, you have to pay extra money, I admit that Macs are more expensive than an equivalent PC, but you have to look at quality too. the screen, the battery, the trackpad, and don’t forget the DESIGN, people pay a lot of money only for the design. All cars have four wheels an engine and seats, but there are the cheap ones and the expensive ones, and ironically it happens that the ones that have two seats are more expensive!! if you buy a Sony VAIO PC its price is very close to a Mac why? because you are paying for the design too.

Personally I vote for Mac’s from a user point of view and I am pretty happy to pay extra money for a good looking MacBook, and with no doubts a great and interactive operating system. Something that makes me angry about Windows are those small things like this one: go to Control Panel…Administrative Tools…Services now the name column doesn’t show the whole service name and its fine, I resize this column (if you double click it will resize to fit) and I see everything now, and I am happy, lets close this window and do it again Control Panel…Administrative Tools…Services, the name column is back to its original size UFFFF!!!, so I have to resize it again, can’t you damn leave it as I left it? if there is something that makes users angry are those tiny things that add up one after the other that make the user explode with anger. Sometimes Microsoft get really strange decisions, for example Microsoft Excel functions, if you are using the English version you could use SUM to add the values of two columns for example =SUM(A1 + B1), however if you switch to the Italian version SUM is no more recognized (WTF!! and there is no solution to it, if you found a solution please tell me) you have to use the italian version of the function name SOMMA, now do you think this is normal? do you? Yes? please leave this blog … and delete it from your browser history. Its like having an Internationalized Java language where keywords differ based on the country. try…catch would become prova…cattura in italian!! what would it be in Arabic?

However even if (for me) Mac’s are more user friendly and more usable, Windows is a De facto and it has the biggest share market, millions and millions of software applications has been developed for the Microsoft platform, and so you as a software developer have to do some math, Jack (no not Jack Shepherd of Lost!!) is a great software developer and he just got the idea for the next killer application that he wants to sell all over the world, using probabilities and statistics he estimated that he will sell it for 0.01% of computer users, with a net price of 1$.

If we target Mac users with this application the revenue will be:

Number Of Mac Users * App. Price * 0.01%

based on the latest numbers provided by Phil Schiller in the WWDC 2009 keynote, the total number of active Mac users in 2009 was 75 millions using these numbers the total revenue is:

75,000,000 * 1 * 0.0001 =  7500 $ Not Bad Jack !!

Now if we target the Microsoft market, as its mentioned in wikipedia (do we have to believe it?) the Windows market share is something around 93.07% and I will be generous and remove another 13% and round it so I will suppose that its around 80%, so based on the total number of users of Mac OS (supposing that there are only Mac and Windows users) we will have 75,000,000 * 80 / 20 = 300 million Windows users, recalculating the revenue for the windows market we have:

300,000,000 * 1 * 0.0001 = 30,000 $ Wow!! am sorry Apple but I prefer developing for Microsoft!!

Of course I used some constants in these calculations the 0.01% may change between Mac users and Windows Users, may be Mac users buy more applications than Windows users, but I doubt that. from these calculations its clear that for a software developer its more profitable to target the Windows market rather the Mac one for one obvious reason; number of users, but we can’t neglect that things are changing, Mac is gaining more and more market share. In 2007 Mac users were around 25 millions and they just tripled in a matter of 2 years (Thank you Vista), in my expectations as soon as Apple gains more and more users (which I think it will be in the near future) things will become really interesting.

I am a Mac user and love using my Mac, however no matter what I can’t live without Windows, VMware is always running, and I always have Windows XP opened in one of my spaces. I have different Oracle installations 9i, 10g, 11g (which are needed for any web application software developer) installed on different Windows XP virtual machines. I need XP for testing applications I develop, since they are targeted to Windows users, I need Windows because my colleges use it, let me say it again, as a software developer YOU CAN’T LIVE WITHOUT WINDOWS no matter what. I am not a game fan but its clear that if you want to play games on a computer you will be choosing Windows unless you want to play chess. (heeey I said on a computer not on Xbox or PS).

An interesting thing is that applications are moving from the personal computer to the server side, for example Google apps, this minimized the OS war and moved it to a browser war, now your internet browser (Safari, FF, Chrome … do I have to mention IE?) is becoming your window to the external world, more and more applications are running inside the browser and no more in the operating system. This is the internet giant (Google) idea and they are investing a lot in it, and this will change a lot of things in the future, especially for software developers, so lets be prepared…

Oh by the way applications crash everywhere even in Mac OS, this is something we have to live with in either platform, and there will always be those times that you have to restart your machine.

NextEfficient Software Development

Where Am I?

You are currently browsing the Apple & PC category at Omar Al Kababji.