Thanks for clearing things up! :)

On Wed, Oct 22, 2008 at 10:40 AM, hackbod <[EMAIL PROTECTED]> wrote:
>
> On Oct 22, 12:15 am, tauntz <[EMAIL PROTECTED]> wrote:
>> I think I have a wrong understanding of SYSTEM and APPLICATIONS then :/
>> I always thought that (for example) the Contacts thingie is an
>> application and NOT a system component. But you are saying that these
>> methods and classes are NOT for application use.. but the Contacts
>> thingie uses them ergo the Contacts thingie is a system component and
>> not an Application that is equal to all other apps that everybody else
>> can create.
>>
>> One of Androids main promises is that "Any app on the mobile device
>> can be replaced or extended -- even core components such as the dialer
>> or home." Now word-for-word this holds true - I can replace the
>> Contacts system component with a self-made Contacts application
>> (AFAIK.. correct me if I'm wrong)  but my replacement will always be
>> inferior to the Google created one because it has no access to the
>> various APIs that the Google created Contacts thingie has.
>
> I already explained this in the rest of my previous reply.  Yes, many
> of the current system applications use private APIs, because they have
> been under development for a long time (well before the first SDK
> release) in parallel with the platform, and it hasn't been possible to
> keep them up on the official APIs as the platform was being cleaned
> up.  (Not to mention that we didn't even have a way to link against an
> SDK that didn't contain private symbols until the 1.0 release, so it
> is very easy to accidentally use private APIs.)
>
> There should be nothing the regular built-in apps do that you can't do
> in your own apps, except for some carefully considered scenarios, such
> as dialing an emergency phone number or directly installing an app
> without user intervention.  If you find something an app is doing that
> you truly can't do with the SDK (not that it is just using some
> convenience class that is part of the system that isn't ready for
> public use), then please file a bug about it.  Or hell, submit a patch
> to make that feature available with a good SDK API.
>
>> Sure, I understand why you don't give the same permissions to third
>> party apps like (for example) the Google marketplace has. (OK, in a
>> perfect world it SHOULD be the users choice what apps he wants to
>> install on his own phone.. and phone/OS manufacturers should not
>> restrict his/her choice based on what they think the user wants)
>
> It IS the choice of the user about what apps he wants to install.  If
> you don't want to use the market, you can install them yourself with a
> web browser or something else that invokes the system installer.  This
> is a non-issue.
>
>> But
>> currently you are using some harmless private APIs in your own
>> applications that ship with the device and denying access to the same
>> functionality/integration to other apps.
>>
>> Don't get me wrong, I don't want to start a flamewar or anything like
>> that. It's just that I want the same integration with the system as
>> Google created applications have (to a reasonable extent of course..
>> I'm not talking about functionality that can compromise security etc).
>> I hope that's not too much to ask.
>
> Any APIs that have been hidden in the SDK have been explicitly done so
> because they will not be maintained in future releases.  For the one
> specific instance I think you have brought up -- groups in contacts --
> I am pretty sure this was a very last-minute addition, so we were able
> to get the feature in to the 1.0 product but not in a way that could
> be supported as part of the SDK.  Doing a product presents these kinds
> of challenges: do we do the feature but not make it available in the
> SDK, or just not do the feature at all?  I think it was much better to
> have this feature for the product than not.  There is nothing
> malicious about this, it's just a simple fact that making something
> that can be supported forever is a public API is usually a lot more
> effort than just implementing the feature for internal use.
>
>> > Again, if you are doing third party app development, you really need
>> > to be developing against the SDK.  That is what it is there for.
>> Finally.. someone from Google saying that not all apps are created
>> equal. There are Google apps that can do whatever they want to do and
>> then there are third party apps that can only do what Google allows
>> them to do. And that's perfectly fine.. that's exactly how all other
>> phone OSs work. It's just that some people have currently the wrong
>> impression that you can create applications on Android that can do
>> *anything* and if they see an application bundled with the system,
>> they have the impression that they can have an app with the exact same
>> functionality/system integration.
>
> We have NEVER said an application can do anything.  I have posted
> numerous times to this list that applications can't directly install
> applications without going through the system UI, as well as not being
> able to place emergency calls, not being able to replace the in-call
> screen or lock screen, etc.  The "apps are created equal" is a
> fundamental design philosophy of the platform, when you can see
> directly reflected in a lot of the ways the system is designed and how
> UI flow works.  We don't live in a perfect world, however, and for
> practical reasons there are some limits on what we can do right now
> today for 1.0.  We haven't tried to hide these limitations, are not
> doing this out of some self-centered desire to keep third party
> applications down, and will continue to work to address those
> limitations as we go forward.
>
>> It's good that you are trying to improve this and I'll hope that
>> sometime in the future all apps will truly be equal (:
>
> This will probably never be completely the case, because again this is
> not a perfect world.  There will always be new features worked on,
> which are desired for a particular release but not yet ready to be
> supported as part of the SDK.  That's just the way things are.
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to