Apple invites iPhone developers to test live Push Notifications

13

Comments

  • Reply 41 of 67
    melgrossmelgross Posts: 31,743member
    Quote:
    Originally Posted by ivan.rnn01 View Post


    I am 41, if you wanna know. And I was old enough to have used those machines professionally. They rendered 3D models and played mp3 music simultaneously. Received and sent packets over LAN and dispatched all these activities at the same time. I'd say 50% of lemmings would be happy to have only that on iPhone.



    What we had yet to see were streaming even audio and video. And yes it's video that requires all those clock cycles now.



    They worked. They didn't work well. I remember plenty of frustrations with them in my lab. We ended up dedicating machines for each purpose.
  • Reply 42 of 67
    ivan.rnn01ivan.rnn01 Posts: 1,822member
    Quote:
    Originally Posted by melgross View Post


    They worked. They didn't work well. I remember plenty of frustrations with them in my lab. We ended up dedicating machines for each purpose.



    Those two shown above worked still better, than DEC Alpha workstations of the age. They may not have been perfect, sure, nothing was perfect 15 years ago. Yet those workstations were light-years ahead of PCs and Macs of those old days... There was and there remains no s/w development environment better, than unix...
  • Reply 43 of 67
    melgrossmelgross Posts: 31,743member
    Quote:
    Originally Posted by ivan.rnn01 View Post


    Those two shown above worked still better, than DEC Alpha workstations of the age. They may not have been perfect, sure, nothing was perfect 15 years ago. Yet those workstations were light-years ahead of PCs and Macs of those old days... There was and there remains no s/w development environment better, than unix...



    Workstations were always much more powerful that mainstream computers, until just a few years ago, when that became no longer true.



    Since we're really discussing those mainstream PC's and Macs, I wasn't going to bring my Onyx into the equation.



    Even so, when computing with intensive programs, multitasking will always slow down the programs that want the entire machine. There's no way around that, and I don't know how you could think otherwise.



    Right now, I have a few programs that use all 16 threads and saturate them all. how would multitasking on the machine while one of these programs was operating, work?



    Very badly.
  • Reply 44 of 67
    carniphagecarniphage Posts: 1,984member
    Some applications don't need 100% of the devices resources.



    On a desktop, it is reasonable to take the unused resources and put them to work. Rendering, or compressing video, something which squeezes extra usefulness from your precious CPU time.



    On a phone, it is reasonable to take the unused resources and make a power saving. Squeezing extra usefulness out of your precious battery time.



    C.
  • Reply 45 of 67
    melgrossmelgross Posts: 31,743member
    Quote:
    Originally Posted by Carniphage View Post


    Some applications don't need 100% of the devices resources.



    On a desktop, it is reasonable to take the unused resources and put them to work. Rendering, or compressing video, something which squeezes extra usefulness from your precious CPU time.



    On a phone, it is reasonable to take the unused resources and make a power saving. Squeezing extra usefulness out of your precious battery time.



    C.



    That's true. But just how much is available, and what are your needs regarding time to finish? It's good to use 100% of your computer cycles, but if it takes several times as long to do a task, then that's not very good, unless that task isn't a priority.
  • Reply 46 of 67
    carniphagecarniphage Posts: 1,984member
    Quote:
    Originally Posted by melgross View Post


    That's true. But just how much is available, and what are your needs regarding time to finish? It's good to use 100% of your computer cycles, but if it takes several times as long to do a task, then that's not very good, unless that task isn't a priority.



    A well-written OS should not sacrifice the usefulness of the foreground task because of the presence of background tasks.



    But as an engineering task that is easier said than done.



    On OSX (desktop) I can now run really intensive background tasks with very little impact to the foreground application, providing ... and here's the catch.... I have lots and lots of RAM. 5-10GB seems a healthy size.



    Without sufficient RAM, stuff gets swapped onto hard disk, and swappage = suckage.



    C.
  • Reply 47 of 67
    melgrossmelgross Posts: 31,743member
    Quote:
    Originally Posted by Carniphage View Post


    A well-written OS should not sacrifice the usefulness of the foreground task because of the presence of background tasks.



    But as an engineering task that is easier said than done.



    On OSX (desktop) I can now run really intensive background tasks with very little impact to the foreground application, providing ... and here's the catch.... I have lots and lots of RAM. 5-10GB seems a healthy size.



    Without sufficient RAM, stuff gets swapped onto hard disk, and swappage = suckage.



    C.



    That's true. But even if your foreground task is being given a higher priority, as it should be, your background task is being slowed down.



    You can't it have both ways. So if you're rendering a movie, and are working on a large Photoshop composite, both tasks will be slower than they would be otherwise.



    You will really notice PS slowing down, no matter how much memory you have.



    And your render will also take longer. Which is more important?
  • Reply 48 of 67
    ivan.rnn01ivan.rnn01 Posts: 1,822member
    Quote:
    Originally Posted by melgross View Post


    Workstations were always much more powerful that mainstream computers, until just a few years ago, when that became no longer true.



    Since we're really discussing those mainstream PC's and Macs, I wasn't going to bring my Onyx into the equation.



    Mel, we're now comparing the speed of the processor of the modern phone with that of powerful workstations of previous decade. Modern phone has 3 times faster processor. That's what technological progress does. Workstations did multitasking quite well. So will the 3 times faster processor. The clock frequency is not key limitation.



    Quote:
    Originally Posted by melgross View Post


    Even so, when computing with intensive programs, multitasking will always slow down the programs that want the entire machine. There's no way around that, and I don't know how you could think otherwise.



    Perceptionaly, old machines were as good at multitasking as modern those are. The clock frequency of processor is enough to fool the user. And it has been being sufficient since long.

    Even now, in the XXI century, you can not have as many processors as the number of processes running concurrently. So, maximum 8 threads can run simultaneously, all others still have to wait, exactly as their predecessors did. You just need far more complex dispatching and context switching to do. And you have to ask developers to profit from multiple cores/processors of your machine. And those scoundrels are not in any hurry. That's what you win actually by having multiprocessor/multicore machine.



    The only demanding applications on the phone are streaming and video playback. Video makes no sense to be played in background.



    Quote:
    Originally Posted by melgross View Post


    Right now, I have a few programs that use all 16 threads and saturate them all. how would multitasking on the machine while one of these programs was operating, work?



    Very badly.



    Perceptionally, it will work just a little bit better on the top-class modern multicore/multiprocessor desktop machine. And the user will see little difference actually.
  • Reply 49 of 67
    melgrossmelgross Posts: 31,743member
    Quote:
    Originally Posted by ivan.rnn01 View Post


    Mel, we're now comparing the speed of the processor of the modern phone with that of powerful workstations of previous decade. Modern phone has 3 times faster processor. That's what technological progress does. Workstations did multitasking quite well. So will the 3 times faster processor. The clock frequency is not key limitation.





    Perceptionaly, old machines were as good at multitasking as modern those are. The clock frequency of processor is enough to fool the user. And it has been being sufficient since long.

    Even now, in the XXI century, you can not have as many processors as the number of processes running concurrently. So, maximum 8 threads can run simultaneously, all others still have to wait, exactly as their predecessors did. You just need far more complex dispatching and context switching to do. And you have to ask developers to profit from multiple cores/processors of your machine. And those scoundrels are not in any hurry. That's what you win actually by having multiprocessor/multicore machine.



    The only demanding applications on the phone are streaming and video playback. Video makes no sense to be played in background.





    Perceptionally, it will work just a little bit better on the top-class modern multicore/multiprocessor desktop machine. And the user will see little difference actually.



    I've done a lot of work with these machines, and what you're saying is simply not true.



    It's interesting that in one place you say that clock frequency doesn't matter, and then later you say it does.



    It's true we've gotten a bit off the iPhone discussion path. But it still holds. I've seen Windows phones really slow down because of this. While that OS is sloppily written to be gin with, it's emblematic of all phones.
  • Reply 50 of 67
    ivan.rnn01ivan.rnn01 Posts: 1,822member
    Quote:
    Originally Posted by melgross View Post


    I've done a lot of work with these machines, and what you're saying is simply not true.



    It is true. It is. Inspite of that long work of yours.





    Quote:
    Originally Posted by melgross View Post


    It's interesting that in one place you say that clock frequency doesn't matter, and then later you say it does.



    Failing to see it.



    Quote:
    Originally Posted by melgross View Post


    It's true we've gotten a bit off the iPhone discussion path. But it still holds. I've seen Windows phones really slow down because of this. While that OS is sloppily written to be gin with, it's emblematic of all phones.



    If it holds you so, please jailbreak your iPhone, install Backgrounder and enjoy multitasking with all the same 440 MHz (can't test it, I will not jailbreak mine).
  • Reply 51 of 67
    melgrossmelgross Posts: 31,743member
    Quote:
    Originally Posted by ivan.rnn01 View Post


    It is true. It is. Inspite of that long work of yours.



    We can argue this back and forth, so I suggest we stop.



    Quote:

    Failing to see it.



    Quotes:



    Quote:

    The clock frequency is not key limitation.



    Quote:

    The clock frequency of processor is enough to fool the user.



    Failing to see something doesn't mean it's not there.



    Quote:

    If it holds you so, please jailbreak your iPhone, install Backgrounder and enjoy multitasking with all the same 440 MHz (can't test it, I will not jailbreak mine).



    What does "holds you so" mean?



    I'm not going to jailbreak my phone for a silly purpose. Since it seems to work so well, why don't you jailbreak yours?
  • Reply 52 of 67
    ivan.rnn01ivan.rnn01 Posts: 1,822member
    Quote:
    Originally Posted by melgross View Post


    We can argue this back and forth, so I suggest we stop.



    Glad to, Mel. Everything else is the fault of "Google Language Tools".
  • Reply 53 of 67
    ivan.rnn01ivan.rnn01 Posts: 1,822member
    Quote:
    Originally Posted by melgross View Post


    Since it seems to work so well, why don't you jailbreak yours?



    Sorry, I will specially replay only this. I'll take a risk to abuse just to express my point of view again.



    I am not to benefit from multitasking right now, because I do not see how it is useful on the phone. I do not see the business case, if you want.
  • Reply 54 of 67
    melgrossmelgross Posts: 31,743member
    Quote:
    Originally Posted by ivan.rnn01 View Post


    Sorry, I will specially replay only this. I'll take a risk to abuse just to express my point of view again.



    I am not to benefit from multitasking right now, because I do not see how it is useful on the phone. I do not see the business case, if you want.



    I don't think it's a big deal myself, but some seem to think so.
  • Reply 55 of 67
    ivan.rnn01ivan.rnn01 Posts: 1,822member
    we argued about absolutely nothing.



    Take perfectly locked iPhone 3G, go into iPod application, launch the shuffle play of all your songs. Quit iPod application by pressing the home button. The music continues to play. Small blue triangle displays in the top right corner. (2.2.1 5H11)



    Launch Google Earth application. iPhone streams pictures over 3G and plays perfectly music in background on 440MHz. Sure, it monitors incoming calls, mails, text messages... Not to say about typing Notes...



    So, all that appears to be yet another "real GPS"™ story for lemmings... And I personally have so many things yet to learn about my iPhone...
  • Reply 56 of 67
    tenobelltenobell Posts: 7,014member
    You haven't seen the numerous times its been said on this thread and many others that the iPhone does multi-task? The first party apps do run in the background, its only the third party apps that are not allowed to run in the background.



    Quote:
    Originally Posted by ivan.rnn01 View Post


    we argued about absolutely nothing.



  • Reply 57 of 67
    addaboxaddabox Posts: 12,660member
    If anyone's interested, I suggest taking a look at this thread over at Ars Technica, particularly the last ten pages or so.



    "Metasyntactic" is the guy who wrote the "Now Playing" app for the iPhone, and he has a lot of really interesting things to say about multi-tasking and the iPhone's architecture, from the trenches of developer land.



    His main point is that, as a developer, he is already fighting extremely constrained memory and processor availability to make his app work smoothly. He's done all kinds of optimizations to squeeze out every last bit of available performance.



    As he tells it, it would be disastrous, for him as a developer, if other apps were allowed to run in the background, since it would unpredictably steal resources his coding can't afford to give up (and to the inevitable "but Apple runs background processes" he notes that he can rely on Apple to do it right, whereas he has no such guarantee if it's left up to anyone who paid Apple their $99.)



    He also dings Android for exactly that-- he has apps he is developing that can be made crappy by another developer's decision, just because "multitasking" means you have no control over the resources your app will actually have on a given user's handset.



    Here's an extended quote to that effect:



    Quote:

    I've been working on trying to get scrolling to be smoother in NowPlaying. Originally 7% of the time spent scrolling was in my code. After lots of tweaking and optimizing, i was able to get that down to about 2.5% That helped somewhat. And yet, even with my code taking up almost *nothing*, things don't scroll as smoothly as i would like. I could squeeze some more (indeed, i see an easy 0.5% gain that could be made here). However, would there be much point?



    So what can i do at this point? One of the options i've discussed with other app authors is to sidestep the apple APIs entirely. Do all the rendering and management myself to avoid all the abstraction layers in UIKit. Unfortunately, if i go down that route it'll be a ton of work. And, most likely, i'll produce something that doesn't feel 'right'.



    Now... this is the situation *today*. Even after spending ages optimizing and squeezing every last drop out of the apple APIs, things are slow. Heck, you'll notice that even with apple's apps. I've got my mail list set up to display 200 messages with 5 lines per message. Even though it's mostly text, i cannot scroll through the entire thing smoothly. So when you propose that my app now need to contend with other apps on the system i get *very* wary. I don't have spare CPU cycles to give up. Even if the background app only uses 10% of the CPU then that will *directly* impact the users' experience with my app. It'll make my app slower and will make users frustrated and angry with me. Worse yet is that there's nothing i can do about it. All in all a shitty situation for users and developers alike.



    Note: this is *precisely* what i am dealing with Android *today*. It sucks horribly. I can't even scroll smoothly normally. When a background app is running, 'chunky' would be putting it generously. Not to mention how things go to hell and back if memory pressure causes me to swap.



    Apple has provided a system with capabilities that far exceed what is possible on other platforms. However, to do that, they've provided APIs that tax the system and leave little room for lots of other things to be happening. IMO, it was a smart tradeoff to make. It let them provide a phone with a level of responsiveness and interactivity that far exceeds other phones. These are the things that matter a lot to customers and it would not make sense for apple to compromise on those features just so that there would be a few more options for iPhone applications.






    Lots of informative posts in that vein, worth taking a look.
  • Reply 58 of 67
    melgrossmelgross Posts: 31,743member
    Quote:
    Originally Posted by addabox View Post


    If anyone's interested, I suggest taking a look at this thread over at Ars Technica, particularly the last ten pages or so.



    "Metasyntactic" is the guy who wrote the "Now Playing" app for the iPhone, and he has a lot of really interesting things to say about multi-tasking and the iPhone's architecture, from the trenches of developer land.



    His main point is that, as a developer, he is already fighting extremely constrained memory and processor availability to make his app work smoothly. He's done all kinds of optimizations to squeeze out every last bit of available performance.



    As he tells it, it would be disastrous, for him as a developer, if other apps were allowed to run in the background, since it would unpredictably steal resources his coding can't afford to give up (and to the inevitable "but Apple runs background processes" he notes that he can rely on Apple to do it right, whereas he has no such guarantee if it's left up to anyone who paid Apple their $99.)



    He also dings Android for exactly that-- he has apps he is developing that can be made crappy by another developer's decision, just because "multitasking" means you have no control over the resources your app will actually have on a given user's handset.



    Here's an extended quote to that effect:







    Lots of informative posts in that vein, worth taking a look.



    I agree with that guy.



    What I've read in several places is that Apple squeezed everything they could out of the hardware to do what they wanted to do, and there's nothing left. More powerful hardware will ease this. But we don't have that today.
  • Reply 59 of 67
    solipsismsolipsism Posts: 25,726member
    Quote:
    Originally Posted by melgross View Post


    I agree with that guy.



    What I've read in several places is that Apple squeezed everything they could out of the hardware to do what they wanted to do, and there's nothing left. More powerful hardware will ease this. But we don't have that today.



    Me, too. I'm glad this is coming from a developer and has the PoV of why Android is such a pain to work with. I'll have to bookmark that for reference later on.



    BTW, Now Playing, formerly Box Office, is one my the apps that I keep on first iPhone page and that I've had sense getting the iPhone 3G. I probably check that Shazam more than any other 3rd-party app I have, Dictionary.com's new app is getting used fairly often. Unfortunately, I have to use Flikster in lieu of Now Playing as it won't launch under the v3.0 Beta.



    Thanks for the link, Addabox.
  • Reply 60 of 67
    ivan.rnn01ivan.rnn01 Posts: 1,822member
    Quote:
    Originally Posted by TenoBell View Post


    You haven't seen the numerous times its been said on this thread and many others that the iPhone does multi-task? The first party apps do run in the background, its only the third party apps that are not allowed to run in the background.



    Oh, I've just forgot that completely. It's useless.
Sign In or Register to comment.