Dear Google,
Don't you think it's about time to make functional Picasa clients for Linux and Android?
Currently, I am relying on a random 3rd-party app maker to upload video from my Google Nexus S to my Google / Picasa Web account - it's a little discomforting.
Also, video transcoding for Picasa Web albums is really straight forward to do using ffmpeg from the command-line, and it will even do VP8 :) ... but still, I can only upload videos from Picasa using Windows or Mac. If you're worried about software patents, then just use a plug-in architecture with dlopen(). That way, users can supply "their own" versions of popular multimedia encoders / decoders. For closed-source platforms, just write a plug-in that uses the codecs available on that system (e.g. windows, os x).
Showing posts with label software patents. Show all posts
Showing posts with label software patents. Show all posts
20110213
20100302
Apple is Suing HTC for Software Patent Violations
Recently when I wrote a small rant about software patents, I guess I should have also given a thumbs up to HTC, the company that manufactured the Nexus One and many other Android handsets.
On the other hand, it seems that Apple is not too pleased with HTC at all.
Apple has essentially patented a device driver (i.e. software). Read the first 30 bytes from patent #7479949, and you will quickly realize that it is moot. Here are those 30 bytes for your convenience:
"A computer implemented method" ...
Although many people think that Apple has a hardware patent on multi-touch / capacitive touch screens, they do not, just as I suspected (at least according to patent #7479949). I also suspect that a 3rd party company was responsible for designing and fabricating "Apple's" multi-touch screens, although Apple was certainly not the first to demonstrate multi-touch.
Naturally, it is in the best interests of that 3rd party company (whoever they are) to sell more of their touch screens but that is something which Apple has wholly tried to prevent (via software patents).
For the (approximate) 6.4 billion people in the world who do not live in the US - fear not - you have a legal right to buy a multi-touch enabled phone from a company other than Apple.
For those who live in the US... unfortunately, you might have to edit a few lines of code to get multi-touch in a "legal" way. If Apple really feels like it, they might be able to bar HTC from enabling multi-touch support in Android for all devices sold in the US, although seeing as how it is a free OS, there is little preventing consumers from enabling it themselves. Apple will also undoubtedly try and gouge HTC for "lost revenue".
Good luck with that, Apple.
Hopefully, the USPTO will flag this case like many others and revoke Apple's software patents.
Apple has essentially patented a device driver (i.e. software). Read the first 30 bytes from patent #7479949, and you will quickly realize that it is moot. Here are those 30 bytes for your convenience:
"A computer implemented method" ...
Although many people think that Apple has a hardware patent on multi-touch / capacitive touch screens, they do not, just as I suspected (at least according to patent #7479949). I also suspect that a 3rd party company was responsible for designing and fabricating "Apple's" multi-touch screens, although Apple was certainly not the first to demonstrate multi-touch.
Naturally, it is in the best interests of that 3rd party company (whoever they are) to sell more of their touch screens but that is something which Apple has wholly tried to prevent (via software patents).
For the (approximate) 6.4 billion people in the world who do not live in the US - fear not - you have a legal right to buy a multi-touch enabled phone from a company other than Apple.
For those who live in the US... unfortunately, you might have to edit a few lines of code to get multi-touch in a "legal" way. If Apple really feels like it, they might be able to bar HTC from enabling multi-touch support in Android for all devices sold in the US, although seeing as how it is a free OS, there is little preventing consumers from enabling it themselves. Apple will also undoubtedly try and gouge HTC for "lost revenue".
Good luck with that, Apple.
Hopefully, the USPTO will flag this case like many others and revoke Apple's software patents.
Labels:
android,
Apple,
htc,
multi touch,
software patents
20100108
Picasa for Linux, Multi-touch, and Software Patents in General
I should state this clearly at the beginning of my post, just so I don't come off the wrong way. I do appreciate everything that Google has done and how they have contributed back to open-source software. The same is for Apple - I am grateful that Apple helped to revolutionize the user experience and to inject a fusion of art and technology in their designs. However, there are some issues (mainly revolving around the concept of software patents) that prevent many wonderful, Google-created applications from being wonderful on Linux.
Three examples come directly to mind:
1) Picasa for Linux: does not support viewing or uploading of video files.
2) Android: does not have a 'playmp3' binary when built from source.
3) Android: does not support mulit-touch (using the commercial ROM). update: Newer Android devices do support Multi-Touch, with open drivers. Thanks Google!
With respect to my first issue (and I'm sure that anyone who has a child and a Cannon point-and-shoot digital camera will agree with me) I make a heck of a lot of videos. In some cases, I make more videos than still photos. Picasa (for Linux) does not support videos at all because many video codecs (although there are free implementations) require royalty payments to be made to some patent holder. Maybe Apple and Microsoft do make these royalty payments, and thus can provide the video codec binaries to applications for their platforms. I can't even use PicasaWeb to upload videos of my toddler, and in that case Google wouldn't even need to redistribute any royalty-encumbered software. There's something wrong with this, but let me address the other two points before beginning my rant.
As for the second issue, I believe its a similar situation. Perhaps Google does make royalty payments to Fraunhofer (the 'owners' of the mp3 format patents), which allows them to distribute a device with an mp3 decoder. I would certainly hope that Fraunhofer provides Google with the code, because if they're just using ffmpeg or lame, then there is definitely something wrong with that situation as well.
Lastly, with respect to the third issue, Apple holds patents for mulit-touch and has requested that Google intentionally cripple the Android UI. I can fully understand that a patent could and should be granted for the physical device that senses multiple points of contact, but as far as Apple having a patent on software to read that device (i.e. the driver) and software to interpret that device for a user-interface, that's just absurd.
What all of these issues have in common, is that they all revolve around the same concept: the patentability of software. Along with 90% of the world, I do not believe that software should be patentable. Typically, a patentable 'device' should be 1) novel, 2) useful, and 3) non-obvious. In at least 50% (but more likely 80 or 90%) of software 'patents', they rarely satisfy any of those three conditions, at least in this day and age.
Historically, patents were introduced in order to encourage innovation. A company bringing a new invention to the world was awarded the patent in order to prevent others from wasting their time trying to come up with the same, patented product. This encouraged competitors to come up with different or better inventions. A company awarded a patent was therefore awarded adequately for their hard work, with their physical design being preserved for a limited time. After that limited time, competitors could begin to offer similar inventions on the market. Seems pretty fair to me.
However, software (in the truly scientific sense of the word) is math. Math is a collection of ideas. Patenting ideas has never officially been supported by any patent system. I really think that the only law that should apply to software is that of trade-secret and copyright. Surely, if one company copies the software of another and pawns it off as their own, then that is illegal.
On the other hand, if another entity can legitimately show that the software (be it a signal processing algorithm or device driver) had been cleanly reverse engineered, then that other entity should legally be allowed to sell or redistribute their version of the software, especially if it more adequately suits some population of recipients or users (i.e. if it fixes bugs, works faster, etc). In the same sense, I don't consider it a crime to decipher encrypted transmissions.
I find it tragic that authors of free software are not allowed to distribute their work, and help others, because the patentability of software is accepted in 2 countries on earth. I do believe that physical things should be patentable if they are novel, unique, and non-obvious, but I don't believe that inquisitive minds should be limited.
Three examples come directly to mind:
1) Picasa for Linux: does not support viewing or uploading of video files.
2) Android: does not have a 'playmp3' binary when built from source.
3) Android: does not support mulit-touch (using the commercial ROM). update: Newer Android devices do support Multi-Touch, with open drivers. Thanks Google!
With respect to my first issue (and I'm sure that anyone who has a child and a Cannon point-and-shoot digital camera will agree with me) I make a heck of a lot of videos. In some cases, I make more videos than still photos. Picasa (for Linux) does not support videos at all because many video codecs (although there are free implementations) require royalty payments to be made to some patent holder. Maybe Apple and Microsoft do make these royalty payments, and thus can provide the video codec binaries to applications for their platforms. I can't even use PicasaWeb to upload videos of my toddler, and in that case Google wouldn't even need to redistribute any royalty-encumbered software. There's something wrong with this, but let me address the other two points before beginning my rant.
As for the second issue, I believe its a similar situation. Perhaps Google does make royalty payments to Fraunhofer (the 'owners' of the mp3 format patents), which allows them to distribute a device with an mp3 decoder. I would certainly hope that Fraunhofer provides Google with the code, because if they're just using ffmpeg or lame, then there is definitely something wrong with that situation as well.
Lastly, with respect to the third issue, Apple holds patents for mulit-touch and has requested that Google intentionally cripple the Android UI. I can fully understand that a patent could and should be granted for the physical device that senses multiple points of contact, but as far as Apple having a patent on software to read that device (i.e. the driver) and software to interpret that device for a user-interface, that's just absurd.
What all of these issues have in common, is that they all revolve around the same concept: the patentability of software. Along with 90% of the world, I do not believe that software should be patentable. Typically, a patentable 'device' should be 1) novel, 2) useful, and 3) non-obvious. In at least 50% (but more likely 80 or 90%) of software 'patents', they rarely satisfy any of those three conditions, at least in this day and age.
Historically, patents were introduced in order to encourage innovation. A company bringing a new invention to the world was awarded the patent in order to prevent others from wasting their time trying to come up with the same, patented product. This encouraged competitors to come up with different or better inventions. A company awarded a patent was therefore awarded adequately for their hard work, with their physical design being preserved for a limited time. After that limited time, competitors could begin to offer similar inventions on the market. Seems pretty fair to me.
However, software (in the truly scientific sense of the word) is math. Math is a collection of ideas. Patenting ideas has never officially been supported by any patent system. I really think that the only law that should apply to software is that of trade-secret and copyright. Surely, if one company copies the software of another and pawns it off as their own, then that is illegal.
On the other hand, if another entity can legitimately show that the software (be it a signal processing algorithm or device driver) had been cleanly reverse engineered, then that other entity should legally be allowed to sell or redistribute their version of the software, especially if it more adequately suits some population of recipients or users (i.e. if it fixes bugs, works faster, etc). In the same sense, I don't consider it a crime to decipher encrypted transmissions.
I find it tragic that authors of free software are not allowed to distribute their work, and help others, because the patentability of software is accepted in 2 countries on earth. I do believe that physical things should be patentable if they are novel, unique, and non-obvious, but I don't believe that inquisitive minds should be limited.
20090611
Canada Rejects Business Method Patents
Here's a link to an interesting article by Michael Geist [via Slashdot].
I completely agree with the ruling, and am very glad that we still don't patent software in Canada.
I completely agree with the ruling, and am very glad that we still don't patent software in Canada.
20090320
TomTom Fires Back! (Or Did They Shoot First?)
Recently TomTom, the GPS device manufacturer, cross-filed a lawsuit against Microsoft for patent infringement, in spite of already being in Microsoft's crosshairs for violating the much-antiquated FAT-filesystem series of patents.
I thought I would put a link to the rather funny comment I made on /.
I thought I would put a link to the rather funny comment I made on /.
Labels:
fat filesystem,
gps,
microsoft,
slashdot,
software patents,
tomtom
20081231
Shape-Writing or "Swyping"
Shape-writing, or "swyping" (instead of typing) seems to be the newest trend among touchscreen enabled devices. Of course, along with any new idea comes a slew of conflicting software patents that were accepted (where else?) at the United States Patent Office.
I believe that Apple, the original T9 creator, and Shape Writer Inc each have patents for what is essentially the same 'technology'. Please humor my quoted use of the word technology, because I am one of several billions of people who do not believe that software (which is what this is) should be patented.
This technology is very interesting in that it uses 'intelligent algorithms' to determine what word the user is trying to write. I thought that I would outline the fundamentals of these intelligent algorithms, just in case anyone in the FLOSS universe would like to implement them for a fun project in their spare time.
First of all, let's define the path that the users' finger or stylus traces on the touch screen. There exists 1) a starting point, 2) a finite number of 'corners'. If we assume that such a trace or path lies atop a coordinate system, for example, the imaginary plane, then the sequence of 'corners' simply become ordered coordinates in the complex domain.
Let's use a box, for example.
[ (0 + 0j), (0 + 11j), (11 + 11j), (11 + 11j), (0 + 0j) ]
The above set of ordered coordinates traces a box, starting at the origin, and continuing clockwise. The area of the box is (11x11) units squared.
In fact, the sequence of ordered coordinates comprimises a signal in the complex spatial domain (i.e. a 1-D signal), and as such (making several rudimentary assumptions), it can be mapped to a different coordinate space (the frequency domain), using the DFT (discrete fourier transform).
The most interesting part of this, I find anyway, is that taking the IDFT (inverse discrete fourier transform) of the 0-frequency component of such a signal, actually the 'mean', results in a single point lying at the geometric center of the box (i.e. the center of mass). Furthermore, the IDFT of the first two components result in a ellipse containing all points defined in the signal. As one would expect from summing successive components of a fourier representation, IDFTs of the next successive components result in a shape that increasingly resembles the original signal (i.e. a box).
It's pretty cool, at any rate. I had a lab excercise in Grundlagen der Geometrische Signalverarbeitung (Introduction to Geometric Signal Processing) in my first year at Uni-Kiel, which used a Christmas tree as an example.
In any event, if you define several points of interest in the complex domain, by overlaying the center-points of an on-screen-keyboard, then by careful application of Z-domain filtering, it's possible to determine the exact word that a person is trying to 'swype'. The Z-domain filtering is linear, and also unfortunately non-linear in nature. Why? Well, if you consider that corners represent signal components, then if a letter included in the signal just happens to be underneath the path, where no corner exists, then it's as if a component in the signal has been 'lost' during 'transmission'. It's as if higher frequency components are actually filtered out, so the 'intelligent' part of this algorithm is trying to associate a signal with another signal containing higher frequency components. This can be done, for example, by maximum likelihood or MMSE methods.
Alternatively, given a large enough sample group of input / output pairs, this problem can be solved quite easily using a lexicon or word association database. Given a path with a certain number of components, or corners, one should be able to do a very fast search to look up associated words in order of decreasing probability.
Ta Da!
I'm fairly certain that this 'technology' will be implemented in Android. However, I would also like to see it in the OpenMoko project.
Maybe such an app has already existed in the open-source world for some time. If not, or if anyone would like to volounteer to write such an app, then I would be very open to further explaination. Just submit a comment below.
Update (20100412): It appears that Samsung has integrated the idea of 'swyping' into Android on their new(ish) Galaxy S devices, as you can see from the video below. Very Cool.
I believe that Apple, the original T9 creator, and Shape Writer Inc each have patents for what is essentially the same 'technology'. Please humor my quoted use of the word technology, because I am one of several billions of people who do not believe that software (which is what this is) should be patented.
This technology is very interesting in that it uses 'intelligent algorithms' to determine what word the user is trying to write. I thought that I would outline the fundamentals of these intelligent algorithms, just in case anyone in the FLOSS universe would like to implement them for a fun project in their spare time.
First of all, let's define the path that the users' finger or stylus traces on the touch screen. There exists 1) a starting point, 2) a finite number of 'corners'. If we assume that such a trace or path lies atop a coordinate system, for example, the imaginary plane, then the sequence of 'corners' simply become ordered coordinates in the complex domain.
Let's use a box, for example.
[ (0 + 0j), (0 + 11j), (11 + 11j), (11 + 11j), (0 + 0j) ]
The above set of ordered coordinates traces a box, starting at the origin, and continuing clockwise. The area of the box is (11x11) units squared.
In fact, the sequence of ordered coordinates comprimises a signal in the complex spatial domain (i.e. a 1-D signal), and as such (making several rudimentary assumptions), it can be mapped to a different coordinate space (the frequency domain), using the DFT (discrete fourier transform).
The most interesting part of this, I find anyway, is that taking the IDFT (inverse discrete fourier transform) of the 0-frequency component of such a signal, actually the 'mean', results in a single point lying at the geometric center of the box (i.e. the center of mass). Furthermore, the IDFT of the first two components result in a ellipse containing all points defined in the signal. As one would expect from summing successive components of a fourier representation, IDFTs of the next successive components result in a shape that increasingly resembles the original signal (i.e. a box).
It's pretty cool, at any rate. I had a lab excercise in Grundlagen der Geometrische Signalverarbeitung (Introduction to Geometric Signal Processing) in my first year at Uni-Kiel, which used a Christmas tree as an example.
In any event, if you define several points of interest in the complex domain, by overlaying the center-points of an on-screen-keyboard, then by careful application of Z-domain filtering, it's possible to determine the exact word that a person is trying to 'swype'. The Z-domain filtering is linear, and also unfortunately non-linear in nature. Why? Well, if you consider that corners represent signal components, then if a letter included in the signal just happens to be underneath the path, where no corner exists, then it's as if a component in the signal has been 'lost' during 'transmission'. It's as if higher frequency components are actually filtered out, so the 'intelligent' part of this algorithm is trying to associate a signal with another signal containing higher frequency components. This can be done, for example, by maximum likelihood or MMSE methods.
Alternatively, given a large enough sample group of input / output pairs, this problem can be solved quite easily using a lexicon or word association database. Given a path with a certain number of components, or corners, one should be able to do a very fast search to look up associated words in order of decreasing probability.
Ta Da!
I'm fairly certain that this 'technology' will be implemented in Android. However, I would also like to see it in the OpenMoko project.
Maybe such an app has already existed in the open-source world for some time. If not, or if anyone would like to volounteer to write such an app, then I would be very open to further explaination. Just submit a comment below.
Update (20100412): It appears that Samsung has integrated the idea of 'swyping' into Android on their new(ish) Galaxy S devices, as you can see from the video below. Very Cool.
Subscribe to:
Posts (Atom)