NeXTSTEP, It’s on your iPhone

In the years between Apple and Apple, Steve Jobs created a company that created iOS.

That’s a gross summary.

Steve Jobs died last year. Most obituaries mentioned his hiatus company. Yet you still didn’t know what it was in the title of this post.  NeXT, the company, was founded in 1988.  I bought one (#16469) of their initial computers in 1990. I finally got a job that was using it in 1992. I loved it.

The Unix-underneath, Objective-C-on-top operating system with forward technologies and rich development tool sets was a wonder to work on, and a joy in many business custom development environments I found myself in the following years: WilTel (The Woodlands), Pan Canadian Petroleum (Calgary), Fannie Mae (Washington).

NeXTSTEP morphed into OpenStep, and the huge issue of cross-platform porting was mastered by NeXT.  Soon Apple hired Jobs back, and with him the OS.  I was personally injured when they skinned it and put on a Macintosh body suit, but it was the right business decision.

They convinced all the Macintosh “operating system” users (i’m a Unix/real OS bigot) to convert over to the Unix-OS, OpenStep became OS X.  I missed my pegged dock. I was annoyed by the constant main menu.  I wanted to tear off menus. But I could feel the soul of the Old Lady underneath.

Then they basically ported the operating system they run on 15 pound towers, whirring with fans to run on a tiny touch screen you could use as a phone.  It’s still mostly there. Most of it’s been rewritten more than once. (That’s what NeXT/Apple does so well!)

When the iPhone SDK was released I started working with it.  The user interface toolkit was reimplemented from scratch. Many of the issues we’d fed back to NeXT developers in the early 90s were reflected in design and implementation changes. (There were, of course, new issues.  That’s what happens with software.)

I have to touch many parts of technology. Most of them are less elegant than iOS. But you’ve got to do it.

I credit the elegance of design and implementation of NeXTSTEP with the fact that it is basically running on your phone. Welcome to my favorite operating system of the 90s.

Inconceivable: I Can’t ‘ls -l’ My iPhone

Vizzini (played by PC World): Inconceivable.
Inigo Montoya (played by Apple Insider): You keep using that word. I do not think it means, what you think it means.

When some people (like PC World) come up with lists of “What iPhone OS 4.0 Needs” they often lists items that are not thought about from a design direction at all.  They think of a task they want to perform, look at a previous solution for that task, and proclaim that the same solution is needed here. (To be fair, PC World does not invoke as much Fire & Brimstone as others who deliver this opinion.)

We don’t need a floppy drive on the iPhone.  No one is suggesting we do, but it was only a few years ago that people were wailing for their loss on a computer (How do we manage to install new software without them?).  Now people often state they need access to the underlying file system of their iPhone.  Their phone.  They need to get to the filesystem.  And browse it.  Why? why? why?

With the announcement of the new iPad running a newer version of the iPhone OS, no doubt these statements will grow louder.  Access to the filesystem oddly makes a lot of people’s lists.

OS X provides the Finder to me, and it provides Terminal to me. I’m sure my mother doesn’t know what Terminal is, and I know she’s not overly familiar with Finder.  She uses apps.  That’s what most people do.

Apple has dared to ask “can we remove file access entirely” from the user experience.  There are some cooler heads on the Internet that notice these are interesting ideas, and they may be fruitful.  Perhaps we should give them a chance.  The answer will likely be “not entirely”, but it can be different, better for 99% of users.

Kudos, AppleInsider for exploring these concepts in a non-mellowdramatic way.

iPhone 4.0 – What Will The New OS Bring?

Dwight Silverman recently provided a large number of “improvements” he feels are necessary for the next version of the iPhone. Here are my opinions on his thoughts:

A better camera: A 3 megapixel to 5 upgraded seems a minimal upgrade that should be expected. If it does include a better camera, it should also provide better programatic access to it. Allowing apps that use it to throttle the quality, especially those that use video, particularly streaming video. If you could stream low-res and save high-res at the same time, that would be ideal. It’s likely that cameras will appear in future iPod Touches as well, perhaps lower end versions.

Bigger and/or Better screen: The two aren’t the same thing obviously. Apple has been resisting the resolution “upgrade” because the one-size-fits-all has served their developers, and therefore their app breadth, well. Other platforms are already stratifying, and it’s not ideal. They will definitely need to provide the simulator support months in advance of hardwired availability, so that developers can confirm their products. They should also provide a way to run lower/original resolution applications, or risk minimizing available applications.

More customization: With each major release of the iPhone OS there are minor customization increases. There will be minor changes on this version and Dashboard-style widgets, custom backgrounds, or any other “skinning”-type functionality is unlikely. And in my opinion, unneeded.

A faster processor: Each hardware upgrade has included a processor improvement. Apple has no need or desire to be the fastest possible processor.  More speed = more battery use.   Apple will continue to err on the batter life improvement side.

Voice recognition throughout: Apple aims at the larger, non-technical market, and I think voice recognition and in particular voice dictation is a bleeding edge technology. This is still not available broadly on computers and mobile CPUs can’t handle it. The Nexus One offloads, necessarily, processing onto servers.  This bandwidth increase would be undesirable, particularly to an AT&T already straining from the needs of the iPhone.

Multi-tasking: This is most yearned for feature that is the most unneeded. Apps can currently remember their states if they care about their users. Having Apple “sleep” an app also leaves an ambiguity of when the user really wants to quit the app. There are definitely some functionalities Apple should open up to developers that happen to be background ones. (Audio Streaming a la NPR app – The stream should be on par with the Apple Music app.)

Greater Durability: I disagree with Dwight, iPhones are strong enough. Their screens are considerably larger than most which naturally makes them more vulnerable. And insurance is usually available for those unable to handle the iPhone safely.

Thinner and lighter: a competing design variable to Greater Durability.

Relaxed App Approvals: Apple did recently “stream line” its app approval process and items are getting through the pipeline much faster this month than two months ago.  A few more months are needed to see if this change is everything is needed.  This general heading in Dwight’s list is there only for a specific argument: Google Voice.   I would love to have that app, but any arguments are hard to make for lack of real information on why it hasn’t been green lighted.  Lots of rumors and speculation.

End Its AT&T Exclusivity: Apple chose AT&T on technological reasons. There are two (different, and not quite equal) 3G technologies. Apple chose the one that can provide more technically and the one that blankets Europe and Japan. There were also technical modifications made to AT&Ts infrastructure to allow the “audio voice mail” that would need to be made by other carriers. Cingular has the same type of network; Verizon would require the manufacture of a different type of phone. I don’t think the growth spurred by non-exclusivity would be large enough to bother production.

New Provisioning Profile Not Working: Fix

My Provisioning Profile for my iPhone app expired, so I renewed it, downloaded it.  Added it into Xcode.  Manually added it to ~/Library/Mobile Devices.  It would build and install onto the device, but when launched via the debugger I received the following output:

Error launching remote program: security policy error.

The app would terminate, the debugger was running but not attached to any process.  The fix that finally resolved it was going to Settings > General > Profiles on the device and removing all of the expired Profiles in there.  (Which were not related to the app in question.)

Too Much iPhone?

flipsidedevicesI was video chatting with my co-worker in Virginia, fellow FlipSide5 jack-of-all-trades Mike, and he decided to show me his quite impressive collection of iPhone OS devices.  Different hardware versions of iPhones and iPod Touches with different versions of the operating system on them.  Useful for testing the various possible compatibility issues, but really useful for little else.

As you can tell, I was quite amused.

NYT: Get Rich Quick, Go iPhone (Not)

Media coverage of iPhone application development (what? why is media even covering this?!) goes in a stereo-typical cyclical pattern that is almost weekly in its oscillation.  This week chiming in is the New York Times: Hoping to Make iPhone Toys as a Full-Time Job.

The Lede on this story sells the Gold Rush, no doubt leading young men West to dig in the dirt.

This article does point out the other side of the story briefly:

But the chances of hitting the iPhone jackpot keep getting slimmer: the Apple store is already crowded with look-alike games and kitschy applications, and fresh inventory keeps arriving daily.

But they quickly return and glorify the Get Ri¢h Story.  They return to 6-figure pronouncements and phrases like “minimal skill” and “only 7 days”.  It sounds like late-night hucksterism.

There are currently about 2000 apps released in the store per month.  Less than 1 a month is a get-rich-quick winner.  And those are usually gimmicks and one-offs.

There is a middle ground.  A reasonable expectations and reasonable skills balance.  But you won’t likely hear that story in the press.

I also wouldn’t be surprised if there were some big boys that back out of the arena in a year or two because of the dilution of perceived value.  They spend big bucks on game development and need to reap it back.

Of course, evolution in the hardware available is going to continue to change the landscape.