iPhone's Development Limitations Could Hurt It In the Long Run
ZDOne writes "Apple might have finally come around to allowing third party developers to create applications for the iPhone, but only up to a point. ZDNet UK claims Apple is leaving itself vulnerable to the competition and to a loss of lustre
by blocking background tasks on the device. The author notes, 'Perhaps it doesn't trust application designers or users very much. Perhaps it wants the best software for itself, where it can limit what it can do in order not to upset its telco friends. Whatever the reason, it reflects badly on Apple. The iPhone is not an iPod; it's a smartphone connecting to a universe of fast-changing data on behalf of innovation-hungry users. The sooner it stops pretending to be a 1981 IBM PC, the better it will be for everyone.'"
developer.sonyericsson.com would be a good start, which is linked directly on the front page of www.sonyericsson.com, so you can't have looked very hard in your rush to defend the iPhone.
how about the developer site of sony ericsson:
http://developer.sonyericsson.com/site/global/products/phonegallery/w910/p_w910.jsp
Microsoft. It's easy to create a program for Windows Mobile without Visual Studio, and stupidly easy with it.
You can run unsigned apps on s60v3.
Unsigned apps can access the network (see for example putty), play run stuff on the screen (see for example quake, dooom), run in the background, read & write files and so on.
I can't seem to find this famous list of things an unsigned app can't do.
Watch this Heartland Institute video
The way J2ME operates is far more sensible than a total ban. Every time an unsigned program wants to make use of a 'restricted' API, the user is prompted. This stops anything malicious from happening.
If you're doing the above, then this additional step is completely pointless and only serves to limit the usefulness of your platform. It's not like the backgrounding abilities of Symbian phones have brought down the phone networks yet.
Dude, my jailbroken iphone runs background processes on third party software right now. I can run a good number of programs before the thing slows down. Programmers are pretty good at satisfying space constraints.
Among the mobile phone makers, who hands out SDKs for creating applications on the phones?
...), Palm OS (Palm), etc. Symbian is a multitasking OS with Linux-like APIs. And almost all modern phones other than the iPhone can be programmed in MIDP.
Almost every manufacturer, actually: there are SDKs for Symbian (Nokia, Motorola, Samsung), Windows Mobile (Motorola, Samsung, HTC,
I wouldn't even know where to start if I wanted to develop an application for my Sony Ericsson W910,
The W910 runs J2ME and MIPD, just like most phones these days. There are thousands of applications for that and it's easy to develop for.
call me clueless but I don't see anything comparable to the iPhone SDK for any other phone.
Yup, you're clueless. In terms of SDK, the iPhone is about the worst there is among modern phone platforms.
Symbian 3rd edition, hava also limitations to developers, for certain type of capabilities the program must be signed by nokia. And there is a license 10.000$ for developers
That's pure fiction. I have half a dozen unsigned apps on my phone, several of them free and open source.
Banning uncertified code? Banning background processes? That sounds pretty damned prudent to me.
Smart phones have had background processes and uncertified code for many years, and there have been almost no problems with it in practice. Half of Nokia's phone lineup are fully programmable, multi-tasking machines, capable of running ssh, BitTorrent, Python, VNC client and server, Apache web server, and anything else you can think of. There's even software for turning Symbian phones into WiFi access points for sharing the 3G connection.
Anybody who claims that one needs to ban uncertified code and background processes to avert disaster simply doesn't know the mobile phone business... or is lying through their teeth.
Symbian 3rd edition (v 9.x) is not capable of running unsigned native application. Period. ,WriteUserData). User can allow application which use only those capabilities to run on his device.
The rest - Network control, Multimedia driver, Communication driver, disk admi, PowerMgmt, Location, ProtServ, ReadDeviceData, Surroundings driver, SwEvent, TrustedUI, WriteDeviceData - should be signed online through Symbian website or offline by other certified body.
Some application, restricted in functionality could be signed by developer without developer certificate(LocalServices, UserEnvironment, NetworkServices,ReadUserData
The situation is quite heated right now, after Symbian introduced some more restrictions recently (removed free developer certificates, which allow sign application for single phone - IMEI numebr). Symbian signed forum turning to flamefeast between moderator interventions. http://developer.symbian.com/forum/forum.jspa?forumID=2&start=0
Of cause all this only from legal point of view. Many devices (all FP1 and Nokia N95-1, not 8GB) have their platform security hacked already.
Background tasks, especially networking ones (which frankly, are the most useful type), would flatten the battery really quickly. Even more so with several of them waking up at different times and connecting the network.
On the other hand, making the rule hard and fast is a bit tough. And Apple could provide some means of minimizing drain (waking every task up every few hours for example), but don't damn Apple totally on this one.
Who modded this insightful?
1)- the iphone sdk DOES NOT ban background processes. it disables them by default, but people have been compiling iphone apps that run in the background for months. it's actually ridiculously easy; this is how im apps let you stay signed on while your iphone is off (or you're talking on it).
2)- the official iphone os may ban uncertified code, but people have been running uncertified code on iphones for months. since the number of "hacked" iphones is almost as great as the number of "boring" iphones, this is rather significant.
i'm not a fanboy- personally, i don't like iphones, or people who like iphones. i just don't like misinformation.
Your "How Signing Certificates Work" article is incorrect. It claims the Apple program is the cheapest available program at $99. However, this ignores that the total start up cost to develop for Windows Mobile is $0, $99 cheaper than Apple's developer program, clearly making the Microsoft platform the cheapest to develop for. (It should also be noted that unlike with the iPhone platform, you are not forced into distributing via Microsoft simply by virtue of developing a Windows Mobile application too)
For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
Better yet, if they actually read the T&C's they'll see that you can still run background apps, it's just not advised. Otherwise applications like AIM won't be able to run.
Two things: first, the human interface guidelines (HIG) stipulation that a process not background itself is perfectly reasonable. The phone form-factor has limited battery, memory, and processor resources. It wouldn't take much to make resource contention an issue or to torpedo battery-life and phone performance. This isn't a laptop with a big battery, multi-gigabytes of RAM, and a 3GHz dual-core CPU.
It should also be noted that while the HIG asks you not to make your app run in the background, neither the phone nor the SDK enforce it. You can, in fact, do it.
If you want to sell your app through Apple's service, you probably need to communicate to them that there's a good reason for it (for example, implementing hands-free voice-dialing might require it). Apple reserves the right to not carry applications that don't meet the HIG, but there's no reason to think that they won't make exceptions when a reasonable request is made to do so. Certainly, a good hands-free voice-dialing app would be a good candidate for such a thing.
allow a few systems^h^h^h^h^h^h^h^h grains of sand
You do know ^w deletes a word, don't you? Might save you some typing.
See lowendmac and (for instance) wikipedia
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
http://en.wikipedia.org/wiki/Monopoly In Economics, monopoly (also "Pure monopoly") exists when a specific individual or enterprise has sufficient control over a particular product or service to determine significantly the terms on which other individuals shall have access to it. [1] Monopolies are thus characterized by a lack of economic competition for the good or service that they provide and a lack of viable substitute goods. [2] Alternatively (a modern and less common usage), it may be used as a verb or adjective to refer to the process (see Monopolism) by which a firm gains persistently greater market share than what is expected under perfect competition. The latter usage of the term is invoked in the theory of monopolistic competition. So yes, patents are monopolies--they're just government granted.
The SDK is crippled. Not function wise but legally. It is forbidden for example to use the WAN interface of the iPhone for VoIP applications. This makes it basically impossible to introduce applications like Skype or SIP softphones on the iPhone when you are outside of a usable WiFi zone. Also the Apple guidelines state that it is forbidden to leave your application running during voice communications and while your application is out of scope. This again makes any messaging application impossible on the iPhone.
These restrictions are here to artificially limit competition between advanced communication applications and the telcos. It keeps you dependent on the old phone voice communications and the old SMS system which are obsolete and extremely expensive comparing to any IM and SIP solution.
This way you are banned from using any innovative communication technology while paying for the (artificially) crippled internet connection plus the expensive call rates.
The road to hell is paved with good intentions...
Battery life sucks for any smartphone, not just WinMo though. I charge my phone every night, otherwise it lasts maybe 36 hours through regular use. A bit more if I turn off data to disable the 3 email accounts, weather info, web browsing, etc, that I do normally. But if you are actually using any programs on it, that battery is toast with all that junk open (Windows Media Player? Is it actually playing music? Why leave it open?). This is like the file copy troll all over again. Why leave programs open? Is that a serious question? If it's loaded into RAM then I don't have to wait for it to load from ROM. Reading from RAM is faster than reading from flash memory, in case you were wondering. To answer your question though, no, it isn't playing songs 24/7. However, I can just do a start - WMP and hit play to start playing any random song I've got on there. Same with every other app I've got open. I can either wait for Live Search to load to view a map, or see the map instantly. This is like the file copy troll all over again. Are you sure it's not you who is the troll? I'm sitting here using the device, and posting my experience from using it. You are posting feedback based on stuff you've heard from clients. Anecdotal, sure, but head over to XDA-Developers some time and ask them about using it. Feel free to message me when you get there, I'm under the same username.
The reason the PC ended up being a relatively open platform was that the simplicity of the BIOS, motherboard design, and expansion bus lent itself to backwards engineering. This allowed the creation of functionally equivalent hardware and software -- clones.
IBM viewed this as a defect, not a feature, hence their legal challenges of clones and, later, attempts to close up the platform. Remember PS/2 and the MCA expansion bus? But IBM was trying to shut the barn door after the cattle were gone -- by the time MCA debuted, a proprietary and unlikely-to-be-cloned expansion bus was a huge negative selling point in the PC market, no matter how many technical problems it solved (and there was no doubt that MCA was technically superior).
So, there were never any real specifications, just what was learned by reverse engineering of the IBM PC, PC XT, and PC AT. Post-AT, the industry had much less centralizing influence, and extensions to the PC architecture were extremely ad hoc. Witness, for example, the long extended industry catfight about sound card hardware and APIs during the 90s. (This kind of chaos was both a strength and a weakness.)
The way J2ME operates is far more sensible than a total ban. Every time an unsigned program wants to make use of a 'restricted' API, the user is prompted. This stops anything malicious from happening.
No, it doesn't. Most users will click "yes" to everything.
A deep unwavering belief is a sure sign you're missing something...
These things aren't artificial and they aren't done (just) to get fractionally more money out of you. The fact of the matter is telcos don't want you running VoIP etc. on the packet network because the mobile packet networks are not built to handle it. This is their own fault(s) for not having more capacity, but they built their networks with X amount of channelized voice capacity and Y amount of packetized IP capacity based on customer usage. If everyone used VoIP, it would saturate the mobile data networks (at both the BTS and backhaul link levels) and reduce performance to unacceptable levels. Costs would go up to add more capacity on the packet side and you guessed it, that cost would be passed on to you - making voice not such a great deal compared to circuit-switched voice! I believe the long-term path for most carriers (at least in the US) is to make their 4G networks all IP-based with packetized voice, but until that's here (a few years yet at least), circuit switched voice is still the preference for a variety of reasons.
Also, just curious - in what way are circuit-switched voice and SMS on the Public Switched Telephone Network "obsolete?" My understanding is that word means something that cannot perform essential functions due to lack of essential functionality or interoperability, and literally hundreds of millions of people use these technologies daily just fine. Maybe you meant "more expensive than alternatives" rather than "obsolete?"
"95% of all Slashdot