November 18th, 2009 by Mike Fulton

The new Fuji Real 3D W1 digital camera is generally available only in Japan so far, but one of them recently made its way into my hands and I’ve had a few weeks to play around with it.   Perhaps the first thing I must tell you is that I’ve not seen an English-language version of the user’s manual, so it’s entirely possible that I may be wrong about certain things regarding the camera’s operation.  However, the user interface menus are in English, and I’ve found much information from Fuji online.

At first glance, if you don’t look too carefully, the W1 looks like any number of other point and shoot digital cameras, albeit somewhat more bulky than most recent models.  But if you look a bit more closely, you’ll notice the “3D” logos here and there on the case.  And when you slide down the front cover, you’ll reveal not one but two separate lenses, and it finally sinks in that the W1 is a 3D-stereo camera!

The camera’s two lenses are 77mm apart, or approximately the same distance as a human adult’s eyes.  Coupled to each lens is a 10mp digital CCD image sensor, giving each 3D image a total of 20 megapixels.  However, for comparison purposes, I’m going to be treating it like a 10mp camera since that’s what you’d get in regular 2D mode.

Controls

The back of the camera features a fairly large 2.8″ LCD display, but it’s not just any LCD.  This is actually a 3D display that provides you with a fairly good idea of how the 3D image will look.  On either side of the LCD is a vertical row of buttons that allow you to bring up the various menus and move through them.

The camera’s user interface, to be perfectly honest, seems rather dated.  My sister had a Fuji digital camera 7-8 years ago and it doesn’t seem like this camera was much different as far as the UI goes.  And to be honest, I thought that her camera’s UI was kind of clunky even then.

Perhaps the main problem is that there are certain things in the UI that are buried a few levels down that really need to be available at the top-most level if they’re to do the user any good.  One example is setting manual exposure control.  More on that later.

Exposure Control

The camera supports ISO settings from 100 to 1600 in 1-stop increments, and you can either set it manually or have the camera set it automatically for each shot.  I’ve used it mostly at the automatic setting and from what I’ve seen, the camera does a fairly good job at selecting what speed to use.

The first real gripe with this camera is the level of difficulty involved in controlling your exposure settings.  There is a manual exposure mode, but you have to go through several menus to set the shutter speed and the lens aperture.  It’s OK for making manual exposures when you’ve got plenty of time, but not so much in other situations where speed is a factor.

Another issue is that the lens only has 3 aperture settings.  They vary depending on where you have the lens zoomed to, but at the wide range they are f/3.7, f/5.0, and f/8.0.  For maximum telephoto the range is f/4.2, f/5.6, and f/9.0.  It’s rather an odd selection.  The first two choices are only 2/3 stop apart, and the last two are about 1-1/2 stops apart.  I can understand why f/8 might be the smallest aperture on a camera with a small image sensor and short focal length lenses, but why not give us standard 1/2 or 1/3 stop increments on the aperture choices?

The situation is better with shutter speed control, but oddly the range varies depending on the selected aperture.  On manual control, the low-end of the range always starts at 1/2 second.  On automatic, the low-end can be as much as 4 seconds, but it’s not entirely clear about what circumstances are required.  At f/8, you can go as high as 1/1000.  At f/5, you can go as high as 1/640.  And at f/3.7 you can go to 1/500.  In all cases, the speed is adjustable  in 1/3 stop increments.

Electronic Flash

The W1’s built-in electronic flash is fairly small, and placed directly in between the two lenses, making red-eye a virtual certainty in many low-light situations.  Fortunately, like many small cameras these days, there is a red-eye reduction mode where the flash will flicker several times immediately before the picture is taken.  This causes the irises in your subject’s eyes to stop down, reducing the possibility of red-eye.

One thing I liked is that because the camera doesn’t use a focal-plane shutter, there is no restriction on flash sync and shutter speed combinations.  You can use the flash at any desired shutter speed.

My general impression is that the built-in flash is a bit underpowered.  I didn’t really have a problem with range, but when taking several shots in a row, even with several seconds between each shot, there were many occasions where the flash didn’t fire because it hadn’t yet recycled since the previous shot.

The built-in flash isn’t ultimately that much different from those found on most other point and shoot cameras.  But many other cameras at the W1’s price point include some option for using external flash, and the W1 does not.  You can use the built-in flash to trigger an optical slave connected to an external flash, but that’s about it.  This is a serious shortcoming for me.  The camera is big enough that a hot shoe on top would have worked, and an external PC flash connection would have been nice as well.

The Lens

Uh, make that “lenses” I guess.  The two matched lenses provide 3x zoom capability.  Fuji claims that it’s the equivalent of a 35mm camera’s 35-105 zoom lens, but frankly it didn’t seem that wide at the low-end.  It seemed more like a just slightly wider than “normal” lens field of view, rather than being truly wide-angle.  At the high end it’s a moderate telephoto.

The lenses are adequate if not spectacular, but it’s a shame that they don’t go wider at the low-end of the zoom range.  Why don’t camera manufacturers seem to want to give us wide-angle lenses on these point and shoot models? Whenever I’m taking pix with these cameras, I’m always backing away from the subject to get everything in the picture.  And that places a bigger strain on the built-in flash, and it also increases the chances of getting red-eye.  Why don’t they realize that these small cameras are often used to shoot groups of several people from just a few feet away?  On this camera, as well as 3 other P&S digital cameras I’ve owned, the “wide angle” end of the zoom was never more than barely wider from what would be considered a “normal” lens.

Video Mode

While waiting for the camera to arrive, I was really looking forward to creating 3D videos.  Unfortunately, I have to say that I’m a bit disappointed with the video capabilities.  You have a choice of 640×480 or 320×240 for either 3D or 2D movies.  Why no high-definition mode?  This omission is a serious shortcoming these days.

Aside from the lack of high-def mode, there are a few other issues.  First, you cannot zoom while recording video.  I cannot even imagine why this restriction is in place.

Otherwise, the main problem is that you have no control over compression settings.  The camera seems to be stuck in a fairly high compression mode.  I don’t see it all the time, but you do sometimes get compression artifacts in the video.

The camera creates standard Windows AVI files for video, using Motion-JPEG compression.  Who uses Motion-JPEG any more?  Even cellphones use H.264 these days, so what’s the deal here, Fuji?  It’s really a shame they didn’t use some variation of MPEG-4 H.264 compression.  That would have provided much better quality video for the same amount of memory card space.

With a 16gb card, the camera tells me that I can shoot for a bit over 15 minutes in 3D/640 mode, and up to about an hour in 2D/320 mode.  The camera can only create files up to 2gb long, which is the nominal maximum size of a file using the FAT32 filesystem.  Some other cameras get around this by simply chaining multiple files together as needed, but Fuji declined to do that here. 

Shooting With It

One of the first things you learn when shooting the W1 is that if you really want the 3D effect to work, there are certain rules you have to follow.  First and foremost is, keep the bottom of the camera parallel to the ground.  If you tilt it more than a few degrees, the image just won’t look right unless you turn your head to match when viewing.  Tilting forward or back is OK, as long as you don’t tilt from left to right.

Of course, “no tilting” means you cannot do anything but  “landscape” mode shots.  No turning the camera 90 degrees for a “portrait” shot.  This can take a little getting used to, and I didn’t always remember this idea when shooting my first few batches of pix.

Other than that, shooting with the W1 isn’t much different than shooting with most other point and shoot cameras.  Oh, you do have twice as much chance to accidentally cover a lens with your finger, but you’ll see that on the viewscreen if you’re paying attention.  This sounds like a joke at first, but it’s not entirely.  For some reason, the two lenses aren’t centered on the front of the camera.  They’re offset to one side, with one lens right up against the edge of the front of the camera.  So in fact, it’s not all that hard to cover up one of the lenses with a finger if you’re holding the camera with both hands.

Viewing Your Images

So how does one view the images created with this camera?  Well, there are several options.  First, it is possible to make 3D lenticular screen prints.  Remember those 3D trading cards you had when you were a kid, the ones with the grooved plastic overlay where the image perspective would change depending on the angle you looked at the card?   Fuji tells us that there are print-making services that can take the W1’s MPO image files and create such prints.  I’ve not done that, but it seems to be something that might be useful occasionally.  It’s significantly more expensive than “standard” prints are, however, so it’s not something you’ll do with every memory card you fill up.

Fuji sells an LCD photo frame that has a 3D LCD screen similar to that on the camera, albeit larger at 8.4″ diagonal measurement.   However, it’s rather pricey at $499.  (Not to mention that Fuji seems to have problems keeping it in stock in their online store.)

Another possibility it to use NVIDIA’s 3D Vision stereo glasses with a compatible monitor and NVIDIA-based video card.  This is how I’ve been viewing my images so far. If you don’t mind wearing the glasses, this will be the best option for many since the image size will be much larger than the photo frame.  Plus, you can get a good 20″ or 22″ monitor and the glasses for around the same price or just a bit more than Fuji’s 3D photo frame.

(Disclosure: I do subcontracting work for NVIDIA and in fact obtained the W1 camera through them.) 

In Conclusion

This camera is a study in contradiction.  On the one hand, the ability to create 3D images is really cool, and with the right subject matter the images are just amazing.  On the other hand, when using the camera, you sometimes get the idea that the designers were so in love with the 3D capabilities that they just plain forgot about making sure that the rest of the camera was just as cool as the 3D stuff.

If the ability to create 3D images is your primary reason for being interested in the W1, then the camera’s shortcomings in other areas are probably something you can live with.  But if you are primarily looking for a good camera first, and think 3D would just be a nice feature to throw into the mix, you may want to wait another generation or two for the 3D capabilities of the W1 to be combined with a better all-around camera.

, , , ,

June 17th, 2009 by Mike Fulton
Posted in Apple, iPhone

The much-anticipated version 3.0 of the iPhone software was finally released this morning.  I was up early and online so I started checking at about 6am (PST) but nothing was available yet.  At about 7pm it occurred to me to check the Twittersphere for information and so I loaded up TweetDeck and did a quick search for “#iphone 3.0 update“.

The people tweeting about the update mostly fell into the category of “It’s the 17th so where is it?”  However, then I saw a tweet that showed a link to a page on Apple’s website where it apparently said that the update had been moved to the 18th.  When I checked out the page, it did indeed say the update would be coming out on the 18th, but it didn’t say anything about this being a change from the previous announcement.  Navigating the site from the front page soon revealed that there was another very similar page that indicated the 17 th. I couldn’t find any links to the page that said the 18th, so I’m thinking someone discovered an outdated page and posted direct links to it.

Awhile later, a few people posted links to a couple of news websites which had stories indicating that the update would be released at 10am PST.  So I went back to what I was doing.

Doing The Deed

 At a few minutes after 10am, I launched iTunes and got a message that there was a new version of the iPhone software available, and did I want to download it?  I thought about that for a couple of picoseconds and then hit the button for Download and Install.

I was expecting the update to take forever to download, since everybody and his brother would be trying to update at once, but to my surprise the 200mb+ download took just a few minutes.  Either Apple must have a bunch of servers hosting the update, or I just got lucky.  When I checked the system again a few minutes after starting the process, I was surprised to discover it was actually just about done.  I sat and watched the progress bar for the last few minutes, and when the phone finally came back up and running, I’d say the total elapsed time was probably not more than 10 minutes or so.  Maybe 12 minutes tops.  It happened so quick I wished I’d actually timed it so I could see how quick it really was.

First Look

The first thing I noticed was that a new icon for Voice Memos had been added to the 1st page.  The new voice memo feature wasn’t really something that was at the top of my list of things I wanted, mainly because a few months ago I’d gotten tired of waiting for something like this and had bought QuickVoice from the App Store.  However, I was never completely happy with QuickVoice, and after trying out the new Voice Memos applet, I really like it and I think I’m going to switch.  I especially like that it creates more or less standard MPEG-4 audio files, and also that it sends files via EMAIL wherever you want.  QuickVoice had some wacky feature for emailing voice memos, but it required sending stuff through their own server and frankly it just didn’t work in my experience.

The next thing I noticed was that the SMS Messages applet had been renamed to just “Messages“, no doubt to accommodate the idea that MMS messages are now supported as well.  However, upon opening the new version of the applet, I couldn’t immediately see any difference.  And the reason for that turns out to be that the MMS feature is not enabled quite yet.  Apparently we’re waiting for AT&T to flip the switch.

Seriously?  WTF?  Every other damn phone that AT&T sells supports MMS, so what is the freakin’ deal with enabling it on the frakkin’ iPhone?  Why is it that every time we turn around, there’s some goofy limitation on this device that ultimately tracks back to AT&T?

Search

Another thing I noticed was the addition of a teeny tiny little magnifying glass icon at the left end of the row of dots that indicates what page of icons you’re currently viewing.  Click that and the new Spotlight Search function appears on screen.  From there, as you type in a search phrase, it will show you everything on the phone that matches.  Video files, song files, applets… I mean everything.  If you’re familiar with the Spotlight function on the Mac, you’ll find that the new iPhone version of this feature works in much the same way.

At first, I thought that the little magnifying glass icon was going to be really hard to click, but in operation it turns out to work reasonably well.  There’s enough room between the row of icons above and the row below that even users with fairly big fingers should have no problem.

Cut, Copy, & Paste

I said it before and I’ll say it again… big frakkin’ deal.  I’m glad they finally got this basic feature into the dang phone.

*MY* YouTube

One feature I was definitely  looking forward to seeing was the new version of the YouTube applet, with the ability to actually sign in to my account and view my favorites and subscriptions.  Frankly, I hadn’t used the old version of the applet all that much simply because I found it to be too much of a pain in the ass to have to type in searches to find everything.

One wacky thing I noticed that videos in my subscriptions did not appear to be sorted in any particular fashion I could figure out.  I would have expected the newest ones at the top, oldest at the bottom, but that did not appear to be the case.  It wasn’t alphabetical, or sorted by the number of views.  Finally I figured out that the list was sorted by rating.  An interesting choice, and not one I find especially useful.  I looked around the applet, and even checked the system’s Settings applet, to see if there was any way to change this, but didn’t find anything. 

Apple, this is a seriously goofy choice.  First of all, there should be a choice of sorting options.  But if you’re not going to provide such a choice, I’d much rather see the list sorted by date with the newest videos at the top.

The Rest Of It

There’s a whole bunch of other new stuff in the 3.0 software, but most of it is not invidually a big topic.  You can now buy movies, tv shows, and audio books in iTunes.  I didn’t realize you couldn’t already do that until they announced it as a new feature.

The calendar has been improved, including the ability to sync up with Exchange and other applications supporting the CalDEV protocol.

The new software also supports tethering via USB or Bluetooth.  That’s when you use your phone as a cellular modem to provide an Internet connection to another device such as a laptop.  However, apparently this whole thing caught AT&T by surprise because the feature won’t become active until later in the year when they finally get their act together.  They already offer tethering for other phones, and really it’s nothing more than charging a few bucks more for higher volumes of data transfer.  So what’s the big techno-mystery here, AT&T?  Get it together!

The iPhone 3G S

There’s a number of things in the 3.0 software that you won’t see unless you’re using the new iPhone 3G S, which hits stores this coming Friday.

You won’t get video.  I dunno why that is, since video recording applications have already been demonstrated on the older hardware.  Apple once made some noise about the reason being that video recording would put an extreme strain on the phone’s flash memory but the problem with that idea is that there really isn’t any difference between what the new phone uses and what the old phone has, other than capacity.  Plus, virtually every company that makes video cameras has been shifting from using tape to using, you guessed it, flash memory!

Chalk it up to Apple just being goofy until you hear a good reason otherwise.

You won’t get the new Compass applet.  I don’t know why that is, but I suppose there could be a hardware difference with the new phone’s GPS setup that makes the Compass possible.

You won’t get the Voice Control feature.  At first glance, one has to wonder why not, since there are a number of applets for the old hardware that do voice recognition.  But actually, you’ll find that those applets don’t actually do the voice processing on the iPhone itself.  They pretty much all upload the recorded sound to a server, which does the voice recognition and then sends back the result.  The new hardware has a faster processor, and I’m guessing that’s what makes the difference here.  Although, I honestly have to wonder, even if it took twice as long to do the processing on the old phone, wouldn’t that still ultimately be faster than uploading an audio file?  Even if it’s not faster, frankly I’d rather have slower native voice recognition than none at all.  Apple needs to rethink this.

The new phone also has an Accessibility applet that allows you to set things like a screen reader and zoom feature for those people who are visually impared.  This doesn’t seem to be hardware-specific, but it’s not available on the older hardware.

Upgrade Path?

As recently as last week’s big Apple WWDC developer conference, there had been no news about any sort of an upgrade path for current users.  Traditionally, the discounted prices for the iPhone have only applied to either new customers or customers eligible for an equipment upgrade discount. (i.e. people who haven’t gotten a discount in the last two years)  However, as of this morning, the Apple website indicates that there is an intermediate-level discount available for eligible users, with prices of $299, $399, and $499 for 8gb, 16gb, and 32gb models.  That’s not quite as cheap as what new customers get, but it’s $200 less than the regular price.

And apparently, even users who got their iPhone in the last few months are eligible.  I got mine in late March, but according to the Apple website I’m eligible for the medium-level upgrade.  I don’t think I’m going to jump right on that any time soon, but it’s nice to know the option is there.

April 29th, 2009 by Mike Fulton
Posted in Apple, iPhone, Mac, Tech

Once upon a time, Steve Jobs was the leader of a company called Apple.  Apple was known for being a technology leader, and their latest products were the envy of the industry.  Sadly, though, Apple’s sales figures didn’t seem to be able to keep pace with their reputation.  The board of directors of Apple, thinking that another style of management might be the way to go, decided that they’d had enough of Steve and handed him his walking papers.  The year was 1985.

Steve’s response to the situation was to start another computer company, called NeXT.  The Apple Macintosh was supposed to be the “computer for the rest of us” but with NeXT, it seemed Job’s goal was to create the “computer for the best of us“.  Largely inspired by his experience with getting the Macintosh into the education market, the NeXT Computer was going to be a powerful workstation designed to meet the needs of the scientific and higher educational community.  At the heart of this new computer was going to be NeXTStep, an object-oriented multi-tasking operating system that included tightly integrated development tools to aid users in quickly creating custom applications.

NeXTStep’s Language Of Choice

At the heart of NeXTStep was a fairly new programming language known as Objective C.  It was basically an extension of the C language to add Smalltalk-style messaging and other OOP features.  Conceptually it’s not too far off from where C++ was at the time, but the syntax is fairly different.  However, that simply didn’t matter at the time because most programmers hadn’t done much, if anything, with C++.

In 1985, any sort of object oriented programming was a relatively new thing to most programmers.  Modern languages like Java and C# were still years in the future, and C++ was still largely an experiment, with no standard in place and drastic differences from one implementation to the next.  In fact, most C++ solutions at the time were based on AT&T’s CFront program, which converted C++ code into standard C code that would then be compiled by a standard compiler.  It would be a few years yet before native C++ compilers became commonplace.

There were other OOP languages around, like Smalltalk or Lisp, but they were largely considered acedemic languages, not something you’d use to create shrink-wrapped products.

Since there simply wasn’t any better solution, the choice of Objective C for NeXTStep was completely reasonable at the time.

What Happened NeXT

The first version of NeXTStep was released in Sept. 1989.  Over the next few years, the NeXT computer and NeXTStep made a number of headlines and gained a lot of respect in the industry, but failed to become a major player in terms of sales.  In late 1996, NeXT had just teamed up with Sun Computer to create a cross-platform version called OpenStep, but before that really took off, something else happened.

In 1996, Apple was floundering.  Their stock price was down.  They’d had layoffs.  They had no clear plan for the future in place, and they were in serious danger of losing their place as the master of the graphic user interface.  Microsoft had just released Windows 95, which was a huge leap forward from Windows 3.1 in virtually every way, and PC video cards offering 24-bit and 32-bit color modes had become easily affordable.

Apple CEO Gil Amelio was fairly sure that updating the Mac to use some sort of object-oriented operating system was key to Apple’s future success, but Apple’s internal development had thus far failed to pay off.  Likewise Apple’s investment in Taligent, a company formed in partnership with IBM for the sole purpose of developing an object oriented operating system.  But then Amelio struck a bargain to purchase NeXT Computer and the NeXTStep operating system, bringing NeXT CEO Steve Jobs back into the fold, first as an advisor and then as CEO several months later when Amelio was shown the door.

It took Apple nearly 4 years to integrate their existing operating system with the NeXTStep tools and libraries, but ultimately NeXTStep formed the basis of the new Macintosh OS X operating system, released in March 2001.

Mac Development Tool History

When the Macintosh was first released in early 1984, you pretty much used either 68000 assembly language or Pascal to create programs.  Pascal had always been a popular language with the Apple crowd.  Apple had a set of development tools known as the Macintosh Programmer’s Workshop, which was essentially a GUI interface wrapper for a variety of commandline oriented tools, including the 68000 assembler and the Pascal language compiler.

It didn’t take long for the C language became available for the Mac.  Apple released a version for MPW, but it really took off with the release of LIGHTSPEED C (later renamed to THINK C), which had a GUI IDE of the sort that would be completely recognizable as such even today, almost 25 years later.  Think’s compiler quickly became the defacto standard development environment for the Mac.  Support for C++ would be added in 1993 with version 6.0, after the product was acquired by Symantec.

Unfortunately, when Apple made the transition from the Motorola 680×0 processor family to the PowerPC processor in 1994 & 1995, Symantec C/C++ failed to keep pace.  It wasn’t until version 8, released in 1997, that their compiler was able to generate native PowerPC code. 

Fortunately, a new player in the game appeared to save the day.  When Symantec bought out Think, some members of the Think C development team started a new company called Metrowerks.  While Symantec was struggling to bring out a PowerPC compiler, Metrowerks released their new CodeWarrior C/C++ environment.  In many ways, Codewarrior was like an upgrade to the Symantec product, and it quickly supplanted Symantec among developers.  Codewarrior would remain at the top of the heap until Apple released OS X.

The NeXT Development Tool

When Apple released Mac OS X in 2001, there were two big paradigm shifts for developers.  The first was that Apple now included their development tools with the operating system, at no additional charge.  After nearly two decades of charging premium prices for their tools, this was a big change.  Plus, the new XCode environment was an actual IDE, unlike the old Macintosh Programmer’s Workshop environment, with support for Objective C, C, C++, and Java.

The second paradigm shift was that everything you knew about programing the Mac was now old news.  You could continue to use an existing C/C++ codebase with the new Carbon libraries providing a bridge to the new OS, but this did not allow you to use the new tools such as the Interface Builder.  If you wanted to take full advantage of the new tools Apple and the Cocoa libraries, you needed to use Objective C instead of the familiar C or C++.

Objectionable C

I had been a Mac programmer since getting my first machine in 1986, and when Apple released Mac OS X in 2001, I was fully expecting to continue that tradition.  However, while I had no problems whatsoever with the idea of learning a new set of API calls, or learning new tools, I saw no good reason why it should be necessary to learn a new programming language.  Still, at one time in my younger days I had enjoyed experimenting with different programming languages, so I figured why not give Objective C a try?

Upon doing so, my first thought was, this was an UGLY language.  My second thought was, why did they change certain bits of syntax around for no good reason?  There were things where the old-style C syntax would have gotten the job done, but they changed it anyway.  The third thing that occurred to me was that this was a REALLY UGLY language.

After a few brief experiments, I pretty much stopped playing around with Cocoa and Objective C.  I started playing around with Carbon.  My first project was to rebuild an old project done in C++.  But the first thing I ran into was frustration that I couldn’t use the new tools like the Interface Builder.  It wasn’t too long before I decided I wasn’t getting paid enough to deal with all this BS.  Objective C had sucked all the fun out of Mac programming for me.

The shift to Objective C marked the end of Macintosh development for many other programmers I’ve talked to as well.  One can only conclude from their actions that Apple simply doesn’t care… if one programmer drops the platform, another will come around.  I’m sure there are plenty of other programmers around who either like Objective C just fine or who simply don’t care one way or the other.

As far as I’m concerned, Objective C is an ugly language, an ugly failed experiment that simply has no place in the world today.  It offers nothing substantial that we can’t get from other languages like C++, C#, or Java.  Nothing, that is, except for access to Apple’s tools and libraries.

Some Mac developers would tell you that the Cocoa libraries depend on some of Objective C’s capabilities like late-binding, delegates (as implemented in Cocoa), and the target-action pattern.  My response is that these people are confusing cause and effect.   The Cocoa libraries depend on those Objective C features because that was the best way to implement things with that language.  However, I have no doubt whatsoever that if Apple wanted to have a  C++ version of the Cocoa library, they could figure out a way to get things done without those Objective C features.

A Second Look

A few years later when I got my first Intel-based Mac, I decided to revisit the development tools.  I wrote a few simple programs.  I’d heard a few people express the opinion that Objective C was sort of like the Ugly Duckling… as I used it more and became familiar with it, it would grow into a beautful swan.  Nope.  Uh-uh.  Wrong.  No matter what I did, no matter what I do, Objective C remains just as frickin’ ugly as it was when I started.

I really wanted not to hate Objective C with a fiery vengeance that burned from the bottom of my soul, but what are ya gonna do?  Personally, I’m looking into alternatives like using C# with the Mono libraries.  No matter how non-standard these alternatives are, they can’t be any more icky than using Objective C.

Could It Be That Apple Doesn’t Care About Making Life Easier For Developers? 

The real question here is why the hell hasn’t Apple created a C++ version of the Cocoa library?  It’s been 12 years since Apple bought out NeXT.  Why hasn’t Apple made an effort in all that time to adapt the NeXTStep tools to use C++?  Or other modern languages like C#?  Microsoft may have invented the C# language, but even the Linux crowd has adopted it for gosh sakes!

Or why not annoy Sun and make a native-code version of Java with native Apple libraries?

Could it be they are trying to avoid the embarrassment that would occur when developers abandon Objective C en-masse as soon as there is a reasonable replacement?

Does Apple think developers are happy with Objective C?  Personally, I’ve yet to find a single programmer who actually even likes the language.  The only argument I’ve ever heard anybody put forth for using it has always been that it was necessary because it was the only choice that Apple offered.  I know that’s the only reason I use it.

Why does Apple continue to insist on inflicting Objectionable C on us?  I can only come to the conclusion that Apple simply doesn’t care if developers would rather use some other language.  It’s their way, or the highway.

, , , , , , , , ,