iPhone SDK Rules Block Skype, Firefox, Java ...
An anonymous reader writes "Apple's iPhone software development kit is already drawing complaints due to the strict terms of service. Voice over IP apps like Skype that attempt to use the cellular data connection will be blocked. Competing web browsers Firefox and Opera are forbidden. Even Sun is now backpedaling on its recent announcement of a java port, noting that there are some legal issues. Critics are already comparing Apple's methods to Comcast's anti-net neutrality filtering, and Microsoft's Netscape-killing antitrust tactics. Could Apple face government regulators?"
Most cell phone applications are written in J2ME. The lack of J2ME support means existing applications already on AT&T's approved app deck would need extensive porting. The only exception is Verizon which has their own language (called BREW), which has less apps than most other companies because of it. Even the Black Berry supports J2ME.
borne shell, etc:
"no interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple's Published APIs and built-in interpreter(s)."
Apple owns the device? Last I checked I owned my iPod Touch. How dare Apple tell [i]me[/i] what I can't run on my device.
Almost all phones have a web browser, all the new cell phones can play mp3s. There are phones made to encorporate music as their main focus.
What? You actually buy music off itunes? I'd rather buy music from amazon's drm free site. Stupid icrap users get what stupid icrap users deserve.
Not according to TFA:
(Emphasis mine)
Javascript + Nintendo DSi = DSiCade
This is not true at *all*, and is a downright falsism and an incredibly weak defense. Anti-competitive activity is classified as "banning abusive behaviour by a firm dominating a market, or anti-competitive practices that tend to lead to such a dominant position."
Notice the keyword there. Whether or not you already have a monopoly is NOT relevant. Only if you're doing actions that could eventually help to create one.
Microsoft got in trouble for leveraging their OS monopoly to squash Netscape, and Apple has no such monopoly to leverage. There's nothing intrinsically wrong with limiting what applications can run on your device, nor is there anything wrong with integrating a browser, but there are some behaviors that monopolies cannot engage in that a smaller company can.
You bought an Apple device, you couldn't have been expecting open-ness.
This slashdot post is entirely sensationalism at its worse. If anyone had read the articles attached: Skype banned: "Apple To Allow VoIP on iPhone But...", it doesn't talk about Skype being banned, but being restricted. The firefox issue seems to be dealing with the fact that no interpreted languages are accepted (javascript I assume), and no plugin arch. are allowed. Actually, I'd gladly accept a no-plugin firefox. No more bloated firefox. And really, how many other mobile browsers allow plugins? (I'm honestly asking...). For sun, it's some legal issues that have come up. They haven't BLOCKED anything. To go from the article (which is entirely positive on Apple), and turn it around to be negative is doing a disservice to the original author. Saying that everything is being blocked is silly. If you want to play in the game, you gotta follow the rules. If you don't, well, there's always hockey.
This space for rent.
My wife's Palm plays MP3 and Video, has built-in Wifi and bluetooth, and has (gasp!) a removable memory card currently populated with a $40 4GB card. It's not as slick or fun as an iPod, but it does everything that the iPod touch does, and the inverse is not true.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
Objective C is a cool language, and is super easy to pick up if you know C++ or Java.
Don't forget C#, which also returns "> 5000" hits. If we could get a real number on that, I'd bet C# has more than Java.
I have never seen an SDK that so blatantly locks users out of common usage like this, have you? Maybe I've managed a decade and a half in this industry without noticing that it's normal practice to use legal force to ensure that an SDK is only used a particular way?
Which industry? This isn't atypical in the embedded industry at all. It is very unusual in the general computing industry. I think the issue here is that the iPhone and iTouch span that divide moreso than any device that came before it.
If you wanted to develop for the PlayStation, for instance, you had to sign all kinds of agreements. And they were relatively open compared to some embedded device makers.
E pluribus unum
You seem to portray learning Obj-C as some huge undertaking. If you come from a Java background, learning Obj-C is like learning to play stud poker when you've only played draw poker before. Some of the mechanics are different, but there's a lot of overlap. Anyway, how is Java more conducive to innovation than Obj-C? Because it has better IDEs (which is probably debatable, but I'll cede the point anyway)? What can you do in Java than you can't do in Obj-C? Sure, Java has more frameworks built around it (and frameworks built around those frameworks, with more frameworks layered over them, and frameworks built on top of those, etc.), but Apple has some pretty decent libraries too. I've only dabbled in Cocoa programming, but I find the syntax of Obj-C to be rather nice. I like that there's at least some way to implement delegation. It may be a bit sketchy, but it's better than Java's system, which amounts to "Ahh, fuck it. Let the IDE generate some code. That's good enough."
You have one thing right: Objective-C will probably never be nearly as popular as Java. Ok, two things: Too much java makes me have to poo-poo. I don't see why that means Apple must support Java on the iPhone though. I'm sure the platform will do just fine without it.
If Microsoft wanted to charge you $100 to run Firefox on Windows, you would burn them at the stake. The only thing that makes Apple different is that they aren't a monopoly... yet. Sorry, but this is different. See, Apple has never said you cannot run Firefox on their device. You are free to write it and make it work. You figure out a way to do that, congratulations. You can do whatever the hell you want with the iPhone. But how are you going to get this app on the iPhone? It's up to you to figure that part out, and if you brick your iPhone, that's your problem. All they are saying is that you cannot use their SDK to develop these apps. That's part of their licensing agreement. Don't agree? Don't use their SDK and go it on your own, you have that right after all.
...I have to say that not only is Java significantly nicer, but the IDE's are dramatically better than XCode...I wonder if you actually did both platforms seriously. I work with both on daily basis from some years, yet I find myself cursing every second I spend doing Java (in either NetBeans or Eclipse, I use Eclipse only for the nice j2mepolish integration).
Java syntax is extremely verbose, and the language is really not as objected oriented as they sell it. Also doing a GUI application makes me often think the advantages of being kicked in the balls instead.
In Objective-C I usually find myself writing much less code and have great productivity, XCode never gets in my way and Cocoa/Foundation frameworks usually have a much cleaner API (just take a look at collections, in Java you have to pick between different implementations of the same functionalities)
"I have never seen an SDK that so blatantly locks users out of common usage like this, have you?" Sure I have: Microsoft XNA.
The secret to creativity is knowing how to hide your sources. - Albert Einstein
My 3-year-old phone has a web browser (Opera) which works very nicely considering the tiny screen and it includes a music player that plays MP3 and AAC files (and, I think, a few other formats). I put a 1GB flash card in it stores a couple of albums, in AAC format, purchased from the iTunes store. It's not as capable as the iPhone, but if you bought one now it would cost 5-10% of the cost of an iPhone.
I am TheRaven on Soylent News
T-Mobile's firmware on Nokia S40 phones, at least, disables internet access for 3rd party apps.
Smartphone market? I still find that hard to believe - there are several countries where Blackberry is, but iPhone is not.
Here's a big hint. Sales does not equate to "size of market". If in the final quarter of 2007, the iPhone sold 27% of the smartphones sold, that does not mean every one in four smartphones is an iPhone (I'm also looking at you for a basic misunderstanding of this, Mr Roughly Drafted). As the Wikipedians would say, "[citation needed]".
Watch this Heartland Institute video
Maybe you missed the part where nearly every iPhone update has tried to block the jailbreak?
I was literally days away from buying an iPhone before the SDK release, was just waiting to make sure it would make the phone worth it (honestly, without 3rd party applications the iPhone is worth about 1/5 of what it costs). But now I'm not so sure that I'll be getting one at all.
hate to break this to you, but much of the software you run on your typical cellphone is written in Java. I have quite a few positive java apps on my blackberry
not to mention, if you use ebay, you're using a Java-based web app. I hear it's a pretty decent piece of software.
oh, and I have a daily (mostly) positive experience with Eclipse.
The idea that "java apps are obvious due to their slowness and crappiness" is an old, tired adage. It's just false. You might as well say, "C++ apps are obvious due to their memory leaks". Just because you've run some crappy Java code doesn't mean the language itself and all code written in it is crap. It brings you more benefits than you know.
Disclaimer: I do a lot of J2EE coding. I also hate Java, but for more technical reasons. ;-)
multifariam.net -- yet another nerd blog
Apple's documentation is wonderful..... if you already know Objective-C. It is pretty bad otherwise. Okay, It's really horrible otherwise, and not that great if you do.
I tend to use http://www.cocoadev.com/ more than anything else. You really should do the basic Apple Currency Converter tutorial first though, as it walks you through the interface. In general, trust the C that you know, but throw out the C++. Things tend to be done with a different approach, so if you can find other code that does a similar thing, the C part of your brain will understand it, but the C++ part will get angry. Eventually, I realized that the C++ part of my brain was also extremely masochistic, so it became easier to ignore it.
Did that help at all? More than anything else, just jump right in. Build and test often, and have fun with it.
- iPhone: You can run native code. XBox: no native code; all code runs in the
.NET Framework VM sandbox.
- iPhone: $99 one-time fee. XBox: $99 yearly subscription + $50 yearly subscription for XBox Live Gold
- iPhone: free version with emulator for testing. XBox: free version but no way to test for XBox compatibility.
- iPhone: iTunes is the exclusive distribution channel for iPhone programs. XBox: XBox Live the is exclusive distribution channel for XBox games.
Since neither Apple or Microsoft can control what you do with the SDK on your own hardware, the following restrictions only apply to applications distributed through iTunes or XBox Live.- iPhone: programs of any type will be distributed. XBox: programs must be games for distribution on Live.
- iPhone: distribution on iTunes store will be available to any developer. XBox: distribution on XBox Live restricted to a select few who win periodic voting contests.
- iPhone: programs can use WiFi for any purpose; cellular network with restrictions. XBox: Network access only for XBox Live and local LAN multiplayer. Non-LAN play must enforce requirement of XBox Live Gold subscription.
- iPhone: programs distributed through iTunes may not execute downloaded code or plugins. XBox: Microsoft would never approve a game for distribution on Live that executed downloaded code or could download plugins.
- iPhone: Free programs distributed for free. XNA: not announced. Likely to limit or prohibit free games.
- iPhone: Commercial distribution is 30% of gross revenue, no other fees. XNA: not announced. Likely to be higher than 30% based on rumors of XBLA royalty rates.
As you can see, XBox development is *just* as restricted as iPhone development; more so, in fact.main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}