Support 
RB
 Solipsism Gradient 
Support Forums
Rainer Brockerhoff
Solipsism Gradient   XML (RSS 2.0)
Goto page Previous  1, 2, 3 ... 20, 21, 22 ... 107, 108, 109  Next Copy this: Trackback Ping URL for this topic
   Support Forum Index -> Rainer Brockerhoff's Weblog
My latest photos [RSS 2.0]
www.flickr.com
Links & subscriptions
Your mileage may vary. Some names have been shortened. [*]s link to RSS feeds.

My Technorati profile

Comics
Dilbert [*]
Doctor Fun [*]
Liberty Meadows [*]
Medium Large [*]
PvPonline [*]

Weblogs
43 Folders [*]
Aaron Swartz [*]
Adventures of AccordionGuy [*]
Advogato [*]
Alastair's Place [*]
all noise all the time [*]
ambiguous [*]
Andy Ihnatko's YellowText [*]
andymatuschak.org [*]
Anil Dash [*]
Armed and Dangerous [*]
aurgasm [*]
Backup Brain [*]
Bag and Baggage [*]
BarlowFriendz [*]
bbum's weblog-o-mat [*]
Ben Hammersley.com [*]
Benjamen Walker's Theory Of Everything [*]
Betalogue [*]
Beyond the Beyond [*]
Big Nerd Ranch Weblog [*]
Blake Ross on Firefox and Beyond [*]
blakeseely.com - Blog [*]
Boing Boing Blog [*]
bramcohen [*]
Brilliant Corners [*]
Burningbird [*]
cabel.name [*]
Call Me Fishmeal. [*]
carpeaqua [*]
chaotic intransient prose bursts [*]
Chief Blogging Officer [*]
Chris Hanson [*]
codepoetry [*]
Cognitive Daily [*]
The Comics Curmudgeon [*]
Cool Tools [*]
Corante: Copyfight [*]
Corbin's Treehouse Blog [*]
Critical Section [*]
Cult of Mac [*]
Culture Hack [*]
Daring Fireball [*]
The Daily WTF [*]
0xDECAFBAD [*]
DeepFUN [*]
devixstudio's Photos [*]
Different Thinker [*]
The Dilbert Blog [*]
Ditchnet.org [*]
Doc Searls [*]
Don Box's Spoutlet [*]
Dowbrigade News [*]
DrunkenBlog [*]
Due Diligence [*]
Epeus' epigone [*]
Eric.Weblog() [*]
Ernie the Attorney [*]
Escapable Logic [*]
evhead [*]
FatBits: John Siracusa's Journal [*]
figby.com [*]
flow|state [*]
Folklore.org [*]
Forwarding Address: OS X [*]
Freedom To Tinker [*]
Fritz Anderson's Weblog [*]
F-Secure Antivirus Research Weblog [*]
FurdLog [*]
GlennLog [*]
Glorified Typist [*]
Godwin's Law [*]
Google Blog [*]
Google Earth Blog [*]
Google Weblog [*]
growabrain [*]
[GusMueller blog] [*]
Guy Kawasaki [*]
h4ck3r+=boi [*]
Halley's Comment [*]
Helpful Tiger [*]
How to Save the World [*]
HyperJeff Blog [*]
iClub RSS Feed [*]
Inessential [*]
Interconnected [*]
James Duncan Davidson [*]
Jeffrey Veen [*]
Jeffrey Zeldman Presents [*]
Jeremy Zawodny's blog [*]
jnd.org [*]
Joel on Software [*]
Joho the Blog [*]
Joi Ito's Web [*]
Jonathon Delacour [*]
Jon's Radio [*]
Jorgen Thelin's weblog [*]
just like heaven [*]
The J-Walk Blog [*]
Karelia Software [*]
Karelia's Cocoa Open Source [*]
kottke.org [*]
Language Log [*]
Lessig Blog [*]
Lockergnome Bytes [*]
Loic Le Meur Blog [*]
MacBlog [*]
Mac Geekery - Get your geek on. [*]
Mad Professor [*]
Making Light [*]
Matt Croydon::postneo [*]
Matt Gemmell [*]
Membranophonist's Ramblings [*]
Memepool [*]
michael-mccracken.net [*]
Michael Tsai's Weblog [*]
Mind Hacks [*]
MoCoLoco [*]
Modern Geekery [*]
Musings From the Software Underground [*]
Neil Gaiman's Journal [*]
the [non]billable hour [*]
NSBlog [*]
NSLog(); [*]
ongoing [*]
On the Thought [*]
Out of Cheese [*]
Paolo Valdemarin [*]
Paul Graham [*]
Peak Oil Optimist [*]
Philip Greenspun Weblog [*]
C:\PIRILLO.EXE [*]
Plastic Bag [*]
PragDave [*]
Presentation Zen [*]
The Presurfer [*]
Rainer Brockerhoff's Photos [*]
raoli.com [*]
Ranchero [*]
Rands in Repose [*]
Reality and Rhetoric [*]
Recycled Knowledge [*]
Red Sweater Blog [*]
Reflex›es de um c‹o com pulgas... [*]
rentzsch.com [*]
ridiculous_fish [*]
Ross Mayfield's Weblog [*]
Russ Nelson [*]
Russell Beattie Notebook [*]
Sam Ruby [*]
SATN [*]
Der Schockwellenreiter [*]
Scobleizer Weblog [*]
Sci-Fi Hi-Fi [*]
scribble, scribble, scribble... [*]
Scripting News [*]
Seb's Open Research [*]
A Shareware Life [*]
Shirt Pocket Watch [*]
Untitled Source [*]
Sifry's Alerts [*]
SIGPIPE 13 [*]
Simon Willison's Weblog [*]
Solipsism Gradient [*]
Squawks of the Parrot [*]
stanforth.org :: geekview [*]
Stefan Tilkov's Random Stuff [*]
stevenberlinjohnson.com [*]
~stevenf [*]
Superf’cie Reflexiva [*]
Surfin' Safari [*]
talblog [*]
taliesin's log [*]
Teal Sunglasses [*]
Technorati Tag: Apple [*]
Technorati Tag: cocoa [*]
Tesugen.com [*]
Theobroma Cacao [*]
The Tao of Mac [*]
ThinkMac Blog [*]
This is not your practice blog [*]
tima thinking outloud. [*]
Untitled Source [*]
TooMuchSexy.blog [*]
Toxic Software (Blog) [*]
The Trademark Blog [*]
Trader Mike [*]
The Unofficial Apple Weblog [*]
The Unofficial Photoshop Weblog [*]
Unsanity.org [*]
Urbanape : [*]
VenChar [*]
viridiandesign [*]
Webpropaganda [*]
What Do I Know [*]
Who Cares? [*]
whytheluckystiff.net [*]
Words [*]
Writers Block Live [*]
XCode Experiences [*]
Ztuff [*]

News sites
80211b News [*]
ADC Reference Library Updates [*]
Amazon SF&Fantasy [*]
Ananova: Quirkies [*]
Apple Developer Connection Headlines [*]
Apple Knowledge Base [*]
Apple Hot News [*]
Apple Press Releases [*]
Ars Technica [*]
BBC News | Technology [*]
CocoaDev RecentChanges [*]
Computerworld Shark Tank [*]
CNET News.com [*]
CNN.com [*]
CNN.com - Offbeat [*]
Digital Photography [*]
Download Squad [*]
DreamHost Blog [*]
EurekAlert! [*]
FlickrBlog [*]
Folha Online - Brasil [*]
Folha Online - Cotidiano [*]
Folha Online - Dinheiro [*]
Folha Online - Ilustrada [*]
Forbes.com News [*]
Forbes.com Technology News [*]
Gizmo Emerging Technology Magazine [*]
Gizmodo [*]
INFO Online [*]
kuro5hin.org [*]
MacBetaGroup [*]
MacDevCenter [*]
MacInTouch [*]
MacMegasite [*]
MacMerc [*]
MacNN [*]
MacUpdate - Mac OS X [*]
MacSlash [*]
Moreover Science [*]
Museum of Hoaxes [*]
Nature Science Update [*]
New Scientist [*]
NewsFactor Network [*]
NYT: Health [*]
NYT: International [*]
NYT: National [*]
NYT: Science [*]
NYT: Technology [*]
NYT: Travel [*]
Open Source Applications Foundation Blog [*]
O'Reilly Network Articles [*]
Salon.com [*]
Science Blog [*]
Scientific American [*]
Slashdot [*]
Techdirt [*]
The Register [*]
ThinkGeek: What's New [*]
TidBITS [*]
Treehugger [*]
Versiontracker [*]
Wired News [*]
View previous topic :: View next topic  
Author Message
Rainer Brockerhoff
Site Admin


Copy this:
Trackback Ping URL
for this post

#Post 29 Jul 2007 15:38:09    Re: Obligatory iPhone post Reply with quote

So, I'm a 100% percent sure nobody will be able to unlock the iPhone or run third-party applications on it unless Apple opens it up. Here's why: ARM's TrustZone. Ehrm, make that 90%. I mean, it's still quite unlikely. Well, OK, they can hack the serial interface in the connector but that can't write to the screen. Well, let's say 50-50. Of course, they can run stuff but not touch the network interface - OK, it seems they can. But never run a GUI app! Oh, they can now? But aren't the binaries signed? No. Heh...

That's about how I felt while writing an article for MAC+ (the upcoming print issue, which went to the printer a few days ago, around the "but never run a GUI app" phase. Well, today I see they ("they" don't want people to link to their Wiki, but it's easy to find on Google) succeeded in building a standard GUI app and display a screen on the iPhone. Must be Clarke's Law in action - even though I'm not that elderly, hmpfh. Writing about moving targets is hard.

So what's left? Of course I don't have an iPhone myself here and I don't have any privileged info on its architecture. I did hear over the grapevine that the Apple iPhone is following these issues with great interest and is working on updates - whether they'll make a point of plugging these hacks is anybody's guess. At the time I'm typing this, accessing the cellphone radio and unlocking the SIM card mechanism is still not possible.

Does that mean Apple didn't bother to implement the TrustZone technology? I still maintain it's impossible to crack from outside using present technology. The firmware is contained on the CPU chip itself, the implementor can restrict access to certain peripherals, decryption can happen entirely within the trusted zone, and the firmware can elect to run only signed binaries. There are some 1024-bit RSA keys in the iPhone which supposedly are still a few years away from being cracked, and in any event could be switched to 2048 or 4096. The barrier is even stronger than it was on the first Intel Macs, which had a TPM chip onboard (the last versions don't and it seems Apple never used them) but separate from the CPU.

It's hard to believe Apple didn't want to take advantage of TrustZone at all, unless the intention was to publish a complete SDK later. Or perhaps only parts of the hardware are protected; the radio and the camera are possibilities. For sure they didn't implement the usual Unix protection, where the root account can do everything; all processes on the iPhone run as root anyway. Looking at the current iPhone libraries there's a "lockdown" library which most applications link against. It seems to check the aforementioned keys and confer privileges to access some likely-sounding sectors of the system. Having a non-standard security system is obviously an attempt to throw off people who expect 99% of the cracking to involve getting root privileges. I don't have the tools to ascertain whether the lockdown library does in fact invoke TrustZone at a lower level, and much of this may change anyway for the next software update.

Speaking of which, from what we can see of the iPhone software the update process will involve a complete replacement - no partial updates here. My guess is that updating will also be mandatory, with iTunes updates being published simultaneously. Replacing all software at once of course makes sure that everything works together, but it would also allow Apple to change everything at once. We'll know in a few months, I'd say.
View user's profile AIM Address
Rainer Brockerhoff
Site Admin


Copy this:
Trackback Ping URL
for this post

#Post 24 Jul 2007 10:26:02    XRay II poll Reply with quote

If you're an XRay user - even if not registered - please go to this poll and respond. I need to know ASAP if I can, as I want to, make XRay II a Leopard-only application. Also please post suggestions there; although I'll keep on commenting about progress and programming issues here, I'd like to keep actual feature discussions over there at the poll topic.

The decision on Leopard needs to be made in the next 2 weeks, so if a majority of users agrees - or if I get too few responses - I'll decide in favor of Leopard.
View user's profile AIM Address
Rainer Brockerhoff
Site Admin


Copy this:
Trackback Ping URL
for this post

#Post 20 Jul 2007 20:15:19    Re: Too hot Reply with quote

Wow, over 20 days without a post, and I didn't notice. Yes, I'm still here... though not that much "here", but offline. Here's some of what happened.

About 5 months ago I posted about my temperature problems with the hard drive inside the iMac G5. I'd solved them somewhat preliminarly by buying a new (and supposedly less-hot) drive and putting some heatsink paste under the thermal sensor. Here's the sensor picture again:


Well, about 3 weeks ago I left the iMac overnight, downloading some large file. I came back to it in the morning and it had frozen, and I heard some faint beeping which appeared to come from the UPS I keep just behind the machine. I turned everything off, waited half an hour or so, and restarted - everything worked fine but in two hours it froze again when the faint beeping started. This time, I could ascertain that
1) the beeping was actually a buzzing coming from the hard drive
2) the hard drive sensor said a reasonable 53.5C
3) the hard drive SMART sensor said the drive was actually at 61C!

Whoa. Something clearly had changed since February, when I said the average difference between the two sensors had shrunk to 4C. I did some cautious testing over the next week. Indeed, the external sensor never went over 53.5C - and the fan begins to rev up only at 54C, but it never got there. The sensor actually tracked the SMART value reasonably well - to 1C below 50C, to 3-4C until 53C, but then the internal temperature just soared. As soon as that went to anywhere over 59C, the drive froze and started buzzing. After cooling off everything started working again.

Up until last weekend, I tried changing the heatsink paste - no change. I tried out several fan control programs, none worked with the iMac. I tried finding out some software way to kick the fans up, but didn't have too much time to really study the problem. A friend gave me a small flat fan from a laptop which I tried to mount inside, but there's no space available anywhere near the drive.

About the only thing that helped a little was mounting a couple of other small fans blowing into the air intakes below the iMac - I glued them in place with some gaffer tape and ran them off a spare 12V supply. But it clearly wasn't a definite solution; it sort of worked for a few hours as long as I kept the CPU speed on "reduced" and didn't open too many programs at a time. I suppose someone should make a supplementary fan unit sucking air out of the iMac, like we had for the MacPlus... I wonder if the current Intel iMacs also overheat?

Anyway, last weekend I gave up and performed minor surgery on the sensor cable, making it about 10cm (4") longer. The main trick was to convince it to part company with its original mounting place - people who'd performed this procedure before recommended using a "thin blade", but none I had were thin enough. The optimum solution is a length of dental floss. If you try this, work it under the double-sided white tape that glues the sensor board to the metal bracket, so the tape stays stuck to the board. I got it off cleanly with its adhesive properties still intact.

I experimented with a few locations, but the only easy one was a small flat space between the drive spindle and the PC board. In that location, so far as I can see, the two temperatures track each other to 2C - usually even to 0.5C. One shouldn't check the SMART temperature too frequently or the drive never sleeps; 20 minutes seems OK. The temperature hovers between 52C and 57C under normal workload... still not ideal. But the fans kick in and the iMac now sounds louder, much like it did when it was new. I suppose I'm the only iMac G5 owner who's glad to hear loud fan noises... icon_biggrin.gif

However, today, just when I was finally ready to start working on my usual stuff again, the @#$%^& thing froze again - and while both temperatures were at 52C, where it should work. So either I need to reformat, or install air conditioning, or get a new drive while the current one is under warranty. Or all of these. There goes another weekend...


Last edited by Rainer Brockerhoff on 18 Aug 2007 11:06:22; edited 1 time in total
View user's profile AIM Address
Rainer Brockerhoff
Site Admin


Copy this:
Trackback Ping URL
for this post

#Post 30 Jun 2007 23:36:15    Re: Obligatory iPhone post Reply with quote

Just found time to read John Gruber's first impressions of the iPhone. Worth a read, but the most interesting part is where he says that iTunes showed him a crash report, which he posted.

Several interesting items are evident in the crash report, the most interesting is the following line:
Code:
OS Version:      OS X 1.0 (1A543a)
which sort of answers my previous question; how is Apple planning to handle the Mac OS X/"OS X" division? So unless this is just a stopgap or beta version of "OS X", version numbers of that aren't tracking their Mac OS X counterparts at all. We're back at 1.0.

Elsewhere, Gruber says, referring to some limitations in the iPhone's "Notes" application:
Quote:
...Both problems with Notes seem to me an indication that it was designed under the assumption that iPhone would debut alongside Leopard. Mac OS X Leopard includes a system-wide "notes" feature, exposed through Apple Mail, and as you can see in the screenshots, it looks a lot like iPhone Notes - Marker Felt text on a yellow legal pad background. Presumably, some sort of synching is coming eventually, at least with Leopard.
This makes sense to me - I always thought that iPhone and Leopard were originally supposed to come out on the same day, and that by that time we'd see the "Mac" taken out of Mac OS X - OS X 10.5 would be the new version across all Apple products. But apparently this was a little too much for the Apple folks to chew, and Leopard had to be delayed so the iPhone could still come out in the nick of time.

Well, the iPhone seems to be fully capable of being easily updated, and this version convergence may still happen in November (?) when 10.5 Golden Master should be out. Meanwhile, the crash reports yields some other nuggets. There are frameworks with suggestive names like UIKit, Celestial, CoreTelephony, MeCCA and CoreSurface. We can also see that the iPhone uses many known frameworks, but Cocoa's AppKit is conspicuous in its absence - the Objective-C, BSD and C++ runtimes are there, however. I also see sqlite (backing store for CoreData) and OpenGLES (OpenGL for Embedded Systems) in there.

With all this, I suppose next year's WWDC will be extremely interesting...

Update: Fraser Speirs has more comments on the crash log.

Update#2: rereading the crash log, I just noticed two more important lines:
Code:
Code Type:       0000000C (Native)
Effective UID:   0
The first one probably implies that it's running the ARM native instruction set instead of the Thumb 16-bit instructions - although that specific ARM CPU also supports Jazelle, which is a hardware-assisted Java virtual machine. The second one indicates that the MobileMail application (and no doubt the other apps) are running as userID zero, also known as "root". No doubt this will be received with extreme dismay and derision by Unix-savvy folks. While it's not unsurprising in an embedded device with no user-installable software, I doubt this will be retained when the next major software update comes out - probably together with Leopard.
View user's profile AIM Address
Rainer Brockerhoff
Site Admin


Copy this:
Trackback Ping URL
for this post

#Post 27 Jun 2007 15:39:06    Obligatory iPhone post Reply with quote

Googling (oops, pardon, searching Google I mean) for iPhone just now yields "about 76,100,000" hits. Wow. Just goes to show how Steve Jobs has perfected the art of letting the press do Apple's marketing at very little cost.

As a stockholder, I'm all for it. By all accounts, the iPhone, which goes on sale the day after tomorrow, will sell very well, and AAPL stock has already gone up 50% this year. As a cellphone non-user I don't care; it'll take a long time to be sold here in Brazil, and even if it were on sale tomorrow, I wouldn't buy one for my daily use. As I said before, a "OS X"-based tablet would be more interesting.

But speaking of OS X, I wonder what version will be installed on the iPhone. The TV seems to run a special build of version 10.4.7, by all accounts. Originally I'd expected the iPhone to run a stripped-down version of 10.5 (Leopard), but now that Leopard has been delayed, that's no longer plausible. How Apple will manage the whole Mac OS X - OS X dichotomy still remains a mistery... no doubt we'll have detailed dissections of the iPhone contents next Saturday.
View user's profile AIM Address
Rainer Brockerhoff
Site Admin


Copy this:
Trackback Ping URL
for this post

#Post 18 Jun 2007 11:54:58    Re: The 64-bit sky is falling! Reply with quote

OK, here's what I wrote a few days ago, regarding the Mac OS X transition to Intel:
Rainer Brockerhoff wrote:
...Most Cocoa developers that didn't call Carbon frameworks to any great extent, or that didn't have to deal with complex binary files, were able to recompile their apps into the Universal ("fat binary") format in a few hours or days. In contrast, most developers of Carbon apps of any complexity faced months or years of conversion.
I invited comments on Apple's carbon-dev mailing list, and some people objected to the paragraph quoted above. In particular, Apple engineer Eric Albert wrote:
Quote:
I'd probably moved more Mac OS X code to Intel than anyone else before the announcement -- some of the iApps and a bunch of other apps, plus a ton of work in the OS -- and of the code I'd worked on, the Cocoa apps happened to take more work than the Carbon ones. That was really nothing more than coincidence because the Carbon apps I was working on dealt with structured data better than the Cocoa ones, but there's nothing inherently more complex about the Intel transition for Carbon than there is for Cocoa. Mathematica, which is most assuredly a complex Carbon app, took four hours to get up and running on Intel, faster than any other app I've seen.
The primary reason for some Carbon apps taking a long time to move to Intel was that they weren't using Mach-O or Xcode at the time the transition was announced and both were required for Intel support.
Carbon apps already using Mach-O and Xcode came over to Intel fairly easily.
Well, that's quite definite; I was wrong there. I was wondering why, though, and here's what I found: the RDF is to blame... icon_wink.gif

Here's what Steve Jobs said at the WWDC 2005 keynote, where I was physically present, and quite near the front too:
Quote:
So, let's take a look at this again: Widgets, Scripts and Java just work. Cocoa apps, literally a few days and your Cocoa app's going to be running with an Intel version. Carbon apps, it's to be a few weeks, a few more tweaks, although there are exceptions to that although we maybe overstating it here, which we'll see in a minute. And and in Metrowerks we don't know, you've got to get to Xcode. So the key here is getting to Xcode.
And I distinctly remember the same point being made later in the reserved "state of the union" sessions: click a checkbox in Xcode, "boom" for Cocoa... not that easy with Carbon.

There it is then. I don't have any Carbon apps myself, and didn't have to migrate anything from Metrowerks CodeWarrior either, so I thought Carbon was to blame for stuff like the Adobe Photoshop delay. I'll update my original post below; thanks to everybody who sent in comments.
View user's profile AIM Address
Stefan Tilkov's Random St
Guest


Copy this:
Trackback Ping URL
for this post

#Post 17 Jun 2007 04:31:17    Re: The 64-bit sky is falling! Reply with quote

Stefan Tilkov's Random Stuff linked to this post
Quote:
64-bits, Carbon, and Cocoa
Excellent analysis on Rainer Brockerhoff’s Weblog: One of the salient points repeated at the WWDC keynote was Leopard’s support for “64 bits top to bottom”. However, a close peek at the slide shown this year showed a subtle difference to last year’s - the word “Carbon” was missing. Of course a storm of confusion soon ensued, with the usual wailing...
Rainer Brockerhoff
Site Admin


Copy this:
Trackback Ping URL
for this post

#Post 16 Jun 2007 21:01:46    The 64-bit sky is falling! Reply with quote

One of the salient points repeated at the WWDC keynote was Leopard's support for "64 bits top to bottom". However, a close peek at the slide shown this year showed a subtle difference to last year's - the word "Carbon" was missing. Of course a storm of confusion soon ensued, with the usual wailing and gnashing of teeth from some quarters and polite shrugging from others. Apple stock fell and rose again, some developers professed bliss while others threatened to leave the platform, non-developers wrote learned analyses about obscure technical points, not to speak of reports of raining frogs or even an unconfirmed Elvis sighting in a Moscone restroom. Allow me to try to explain all (well, Elvis excepted).

First of all, there are a few implications in moving an operating system to 64 bits. I hear that Windows Vista comes in distinct 32-bit and 64-bit versions and that the latter is able to run 32-bit applications (with some restrictions) inside a compatibility box. In contrast, Leopard uses Apple's experience with architectural migrations to support 32 and 64 bit applications natively on both PowerPC and x86 architectures - not so easy in the second case, but necessary since nearly all currently shipping Macs use Intel's Core 2 Duo, which is 64-bit capable.

For this, Apple took advantage of Mach-O's support for "fat binaries" - in this instance called "obese". Obese binaries contain four different executables: PowerPC 32, PowerPC 64, x86 32 and x86 64. When running one of these applications, the system selects the best supported architecture and links the application to the corresponding (and equally obese) system libraries.

Enter the Carbon vs. Cocoa question. Cocoa APIs are derived from NeXT's software and are called, usually, from Objective-C. Carbon APIs, to be called indistinctly from C, ++ or Objective-C, were first introduced in Mac OS 8.5 or thereabouts and were, themselves, a much-needed simplification of the "Classic" Mac APIs. Carbon was thereafter positioned as the way to port existing applications to Mac OS X, while Cocoa was supposed to be the right way to write new applications for the new system. No doubt the old NeXTies inside Apple pressed for Carbon being excluded from the start, but Microsoft, Adobe and Macromedia (to quote just the big companies) didn't want to recode everything on short notice.

A necessary sidenote: the exact definition of "Carbon" is surprisingly hard to pin down, even among experienced developers. Here's my own (although I've never written a Carbon app myself). There are Carbon APIs and Carbon applications. A Carbon application, for me, uses the Carbon Event Model - calling Carbon APIs to get events from the system. Until recently, a Carbon application would also, necessarily, use Carbon windows and the GUI widgets for those, mostly contained in the HIToolbox framework. Starting with Tiger it's possible for Carbon applications to use Cocoa windows containing Cocoa GUI widgets, with some contortions of course. Other Carbon APIs - like the File Manager, or QuickTime - can be called indistinctly from Carbon or Cocoa applications.

Here's where things started going awry, from the standpoint of established or multiplatform developers. Apple has always been of several minds about Carbon policy - it was often dismissed as a temporary "transition" technology, while people who interfaced with those developers had to reassure them that Carbon was not going away anytime soon and was not a second-class citizen. Porting software from the Classic Mac OS to Carbon wasn't always easy; some larger applications took over a year. At the same time, it was seen as being much easier than tossing the whole codebase and recoding in Objective-C/Cocoa.

Now, a few years after Mac OS X was introduced Microsoft, Adobe and so forth had a substantial investment in maintaining parallel codebases for their Carbon applications and, understandably, began dragging their feet about converting to Cocoa at any time soon, or even at all. Due to pressure from these developers the Carbon GUI APIs began to incorporate new elements present only in Cocoa until then, and to all appearances Carbon and Cocoa were now positioned as equal and parallel APIs. In secret, of course, Apple hoped that "those people" would sooner or later see the light and begin doing their next x.0 version in Cocoa. In turn, "those people" harbored serious doubts about Objective-C (seeing it as a dead language with an unreadable syntax) and secretly hoped Apple would "recode Cocoa in C++". Here's a significant e-mail from an Apple engineer to the carbon-dev list:
Quote:
No one reading this list should be under any illusions about Apple's use of Objective C. Apple really likes Objective C. There are a lot of third-party developers who are using Objective C to program for Mac OS X and who really like it. Apple is not going to stop using Objective C. I'm not making a value judgement here, just stating a simple reality that everyone needs to understand. Do not think that someday Apple will "wake up" and realize that it would be better to recast all of our APIs in C++. That's not going to happen.


So then came the PowerPC/Intel transition. Cocoa developers already were using Xcode, while many Carbon developers still were using the defunct Metrowerks CodeWarrior; transitioning large codebases to Xcode proved to be cumbersome. Still, people threw in more person-years to bring their apps up to the new standard. Then, at last year's WWDC, Apple announced the migration to 64 bits, taking the opportunity to remove all legacy, obsolete or deprecated APIs from the new frameworks. Some Cocoa APIs were removed but, again, Carbon developers had more work to do. So once again, more person-years of work were invested.

It now seems that someone in Apple engineering management decided that they couldn't afford to keep supporting two separate-but-equal APIs anymore, and the "transition" policy was revived regarding 64-bit Carbon applications. From what transpired during WWDC I deduce that some more of the Carbon APIs were taken off the "supported for 64-bit" list, most notably the part of the HIToolbox that concerns Carbon windows and GUI widgets. Therefore, 64-bit Carbon applications would seem to be either not supported at all, or supported only in a transition mode that used Cocoa windows and GUI widgets.

Naturally, Carbon developers were very bitter about this, while some Cocoa developers were asking if their 64-bit Cocoa apps would be able to call normal Carbon APIs (the answer is yes). So far, the most complete explanation I could find is this one (from the same engineer):
Quote:
Fundamentally, Apple engineering is focused on Cocoa much more than Carbon, and Apple's engineering management made the decision to un-support 64-bit Carbon to emphasize that fact.


So there you have it. Summary: 32-bit Carbon stays where it is and works fine until further notice - I don't think they'll be "deprecated" any time soon. The Leopard Finder itself is still a 32-bit Carbon application! Not until Mac OS 10.6 (LOLCAT, or whatever they'll call it) comes out, which may take 3-4 years at least, and probably not even then. But 64-bit pure-Carbon apps may be unsupported, or even not run properly, when Leopard comes out in October. Cocoa isn't going away, and is the future. Has been the future since Mac OS X 10.0 came out, in fact. On the other hand, there's a migration path - use the Cocoa GUI, then later convert to a Cocoa app. People who have invested a lot of time in Carbon feel really bad about this, and I agree Apple mishandled this badly from a PR standpoint. On the other hand, investing a lot of time in Carbon is now revealed to have been a throw-good-money-after-bad move; some people say "I told you so".

The final question is, how come neither Microsoft nor Adobe are screaming their heads off about this? While I was wondering about this, I realized that, for normal Mac users, Microsoft Office really doesn't handle data sets big enough to need 64 bits; they can stay on 32 bit as long as it exists. As for Adobe, at first glance, Photoshop at the very least is just begging for 64 bits... really? Here's what one Adobe engineer says:
Quote:
I could have spent this whole cycle moving us to 64 bit rather than working on startup time, but would that give you more of what you want? Add 20 seconds to the startup time you are seeing for the beta for all versions/platforms of Photoshop and compare the value of that version to one where the histogram would be 10% faster on 64 bit machines (and most of the rest of Photoshop being 5% slower). It is true, there are some things, like histogram, that would be 10% faster, I wrote the code to verify this. But, the rest of the product would have been slower without a few people spending the whole cycle going over all of the slow parts and bringing them back to where they were on 32 bit. Most operations on a 64 bit application like Photoshop are actually slower by a small amount if time isn't spent optimizing them.
Read the excellent comments on that post, especially the more recent ones, for much more discussion of the details on the Photoshop side - I suppose many of those would apply equally to other large Adobe/Macromedia apps.

So there you have it.. the big guys don't need to move up for now. The small guys are mostly in Cocoa already. Unfortunately, the intermediate cases have fallen into the crack for now - think multiplatform CAD software for instance. It'd be very sad to see them leaving the platform in a huff about this; I sincerely hope Apple will contact all of them privately and smooth things over for now, somehow, though I can't really imagine how. Maybe they'll even re-add support in October, now that the point has been made.

Update: fixed a misconception about the PowerPC->Intel migration, see explanation above.


Last edited by Rainer Brockerhoff on 18 Jun 2007 20:20:29; edited 2 times in total
View user's profile AIM Address
Rainer Brockerhoff
Site Admin


Copy this:
Trackback Ping URL
for this post

#Post 14 Jun 2007 12:01:17    Re: Safari on Windows Reply with quote

There's one new thing on Safari 3 (for the Mac) that I found quite by accident.

Right-click on anything in a browser page and at the end of the normal contextual menu you'll see a "Inspect Element" item. Selecting that opens a semitransparent "Web Inspector" HUD which shows tons of information about the document's DOM structure, including CSS styles, element metrics, properties, and so forth.

The whole light-text-on-transparent-black look of these HUDs seems to be a matter of taste - I like them well enough in iPhoto, but on a white background, not so much - and there are some bugs; the top outline view doesn't respond to the scroll wheel, for instance. Still, this seems to be a very useful tool for debugging your web pages; it's making me want to (finally) redesign my site, even!

Ah, and this seems to work only if you have Safari's debugging menu enabled. To enable it, quit Safari, open the Terminal and type:
Code:
defaults write com.apple.Safari IncludeDebugMenu 1
and it should work when you run Safari again.

People tell me this was already enabled in recent nightly WebKit builds, but I haven't checked those for some time...

Update: as detailed here, you should do:
Code:
defaults write com.apple.Safari WebKitDeveloperExtras -bool true
if you don't want the debug menu, just the inspector... and this is from January 2006! So this was there all along? Works in Safari 2, even? Heh.

Update#2: I just checked this... it doesn't work in Safari 2 as such; you need a more recent build of WebKit.
View user's profile AIM Address
Rainer Brockerhoff
Site Admin


Copy this:
Trackback Ping URL
for this post

#Post 13 Jun 2007 16:36:06    Safari on Windows Reply with quote

One significant announcement (some say the only one) at WWDC is the Safari 3 Beta, which includes Safari for Windows; at least it's the one I've seen the most varied interpretations of, so far.

Considered as a beta release, Safari 3 is so-so. The Mac version needs a reboot because it also substitutes the Dock (which runs Dashboard widgets) and the system-wide webkit. It also substitutes the standard Safari installations. I had to reinstall Flash afterwards to get some sites to work. For my usual sites, it performed quite well although I had one crash. I don't have a XP machine to test the Windows version on, but I hear it's unusable on non-English versions, and very flaky on most English systems as well.

Steve Jobs stated the primary intention was to widen Safari's marketshare, and the demo concentrated on a supposed serious speed advantage on Windows - "more than twice as fast as Internet Explorer". And then, in the "one last thing" section, he refers to a "very sweet solution" for developing apps for the iPhone : the full Safari engine, no SDK needed allows Web 2.0/AJAX applications. (The entire section was received with silence by the crowd.) Steve's statement that this is "a very modern way to build applications" somewhat contradicts what he said at D5:
Quote:
...I love Google Maps, use it on my computer, you know, in a browser. But when we were doing the iPhone, we thought, wouldn’t it be great to have maps on the iPhone? And so we called up Google and they’d done a few client apps in Java on some phones and they had an API that we worked with them a little on. And we ended up writing a client app for those APIs. They would provide the back-end service. And the app we were able to write, since we’re pretty reasonable at writing apps, blows away any Google Maps client. Just blows it away. Same set of data coming off the server, but the experience you have using it is unbelievable.
...
And you can’t do that stuff in a browser.
So people are figuring out how to do more in a browser, how to get a persistent state of things when you’re disconnected from a browser, how do you actually run apps locally using, you know, apps written in those technologies so they can be pretty transparent, whether you’re connected or not.
But it’s happening fairly slowly and there’s still a lot you can do with a rich client environment.
So here we have at least two apparent intentions: get more penetration in the global browser "market" (maybe "mindshare" would be a better term as they're nearly all free for the end-user), and open up iPhone development for Windows owners. Both sound logical.

More market penetration would surely be good for Apple. As John Gruber notes, Apple gets income from the Google search bar - tens of millions of dollars per year isn't bad. And having Safari available on Windows removes one lame excuse for webmasters that build sites that don't render properly (or at all) on Safari; it's no longer necessary to own a Mac for checking that out.

Speaking of rendering properly, Safari for Windows, or rather WebKit, includes the Lucida fonts and several low-level frameworks, among them CoreGraphics, ColorSync, ImageIO and CoreFoundation. Some people believe this is a first step towards reviving the Yellow Box for Windows idea, but Cocoa is much larger than that... Safari is just a relatively thin shell around WebKit, and the Windows version shows no signs of being written in Objective-C, for one. Of course many people are once more complaining that Safari for Windows renders fonts differently. Joel Spolksy explains:
Quote:
Apple and Microsoft have always disagreed in how to display fonts on computer displays. Today, both companies are using sub-pixel rendering to coax sharper-looking fonts out of typical low resolution screens. Where they differ is in philosophy.
- Apple generally believes that the goal of the algorithm should be to preserve the design of the typeface as much as possible, even at the cost of a little bit of blurriness.
- Microsoft generally believes that the shape of each letter should be hammered into pixel boundaries to prevent blur and improve readability, even at the cost of not being true to the typeface.
I've talked to several people about this issue. Beyond the expected bias of familiarity - everyone is used to their main working platform and finds the other's rendering strange - I found that most graphic artists and font designers prefer the Mac rendering, while most web designers and IT people seem to prefer the Windows rendering.

But beyond that, the fact that Safari for Windows tries to reproduce exactly the Mac rendering is important (and not a bug, as many Windows users are claiming). I've seen this myself on my site; tweaking font size etc. so the page looks good on the Mac often produces quite different layout when you view it on a Windows browser, and it's impossible to get it to look exactly the same, down to line breaks and text heights. This is doubly important when you're viewing the page on a small screen like the iPhone has. Zooming the page display like the iPhone does seems to mandate the Apple rendering engine: Windows' pixel alignment is counterproductive there.

Coming back to the "zero-cost iPhone (non)SDK" idea. Reactions in the developer community seem fairly mixed. At WWDC itself, of course, most developers aren't web app developers, but were looking forward to doing Cocoa on the iPhone. And of course that implies that everybody thought that, when Apple would come out with an iPhone SDK (or even a generic OS X SDK, as I thought before the conference) Cocoa/OS X developers would have a monopoly... after all, they already own the development hardware and software. Nobody seriously believed that Apple would invest in doing a separate iPhone SDK that would include a simulator or even a compiler for one of the existing Windows IDEs, as Palm used to do when their products were still 68K-based (no idea what they do today).

Instead, so "real" Mac developers think, every newbie with a few weeks JavaScript under their belt are now free to declare themselves "iPhone developers". It's the same thing that happened with typographers when the original Mac 128K came out, and what will happen with animators when the final Leopard will come out - look for the equivalent of tags or impenetrable DVD menus in most of the new iPhone and Leopard apps. We'll be pretty sick of moving GUI elements soon, and there's no hope of standardizing web apps anyway. It's the millennium of the amateurs... head for the hills!

Well, while I think some of it will be that bad - just as ransom-note typography was in the 80s, and garish pages assaulted us in the 90s (and still do, come to think of it), it's won't be all that bad. Apple will have new category for its Design Awards and there will be some cool, well-designed apps out. Let Darwin take care of the rest.


Last edited by Rainer Brockerhoff on 18 Jun 2007 20:01:23; edited 1 time in total
View user's profile AIM Address
Display posts from previous:   
   Support Forum Index -> Rainer Brockerhoff's Weblog All times are GMT - 3 Hours
Goto page Previous  1, 2, 3 ... 20, 21, 22 ... 107, 108, 109  Next
Page 21 of 109

 
Jump to:  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls


t.gif

Page generated in 0.295 seconds, 15 queries executed