Peut-on supposer que tous les utilisateurs ont aujourd'hui accès à Internet?


18

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.


4
Idéalement, la vérification de licence ne serait même pas un problème.
alternative

1
application de bureau? application mobile?
Marcie

@Marcie: Ah. Je voulais dire les applications de bureau. Question mise à jour.
gablin

7
J'ai peut-être accès à Internet, mais le pare-feu de ma société peut ne pas aimer que mon ordinateur parle à votre ordinateur :)
Tim Post

Veuillez noter que l'accès Web n'est pas un accès Internet.
MSalters

Réponses:


45

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!


2
note à soi-même: voter quand le compteur de votes se réinitialise
Inaimathi

Je ne pense pas que Gablin soit réellement intéressé par la conception d'un tel système, il utilise juste cela comme exemple (ce que mon université a fait aussi avec des services basés sur le Web comme JSTOR). Je suis cependant d'accord avec tout ce que vous proposez. L'accès à Internet n'est en effet pas omniprésent…
msanford

2
Comme vient de le dire msanford, je ne suis absolument pas intéressé par la conception d'un tel système. Et je suis entièrement d'accord avec votre réponse - avoir à VPN sur le campus de la maison juste pour pouvoir travailler à distance sur le laboratoire est une douleur dans le cul! Je ne peux pas comprendre ce qu'ils pensaient en concevant un tel système de validation, et je me suis dit "Peut-être qu'ils supposaient que tout le monde avait accès à Internet". D'où cette question. Encore une fois, bonne réponse. +1
gablin

26
  • 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.


7
+1 pour "créer un point de défaillance artificiel". C'est une très bonne façon de le décrire.
Mason Wheeler

16

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.


15

Non

vous ne pouvez pas supposer que tous les utilisateurs ont accès à Internet. Pour les statistiques de base, cliquez ici

À l'exception des applications Web, une application de bureau ne doit pas supposer dans mon esprit qu'elle dispose d'un accès Internet.


1
J'aime le fait que vous ayez inclus des statistiques dans votre réponse. Manière de donner des preuves tangibles.
lazyPower

1
sauf s'il s'agit d'un navigateur (même si cela change avec HTML5).
dan_waterworth

2
Oui, mais même un navigateur peut être utilisé hors ligne :) Il existe de nombreuses situations légitimes où cela pourrait être utilisé. Par exemple, dans .NET, un contrôle "navigateur Web" peut être incorporé dans des formulaires. Cela permet à une application de bureau de créer du HTML (par exemple des rapports) et de les afficher dans le formulaire intégré, le fichier HTML est soit passé en mémoire (chargé à partir d'une chaîne), soit lu à partir du disque dur.
Darknight

Même les applications Web peuvent être purement basées sur l'intranet et les utilisateurs n'ont peut-être aucun accès à Internet.
MartW

6

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.


4

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é).


2

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.


3
En fait, l'accès net au moment de l'installation est une mauvaise hypothèse. Il n'est pas toujours possible ou permis de connecter la machine sur laquelle le logiciel doit être exécuté à Internet, il est donc important de permettre à quelqu'un de télécharger les fichiers nécessaires avec une autre machine, puis de les transférer manuellement sur la machine où ils doivent être installés.
Chris Stratton

1

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.


1

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!


0

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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.