Slashdot Log In
Analyzing Apple's iPhone Strategy
Posted by
CmdrTaco
on Wed Jun 11, 2008 09:13 AM
from the stuff-to-read dept.
from the stuff-to-read dept.
Galen Gruman submitted infoworld's summary of Apple's grand strategy for the iPhone. He points out that the real important part of the new iPhone is the software, not the hardware. He talks about the new SDK stuff, the ad-hoc app distribution, and other stuff. It's a reasonable read if you have been ignoring the iPhone and want to know what the hype is about over this release, but doesn't break any new ground if you've been paying attention.
Related Stories
Submission: the deep dive into Apple's emerging mobile empire by Anonymous Coward
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
it's the apps, stupid! (Score:5, Interesting)
But this shift has only happened recently, and we needed something like the iPhone to show us that the hardware is actually darn good enough!
This is also why I'm so fascinated by Android, which is a powerful software platform (ok, for a given set of hardware).
Re:it's the apps, stupid! (Score:5, Interesting)
Google is much stronger than Apple with web services, but weaker with respect to hardware. I don't think hardware is inconsequential. The more diverse the hardware your system is on, the more likely there may be compatibility problems.
Maybe it will be different this time. Mac shareware developers must be salivating. The quality of Mac shareware is excellent for the most part (and some of it is much more polished, better designed and more mac-like than software from major companies), but crippled by the fact that it's shareware and people have to find it and buy a license off a website, if they buy it at all. I imagine that respected Mac shareware developers like Panic will thrive when their software is on the same store as the stuff from the big guys and is pay per download.
Parent
Apple's strategy... unchanged (Score:5, Insightful)
1. make money.
2. make money.
3. make money, so that we can
4. make even more money.
I think they are doing great. Just for kicks (and to kick myself), I looked at how much I could have made if I had just invested $1000 in Apple in 1985. Taking the stock splits into account, that stock would be worth more than $500,000.
Apple is a great example of how you can take a fanatical fan base, show them nothing but contempt, charge outrageous amounts of money for everything connected with your products... and be adored all the more for it. THAT'S the kind of stock worth investing in, but it's a shame that setup is so difficult to replicate.
And... best of all, they are eating Linux's lunch. If someone hates Microsoft SO much, they aren't going to get Linux. They are going to buy a Mac, of course, and get locked in to that money sink (at least $150 in El Jobso's pocket every time they make a point release is great for Apple's bottom line!).
While Linux likewise has the fanatical user base... they just have no way of monetizing it. Linux users like being locked into that platform, but not enough to actually pay for anything. They are happy to use hardware two generations out of date, happy with being completely locked into FOSS (since extremely few companies will write for Linux), etc, but not happy enough to actually spend any money supporting what they supposedly believe in. Look at Red Hat- they've been doing poorly for years now, and that's not going to change (although their dropping the failed "Linux on the Desktop" project will undoubtedly help them a great deal).
While Apple has been gaining market share (up to 4-5%)... Linux's has remained flat for the past ten years (always around 0.65%, even as the size of the market has virtually exploded). Meaning... every Apple sold is coming from Linux's share of the market (either actual or potential). Which is good, since Linux has no chance of succeeding in competition with Microsoft, while Apple can do quite well with a tiny market share.
Parent
Re:Apple's strategy... unchanged (Score:5, Informative)
While Apple has been gaining market share (up to 4-5%)... Linux's has remained flat for the past ten years (always around 0.65%, even as the size of the market has virtually exploded). Meaning... every Apple sold is coming from Linux's share of the market (either actual or potential). Which is good, since Linux has no chance of succeeding in competition with Microsoft, while Apple can do quite well with a tiny market share."
Sigh. You're wrong on so many points that I don't know where to start. The Linux vendors in the server OS and application space have been making money hand over fist for that same ten years, you know.
We just needed to see the desktop environment catch up, that's all. We needed the OS itself to get responsive enough in the face of no vendor support (and sometimes downright hostile responses to queries about drivers), we needed the applications to get good enough, and we needed some market force to get people to look at Linux as a desktop appliance. That'll settle the lack of vendor support all by itself.
We've seen the OS get very responsive indeed, to the point that running some games under wine are actually faster than running them in Windows XP on the same hardware. Applications are out there to meet the basic needs of most consumers, while other options are becoming at least tolerable. Driver problems are largely resolved with only a few holdouts refusing to either release binary drivers (not ideal) or provide any help at all to the people writing FOSS drivers.
Finally, the fact is that your information about marketshare is a bit out of date. Every Website tracking company that publishes its global stats, from Hitslink to W3 Counter to Xiti to TheCounter, all show that Linux began increasing its market share a while back. Depending on how far back a given site lets you see, you can argue that it started in early 2006. Certainly, every tracking site that goes back to December 2006 shows that when Vista was released, Linux began growing. That's market force number one.
The second is the release of the eee. All of a sudden, the hardware vendors realized that they could make a pot full of money selling a device without having to include Microsoft Windows or OS/X and people would buy it. Not just buy it, stand in line all night to get one!
Micrsoft's response? A warmed over, extremely limited version of Windows XP Home with a drop dead date that's only 2 years out, and even then they want the hardware restricted. It has the hardware vendors so unimpressed that they seem to be flat out ignoring it.
Asus stated that they expected to sell 40% of their eee line as Linux. Asus has also decided to include a small Linux distribution in the BIOS of every motherboard that they manufacture.
MSI figures 50% of the Winds that they sell will be Linux. Acer has publicly stated that they're moving their entire laptop line over to Linux. Dell is still adding desktops and laptops to the pool of preinstalled Linux boxes (including the mini-Inspiron). HP is offering the Mini-Note with Linux side by side with the Vista versions.
2008/2009 is the start of Linux moving into the mainstream. It's going to be fun to see how far it gets!
Parent
Re: (Score:3, Informative)
Objective C (Score:5, Insightful)
Re: (Score:3, Informative)
I'll admit I'm not a programer and I have a tendency toward reading pro-apple sites, but I was under the impression that objective C is just an extension of C, and that regular C code would compile and run fine without extensive modification.
Re: (Score:3, Funny)
Re:Objective C (Score:5, Interesting)
I'm not trying to slander Java, but I've never used a Java app that doesn't take up a disproportionate amount of processor and memory when compared to the same type of program written in some flavor of C.
I want to reiterate that I'm not a programer and I'm not trying to be contrary. I'm just a little confused is all.
Parent
Re:Objective C (Score:5, Informative)
And many have said that about C vs Assembler. The difference is that you'd have to add a zero or so to the end of the price of the app. Java's substantially easier to write apps for, in certain domains, in certain sizes of applications.
C doesn't have features which make it reasonable to write very large applications (namespaces come to mind). You can do it (e.g. Unix kernels, etc), but you have to be much more disciplined without those features. That discipline costs in terms of additional expertise required, (higher programmer salaries) and project management (more overhead for managers, documentation, etc).
Also, Java has features which make writing tools for it substantially easier than C. Better available tools also reduce the cost of software production.
For the most part, Java sacrifices starting performance for long-term performance. Letting a Java app 'warm up' for a while will show substantially better performance than when it first started running.
Parent
Re:Objective C (Score:5, Informative)
Applications don't need namespaces - frameworks do, but applications should be perfectly happy being run in their own (default) namespace. I think most people will be writing applications on the iPhone, not frameworks.
As for tools, XCode comes with data-modelling tools to create entity relationship diagrams/models that integrate with your code, it comes with fantastic dtrace-driven graphical performance monitoring tools, and an excellent integrated gdb-based debugger which does things like fix-and-continue, step back, etc.
Just putting some context into place,
Simon
Parent
Re:Objective C (Score:5, Informative)
When Jobs came back to Apple (he also formed NeXT), Apple acquired NeXT and all their technology. This is when OS X was born and why it uses Obj-C.
So, basically only MacOS X and GNUStep really use Obj-C in any significant way (at least that I'm aware of).
The syntax is a little weird, and the targeted platforms are somewhat limited, so not many people know it or bother to learn (unless they want to develop for Mac or GNUStep).
Its a turn off because people like familiar things and would rather use C++ or Java rather than Obj-C, I suppose -- and Obj-C is sort of the barrier to entry to Cocoa and Carbon.
Parent
Re:Objective C (Score:4, Informative)
Debian Etch (and many other distros) has both the gcc-objc compiler and libFoundation libraries in the stable repository. I use them all the time to write GUI-less server applications. The Foundation library (the non-GUI toolkit for Objective C) makes it trivially easy (much like Java) to write a little piece of multi-threaded code that sits around waiting for input on a socket - WITHOUT all the overhead of launching yet another JVM instance.
Parent
Re:Objective C (Score:5, Informative)
If you want to actually **DO** anything with it, then you need GNUStep or Cocoa. Sort of like, you can write C programs on any system with libc and the header files available, but without all the fancy extras, like gtk or whatever, you're severely limited in what you can do without having to start from scratch.
I don't program in Obj-C. I don't use Mac. I don't want to do either of those things. Its not FUD as much as an explanation.
If you want to program Mac apps, you pretty much have to use it (or java) from what I can tell. If you want to use it without GNUStep or Cocoa, then you need bindings for your toolkits, same as anything else.
Just because you *CAN* do something, doesn't mean people really do. Yes, there are Obj-C bindings for GTK. I don't know how many people use them, but I would venture to guess its not that many. GNUStep software is written in Obj-C, same as Cocoa-using OS X software is.
That is the point I am trying to make. And I don't "prentend" to use bsd.
dick.
Parent
Re:Objective C (Score:5, Interesting)
To get and keep jobs in almost all companies you need to know a current mainstream language or two. I haven't seen a job that listed objective-c as a requirement in, um, well ever.
I certainly wouldn't touch it.
Parent
Re:Objective C (Score:5, Interesting)
Parent
Re:Objective C (Score:5, Insightful)
Parent
Re:Objective C (Score:5, Insightful)
Parent
Re:Objective C (Score:5, Informative)
You call a procedure from an object with the syntax [object function:argument], similar to lisp. If there are multiple arguments, it looks like [object function:argument arg2Name:argument2 arg3Name:argument3].
You declare classes as follows:
@interface :
{
float aFloat;
NSString *string;
}
- (NSString * ) string;
- (void) setString:(NSString *)newString;
- (NSString *) theFloat;
- (void) setFloat:(float)value;
+ (NSArray *) someArray;
@end
Obj-C objects are always pointers. Methods (functions) that begin with a '-' are instance methods; they would be called by an instance of the object (i.e. [instance method]. Those beginning with a '+' are class methods; they are called with [Class method].
Use #import instead of #include. #import always checks to make sure it doesn't include a file twice, so you don't need to bother with #ifndef's.
Here's an implementation file
@implementation
{
}
- (id) init
{
if (self=[super init])
{
string = [[NSString alloc] initWithString:@"This is a string.";
}
returm self;
}
- (void) setString:(NSString *)newString
{
string=newString;
}
- (void) setFloat:(float)value
{
aFloat=value;
}
- (NSString *) string
{
return string;
}
- (float) theFloat
{
return aFloat;
}
+ (NSArray *) someArray
{
return [[NSArray alloc] initWithObjects:
}
You can see that, as in Java, variables are in-scope within member functions.
The method alloc is implemented in the ObjC base class, NSObject, and allocates memory for the instance. It will always be followed up with an init method of some kind.
The keyword 'id' is a macro for any instance of NSObject or any of its subclasses.
The variable 'self' refers to the current object. The variable 'super' refers to the current object, interpreted as it it were its parent class. Since every object but NSObject begins with self=[super init], only NSObject needs to know precisely how the Objective-C runtime is implemented.
Not shown here is how flags are handled, which is usually of the form [object shouldDoSomething], which then returns YES or NO. To set behavior, it's [object shouldDoSomething:YES].
In Objective-C, NSStrings are denoted like C strings, but with an @ before the open quote marks: @"This is an NSString." [object description] will return an NSString that tells you something about object, usually for classes within the core frameworks it is a text representation of the data.
The null pointer as an object is called nil. nil, or indeed any object, will accept any method call and fail silently, so make sure you properly alloc and init your objects, and double-check that they actually respond to the methods you send them.
Write to the console with NSLog(NSString*).
There. Now you know Objective-C. How the fuck hard was that?
NB: I wrote this off the top of my head, and it's been a while, so there are probably a ton of bugs in it. But, you get the idea.
Parent
Re:Objective C (Score:5, Insightful)
Really? The only developers I can think of that it would be a problem for are those guys who learned Java or VB at their trade school and have never learned anything else. Pretty much everyone else has picked up C at some point and Objective C is just a superset.
I'd also note that from what I've read developers are raving about the ease of use of the iPhone dev kit. From the development forums I see a lot of happy people, with the occasional clueless person asking if they can develop for the iPhone using Visual Basic 6. I've seen some complaints about the slow rate at which people are letting developers into the program, but not about objective C.
Parent
Re:Objective C (Score:5, Funny)
Parent
Re:Objective C (Score:5, Interesting)
It takes getting used to, but I find it very elegant and powerful. I think the biggest turn off for most is "it's something new". It's C, but then it's not. I find myself having to think much more "MVC" and "object-oriented" than I'm used to (my brain is wired old-school procedural), but I also find that I can get an amazing amount done with fewer lines of code. The trade-off is that I don't feel I have the deep level of control I should. This is nonsense, of course, I can write any functionality and subclass all I want, but with the API's I usually don't find I need to, so I come away from a project feeling a little guilty - like I didn't *really* do any hard-core coding. Combine that with Interface-builder and it feels more like building with Legos than "programming". It's just that you find yourself getting so much functionality for free.
All that, combined with the fact that the syntax is different from C++ and you get a bit of a turn-off, but give it a chance. It's like transitioning to any new thing. You like what you know. It takes stepping out of your comfort zone for a while (which is hard for a lot of programmers who tend to be control freaks to begin with). Once you are used to it though you find going back a bit clumsy. At least that's been my experience.
Parent
Re:Objective C (Score:5, Interesting)
In order to fully grasp it, I started experiments with Smalltalk (great), Eiffel (great, but ugly syntax), and some other languages I forgot.
Remember: those times were the times when we wrote our frameworks ourselves (I remember writing objects like "Float", "Integer", "String",
You have to switch from "Calling a Function" or "Calling a Member of an Object" to "Sending a Message to an Object" and get used to the idea that everything is an Object (even classes are instances of the class class and so on) and then you are set.
The syntax may turn you off a bit - that's what happens with Python for me (the indentation is still a psychological issue for me) - but you surely get used to it quickly.
Now, after having developed in Objective-C for such a long time (including having learned Smalltalk and Eiffel), I can't actually look at the "ugly" C++ or Java syntax - and I (more or less) believe the worst thing that could happen to the world in programming languages was C++ (my two EUR 0.01, which, by the way, results in 3.14 UScents by a strange coincidence today).
Anyway, try it out and you'll either hate it or love it.
Also, for me, a good programmer is someone who is personally, privately, and passionately interested in Esoteric Programming Languages - which brings us to the "Indifference to Syntax" - or "Being amazed by Syntax" (some people should probably take this with a grain of salt).
Parent
Re:Objective C (Score:5, Insightful)
So many programmers feel it is better to stick with what they are asking for in the ads.
Parent
Re:Objective C (Score:5, Funny)
Parent
Re:Objective C (Score:4, Insightful)
Define "issue".
Is the choice of Objective-C a part of the reason why I'm not planning on doing iPhone development any time soon? Yes. Because it's a dead end.
While you can use Objective-C to build Mac applications, you don't need to — there are other languages that run on the Mac that are also commonly available on other platforms. And, outside of OS X and iPhone, there are no platforms I can think of where Objective-C is the "right answer", or even a "likely candidate". It's more like "you're using...what?" or "didn't that language die out a decade ago?"
Now, I'm not above learning a language solely to use a platform — I'm learning Python to play with Google AppEngine, for example. But Python has greater potential utility to me beyond AppEngine, more so than Objective-C does beyond iPhone, and so Python is less of an issue.
If the issue were solely language — say, for example, iPhone was likely to be as open as Android is likely to be — I'd probably overcome it. But, combine the language issue with the other issues, and iPhone just isn't compelling at present. Maybe that will change.
Parent
Slow news day? (Score:5, Insightful)
Well, in that case, why is it on the front page?
Surely if a
Re:Slow news day? (Score:4, Funny)
In short...you must be new here
Parent
Re: (Score:3, Insightful)
Hope Steve gets better (Score:4, Funny)
Parent
A first! A useful summary?!? (Score:5, Funny)
Thanks. That was truly one of the first useful summaries I have read in a while. Now I can skip TFA
I took a look at an iPhone the other day (Score:5, Funny)
There's a bit of scope in the market for software giants to chip into this.
gPhone - Targetting non-evil people, has 11 buttons, 0-9 and a "dial/hangup/camera/gps/play music/search" button
MSPhone - Steve Ballmer made one for himself out of a tennis racket, twine and bleach, bundled with a left over Zune to provide fully functioning WMA support.
jPhone (I know a lot of phones run java already) - You get two phones, a client phone which makes all the calls, and a larger server phone which does all the connecting to the towers. You can upgrade to a 3-tier mobile phone system, using mochaFrappeLite. Bundled with a free tweed jacket with leather patches.
Meta-summary: apple is still a software company. (Score:5, Insightful)
Focussing on their hardware, whether it's the iMac or iPhone, is definitely missing the point. This guy definitely gets it.
One thing that I would like to see more of is details of the ad-hoc licensing. My google-fu is failing me there.
Apple's grand strategy? Lock-in. (Score:5, Insightful)
Re:Apple's grand strategy? Lock-in. (Score:4, Insightful)
I don't have the skills to be developer and maybe I'm don't know something you know but here is what I see: If I can develop an application for the iPhone, I can be an independent developer without having to go through anyone but Apple. Millions of users can buy my app easily. I don't have to worry about maintaining an infrastructure for a yearly $99 license. If I charge $10, I get to keep $7. If 14 people in the world buy it, I've broken even. If 10,000 people buy my app, I've made $70,000. That is why I think a lot of people are interested: the potential of it.
Parent
Re:Apple's grand strategy? Lock-in. (Score:5, Insightful)
And if you're a PC developer, then you can be independent without having to go through anyone full stop. It's a crying shame, and a testament to the egregious and undue influence the telecom industry has over our government, that the cell phone market isn't like that too. This kind of shit -- that is, requiring apps to have the "blessing" of the device manufacturer or service provider to work -- ought to be illegal!
Parent
Re:Apple's grand strategy? Lock-in. (Score:5, Insightful)
Parent
Re:Apple's grand strategy? Lock-in. (Score:5, Insightful)
See, here's the thing: there's a huge fucking difference between having this service be available, and having it be mandatory. Having it available is good; I agree that it would be very convenient for small proprietary developers. Having it mandatory is bad, because it locks out Free Software and hobbyists.
Parent
Re:Apple's grand strategy? Lock-in. (Score:5, Insightful)
You forgot to include the value of your time to develop the application, any time it might take to market it (e.g., even if it's just posting to Slashdot), any support costs, taxes, etc. Also, if 10K people might buy your app for their iPhone, there might be 100K people who might buy it if had a wider cell phone base, or 1000K people who might buy it if it was available for PCs, etc., so you might be chasing a tiny "profit pool" anyway if you only target the iPhone.
Microsoft has a similar model going with MSDN and lesser licenses and so do thousands of other vendors with a proprietary platform and a paid SDK/API/dev environment.
The $99 is there basically to protect Apple from the total time-wasters; Apple would otherwise give this away free so they can get developers, developers, developers.
Parent
Still no open source apps (Score:4, Informative)
However, even the ad hoc license is not the wide-open solution that the open source community ultimately desires. An iPhone user should be able to opt into installing and running unsigned applications, a capability offered by all competing mobile platforms.
Re:Still no open source apps (Score:5, Insightful)
From a geek's standpoint, you don't want a smartphone without open source options. For an average consumer, do they really care? They just want things to work. When the iPod came out there was a lot of griping about technically inferior the iPod was, and that it would never flourish. Hundreds of millions of iPods later, I would say that it's been a success. Really, my grandma didn't/doesn't care that the iPod can't play ogg-vorbis. All she knows is that when she puts her new CD into her computer in iTunes and then plugs in her iPod, she gets her music. If she got an iPhone she'd only care about getting on eBay to see if she won that cute figurine. She doesn't need to see the source code.
Parent
We'll see how well apps catch on (Score:3, Interesting)
Avoiding malware and crapware (Score:5, Interesting)
Time will tell whether restricting software distribution for the iPhone is a net positive or negative in either creating a stable, easy-to-use, secure environment for mobile computing or in stifling development for a subset of developers.
Question (Score:4, Interesting)
Re: (Score:3, Informative)
Re: (Score:3, Insightful)
Re:Strategy? (Score:5, Insightful)
Parent
Re:Strategy? (Score:5, Interesting)
Parent
Re:Strategy? (Score:5, Insightful)
The iPhone is my 6th cell phone and the first that is an honest pleasure to use and powerful enough to accomplish more than playing 10 second ring tones. The iPhone literally represents the FIRST TIME I have been able to have a good phone, my iPod, email, calendar, contacts, maps, camera, web, etc in a single device that seamlessly syncs to my Mac computer. Period.
If you don't want to buy one, fine, but for me, having an iPhone is about having aall that stuff, and more, in a single device that elegantly works. The fact that it might look nice or 'cool' is merely icing.
Usability and functionally are not 'playing with a cool toy.' Getting things/work done in an intuitive way on your phone is still getting things/work done. Whether or not it was 'cool' or even fun to do it shouldn't take away from the fact that it was accomplished.
I am at a loss to understand why it is so hard for people to understand that futzing with poor UI is not fun for 99% of the people who use computers. The average user hates 'tinkering with their' tools (har!). They just want to USE them to Get Stuff Done. For you, perhaps menu-*-9-5-1-4-2 might be a fast way to access your pictures on your phone but for most people, myself included, it sucks way more than swipe-tap-tap-swipe.
Parent
Re:Apple's Strategy (Score:5, Insightful)
I disagree. There are dozens of phones out that look very similar to the iPhone, by intention. Nah, Apple's strategy with the iPhone is the same one they used with the iPod. Enter a market with a product that is not cheaper or more featureful than the competition, but usability test the heck out of it, including the surrounding services and software. Provide only the features that work really, really well and easily. For the most part, people buy and use iPhones because a lot of the features present on other smartphones are just too hard to use for the average person. They're fine for geeks, but just not there for normal people. This explains why iPhone users actually use the features of their phones more often than users of competing phones. Is the iPhone the only one that can look up your location on a map and then find the closest sushi place and it's phone number? Nope. If it was my father using it, though, I'd sure rather he had an iPhone so he could do it in less than ten minutes and didn't have to ask me questions.
Basically, it is the same reason the Wii is selling so well, they expanded an existing market by making it more suited to the masses.
Parent