Big news today was about a proposed merger between the two main Satellite Radio providers who claim they need it to survive, and I just started thinking about their situation and wondered, why don't they have channels with advertising?
Simple idea, and it goes to a business model that works--cable television.
There are pay channels and there are channels that offer advertising.
Simple.
But these people think they are smart and believe that the benefit they offer customers is NO advertising, so they'd rather die than consider that the benefit they offer customers is the ability to get what they want anywhere.
If they offer channels that have ads they can have people listening who have basic subscriptions, who are using them because they can get a digital signal anywhere in the country (thinking about the US).
So yeah, why can't they just listen to the radio then?
Because hey, I've traveled across this country several times and you have to keep switching stations. Duh.
Millions of dollars at stake. The survival of companies and lots of people's jobs on the line and thinking in the box--following a business model that is currently working for the cable industry--doesn't occur to people you'd think would want to win.
But problem solving can be about obvious, when obvious is invisible to people who have not been trained how to think.
And in the real world, entire countries can die for stupid reasons because people were too "smart" to figure out simple solutions, so a couple of dinky companies?
Barely worth talking about, and believe me, at the rate they are going, they both will die---with the answer to their problems staring them in the face.
James Harris
Blog ran by me, James Harris. And I like to write. Where ideas rule. Mystery matters. Control must have its limits.
Translate
Tuesday, February 20, 2007
Thursday, February 15, 2007
More on copy protection
I made a post a little while back about a simple way to do copy protection that has minimal impact on end users, but that was a long post that might be confusing, so I thought I'd do a short post that talks about it succinctly, with another aspect to the idea that occurred to me.
The idea is, when a person makes a copy say of a bought DVD, their copy is encrypted with a code generated by their personal machine, so that their machine can read the copy, but no other person's machine can--unless given a key which can be passed by a flash drive.
Additionally I realized that on their home network their personal machine can automatically pass the key so that they can read their own copies on their own network without using a flash drive.
So what's the point of the idea then?
Well, their own machine is encrypting--not the manufacturer of the DVD--so the end user can make as many copies as they want for personal use, but no one else can use those copies, without the key, but even with the key, the copies are carrying a lot of information about the person who made the copies and I think that with a two step process you would end a lot of casual copying, and when people know they are putting their own stamp on copies, you probably would shut down even more.
I like the idea as with it, I could make as many personal copies I want without worrying about dumb copy protection blocking me from copying DVD's I purchased, and wouldn't get bugged by people asking me to make them copies when they'd know that they'd need a flash drive as well, and there would be this digital fingerprint saying I made the copy.
It's a no-brainer good idea, but hey, I'm just some guy on a blog and there are people letting millions of dollars go out the door because they don't listen to people like me, so here is where it might stay.
But it just goes to show you, those people aren't as smart as they think they are.
And oh yeah, the idea is free. It's open source as in I am not asking for money for it. I'm just tossing it out there to the world because I know the world better than you do.
This idea may just sit here on my sites indefinitely because at the end of the day, people like throwing money away versus thinking outside the box--for real--versus claiming they do.
James Harris
The idea is, when a person makes a copy say of a bought DVD, their copy is encrypted with a code generated by their personal machine, so that their machine can read the copy, but no other person's machine can--unless given a key which can be passed by a flash drive.
Additionally I realized that on their home network their personal machine can automatically pass the key so that they can read their own copies on their own network without using a flash drive.
So what's the point of the idea then?
Well, their own machine is encrypting--not the manufacturer of the DVD--so the end user can make as many copies as they want for personal use, but no one else can use those copies, without the key, but even with the key, the copies are carrying a lot of information about the person who made the copies and I think that with a two step process you would end a lot of casual copying, and when people know they are putting their own stamp on copies, you probably would shut down even more.
I like the idea as with it, I could make as many personal copies I want without worrying about dumb copy protection blocking me from copying DVD's I purchased, and wouldn't get bugged by people asking me to make them copies when they'd know that they'd need a flash drive as well, and there would be this digital fingerprint saying I made the copy.
It's a no-brainer good idea, but hey, I'm just some guy on a blog and there are people letting millions of dollars go out the door because they don't listen to people like me, so here is where it might stay.
But it just goes to show you, those people aren't as smart as they think they are.
And oh yeah, the idea is free. It's open source as in I am not asking for money for it. I'm just tossing it out there to the world because I know the world better than you do.
This idea may just sit here on my sites indefinitely because at the end of the day, people like throwing money away versus thinking outside the box--for real--versus claiming they do.
James Harris
Labels:
copy protection
Saturday, February 10, 2007
Comments on Intellisense(TM)
Back when I was a professional programmer I used Microsoft Visual Studio for C and C++ programming working for one corporation and when I moved on to another and ended up also moving to Java programming I just assumed I'd be using an IDE and did so for a while with the Java IDE's that were available at my company, but found the experience to be not as smooth as with Visual Studio. Soon other developers told me that no one was really using the IDE's with Java and that most just used the command line, and I did so and found things were a lot easier and I got a lot more done.
But that was a while back and I know that today Eclipse and NetBeans offer very different experiences, so if I were still professionally programming, who knows? Maybe I'd be off the command line and happily again using an IDE like at the start of my professional career as a developer.
However, there is one feature that always annoyed me--auto-completion--and I have to wonder if there are others like me, who would also either find ways to turn it off, or just kind of grit your teeth when the IDE starts suggesting methods. Way back there were times I'd type really fast to try and beat the thing!
In some ways my Class Viewer program which is a highly specialized app deliberately is a throwback to just using the command line and using something other than auto-completion for quick reference.
In any event, I'm looking for comments on auto-completion, wondering if others find it kind of annoying, and also wondering more generally about how quick reference is done by other developers.
One of my personal favorite things about Class Viewer is that if I'm having trouble remembering a particular method but know what its argument is or what it returns I can just type that into a search field and get every method that has even a piece of that string in it, which is why the screen shot for project shows finding all methods in the String class that have "char" in them.
So again, I'm also wondering how developers solve that problem as I don't see how auto-completion does it, but I'm biased of course towards my own solution.
If I get no comments at all, don't worry, it won't hurt my feelings. This blog doesn't get a lot of traffic.
James Harris
Monday, January 29, 2007
Digital media: Copy protection
For various reasons I was musing earlier today about how you might stop casual copying of DVD's between friends, or at least make it more difficult and I came up with a simple idea.
The idea would be to encrypt copies made from the end user's machine, while leaving the originally manufactured DVD--from here on out the OEM DVD--with minimal changes, where the end user could use a flash drive to give the code de-crypting their copy to their other entertainment devices.
The encryption would come from the serial number of their video card, the serial number of their connected monitor, and the total operating time the two are connected together, so the code would change continually with time, so no two copies would have the same code.
When playing an OEM DVD the system would behave like normal, but if a copy is made, the copy would be an encrypted one where the users own machine would automatically decrypt its own copies, but for anyone else to decrypt, a flash drive would need to be used carrying the decryption code.
The decryption would occur fully at the monitor, with possibly partial decryption at the video card, so one problem with this idea is it needs smarter monitors.
Using the flash drive to give the code would be a one-time operation on the user's own equipment meaning that they would only have to give the decryption code once, for their own copies, even though each encrypted disk would vary with its personal encryption based on the time stamp.
So end users could still give copies to friends--with a flash drive and the code--so what's the point?
The copies would be encrypted with the copying user's video card and monitor serial numbers along with a time and date stamp. And now it's a two step process: DVD and flash drive.
If an open standard were used industry wide between video card manufacturers, monitor manufacturers, and DVD manufacturers, there would be a closed loop blocking normal users from breaking the system--they'd have to go to bootleggers versus their friends.
They could still make personal copies, but would know that if those copies were given away, the information about who made the copy would be encrypted with them.
Manufacturers would stamp their own DVD's with a manufacturer's code, which of course could be copied by bootleggers, but it'd be a deliberate action with no denial about the purpose. DVD's not coded with a manufacturer's code wouldn't play on industry standard systems.
DVD copies could be copied again, with a continual coding stamp, or no more copies might be made from friend copies.
The idea here is open source in that I don't care who uses it for what purposes and it is completely open as I don't care about commercial uses. But hey, it's just something I thought up this morning while thinking about people casually handing out copies of DVD's.
It could be used with other digital media if it's a good idea. I have other ideas along this line that could be used to completely close the loop which involve the continually changing code found by the operating connection time between devices.
Are these ideas useful? I don't know. They seem simple enough, but there'd have to be a lot of coordination between manufacturers of the various devices, while end users wouldn't see any change if they didn't copy, and minimal changes if they did--once USB ports are standard on entertainment devices so using the flash card isn't a big deal.
And just knowing that you're putting your stamp on your copies could end quite a bit of casual copying and handing off to friends or just about anybody.
Sure there would be people who would just go for the OEM DVD's and make copies from those, but those are the dedicated people anyway.
James Harris
The idea would be to encrypt copies made from the end user's machine, while leaving the originally manufactured DVD--from here on out the OEM DVD--with minimal changes, where the end user could use a flash drive to give the code de-crypting their copy to their other entertainment devices.
The encryption would come from the serial number of their video card, the serial number of their connected monitor, and the total operating time the two are connected together, so the code would change continually with time, so no two copies would have the same code.
When playing an OEM DVD the system would behave like normal, but if a copy is made, the copy would be an encrypted one where the users own machine would automatically decrypt its own copies, but for anyone else to decrypt, a flash drive would need to be used carrying the decryption code.
The decryption would occur fully at the monitor, with possibly partial decryption at the video card, so one problem with this idea is it needs smarter monitors.
Using the flash drive to give the code would be a one-time operation on the user's own equipment meaning that they would only have to give the decryption code once, for their own copies, even though each encrypted disk would vary with its personal encryption based on the time stamp.
So end users could still give copies to friends--with a flash drive and the code--so what's the point?
The copies would be encrypted with the copying user's video card and monitor serial numbers along with a time and date stamp. And now it's a two step process: DVD and flash drive.
If an open standard were used industry wide between video card manufacturers, monitor manufacturers, and DVD manufacturers, there would be a closed loop blocking normal users from breaking the system--they'd have to go to bootleggers versus their friends.
They could still make personal copies, but would know that if those copies were given away, the information about who made the copy would be encrypted with them.
Manufacturers would stamp their own DVD's with a manufacturer's code, which of course could be copied by bootleggers, but it'd be a deliberate action with no denial about the purpose. DVD's not coded with a manufacturer's code wouldn't play on industry standard systems.
DVD copies could be copied again, with a continual coding stamp, or no more copies might be made from friend copies.
The idea here is open source in that I don't care who uses it for what purposes and it is completely open as I don't care about commercial uses. But hey, it's just something I thought up this morning while thinking about people casually handing out copies of DVD's.
It could be used with other digital media if it's a good idea. I have other ideas along this line that could be used to completely close the loop which involve the continually changing code found by the operating connection time between devices.
Are these ideas useful? I don't know. They seem simple enough, but there'd have to be a lot of coordination between manufacturers of the various devices, while end users wouldn't see any change if they didn't copy, and minimal changes if they did--once USB ports are standard on entertainment devices so using the flash card isn't a big deal.
And just knowing that you're putting your stamp on your copies could end quite a bit of casual copying and handing off to friends or just about anybody.
Sure there would be people who would just go for the OEM DVD's and make copies from those, but those are the dedicated people anyway.
James Harris
Labels:
copy protection
Thursday, November 09, 2006
Searching inherited methods
A neat feature of Class Viewer which deserves its own post is the way to search through inherited methods as to do that you have to type a search string into the "Search String" box, and hit Enter.
So why did I separate out searchers from inherited methods in that way, as the other ways to search methods like double-clicking on text in the left hand window will NOT pull up inherited methods?
Well back when I was developing the program I just thought at times way too many methods would get pulled in from superclasses, and figured, hey, I should stop that!
So I did. But I knew you needed at times to look for inherited ones so I connected that to the search string box, but I ended up with a bonus.
For instance typing in "Panel" in the Class Name area, I pull up java.awt.Panel, and notice that its superclass is java.awt.Container.
It turns out the superclass has a method called remove(Component). And I'm copying from the program so of course that means the method takes a Component as an argument.
Well, if you do a search on "remove" in the "Search String" box, you get nothing but methods from the superclass since Panel doesn't have any, and here's an example:
void Container.remove(Component)
And you can see that it has "Container" on the front of it, so you see what its inherited from which I thought was just this annoying little thing which was a problem with how I was pulling off package names, but here's another method from that list:
synchronized void Component.remove(MenuComponent)
And, of course, the superclass of Container is Component and you have a method inherited down the line from it, and because of that extra that I first thought was annoying, you know where it came from!
So I decided not to figure out a way to clear it out.
And then the neat trick of searching on inherited methods is that because of the way I clear out package names, you get left-over telling you where that method is coming from, as in which superclass, and now I like it, so it stays!
James Harris
So why did I separate out searchers from inherited methods in that way, as the other ways to search methods like double-clicking on text in the left hand window will NOT pull up inherited methods?
Well back when I was developing the program I just thought at times way too many methods would get pulled in from superclasses, and figured, hey, I should stop that!
So I did. But I knew you needed at times to look for inherited ones so I connected that to the search string box, but I ended up with a bonus.
For instance typing in "Panel" in the Class Name area, I pull up java.awt.Panel, and notice that its superclass is java.awt.Container.
It turns out the superclass has a method called remove(Component). And I'm copying from the program so of course that means the method takes a Component as an argument.
Well, if you do a search on "remove" in the "Search String" box, you get nothing but methods from the superclass since Panel doesn't have any, and here's an example:
void Container.remove(Component)
And you can see that it has "Container" on the front of it, so you see what its inherited from which I thought was just this annoying little thing which was a problem with how I was pulling off package names, but here's another method from that list:
synchronized void Component.remove(MenuComponent)
And, of course, the superclass of Container is Component and you have a method inherited down the line from it, and because of that extra that I first thought was annoying, you know where it came from!
So I decided not to figure out a way to clear it out.
And then the neat trick of searching on inherited methods is that because of the way I clear out package names, you get left-over telling you where that method is coming from, as in which superclass, and now I like it, so it stays!
James Harris
Subscribe to:
Posts (Atom)