The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

What country is my software running in?

I (or rather, my software) need to know what country my Windows-based software is running in.

I don't want to call home. I don't want to ask the user.

I could check the locale, but a lot of people set their locale to be US for maximum compatibility with badly written software.

What else could I check? Hardware? MAC addresses etc.?

Before you ask, I have a multi-national client who is paying for software use on one site, and I suspect they're using it on other sites. I'm getting error reports from the suspect site (via the legit site - I am not allowed direct contact with the person having the problem), so if I can send them a program update to fix their problem, I can get their next error report to give me clandestine information about the computer it's running on.

It's sneaky, but they started it! And they can certainly afford the multi-site licence!
Universal Exports
Wednesday, October 18, 2006
 
 
Couldn't you get the timezone info?
Zach M.
Wednesday, October 18, 2006
 
 
I like the TimeZone information tactic - sneaky!

If you give them an update to fix the issue + return timezone information, are you sure you'll get more error reports later.

Better to provide a "diagnostic" build instead. Deploy it and then get confirmation on the location. You can then leverage the fixed version to encourage them to open their pursestrings.
Rishu73 Send private email
Wednesday, October 18, 2006
 
 
"I'm getting error reports from the suspect site (via the legit site - I am not allowed direct contact with the person having the problem), so if I can send them a program update to fix their problem, I can get their next error report to give me clandestine information about the computer it's running on."

There you have it ladies and gentlemen...

Looks like someone outsourced software development (offshore or not) and now the developer is adding code he himself describes as "clandestine".

Cute.
KC Send private email
Wednesday, October 18, 2006
 
 
KC, What makes you think it's not shrink wrap (style) software sold under a site licence?
IanH. Send private email
Wednesday, October 18, 2006
 
 
Timezone - good call, can't believe I missed that one.

KC - by what leap of logic do you work out that I outsourced any development? I wrote the program. Site B has a problem getting the program to work. I send them a new program to help debug the problem. The error message it will print helps me know that they're running the program at Site B. Unless you're talking about my behind, which IS cute. :)
Universal Exports
Wednesday, October 18, 2006
 
 
>> Looks like someone outsourced software development (offshore or not) and now the developer is adding code he himself describes as "clandestine".

Outsourcing ... is there any evil it cannot be blamed for?

*rolls-eyes*
David Aldridge Send private email
Wednesday, October 18, 2006
 
 
Under what scenario would the developer of a piece of software not be allowed to communicate directly with the customer who bought the software?

From what I have seen, this happens quite regularly when a "consulting" company subcontracts (offshore or not) all development to another company and the developers aren't allowed to communicate with the customers for a variety of reasons.

If I was wrong in this conclusion, I apologize.

But then where was I wrong about your situation?
KC Send private email
Wednesday, October 18, 2006
 
 
> Under what scenario would the developer of a piece of software not be allowed to communicate directly with the customer who bought the software?

I don't think the OP said this? As I understood it, he isn't allowed contact with the (site B) user. Contact with the legit customer is OK?

Show me a “large” company that lets the developers and end users meet face to face :-( The support reps, solution architects and tiers of management need to do something to justify their existence.
IanH. Send private email
Wednesday, October 18, 2006
 
 
KC - apology accepted. :)

I always talk to Site A, all tech support goes through a couple of people there (in their IT dept.). I don't talk to the actual users themselves (and I'm glad I don't have to).

I won't go into detail about why I think Site B is using the software, mainly because I don't want to warn potential pirates of other software about how they can give themselves away.
Universal Exports
Wednesday, October 18, 2006
 
 
"Show me a “large” company that lets the developers and end users meet face to face :-( The support reps, solution architects and tiers of management need to do something to justify their existence."

That's why there is tiered tech support.  Tier 1 are script-readers.  Tier 2 normally have some skills and basic problem solving skills.  Tier 3 are often QA team members or developers.
KC Send private email
Wednesday, October 18, 2006
 
 
KC, I was thinking more on the development side, rather than support.
IanH. Send private email
Wednesday, October 18, 2006
 
 
It's not really relevant in this case, but this is actually quite common when developing classified software; individual developers and project managers are not allowed to see the big picture.

Within the civilian world, I can imagine a large company like General Motors doing something like this to prevent a competitor from figuring out GM's short term business goals. After all, nobody would bat an eye at GM setting up a web site, but combine the web site with a special type of database and Universal Export's custom, unique middleware and hmm...  what could GM be doing with that?
TheDavid
Wednesday, October 18, 2006
 
 
"actually quite common when developing classified software"

Yep, I've been there, but what he's suggesting would result in a world of pain...
KC Send private email
Wednesday, October 18, 2006
 
 
If you're really determined, you can have your software do a traceroute to  a host known to exist, and match the returned entries against a database of IP addresses and locales. Take the first one that's routable. It can't be very easy to spoof that.
Rowland
Thursday, October 19, 2006
 
 
Rowland,

That won't work if there's a firewall - if the program could call out at all, it could call home, and the OP says it can't call home.

The software may not be the sort that needs internet access, and it would alert the "bad guys."
Jacko
Thursday, October 19, 2006
 
 
KC, you're completely missing the point, if I've read the OPs many posts on this thread correctly.

The OP thinks his software, which he licensed to Company X for use at site A only, has been pirated by the company and is now being used both at site A and at site B.  The OP doesn't want to outright accused Company X of stealing his software and is looking for some mechanism of determining whether the error messages that Company X is saying are coming from site A are really coming from there or are coming from site B.

If the OP determines the errors are coming from site B, he can then go back to the company and tell them they have to buy another license for his software, or he can drop a nuclear bomb on their heads, or do something in between.

This doesn't have anything to do with whether or not Company X is allowing the OP to talk with their people or not.

Again, if I'm interpreting the OP correctly.  OP, am I correct here?
Karl Perry Send private email
Friday, October 20, 2006
 
 
Karl, you're correct.
Universal Exports
Monday, October 23, 2006
 
 
You have to be careful on your license agreement. I noticed a site license request come in one day & the name of the server happened to be 'xxx_Citrix'. Sure enough the company was sharing the single site license world-wide to sister companies and business partners etc. Defining a site gets hard if the site is scattered or part of a large WAN.

I would still grab locale info; if you think site B is outside of the US, then (as a non-american) they will probably be using local date format, A4 paper etc. Some Europeans stick with US number formats (comma 1000's seperators and decimal points) to avoid breaking software, but outside of the US most people use local settings for everything else, in particular currency & metric. I have noticed these days that most software is slowly losing the American centric settings that used to personally irritate me a lot.

You can also check which domain they are logged into; it might show a different sub-domain from site A, and even things like default printer location can be a give away.
Grant B Send private email
Sunday, October 29, 2006
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz