Comme Internet est à peu près omniprésent, pouvons-nous, en tant que développeurs, supposer que tous les utilisateurs ont accès à Internet? Maintenant, je ne veux pas dire que le code est écrit de telle manière que s'il n'y a pas de connexion, le programme entier se bloque par manque de code d'erreur. Ce que je veux dire, c'est que les programmes peuvent être développés aujourd'hui en supposant que ses utilisateurs auront toujours accès à Internet?
Vous pouvez vous demander "Que gagnons-nous en supposant cela?" La raison pour laquelle je pose la question est que chez uni, nous utilisons un certain nombre de programmes qui nécessitent un accès Internet en raison de la façon dont il vérifie les licences (il vérifie votre adresse IP - si ce n'est pas une adresse sur le campus, alors vous êtes pas autorisé à l'utiliser). Notez que le programme lui-même devrait fonctionner correctement sans accès à Internet; il est juste nécessaire pour la vérification des licences.
EDIT: Je parle ici des applications de bureau.
EDIT2: De certaines des réponses, j'ai le sentiment d'être accusé d'exploiter les utilisateurs de manière contraire à l'éthique. Je n'approuve pas ce que j'ai décrit dans cette question - je pose la question parce que les développeurs de certains des programmes que nous utilisons à uni l'ont fait. Personnellement, je pense que faire cela est tout simplement stupide et faux.
la source
Réponses:
Mauvaise idée, pour trois raisons. Tout d'abord, même si tout le monde a accès à Internet ces jours-ci, ce qui est fondamentalement vrai, ils ne l'ont pas toujours disponible à tout moment. Ma machine principale est un ordinateur portable et elle est connectée la plupart du temps, mais pas lorsque je suis dans le bus, par exemple.
Deuxièmement, et en quelque sorte lié au premier, est votre méthode de vérification. Que se passe-t-il si un étudiant obtient une copie légitime du programme, la met sur son ordinateur portable et va ensuite étudier avec un ami qui vit hors campus? Vous venez d'introduire une sacrée condition de faux positif dans votre vérification de licence.
Troisièmement, il y a un problème éthique avec la vérification de licence en premier lieu. Si une personne choisit de placer un programme sur son ordinateur, vous n'avez pas le droit de faire en sorte que son ordinateur le considère comme invalide. Dans tout autre contexte qui s'appelle le piratage et cela pourrait vous faire tomber dans toutes sortes d'eau chaude, et ce n'est pas parce que nos lois sur le droit d'auteur ont été détournées par les titulaires de droits d'auteur pour faire une exception légale dans ce cas particulier pour ce scénario, .
L'application de la loi est le travail des forces de l'ordre, et les particuliers sont fortement découragés de prendre en main l'application de la loi (vigilance) car ils ont tendance à tout faire mal. (Regardez simplement le rootkit Sony!)
Votre meilleur plan d'action serait de supposer que l'utilisateur dispose d'une connexion Internet disponible pour les fonctionnalités qui en ont réellement besoin, mais ne l'exige pas pour les fonctionnalités qui peuvent s'en passer, et ne l'exige certainement pas simplement pour convaincre le programme que ce n'est pas une copie illégitime!
la source
Tous les utilisateurs ne disposent pas d'un accès Internet utilisable. Par exemple, en dehors des petites et moyennes villes (et de leurs banlieues) et des villes universitaires, les États-Unis n'ont presque pas d'infrastructure à large bande. Les utilisateurs des petites villes et des zones rurales sont généralement par satellite ou par ligne commutée (et leurs lignes téléphoniques ne sont pas toujours les meilleures, donc la numérotation est souvent inférieure à 50k / s).
Les utilisateurs disposant d'un bon accès Internet à la maison / au bureau opèrent souvent dans d'autres endroits: parcs, avions, cafés, salles de conférence, etc. qui manquent généralement d'un accès Internet fiable.
De nombreux utilisateurs investissent dans une alimentation de secours pour une raison: ils ne subissent donc pas de temps d'arrêt pendant les pannes. Si vous paralyse votre application lorsque Internet tombe en panne, vous venez de leur voler cet investissement.
Les connexions Internet échouent, les FAI (ou les lieux de travail ou les universités) bloquent le trafic à leur gré, les utilisateurs à domicile configurent mal leur NAT ... il est tout simplement stupide de créer un point de défaillance artificiel (c'est-à-dire pas une conséquence technique de la construction de la chose) dans votre logiciel.
Les raisons ci-dessus sont à elles seules plus que suffisantes pour ne pas utiliser le modèle DRM "call home"; mais même si aucun d'entre eux n'était vrai, je déconseillerais toujours cela car, comme Mason a déjà essayé de le souligner, il est éthiquement mauvais d'exploiter vos utilisateurs de cette manière.
Vous ne pouvez pas divulguer des informations sur vos utilisateurs uniquement pour votre tranquillité d'esprit. Vous n'avez aucun droit de surveiller quand et où ils utilisent votre logiciel. Faire ce genre de chose viole la confiance de vos utilisateurs.
la source
Non!
Tous les programmes doivent considérer l'accès à Internet comme le meilleur des cas, avec un mode de repli lorsque l'ordinateur n'est pas connecté.
Avec autant d'ordinateurs portables et la nature de la plupart des réseaux sans fil publics étant toujours payants, la plupart des utilisateurs d'ordinateurs portables connaissent régulièrement des conditions dans lesquelles ils doivent utiliser leur ordinateur et leurs programmes sans connexion Internet. .
Comme d'autres réponses ont également été publiées, il est sûr de supposer que l'ordinateur sera connecté à un moment donné dans le futur. De nombreuses applications de type synchronisation dotées d'un mode hors ligne fonctionnent de cette façon. Mais, par courtoisie envers les utilisateurs, n'opérez pas de cette façon à moins qu'il ne s'agisse d'un service à l'utilisateur . Je ne pense pas que la vérification des licences entre dans cette catégorie.
la source
Non
À l'exception des applications Web, une application de bureau ne doit pas supposer dans mon esprit qu'elle dispose d'un accès Internet.
la source
La version courte est NON, vous ne pouvez pas supposer que tous les utilisateurs ont accès à Internet. Comme d'autres l'ont mentionné, un grand nombre de personnes ont un accès Internet limité ou inexistant à la maison.
Votre système de licence devrait être en mesure de gérer le cas où l'ordinateur sur lequel le logiciel fonctionnera n'aura jamais accès à Internet. Il n'est pas si rare que les entreprises aient des réseaux isolés d'Internet (en particulier lorsqu'ils traitent de problèmes de sécurité). Cela est particulièrement vrai si vous souhaitez pouvoir vendre votre logiciel à une agence gouvernementale. L'autre côté est comment allez-vous gérer les mises à jour? Si vous souhaitez vendre à des sociétés / gouvernements, vous devrez prendre en charge le déploiement des mises à jour par l'entreprise.
la source
Oui, dans le sens où la plupart des gens qui travaillent avec des ordinateurs peuvent accéder à une connexion Internet (il est donc probablement correct de distribuer des corrections de bogues via un gestionnaire de paquets ou FTP ou similaire).
Non, dans la mesure où la plupart des gens n'ont pas nécessairement un accès cohérent, fiable et performant à Internet toute la journée (donc supposer que chacun de vos utilisateurs peut réduire de 20 Mo / s de manière cohérente est probablement une mauvaise idée. Les gens utilisent également périodiquement des bus et les avions où vous êtes pratiquement assuré d'un manque de connectivité).
la source
Je pense qu'il est raisonnable de supposer que tous les utilisateurs auront accès à Internet la plupart du temps , ou du moins au moment de l'installation. Cependant, si j'emmène mon ordinateur portable avec moi dans un avion, dans une cabane dans les bois ou sur un bateau en mer, je m'attendrais à ce que tout ce qui ne nécessite évidemment pas d'accès à Internet fonctionne correctement.
la source
La réponse est bien sûr, cela dépend. Si vous créez des logiciels pour un étage d'usine, il y a de fortes chances qu'ils n'aient pas accès à Internet. Pour les applications grand public, elles le seront très probablement.
la source
Il peut ne pas être souhaitable d'avoir une connexion Internet, comme dans le cas des utilisateurs qui utilisent mon système de gestion Pawnshop (une application de bureau basée sur RDBMS). Ils ne font tout simplement pas confiance à Internet connecté au même ordinateur qui contient toutes les informations personnelles de leurs clients et les transactions sur prêteurs sur gages. S'ils veulent accéder au Web, ils utilisent un ordinateur séparé qui ne contient aucune information personnelle!
la source
Le serveur de licences flottant est un concept similaire. J'ai utilisé un compilateur sur AIX d'IBM, qui vérifiait constamment par rapport à un serveur de licences. C'était donc lent et nous avons finalement porté le code sur gcc.
C'est fragile et ennuyeux. Je pense que cela n'a de sens que pour les logiciels très chers proposés par des entreprises quasi monopolistiques.
la source