Apple's Code Level Support

  • Hi,

    who do I turn to, if Apple's Code Level Support is unwilling to help? I
    mean... dunno... maybe this guy on top left or whoever:

    <http://developer.apple.com/membership/index.html>

    Where do I go to?
    Who can I contact?
    Where do I get help (the coding type, he)?

    See, we have filed an incident late October 2004, sample code and all.
    We then received a rather strange, seemingly standardized reply a few
    days later, which read along the lines of "make sure your computer is
    turned on". From that day on we have received *nothing* but excuses and
    hold-the-lines. At first, it was the holidays, then it was the other
    holidays, then MWSF, then ist was -- wow -- "no news yet, sorry". And
    now they don't even answer anymore!

    We had a *very* serious problem with one of our applications, and we
    had to hold back a rather important release because of it. If the Code
    Level Support Team had just told us to "forget about it", dunno, maybe
    because our problem was so stupid that they had to laugh about it all
    day long or whatever, we would've forgotten about it and would've tried
    to move on. But since they said "two weeks" and then again "next week"
    and then "uh, just one more week" and then "hey we're currently at
    MacWorld see all these lillies", we numb idiots waited and waited and
    waited and waited and actually STILL do.

    <kicks himself in the back>

    Damn, I'm angry, can't you tell? The last mail I wrote I actually
    *begged* for help, as in "please, please, pretty please, help, please".
    I really did. And what did I get?

    Sorry, we don't have any news yet for you.

    (That's a quote.)

    Now you know how long that took 'em? Guess! My request was sent on
    February 1st. That overwhelmingly insightful and really... like...
    fabulous reply arrived on February 24th. Three weeks later. Three
    weeks! And since then? Nada. Needless to say, I'm stunned by that
    eagerness, blinded by that "direct one-on-one support", "hands-on
    assistance" and "helpful guidance" (again, quotes, see link at top).

    So, who do I turn to now? Six months since our initial filing, six
    months in which we had to deal with and tentatively hack around a buggy
    LayoutManager which just didn't redraw a TextView properly. Yeah, it
    sounds as simple a that, it may even sound embarrassing to some, but
    who cares? We just wasted six months!

    We *paid* for support, we *paid* for these incidents. We don't want our
    money back, we want help. Someone to check the code, point his finger
    and say: "That's it. You forgot to call xyz, smarty. And here's a typo,
    btw, now let me get back to debugging Tiger, would'ya?"

    If we'd live in the states, well, I'd probably just walk up Infinity
    Loop, but how on earth do I get in contact with somebody at Apple who
    obviously does not want to get contacted via e-mail, or who simply
    returns all support request with a one-liner? We got people buying Macs
    because of our product, it's not as if we're crying over a LoTR
    screensaver.

    Help.
    Help!
    He-eeelp!!!

    Steve?
    Avie?
    Help.
    Pleeeeeeeeeeeeeeeeeeease...

    This list is my very last resort before turning to <sic> online forums,
    so I hope somebody will listen and finally help or do anything like...
    dunno... I just don't know anymore, really.

    Help.
    Please. Help.

    Sorry, but we just don't know who else to turn to. Just don't know.
    And what does the press care, anyway?

    Greetz and again: Help! :(

    Marcus Fehn
    <fehn...>
    --
    creative director
    The Blue Technologies Group
    http://www.blue-tec.com/

    PS: A BCC of this mail goes to our contact over at Apple's Code Level
    Support team. It's not like we're not trying...
  • On Fri, 25 Mar 2005 20:49:19 +0100, Marcus Fehn <fehn...> wrote:
    > This list is my very last resort before turning to <sic> online forums,
    > so I hope somebody will listen and finally help or do anything like...
    > dunno... I just don't know anymore, really.
    >
    > Help.
    > Please. Help.

    Unfortunately you didn't ask a question, it just sounded like a rant.

    -- Finlay
  • A description of the problem would be a nice start.

    TR

    On Mar 25, 2005, at 12:49 PM, Marcus Fehn wrote:

    > Where do I get help (the coding type, he)?
  • On Mar 25, 2005, at 12:49 PM, Marcus Fehn wrote:

    > This list is my very last resort before turning to <sic> online
    > forums... [snip]

    Wouldn't online forums (or this list) be a reasonable way to perhaps
    get help *before* using an incident?  Not to mention you've apparently
    had six months to do your own research since that time...

    Chaz McGarvey
    http://www.brokenzipper.com
  • On 25. Mar 2005, at 21:24 Uhr, Finlay Dobbie wrote:

    > On Fri, 25 Mar 2005 20:49:19 +0100, Marcus Fehn <fehn...>
    > wrote:
    >> This list is my very last resort before turning to <sic> online
    >> forums,
    >> so I hope somebody will listen and finally help or do anything like...
    >> dunno... I just don't know anymore, really.
    >>
    >> Help.
    >> Please. Help.
    >
    > Unfortunately you didn't ask a question, it just sounded like a rant.

    Actually, he asked 'So, who do I turn to now?', which in my book is a
    legitimate question asked.
    (And is even Cocoa related.) Ranting he does, too, yes...

    But he really should've asked his original question, too. After six
    months there should've really been
    enough opportunity to have developed a fine-edged question.

    Kay
  • Am 27.03.2005 um 19:53 schrieb Kay Roepke:

    > But he really should've asked his original question, too. After six
    > months there should've really been
    > enough opportunity to have developed a fine-edged question.

    Actually, we asked a long time ago to no avail (and yes <sic>, we also
    asked folks in online forums). That's why we turned to Apple's CLS.

    For the record:
    <http://lists.apple.com/archives/cocoa-dev/2004/Oct/msg01148.html>

    Also have a look at this:
    <http://lists.apple.com/archives/cocoa-dev/2004/Nov/msg01369.html>

    This makes it even more frustrating, but hey...

    BTW: As a reply to my mail to this list, somebody at Apple contacted me
    and said that they'd try to investigate what happened. We'll see.
    Interestingly enough, our "contact" at CLS has not replied as of today,
    although I know he's also reading this list. ;)

    Greetz
    Marcus
  • On Mar 27, 2005, at 11:43 AM, Marcus Fehn wrote:

    >
    > Am 27.03.2005 um 19:53 schrieb Kay Roepke:
    >
    >> But he really should've asked his original question, too. After six
    >> months there should've really been
    >> enough opportunity to have developed a fine-edged question.
    >
    > Actually, we asked a long time ago to no avail (and yes <sic>, we also
    > asked folks in online forums). That's why we turned to Apple's CLS.
    >
    > For the record:
    > <http://lists.apple.com/archives/cocoa-dev/2004/Oct/msg01148.html>
    >
    > Also have a look at this:
    > <http://lists.apple.com/archives/cocoa-dev/2004/Nov/msg01369.html>
    >
    > This makes it even more frustrating, but hey...
    >
    > BTW: As a reply to my mail to this list, somebody at Apple contacted
    > me and said that they'd try to investigate what happened. We'll see.
    > Interestingly enough, our "contact" at CLS has not replied as of
    > today, although I know he's also reading this list. ;)
    >

    From the first link:

    > I've customized this textview and added a custom TextStorage and a
    > custom LayoutManager. The TextStorage *should* work as a normal one,
    > but in fact, it adds some counting functionality and does some
    > customization to the attributesAtIndex: function of NSTextStorage.
    > (But I don't think that this should be the problem). I call -
    > (void)edited:(unsigned)editedMask range:(NSRange)range
    > changeInLength:(int)delta; every time I do a change and everything
    > works fine except of this drawing issue.
    >

    We can assume you're calling beginEditing and endEditing as well as (or
    in place of) edited:range:changeInLength:, right?
  • >> I've customized this textview and added a custom TextStorage and a
    >> custom LayoutManager. The TextStorage *should* work as a normal one,
    >> but in fact, it adds some counting functionality and does some
    >> customization to the attributesAtIndex: function of NSTextStorage.
    >> (But I don't think that this should be the problem). I call -
    >> (void)edited:(unsigned)editedMask range:(NSRange)range
    >> changeInLength:(int)delta; every time I do a change and everything
    >> works fine except of this drawing issue.
    >>
    >
    > We can assume you're calling beginEditing and endEditing as well as
    > (or in place of) edited:range:changeInLength:, right?

    Why should I be doing so? These methodes just deal with interface
    update but my internal storage textStorage has no interface to update.
    So this would be some kind of waste of computing power. I'm just doing
    the necessary calls described in Apple's "How to override a
    NSTextStorage" documentation. This should be enough, shouldn't it?

    Max

    --
    Max Seelemann
    <seelemann...>
    --
    chairman, executive director
    The Blue Technologies Group
    http://www.blue-tec.com/
  • On Mar 28, 2005, at 11:02 AM, Max Seelemann wrote:

    >>> I've customized this textview and added a custom TextStorage and a
    >>> custom LayoutManager. The TextStorage *should* work as a normal one,
    >>> but in fact, it adds some counting functionality and does some
    >>> customization to the attributesAtIndex: function of NSTextStorage.
    >>> (But I don't think that this should be the problem). I call -
    >>> (void)edited:(unsigned)editedMask range:(NSRange)range
    >>> changeInLength:(int)delta; every time I do a change and everything
    >>> works fine except of this drawing issue.
    >>>
    >>
    >> We can assume you're calling beginEditing and endEditing as well as
    >> (or in place of) edited:range:changeInLength:, right?
    >
    > Why should I be doing so? These methodes just deal with interface
    > update but my internal storage textStorage has no interface to update.
    > So this would be some kind of waste of computing power. I'm just doing
    > the necessary calls described in Apple's "How to override a
    > NSTextStorage" documentation. This should be enough, shouldn't it?
    >

    *shrug*

    Can't hurt to try can it? Beats sitting around waiting for Apple I'd
    think.

    I probably should've asked whether or not you tried calling
    begin/endEditing instead of implying that you need to because I don't
    really know that you do (or if it's appropriate). I've never needed to
    subclass NSTextStorage, it was just the first thing that came to me and
    since you haven't said what you've already tried I figured wth.

    A shot in the dark is better than no shot.
  • On Mar 28, 2005, at 8:21 PM, Ryan Stevens wrote:

    > On Mar 28, 2005, at 11:02 AM, Max Seelemann wrote:
    >
    >>>> I've customized this textview and added a custom TextStorage and a
    >>>> custom LayoutManager. The TextStorage *should* work as a normal
    >>>> one, but in fact, it adds some counting functionality and does some
    >>>> customization to the attributesAtIndex: function of NSTextStorage.
    >>>> (But I don't think that this should be the problem). I call -
    >>>> (void)edited:(unsigned)editedMask range:(NSRange)range
    >>>> changeInLength:(int)delta; every time I do a change and everything
    >>>> works fine except of this drawing issue.
    >>>>
    >>>
    >>> We can assume you're calling beginEditing and endEditing as well as
    >>> (or in place of) edited:range:changeInLength:, right?
    >>
    >> Why should I be doing so? These methodes just deal with interface
    >> update but my internal storage textStorage has no interface to
    >> update. So this would be some kind of waste of computing power. I'm
    >> just doing the necessary calls described in Apple's "How to override
    >> a NSTextStorage" documentation. This should be enough, shouldn't it?
    >>
    >
    > *shrug*
    >
    > Can't hurt to try can it? Beats sitting around waiting for Apple I'd
    > think.
    >
    > I probably should've asked whether or not you tried calling
    > begin/endEditing instead of implying that you need to because I don't
    > really know that you do (or if it's appropriate). I've never needed to
    > subclass NSTextStorage, it was just the first thing that came to me
    > and since you haven't said what you've already tried I figured wth.

    An even better way to get developers to care is post a minimal example
    project that fails.  If someone was bored, they might poke at it and
    fix it, or they might already know what's wrong by looking at the
    implementation.  It would also be a good thing to file in the radar, so
    that they can easily reproduce it and determine the appropriate
    workaround or fix.

    -bob
  • > *shrug*
    >
    > Can't hurt to try can it? Beats sitting around waiting for Apple I'd
    > think.
    >
    > I probably should've asked whether or not you tried calling
    > begin/endEditing instead of implying that you need to because I don't
    > really know that you do (or if it's appropriate). I've never needed to
    > subclass NSTextStorage, it was just the first thing that came to me
    > and since you haven't said what you've already tried I figured wth.
    >
    > A shot in the dark is better than no shot.

    You're right. Thanks anyways ;)
  • > An even better way to get developers to care is post a minimal example
    > project that fails.  If someone was bored, they might poke at it and
    > fix it, or they might already know what's wrong by looking at the
    > implementation.  It would also be a good thing to file in the radar,
    > so that they can easily reproduce it and determine the appropriate
    > workaround or fix.

    The problem with this thing is that it's not just two lines of code or
    so. I've modified  whole bunch of Cocoa text classes making up a summ
    of over 1100 lines of code. I think it wouldn't be really nice to post
    this here. :-)
    So if there's someone interested, you can mail me and I'll send you the
    demo project I created for Apple...

    Max
  • Hello Max,

    I'm sure you have tried this already, but I'd be
    interested in what you found... I know that Ulysses
    has a split view so that you can view the same text in
    two text views. Presumably the text storages are
    shared by doing something like [[secondTextView
    layoutManager] replaceTextStorage:[firstTextView
    textStorage]]. If so, did you try removing this call,
    or did you try creating a test app with only your main
    text view and the associated line numbers view - ie.
    without a second text view that shares the text
    storage?

    The reason I ask is that I have come across the same
    problem myself. I also had a second text view that
    shared the text storage, and when I got rid of the
    above line, the  text redraw problem disappeared.
    Obviously, though, this doesn't help, as you want a
    second text view, but it may help narrow down the
    problem.

    Actually, I have encountered the same weird slow
    redrawing problem very occasionally in Xcode and even
    TextEdit. Even if you just set up a simple project
    with two text views that share the same text storage,
    fill one with a lot of text, and then mess around
    hitting enter or deleting a lot of newlines really
    quickly, you can *sort of* replicate the problem,
    except that it is nowhere near as slow as in the movie
    you posted or in my own problematic view. I had to
    completely rewrite my own view anyway, and the problem
    has *hopefully* gone away - and I still have no idea
    what in my old code is causing the weird slow redraw
    if the text storage is shared with another text view.

    Cheers,
    Keith


    __________________________________
    Do you Yahoo!?
    Make Yahoo! your home page
    http://www.yahoo.com/r/hs
  • Hi,

    it's really nice that some of you are trying to help this guy, but I
    think the real question here is if the behavior of Apples developer
    support is appropriate. I think not - we're talking about paid support
    here! If I pay for support I want my questions answered - even if
    they're might be stupid as hell.

    I think every one of us who does serious development knows these days
    where one of our customers begins to ask those stupid questions - we
    do answer them nevertheless, don't we? Or at least we help them to
    provide more meaningful information (instead of the glorious "it
    doesn't work") so that we can solve there problems.

    I always thought better of Apples developer support and hope that this
    incident is only an isolated case.

    Sascha
  • Hi Keith,

    Yes I did so. The demo application I sent to Apple was just equipped
    with one textview and all the stuff around. One of the movies showed
    this application. I think it's this one:
    <http://www.blue-tec.com/private/stuff/snapshot2.mov>. So after few
    further optimizations I found out something very interesting: I'm
    unable to reproduce the effects from the movie in the same application.
    Somehow after implementing these optimizations in the splitview with
    two textviews the old behaviour is back. So I can second this behaviour
    more or less.

    Rewriting is - for now - out of my range. I spent very much time on
    this thing and to get it work as it should was quite a bit of work. I'm
    still optimizing here and there and find new ways to make it faster but
    the problem stays.

    Your thought that two textviews using the same storage may cause
    problems is very interesting to me. I'm thinking about doing some kind
    of "forwarded" textstorage that consists of a central store but every
    textview has its own textstorage that gets its content from the central
    one. This might solve the problems. Sometimes I also need to connect a
    third textstorage and this would make it much easier I think...

    Thank you for your thoughts they're very appreciated.

    Max