Safari 4 beta for Windows

Finally, Apple announced a new Safari web browser for MS Windows.
I downloaded one and tried using it on my Windows Vista x64 edition installed on my MacBook with Intel GMA chipset, which is a graphic chipset may people don’t like because they prefer nvidia’s.

It turned out that the Safari 4 beta was quite fast. On a MacBook, Internet Explorer 7 is very fast, but the Safari 4 feels faster.

However, I would like to pick what I like the most.

  1. Integrated look for the Windows
  2. No more blurry font rendering
  3. Very clean, minimal style GUI but quite functional and covering most of needs.
  4. Integrated behavior like F4 for showing/hiding menu bar
  5. Probably matured Objective-C/Cocoa environment for the Windows
  6. Good use of the CoverFlow

For 1, it doesn’t look like mimicking Mac OS X on a Windows any more. It feels and looks like “born for MS Windows”.

For 2, the font rendering is very clean. They mentioned that it now uses Windows font, and users can change if they want to use Mac anti-aliased fonts. Many Koreans complaint about the font rendering of the Safari for Windows before. Now, they don’t need to complain about it.

For 3, Oh!

For 4, Pressing Function 4 key shows and hides menu bar of the Safari like other Windows apps on a Windows Vista. How did they do this? I don’t think they used Windows API.

For 5. I have lots things to say. I hope you remember what I wrote at my egloos blog before. I said that it looked like that Apple was preparing Cocoa/Objective-C development environment for the Windows. Yeah.. It is the OpenStep for the Windows, so to speak. Again, with the Safari 4 beta, it seems to be clearer.  Take a look at these screenshots.

objc.dll CoreFoundation, CoreNetwork, CoreGraphic

It is clear that the Safari Beta 4 is written in Objective-C. Was there a objc.dll file for the Windows version of the Safari before?

Also, they maintain Mac’s app style resource.

For 6, I doubt how useful the coverflow is. Apple Inc. found a good way to use it! Bookmark!!!! The CoverFlow fits very well with the concept of bookmark!!!

At first, I thought the introduction of Safari for Windows was not for another browser-war. In my opinion, it was for providing developers a testbed for their iPhone web apps. By attracting web developers, it could be a very popular web-enabled mobile device, and also for hot interest shown by many developers, Apple Inc. could announce iPhone SDK. If the iPhone SDK was announced earlier than Web app development environment, the iPhone native development environment would not get such hot attention.
Another reason I thought was to prepare Cocoa/Objective-C development environment for the Windows.
They had OpenStep for the Windows. They had white-NeXT. So, they secretly had worked on the Mac OS X for the Intel platform.

From the Safari 4 for Windows, at least it became clear that Apple used some environment which had Obj-C tool chain. Because the DLLs are mainly for Core… and other common Unix libraries, it may not be Cocoa/Objective-C yet. But, I don’t see any reason that they don’t have such an environment.
Also, from the Leopard SDK, I see more and more words, i.e. “Windows”, in the Cocoa header files.

In that sense, the Safari 4 for Windows is promising. The Core… thing seems to be well integrated to the Windows environment. So…. it feels like that it is not so far from now to announce Cocoa/Objective-C development environment to write Windows-native programs. Probably… Xcode for Windows?

Ah… there is one thing which is not implemented for the Windows version.

What is very stupid about the Internet Explore is that you can’t easily select each URL component.
For example, I would type “”. But I found out that I was not logged in.
So, I would like to type “”. On a Mac OS X, whether you use the Firefox or the Safari, double-clicking on the “jongampark” will select it, and you can just type “www”. But with the IE, it is not possible. it selects the whole URL. With the Safari 4 for Windows, it also selects whole thing except for the “http://”.

3 responses to this post.

  1. Although claimed by Apple as fastest browser, I dont think its qiute that fast! I have used many other browsers and feel that google crome is the fastest of them all. By the way they have added new features such as “cover flow” which I like very much.


    • Posted by jongampark on February 24, 2009 at 11:43 PM

      Right. I don’t think it is the fastest overall. Firefox, Chrome and Safari have their own tweaks for better performance. Their approach seems to be based on similar idea. You can find links in my previous link about JavaScript engine. ( Performance comparison )

      To me, what is more interesting is that Apple seemed to prepare new version of OpenStep for Windows, so to speak.


  2. They (Apple) could always be just compiling everything with GCC on windows (MinGW or MSys) but the lack of a “mingw10.dll) does not really support that. Thinking about this some more and looking around the internet for clues did not yield much. Some of the “issues” with MinGW is that the version they are using of GCC is back in the 3.x series which is quite old by this point in time. A newer version by the MinGW folks wouldn’t be much help either because there isn’t anything that is production stable. If Apple wen this route I am thinking since they have their own branch of the gcc compiler that they (Apple) have a cross compiler build of “Apple-GCC 4.x” that compiles for windows. This would allow them to compile the Objective-C runtime for windows and all of their other code. I would actually _love_ to get my hands on that code since they have obviously solved some things that the MinGW folks have not or are just plain working around the issues.
    There was also a nugget of information about combining dll’s that were compiled with GCC and MSVC that stated C++ code would be an issue due to the name mangling of C++ _but_ C code would not be an issue. Since Objective-C is a superset of C then Apple may be getting away with compiling the objective-c part with GCC and the remainder of the C++ code with MSVC. They would then have to be extremely careful not to cross between C++ and Obj-C in the same file. Which would mean no Objective-C++, which is the only way to bridge between C++ and Obj-C.. so maybe not.

    How ever they are doing it I would love to know as I would like to ditch some C++ that I am forced to use and go back to Objective-C.

    Maybe they are rendering the _entire_ ui with HTML? Then they only really need a window frame from the system and that is about it. WebKit would take care of the rest.

    Lots to think about. Nice blog



Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: