Closed Digital Cameras - Does Anyone Care?
Karamchand asks: "Free Software and open standards are ubiquitous in the server and even desktop area. But why does nobody seem to care about openness in digital cameras? I couldn't find a single hint as to what main processor my camera uses (I guess many use ARMs and others use TI DSPs), and while searching for information about (re-)programming digital cameras, I had to give up (apart from the scriptable Digita OS which was used by some discontinued cameras by Kodak, HP et al). Do you know of any efforts in this direction, whether they are actual disassembling/programming of cameras or asking vendors to get more open?" I still have my Kodak DIGITA-based camera from several years ago and I loved the flexibility, even though the performance is poor by today's standards (long cycle times, poor battery life, etc). Why are digital camera manufacturers keeping the lid on the capabilities of their products, when digital cameras could be so much more than their film-based counterparts?
Why are digital camera manufacturers keeping the lid on the capabilities of their products
I'm guessing any for-profit companies will be keeping the lid on the capabilities of their products, so that they can slowly roll out "new" features every quarter, and consumers will be attracted to upgrading.
when digital cameras could be so much more than their film-based counterparts?
Seriously? I would rather digital cameras function like, and only like a camera. I'm already having hard time finding a standard mobile phone that makes calls, and that's all it does.
Rock that crushes, Paper & Scissors that don't matter.
They dont want you to port mario 3 to it. I guess
My Linux Command of the Day site : LCOD
Are you planning on writing some custom software to run on your camera? Heh, I'll never stop to be amazed by the creativity of some people! Digital cameras are like Macs - they 'just work'. I haven't heard of any efforts to customize them, or build an open one.
I store my recipes online (the way nature intended)
They already are so much more than their digital counterparts. And personally, even though I am a super-techno-gearhead-whatever, I don't really care to mess with the internals of my digital camera as long as I can get the pictures off of it.
Ummm, good luck with that. I'm still trying to figure out how to get pictures off of my cell phone without paying @#$%ing Verizon $0.25 every time. Weak.
(Score:-1, Wrong)
Two words: "Unintended uses"
The camera manufacturers want to control how their cameras are used, within the realm of what control they can have. Imagine camera hackers adding functionality with the new software, creating software that uses the hardware more efficiently, adding new compression formats... People wouldn't upgrade nearly as soon as they otherwise would.
There are probably some bad examples too: a virus that detects when a camera is connected, updates the firmware, and then without a complete reflash of the ROMs, every time you turn on your camera it starts zooming in and out and you can't stop it. Who wants the bad publicity of being the first camera to be virus infected?
Last, and probably most importantly, the trouble of publishing the specs and documenting the hardware so that programmers could actually really dig into the system... well, it's an expensive proposition. Convince them that enough people who wouldn't have bought the camera would change their minds if there was a programming interface - make it make financial sense - and they might do it.
- Greg
Start a happiness pandemic
Instead of trying to fuck up your camera, why not just give it to me? I'm sure I could use it. :)
Answer: no. Where's my open source cell phone, playstation 2, ipod, microwave oven, roomba, etc? Most people are only concerned that the product they use functions as it was intended.
What is it you want access to change? The camera really has 2 or 3 base functions that can only be improved within the confines of the hardware. Why does everything have to be open? Just because it's there and you like to hack?
I'm not flaming/trolling, I just don't see the point of your question...
I don't care how my digicam does it, as long as the files are available to me in a format that I can use.
.jpgs and .avis that I can get via a USB cable. It makes no difference to me how they end up on the flash memory device.
My visioneer camera gives me
LK
"Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
So you want to have Linux on iPod and everything else but not on digital camera? That would be cool.
I'm still trying to figure out how to get pictures off of my cell phone without paying @#$%ing Verizon $0.25 every time
easy, just use your digital camera to take a snappy of your phone's screen, voila!
I'm a hard sell on those Li-Ion specialized batteries. They usually require chargin in the camera, right?
A feeling of having made the same mistake before: Deja Foobar
The only reason I can think of for having an open-source camera OS is so someone could port MAME to it.
Seriously, the newer cameras have decent screens and long battery lives. They have four-way controllers. Why not drop donkey kong, pac-man, or galaga on them and have something that would effectively be a mutant gameboy advance?
This would make a Nice Project for someone with Too Much Free Time.
Because the vast majority of people just want to take pictures, and the last thing camera companies want to do is spend lots of time documenting stuff and answering support questions from the ten or so people who might want to do this.
The cake is a pie
Seriously, if manufactures let people hack/rewrite their firmware, how much does that increase their support overhead? (don't give me "users are on their own, it still costs $$)
I've updated the firmware on my camera several times, to fix bugs and improve performance.
Mea navis aericumbens anguillis abundat
Well, I had a Canon G2 that required a firmware upgrade to solve a "blue screen of death" type of problem.
I would imagine because nobody cares...
If you are starting from scratch, there is a lot to screw up. First of all, you need to get the metering right, which is far from trivial. You also need to be able to auto-focus, which is also far from trivial. And this is AFTER you figure out the interface to the CCD, LCD, and buttons. Plus, you have to know how to control the zoom motor, auto-focus motor, and flash.
If you DID re-invent the wheel (and did a good job of it), what do you gain at the end? Sure, you might be able to improve metering a little. You might be able to improve the user interface. But if a camera has a raw file format, you are already getting all of the quality that the hardware can deliver. And JPEG already has pretty good compression, so it is hard to improve on that.
I saved the best part for last. You go through all of this work on a 5MP camera, which is discontinued after one year and replaced by a 7MP model with a different architecture. So, you decide to upgrade, and throw all of your work in the trash.
If you want to, feel free. But include me out.
"-1 Troll" is the apparently the same as "-1 I disagree with you."
If you are interested you should look here: http://groups.yahoo.com/group/canondigicamhacking/
Personally, I try to concentrate on the artistic aspect of photography rather than the technical one. It's much more fun.
What phone are you using? I went through a couple of them, and had good luck with third-party cables and software. I had an LG-VX6000 before i moved to Sprint, if i remember right. A $25 cable and the freeware bitpim software allowed me to pull the pics off without paying verizon. I believe it supports quite a few brands and types of phones.
Besides the question of why you'd want to do that, I doubt there would be THAT many features you could eek out of the hardware that the firmware doesn't already support. I'll be the no.1 reason is because they don't want a bunch of wanna-be 'hackers' toasting their cameras and sending them in for repair saying, 'gee, I don't know what happened, but it's not working anymore, please send me a brand new one.'
Ever wonder why the firmware for your microwave isn't open? Wow, imagine the possibilities!?!? Their just is too much risk for the payoff of releasing all that data and being 'open'. Besides, ever think that there might be some IP in that firmware?
canon created their own chip, and sony may have as well... shoot, probably into fourth generation of them by now. point is, it's a one-trick pony and a good place to put an embedded real-time system. so are medical devices; why they are using generic OS in medical devices like NT custom and linux is way, way beyond understanding.
if you have one or two defined tasks for a system, and you can make an ASIC FSM and not be bothered any more by updates, obsolescence, hacks, and fumblefscks, why the hell not? you get into update and obsolescence issues if you want to hire generically trained folks off the streets for five weeks to build your products, and use off-the-shelf packages that every script kiddie has.
for example, all physical interface stuff in carrier data switches and the routers that connect to them are locked down tight in custom or semi-custom ASICs. it's a perfect place for a FSM, and when you get it right, the product is done for 25 years. line up the bits, shift them out when they're bytes, and shovel the stuff fast, fast, fast. no darned reason to get a sound card driver or mouse support tied up with that.
same thing with porting pixels. all you have to do is get it right once, and you're done.
if this is supposed to be a new economy, how come they still want my old fashioned money?
Nobody gives a shit about openness with things like digital cameras because if they have certain needs, they buy a camera that fits those needs and it performs as expected. Nobody who researches their purchases thoroughly is going to be unhappy with the performance of their camera, and anyone who DOESN'T research their purchase is not going to want to hack around with the internals trying to "improve" their camera.
I mean honestly, who the fuck cares? Is it really that important to make your camera run NetBSD? Because that's what this is about.
-- Give him Head? Be a Beacon? :P)
(If you can't figure out how to E-Mail me, Don't.
Canon deserves some credit--like I've mentioned before, while not giving low-level access to the guts of the operating system, their SDK is head and shoulders above what I've heard is available for other cameras. And, in theory, it's under active development--some features seem to exist in the SDK's header files that aren't (yet?) fully implemented, which will make it interesting to keep an eye on.
I have actually gotten firmware upgrades for my Digital Camera, clear the SD card, download the file, put it on the card and put the card in the camera, turn on the camera and it flashes whatever chip it uses. Fixed some issues that they found and I think improved performance slightly.
-- Any comments seen here are not mine, but a mixture of alchohol and lack of sleep.
Open source is a niche. It doesn't belong in high end specifically tasked hardware.
I'm not a big photography nut, and don't personally own a digital camera, but what neato effects can the little ARM do in the camera that cannot be done later on a 3+ghz desktop running photoshop?
I still have my Kodak DIGITA-based camera from several years ago and I loved the flexibility, even though the performance is poor by today's standards (long cycle times, poor battery life, etc). Why are digital camera manufacturers keeping the lid on the capabilities of their products, when digital cameras could be so much more than their film-based counterparts?
Because they don't want you keeping their cameras for several years. They want you to upgrade every year or, at most, every two. Most digital cameras are all-in-one affairs -- a one-time purchase. It's not like the days of old when Kodak could sell a 35mm point-and-shoot and count on film sales for years to come. Nor is it like the SLR market, where the camera body is just the initial sale and the consumer will buy multiple lenses, expensive flashes, and filters.
Even in the digital SLR market, the manufacturers still have not introduced replaceable "film" backs that allow consumers to upgrade the CMOS sensors as higher resolution comes out. And that's probably why the digital SLR market is not taking off faster. No one wants to spend over a grand on a digital SLR and then, a year later, find that $300 point-and-shoot cameras have double the resolution. It's not like my Nikon 6006, where I can "upgrade" the camera's performance by purchasing newer, better film.
Cameras should work as advertised out of the box without tweaking. If the camera doesn't have the features you want then buy a different camera.
Unless by hacking the camera I can reveal the ability to fine tune the exposure time or the arpeture of a point and shoot camera, I really don't care. And I highly doubt that a "cheap" point and shoot has the mechanics to support fractional to multiple second exposure times. Or the ability to have a greater brightness setting.
So, even if I could hack it, I couldn't do anything useful.
If I really want a professional camera that has such features, I just have to buy one.
There's just not enough that a camera does to warrent messing with what the company puts on it by default. The limitations of a digital camera are purely mechanical. Not software induced. You can't hack the software and get a better CCD or a better lens or better refresh time.
Work Safe Porn
I figure so long as the camera API is open (i.e. you can plug the memory card into the computer and get the pictures off of it normally), I'm not too concerned how it works internally. The internals could change often and drastically, and it would seem like a fruitless effort to publish this data.
I have a Canon Digital Rebel, their consumer-range digital SLR. They make a next model up which features heftier physical construction, more end-user control over light metering, and a couple other small but useful features. It turns out that other than the case, the electronic guts are the same, and if the firmware were to be open then end users could patch it to have all the extra features without shoveling out the extra bux.
While I love that camera, I despise crippleware when you have a hardware product that is capable of more, but you have to buy a more expensive version of the same device just to flip a handful of bits in a flash-rom somewhere to give you access.
---
Play Six Pack Man. I
I don't know why camera companies make their camera's locked down, but it might have something to do with support costs. Make the software easy and limited and you don't have to worry about people fucking them up.
The other thing is, I think that the majority of people who buy a camera, digital or otherwise just want it to 'work'. The low-cost of actually using digital cameras, as opposed to their film counterparts has lead to a lot more people taking pictures as a hobby (I regularly see people randomly walking around snapping pictures of buildings and stuff now), which means more people are going to be interested in messing around with the shutter, etc.
But not many people are going to want to try hacking the CCD driver to to take prettier pictures. Not many people are going to want to play video games on their cameras when they could buy a gameboy or something, and really there aren't that many interesting applications to put on a camera.
(the few I can think of involve automation, for doing things like time-lapse photos and such, but you could always just hook a camera up to a regular computer to do that)
ReadThe ReflectionEngine, a cyberpunk style n
Linux is probably a bit big, but something small and light like eCos might run quite well. They even mention digital cameras in this text which I found with google:
s g00000.html
http://sources.redhat.com/ml/ecos-announce/1999/m
http://www.welton.it/davidw/
The answer to the question is no. Nobody cares. When you buy a camera, you want to take photos. Preferably good quality ones.
If you want to do something neat with the image, you put it on your PC and fiddle with it. You don't need to fiddle with it inside the camera.
I know some people enjoy the challenge of hacking the firmware, but the camera companies aren't going to waste time and money opening up their specs so they can sell 3 more cameras to the people who care.
And besides, if you were a real hacker, you would take the damn thing apart and figure it out yourself.
The difference between digital cameras are often the software. The same camera can be sold in different packges (Canon IXUS/Elph vs their S-series vs G-series), and they are basicly the same camera with different sensors and packaging.
The cheap cameras has very bad image processing algorithms, so they would gain from open software. They would still use an old plastic bottle for molding the lens though.
The famous example of camera hacking is the Russian hack for the low-end Canon EOS 300D. 2 bytes changed enabled the custom functions menu of the big brother, the 10D. Then there were a few more mods. Think the best firmware had 20 bytes changed, and closed the gap between the 2 products.
The is also lots of things that are the same between the Canon 20D and the Canon 1D Mk II. If the extra features were enabled in the 20D, there would be even less reason to pay 3 times as much for the 1D Mk II. (It also has more buffer RAM + weather sealing).
So it is there in the hope they can sell the same product as 3 different ones.
There may be an OS scanner that you can run over USB that you could use. Probably the easiest way to find out would be to get a semi-functioning/non-functioning camera and open it up. You'd then be able to see the processor used, dump any ROM/Flash chips, etc.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
but you have to buy a more expensive version of the same device just to flip a handful of bits in a flash-rom somewhere to give you access.
I think this is becoming some sort of a software cost, that you're paying more money for Version 2, which may take another 3 months to develop.
Rock that crushes, Paper & Scissors that don't matter.
I'm far more interested in getting the images off my camera than in hacking my camera, so I don't really care about how open the camera itself might be. In that sense I do not care: as long as the images are in an open format and that the images are stored on an open storage meium then I'm happy.
It would be really cool to be able to reprogram the camera, but I wouldn't be the one doing it.
Dunx
Converting caffeine into code since 1982
...just are not visionary enough. For all this talk of "innovation" from the closed side of the technology world, they sure can't see farther than their own faces. Here are some really good reasons why you would want to reprogram your camera:
1. Turn it into a temporary USB data storage device if it has a USB port on it
2. If it has audio capability, turn it into a digital audio recorder that works kind of like a mini-cassette recorder (ie. shitty quality, but lots of record time)
3. Make it into a "cam" that can be attached to your PC for live web cam stuff
4. Turn it into a video recorder for short clips in a format like MJPEG
5. Make it into an e-book reader that can read PDF or Postscript docs (after all many digital cameras have scroll wheels and multiple menu buttons, etc...)
6. Play some old school video games on them: Space Invaders, Pac Man, maybe even Doom. Doom's been done before...
7. Set it up for motion sensitive mode. It will span a picture only when something in the field of view moves
8. Or similar to above, in motion sensitive mode with USB, it could just dump the image straight to your PC whenever there is motion. Imagine combining this with a laptop to work as a spycam...
9. MP3 or Ogg Vobis player the works from CD or Flash media (again if your camera has audio capability)
10. A USB video monitor. Combine your camera with a Mac Mini and a foldup KB and mouse and you have a pretty compact but powerful system for travelling. (Yes, I don't mind squinting at small screens)
That's just ten ideas to get you started. I'm sure I'm not the only person with any imagination here... Note, I didn't say that these ideas would work for every camera, but they are feasible for at least some models. I'm pretty sure my Sony CD Mavica could do a lot more than it does right now. But I'm also pretty sure they probably have the OS on a ROM...
-"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
Here's the main info page that gives an English overview of all the hacked features: http://www.bahneman.com/liem/photos/tricks/digital -rebel-tricks.html
PepperHacks - Hacking the Pepper Pad
MAME has already been ported to a camera!
http://digita.mame.net/
It supposedly adds some features to the Digital Rebel that are only supposed to be available in their more expensive camera (D20?).
Even if it is not broken, hack it anyway! You'll learn something in the process!!
They don't release specs or source for a simple reason, lack of interest.
Look guys, lots of buyers of wireless access points are geeks so a developer community can build up around the popular products, see Linksys for an example. But how many digital camera owners are developers? And just how many would WANT to develop on a camera? Yes, if my Olympus came with the source tree on the CD there are a couple of itches I'd probably scratch but I really can't think of any major software issues with the sucker I'd want to work on as far as adding major new functionality. JPEG2000 support might be nice but I seriously doubt the camera has the compute power to make it practical.
The one feature I'd add to mine is to have it grab an image from the CCD on power on and see if all the pixels are black, if so display a notice to remove the lens cover instead of grinding away on the motor first.
Democrat delenda est
My camera has more than enough features for it to be useful to me. I would like to master the included functionality (which I have not made time to do) before I tried adding any.
Besides, my toaster, my POTS phone, my TV, and my watch, are also closed-source but extremely well-featured without my input.
In other words, "No.' I usually buy more features than I use anyway, and like to spend my time on more useful or more entertaining things.
You're starting with a fundamental assumption that software should be open. I don't agree with that in all cases. I agree that markets should determine the value of open software without government intervention ala DMCA. The fact that many businesses have opted for Linux proves that there is value to open software. So if you think there's value to it, go build one! Or start a company to build a few thousand. There's no point is asking why there's no open cameras, toasters, or TV's. It's not like you can only read a Kodak camera file with a Kodak PC running Kodak OS.
I ran strings on my digicam's firmware and found a lot of intriguing stuff, but I have no experience with this sort of thing. I have no idea where I'd even begin trying to decompile it.
I agree that open would be nice, but I can see several reasons why the camera's remain closed.
1. Competitive reasons: if documentation comes out before the camera (it would need to in order to make openness contribute to the camera's success), the competition gets to see/copy/out-market the new camera
2. Japanese: Most cameras are now designed and built by Japanese companies. Translation of the documentation, code, and specs into English (the open standard language) is a cost.
3. Proprietary chips: Companies such as Canon use custom hardware such as the Digic Processor making it hard to be open.
4. Support costs: Devoting engineers to supporting SDKs and openness initiatives would add cost.
The big problem is that camera electronics don't have the market persistence of other computer technologies. New generations of the electronics and software inside of cameras wholly supplant old ones. Its not like cameras run on decade's old protocols such as those found in networking and servers. The rapid design-sell-drop cycles leave little room for post-launch open source initiatives and the proprietary/competitive nature of the camera business leaves little room for design-phase involvement by non-employees.
As long as the camera supports a few simple open standard interface protocols (storage, USB, printing, etc.) then the internals can be (and will be) proprietary black boxes. At best, open source can help post-process images. Although a few geeks, such as the poster and myself, might complain at black-box cameras, we represent such a small sliver of the user base as to be easily ignored.
Two wrongs don't make a right, but three lefts do.
When they make my perfect digital convergence device (combination cell phone, PDA, 3+ MP digital camera, 40GB USB hard drive, MP3 player, FM stereo radio, and GPS device), then it will matter. But for a digital camera that's *just* a digital camera, operating systems and openness don't matter as long as the thing is capable of taking pictures and loading them onto a PC. There's only a few items beyond those two that a digital camera needs. (Timed picture taking and zoom are good, manual settings for some things...but how many of the 90,000 possible features of a digital camera are you actually going to use?)
--Ender
Loose things are easy to lose. You're getting your hair cut. They're going there to see their aunt.
Yes people are reprogramming their cameras to get new or changed features. A good example if the Canon Digital Rebel. The Rebel (or D300) runs a variant of DOS. People have disassembled and rewriten sections of the camera to enable things like mirror lock-up, and second curtain sync, and a few other cool things. And on some of the other Canons, people have hacked the firmware to remove the time limits on recording movies. I would love it if my Rebel had an open source OS where I could load the modules for the features I want. Or improve on the features there, like artistic filters or the ability to do multiple exposures, or even time lapse photography. People are already working on such things (like the fames Canon firmware hack), and I hope the work continues.
Last year I purchased a Fuji FinePix A205, and after I learned about the EXIF data it stored, I decided to do a bit of research.
My camera is not a top of the line camera by any means, but from what I gather, it could be with a small firmware hack.
Camera manufacturers are most likely "keeping the lid" on them, simply because they will use the same hardware for a fully automatic point-n-shoot that they will for a higher end, you-controll-it model. They will just use a different firmware to restrict certain portions, such as exposure length, focusing, etc.
I am an avid storm spotter, and I've spent many hours trying to photograph lightning. Even though it's a difficult task as it is, a camera that doesn't let you specify a 2 second exposure makes things even more difficult.
And for the mindless eye-candy spamming, here's my lightning pictures. All of the images on that URL are Copyright © 2004 by their respective owner(s).
You can get a hacked bios for the dRebel, and some of the missing features are added. Many of the interesting ones aren't though, because the hardware is not the same, regardless of what some people may have you believe.
---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"
But why does nobody seem to care about openness in digital cameras?
:-) Digital cameras are not general-purpose computing devices. They are tightly intergrated single-use devices which include a lot of custom hardware that tends to change every six months or so.
Well, for obvious reasons
In any case, I am not sure what are you trying to achieve. If you want to take a stab at better image processing, high-end digital cameras give you "raw" files with more-or-less-raw data from the sensor -- go play with it. If you want to control the camera from a computer, again, there are cameras which will allow you to do that. If you want to hack around with the code in the camera, it's also possible -- I know of at least one hack which adds capabilities to a Canon Digital Rebel...
Kaa
Kaa's Law: In any sufficiently large group of people most are idiots.
those things you talk about all require additional HARDWARE in order to function. All the software in the world won't add GPS functions to a camera that doesn't have accessability to GPS hardware.
I bought a 3MP digital camera for $99 and that was about a year ago. today you can get a 5MP for about that price. Anyone who wants a digital camera can get one for less than a week's salary at the mcdonald's. You may not be able to hack the CPU, but so what? they're cheap, low end commodity goods anyway and not something you can typically "overclock" or even tweak - even the JPEG compression is often done in the hardware of the cheap, dedicated camera controller chip.
But all the parts are there - the image sensor, the camera body itself, the connector for the memory card. You can combine all that with a $100 DSP protoboard and go to town. How much more "open" do you need?
There is already a precendent. The firmware of Canon Digital Rebel has been hacked enabling most of the features that are present in a more expensive 10D. Aparently Rebel is a crippled version of 10D and most of the functionality is already there. The hack is available here. It's a great thing for Rebel owners.
Save the bandwidth. Don't use sigs!
I like my digital camera very much, but I concur that some serious firmware haxoring should take place. For instance, the exposure time is normally limited on most digital cameras, probably because any more exposure time would show the huge mass of CCD "fuzzies" static that would accumulate. But it would be a nice feature, and currently impossible with installed firmware. Also, easy hacks might include "night vision" type settings, and also perhaps mp3/ogg and movie playback, for kicks and giggles. Or maybe inbuilt editing tools that surpass the closed firmwares. But also what the open firmware would allow for, is that many new cameras can be used as webcams... in a WINDOWS environment, but rarely on the mac and certainly none for Linux. Open firmware would allow people to more easily develop webcam software of this type.
Too late.
The ______ Agenda
But seriously, the negatives outweigh the positives from their perspective (hint: their eyes have dollar signs instead of pupils).
Off the top of my head, a couple reasons:
1. They maintain their technological advantage against competitors longer by keeping things closed.
2. Support costs are kept to a minimum because the dolt answering the phone in first line support doesn't have to figure out whether the user has converted the camera into a portable Mame device. (Yes, I know it's been done...)
This is already done with Graphing calculators (See TI's models), but I'm waiting to be able to put new programs on my cell phone, digital camera, PS2, Xbox or to be able to listen to my ogg music, or to change its general behavior, or...why not install linux? But no. Those companies don't want you to. You want a phone that can read mp3 or ogg, you pay 300 more bucks. You want to synchronise your cell phone with Evolution, you buy a PDA. You want to read DivX movies on your digital camera, uh-uh. Buy our brand new 600 dollar product. It's all about profit and sales. I sure hope things'll change!
Photography has always been extreamly competitive. Especially the big three (one part Canon, one part Nikon, one part Pentax, Olympus & Minolta). They like to keep things secret, or patented etc. The value to Canon of having the first USM lenses, and then OIS lenses must of been hugh. Before that Nikon dominated, now Canon has the larger share among Sports phtographers and has made large inroads into other areas.
Software is also important. Nikon and Pentax use virtually identical CCD chips in there moderately priced Digital SLR's (~6MB CCD made by Sony) but the results and performance of these Cameras are quite different (Nikon Performace is amazing, Nikon produces shaper images too).
Also, FWIW, I'm not sure what benifit an Open Source Camera OS would have, the competition here drives new advances. That said I do like the idea of a Standard Digital Negative such as what Adobe proposes (though I'm not sure I want Adobe owning a standard).
--- Nothing To See Here ---
...why hasn't anyone made an open-source toaster so I can write my own toasting OS?
Who wants the bad publicity of being the first camera to be virus infected? .... you're way too late - I was unloading a friend's camera while travelling in India a while back when the darn thing tried to infect my lattop .... he'd picked it up in a i-cafe. Not quite a firmware virus as you describe but a camera virus never-the-less
1) There really isn't much point to it.
2) You're unobservant. Even though there isn't much point to it, people do it anyway. There are projects like this one and some others. None of them do anything useful, but see point 1.
The problem is the technologies used in cameras today are still too immature to open... in that they are still changing rapidly.
I think when the maret starts to stabilize around a technology and resolution that is good enough for most users, we'll start seeing "kit" cameras that you can build and customize yourself. But we are very much in the wild west of camera development, with newer and higher MP sensors coming out pretty raipidly - not to mention different ideas being trield like the stacked sensor of the Foveon chip or the rotated/dynamic ranger layered Fuji stuff.
One nice push in that direction is Adobe with the DNG proposed format. Cameras could start supporting that, but you still have the issue of that being a container for very proprietary data that not everyone can decode well.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Your camera uses the digic prcessor made by canon. All recent Canon cameras do.
There is an article, I belive on page B1, of last Thursday's or Friday's Wall Street Journal about litigation over verizon phones. (or was it page A1?)
It seems that verizon ordered the phones that it distributes with features, primarily bluetooth, disabled, instead trying to collect fees for passing these "services" through verizon.
The basis for the litigation is (as I understood it) that this model of phone is advertised independently by the manufacturer, and the buyers didn't get the feature set.
hawk
You can find info about the firmware (not bios) here: http://www.bahneman.com/liem/photos/tricks/digital -rebel-tricks.html
are you sure you got the exact camera back? i would have imagined it easier for them to just replace it with a working model if they couldnt fix the problem ( or couldnt be bothered ) - updating the firmware while they`re at it seems like a bit of a useless step and a waste of time for them, unless the problem was with the firmware in the first place and not some hardware fault. I recon it would be easier for them to just pull out what was on the camera, upload it to a new one and send the newer one ( which came with a newer firmware from the factory ) back to you
My Nikon5000 has had numerous firmware upgrades - all to the good as far as I can tell. There are, however, a few things that I'd like to have fixed/improved (reset out of timer & macro mode after each picture in that mode - why?).
There's also the issue of 3rd party plugins, like the remote that's been hacked for Nikons, and TTL flash interfaces that aren't.
Of course firmware won't stop me from laughing at someone who paid $1000 for a piece of plastic with some 10D guts.
It's elitist pricks like you that make me avoid other photographers. I love the hobby, but the "oh my goodness, look at the little plebians with their clearly inferior toys!" attitude of you and your ilk pisses me off.
First the problem. Just to give you some walking around numbers, typical desktop displays offer about 7-8 stops of contrast (e.g. 100:1), high-end plasma TV's offer 10 stops (1200:1), typical natural scenes have a dynamic range of about 18 stops, and the human eye, at a single pupil dilation, can appreciate about 17 stops (well matched to natural, sun-illuminated scenes, not by accident!). When you allow for the adjustment of human vision to illumination conditions, the human brain-eye system can appreciate about 30 stops of dynamic range (a factor of 1 billion:1!), from the faintest star to full-on sunlight. Needless to say, it is impossible to come anywhere close to this with consumer imaging technology.
An interesting way to expand dynamic range and alleviate the problem is to take several exposures with an increasing sequence of exposure times. Typically, to maintain focus and field depth, you'd keep the aperture fixed, keep the CCD gain fixed, and only vary exposure time. With a simple programmable interface to a digital camera, you'd be able to roll your own HDR mode, "scripting" the camera to e.g., take a quick succession of 5 frames separated in exposure time by 1 stop, and store them all in an aptly named sub-directory on your flash card. Trivial to implement, if provided the hooks. Combining the 5 exposures with suitable post-processing can then simulate much large contrast than normally available. An example of this technique is here. As it is, we just have to hope the camera manufacturers provide something like this for us (at whatever price point they find compelling).
Most (all?) Canons run on an x86 using a modified Dos. It runs some dos applications fine.
More info here.
The ______ Agenda
One possible use for an Open camera would be capturing High Dynamic Range images.
Debevec has a method where you take multiple shots of the same image at different F-stops, and through some post-processing magic, extract a reasonnable HDR approximation (sorry, you'll have to Google it, I don't have the link handy).
An Open camera would allow someone to program the camera to take the required shots automatically (and possibly even generate the HDR image, though it's probably best to do it offline where CPU power and battery life aren't an issue).
Another possible use is to extract raw data even if your camera only exports JPG images, for those extra bits of precision (I seem to remember some Canon cameras that allow you to get at the raw, 11- or 12-bit image).
I'd like an Open camera, not to run Linux or MAME on it (that's probably a running joke by now) but to add capabilities that the original manufacturer won't bother with due to a limited market, etc.
Of course a decent scripting language could do this as well without "opening" the camera...
gcc: no input sig
-use it as a tethered HDTV camera, probably. (If the exposure is -Make timelapse movies, like those nifty cloud motion pictures.
-Use it to do automated functions like live webcam snapshots. What elese could you program it for?
I have to do something with my old digital camera, now that I don't feel like shelling out $70 for a battery that would hold a charge...
But, the camera people (a) don't want to give secrets to the competition and (b) why let someone else show you how to upgrade your features without buying anything?
I do think they're missing the boat here. Popular "hacker" products - TIVO, Apple II, IBM PC clones, etc. - became popular specifically because you could do extra things to them.
I would guess that because Digital cameras are a hardware product sold at retail, with multiple vendors competing. Having an open spec means revealing your competitive advantages to the competitors.
Why the hell is this important anyway? I would hope that even a Slashdotter would not have any real use for trying to Port linux to a Digital Camera.
END COMMUNICATION
Simply put, people want things that just work. They want cameras that they can plug into a USB port and have recognized, automatically, by Apple's iPhoto, Microsoft's whatever-its-name-is, etc. And they want image files that can be opened in just about anything.
Those expectations are reasonable, and most name-brand digital cameras meet them. A large number of off-brand and "cheap" digital cameras from companies like Sakar, though, don't even come close.
Example: There's a "Kidz Cam" sold various places; I spotted it in a local warehouse store for about $25. It's made by Sakar, and the packaging has a web address for some "internetcoach.com" thing. I was considering getting one for my daughter (if only to dissuade her from asking to use my Canon) but a quick Google found that in addition to being widely viewed as utter crap, it's also not compatible with anything but the (Windows) software that comes with it - and barely compatible with that.
The general recommendation was to hit eBay and buy a few-years-old camera from a more respectable brand. :)
Village idiot in some extremely smart villages.
only all the time. I've flashed the firmware on digital cameras a dozen times.
Hell, half the products I get, whether cameras or DVD-ROM drives or printers have new firmwares out before I get them out of the box.
The first thing that I do when I buy a new product is check the website for new firmwares. I've gotten some nifty new features in devices by upping the firmware, and that's not even including flashing up the Digital Rebel's firmware to the russian hack version.
Actually, I have a Toshiba, um... (pause to look it up) PDR-M700 that indeed actually had a firmware upgrade. The upgrade added features, notably manual focus (a godsend, because the camera's autofocus is unusable at low light levels). See this page for details of upgrading, and this PDF for documentation of the features added and how to use them.
I don't want into the RT controls of my camera - they should just work. But my camera (Nikon 5000) has more bells and whistles than my Palm, and its UI is pretty lousy. I love the camera - don't get me wrong. It _has_ all the bells and whistles that I want and need for the mechanics of taking great pictures. I _would_ like an SDK to be able to better manipulate them, though, and to "enhance my end user experience".
Because the operating system/firmware is the only thing that differentiates digital cameras? Seriously - the optics, sensor, and memory are all almost fungible. What's left is the camera body design and the UI. Why leave yourself with one less thing to differentiate yourself by?
Your camera already works, so why fix something that's not broken? I couldn't imagine tinkering with the code or hardware of a late-model digital camera -- it'd be way too complex. Most of the functions are probably implemented in hardware, too, so modifying any sort of firmware is unlikely to get you anywhere. The level of integration is sure to be extremely high.
The only cameras that have been looked at and disassembled are the Dakota Digital/CVS "one-time-use" cameras. It's because they're cheap, and hold the promise of extended reuse. They don't have very many features, and probably can't have any more added to them. The attraction is the challenge of breaking a "closed" system, and getting something for (close to) nothing.
The original blue Dakota was based on a custom Sunplus chip. So far there's been one modified firmware release that fixes bugs and extends the picture limit. This model has been discontinued, however. More info here, here, and here.
The newer models have been looked at in depth as well, and they're based on SMaL chipsets. So far methods of reading and writing have been uncovered, and a method of downloading pictures via hacked drivers is documented. The eventual goal is a GPL driver and sofware, and possibly firmware upgrades. Current progress here, and background info here and here.
How many crappy cell-phone pictures do you need? Is it more than 100? If it's not, it makes more sense to email them to yourself for $0.25.
My other first post is car post.
No one cares. Or if they do, they have to be part of a very tiny minority.
People just want their camera to take good pictures and be easy to use. Does it matter if they can ssh from their camera to their laptop? No.
Everyone seems to question why this is even neccesary. Well it isn't, but if you are a camera geek, like the OS geeks of yore, you can get more out of your hardware by writing your own software/firmware. So what could one do with writing your own firmware? Off the top of my head:
Improve metering in extreme situations, like back-lit
Vary jpg compression quality.
Add support for some RAW format, instead of jpg.
Invent your own RAW format.
Customize post processing parameters, like sharpness, saturation etc...
Flash intensity compensation
Add a BULB mode
Add in servo autofocus capability
Sure, some hardware wouldn't support some of these, but a decent dSLR would, and people have already done their own firmware tweaks for the Canon Digital Rebel, to implement some of what I have mentioned.
Digital cameras are actualy conciderd "consumer devices" and as such are closed to optimize reliability, performance and cost (Much like the recently hotly argued Mac Mini, only more so).
Cell Phones didn't used to be open either, and it's only the cross-over into dual purpose PDA/Phone land that has opened them up. So the question is does your toaster make tell you what alloy it uses in the heating elements? No! Because you aren't supposed to care, and if you did there is probably little you could do to improve upon whay they already have.
Also remember that Digital cameras are rife with proprietary hardware, we're not just talking a hefty RISC CPU crunching numbers on raw data, we're talking about screens that use non-standard resolutions and refresh rates and have proprietary drivers, image optimization ICs that run in combined digital/analog mode to eek the most possible performance out of a given sensor device, etc etc. In most cameras the only things that are even remotely standards based are the flash-card controllers.
If someone were to build a standards-based digital camera that could contain user-upgrable parts/software it would end up either sacrificing a great deal of performance over a device thats not constrained by standards or cost twice as much as the competition.
I for one, as a photographer, appreciate that my digital camera never crashes, (almost) never needs a software update, and gets the most possible performance out of the hardware that they could cram into it.
A Call For A New Slashdot Moderation Level!
I want to weite a new interface for my modile phone (siemens C60).
Does anyone have experience in such things?
Privacy is terrorism.
Of course firmware won't stop me from laughing at someone who paid $1000 for a piece of plastic with some 10D guts.
The digital rebel/300d is a nice camera, it basically created the market for affordable dSLRs. Sure there are other better cameras, but they cost considerably more. Knocking it makes you look like an idiot I'm afraid. (Speaking as an ex-dRebel owner and new 20D owner).
---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"
Why would the vendors want you to hack a consumer product designed to be used like a black box? It would be silly for them, as they would get returns from people who screwed them up, support calls from folks who over-tweaked the white-balance, etc. Keeping items designed to be used like appliances closed makes financial sense.
Although not really an open-source initiative, (and more of consumer hardware concern), some of the biggest names in digital cameras (Olympus, Kodak, Sanyo, Sigma and Fujifilm, Panasonic) have signed Joint Development Agreements to develop 'Interchangeable Lens Type Digital SLR Cameras.'
http://www.four-thirds.org/en/index.html
"The Four Thirds System uses a Four Thirds-type image sensor, which makes it possible for manufacturers to design extremely compact lenses that combine high mobility and handling ease with the optical characteristics needed to maximize sensor performance. In addition, the Four Thirds System defines an open standard for lens mounts that benefits consumers by assuring compatibility between Four Thirds System bodies and lenses produced by manufacturers that adhere to the standard. The Four Thirds System standard was first announced in September 2002 by Olympus Corporation and Eastman Kodak Company of the United States, and is currently also supported by Fuji Photo Film Co, Ltd., Sanyo Electric Co., Ltd., Panasonic, and Sigma Corporation."
I do care about the proposed formats and raw formats (regarding adobes plight to make thier own raw digital camera format, even though they do not even *make* digital cameras!!
:-)
:-)
A digital camera is a commodity, the data is important! I couldn't give a fsck or a fdisk how my camera works, just give me the damn bits at the end of it!
Do you care how your DVD player works? Mine was 25 squids are amazon... likewise I don't care how my usb drive works...
sometimes even a geek has to stop prodding!! (except when you are unlocking a $9 camera to download the pics by yourself!!!!
Also: If you buy a decent enough camera, you can suggest that you are going ot be using it as is, with the wisom of the company, to make more money/have a better time, doing what you like, taking pictures, not stuck in a poorly lit room, with a screwdriver!!!
Do some people mark their head board with warranties broken rather than women they have scored with?
#hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
There is a group dedicated to hacking the nikon d70.
Linux schminux, we all know what he wants to do!
the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff
Thanks, but I already had it installed on mine. Like I said, useful, but it doesn't do everything.
---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"
Reds not "popping" enough? Blues too saturated? Want to make the light metering a little less conservative? Want to completely funk up how the camera sees color so that everything comes out like some weird negative? You can do it, and it works extremely well. It's built into the camera and Nikon's software, Nikon Capture 4.0. No hacking required.
No, I can't (and don't want to) rewrite the OS, but I can change how my D70 captures photographs.
http://www.planetneil.com/nikon/custom-curves.html
or
http://fotogenetic.dearingfilm.com/custom_tone_cur ves.html
Why should manufacturers devote resources to sharing product specs with the miniscule number of people out there who have nothing better to do than hack a digital camera? Has it occured to you how unlikely it is that more than a few-dozen people worldwide have any intention of doing this, and that of those people, most are hobbyist programmers who would probably only do it with old cameras that can be bought cheap?
There is just no sensible business reason for spending money to do this. And before some smartass claims linux-compatibility as a reason, grow a brain, Linux zealots are not on any major corporation's list of new customers to target.
'Q:How many libertarians does it take to stop a Panzer division? A:None, obviously market forces will take care of it. '
I see your point, but then I thought about it, and it is actually correct... market forces _would_ take care of it. If a panzer division were coming for Wall Street, then suddenly it would be in Wall Street's best interests to stop it. They'd go buy a few nukes and flatten that division, or something along those lines.
just sayin
No one cares..
The Canon PowerShot S100 (aka Digital Elph) and all of its Digital Elph descendants basically were THE definition of a compact camera. (At least they were if you actually wanted decent camera functionality, those micro-pen-cams, etc really suck)
Take a guess which memory format the Digital Elphs use.
retrorocket.o not found, launch anyway?
Buy a $10 Wolf/Ritz/Walgreens "Single Use" digital camera.
Type "Dakota Digital Hack" into Google.
Cut apart USB cables until you feel better.
Lather, Rinse, Repeat.
In Soviet Russia...michael would be rotting in Siberia!
Seems to be from Fujitsu, http://www.fujitsu.com/global/services/microelectr onics/product/micom/tools/
From the 1.0.3 firmware update;
Softune REALOS/FR is Realtime OS for FR Family, based on micro-ITRON COPYRIGHT(C) FUJITSU LIMITED 1994-1999
Digitrex, piece of junk I paid $21 for and another $25 for 256 RAM. Video w/ audio, still pics, audio recorder, MP3 player, storage, and probably more that I don't care about. And 2 Megapixel is so close to a real photo I don't care.
Vote Quimby!
Some of the internals on the Rebel (300D) are different as well, it isnt just hte construction. For example the Rebel has a penta mirror instead of a glass pentaprism like the D60 (the model up you are talking about), and the D60 has a much larger image buffer allowing for quicker shots. There ARE differences between the models, it isnt simply a case of the firmware being the difference (I have also heard of horror stories with updating the 300D to the D60s firmware - it isnt 100% compat). Dammit, I HAVE learnt something from sitting between two Photography buffs (one has a 300D to play with, the other has a 20D after upgrading from a D60 - he does track days etc).
The "software" for a digital camera is pretty much photoshop/Gimp. If you're a digital camera fan and want to get involved in FOSS, write a new filter for Gimp. But I doubt the idea of rewriting firmware is attractive to many people.
-Looking for a job as a materials chemist or multivariat
I will never buy another Kodak camera because of a horrible experience that I had with my ancient Kodak DC50 camera. It isn't just that it was a bad camera, but that Kodak's attitude was that they wanted to use a proprietary image format and they were going to do everything they could to keep it that way. As a result, they really aren't my pictures.
To this day you can get all sorts of open source digital camera software that supports all sorts of competing cameras from that era, but NOT the DC-50. The reason is that Kodak refuses any requests for information on the data format used for pictures from that camera. Sure, there's an SDK out there, but it's win16 only and the image conversion code is pre-compiled without any source code. You can build a windows 95 compatible program around their DLL, but you can't write a program for Linux, FreeBSD or Java to read their image format. This makes the camera almost useless now because the even the windows software for the camera doesn't work with any version of Windows past Windows 98! If they had open source software on the camera or on the client side, then we wouldn't have this problem. Heck, even if they had an open format for their images, we'd have a fighting chance of being able to convert the images to some more usable format.
So, the end result is that they aren't my pictures. They're effectively Kodak's pictures because I don't have access to them anymore. I can only use the images I took with my camera as long as Kodak decides to support the product, which they don't any more.
Signatures are a waste of bandwi (buffering...)
They're selling their cameras as closed, black box appliances. As a result, they're free to change the products' innards whenever they like, as often as they like, as long as the outward functionality remains the same.
If they opened up more with information, people would use the information (not that there's anything wrong with that), and the camera manufacturer would probably end up having less freedom to change the product at will.
It would not be to their advantage to get locked into a particular hardware or software configuration, when some third party product, which relies on a particular design, gets popular.
September 2011: Looking for Cocoa/iOS work in Boston area Cocoa Programmer Quincy, MA
Doesn't quite make it into a 10D -- as you note, the body is very different, and the FPS and buffering just aren't there. However, certainly the firmware hack does enable some very useful functionality. I store only a small JPEG in my RAW files and sometimes use mirror lockup; flash exposure compensation is also very useful.
The limitations of the Rebel aside, it's a great camera. In addition to the landscape work I enjoy, I also do event photography for a club that I belong to. As limiting as 2.5 fps and 4 frames may seem to be, I rarely run into problems with that, despite a distinctly run and gun shooting style (usually flash recharge gets me first, even at ISO 800). I wouldn't consider a 10D; it just doesn't have enough over the Rebel to justify it, and the Rebel has one objective advantage -- the ability to use EF/S lenses. The 20D is another matter, although the Rebel's easily good enough that I'm not about to shell out $1400 after only a year.
How can you take any pictures if they are closed?
If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
My next camera purchase will be the Canon Digital rebel - for the very simple reason that it runs DOS - and it is fully hackable. I don't know if you would consider this to be "open" but it is open enough to be hacked...
t al -rebel-tricks.html
http://www.bahneman.com/liem/photos/tricks/digi
Try to hack my 31337 firewall!
My Sony DSC 717 takes infrared photos. You can hear the "clunk" as it moves the IR hot mirror out of the way for "Night Shot" mode. It would be perfect for a low-cost scientific aerial mapping application (e.g., http://www.soils.wisc.edu/~wayne/aerial_photos/aer ials_2003_06_14/), replacing custom-built cameras worth thousands of dollars.
But, because somebody once took naughty pictures with a Sony Handicam (http://news.com.com/2100-1001-214389.html?legacy= cnet, Sony crippled the IR function. Now it only works at wide apertures and slow shutter speeds, leaving aerial IR pictures hopelessly overexposed (yes, I tried ND filters) and blurry (I can only slow to about 70 MPH or the nose rises, as do the passengers' gorges).
A simple "don't do that" hack to the firmware would suffice. You *know* that the cripplage is only a couple of lines of code:
But, when asked formally and with the full references to the scientific research we were doing (the lead prof, BTW, is internationally renowned in the field, we ain't just grubby grad students looking to save a buck and peek at Auntie Bowdler's bra), Sony blew us off.
Open source firmware? You bet we'd go for it.
"There goes the doorbell again, Bella. If he's carrying a GPS, break his fingers in the door."
Got time? Spend some of it coding or testing
The main reason is probably that bringing out a programmable platform is a boatload of work for a company. By not opening it up, they don't have to write reams of documentation, they can change things around without being accountable to anyone and without any testing with third party software.
There may be other reasons (licensing issues, desire to keep some differentiation among models even if it's just software), but those would be easy to overcome if it weren't for the huge extra cost and small perceived benefit.
Sounds like licensing for switches.
Pay a few thousand for layer2 functionality, then upgrade for a few thousand more for layer3 functionality....
It is easier on the manufacturers to base their entire product line around one set of engineering.... they can actually make something more stable (or worse) across the entire line.... but it isn't a win for the consumers since we're now aware of the other embedded features, and we "feel" jipped.
Karnal
Such as sync your address book and calendar with the phone. This feature alone more than pays for the cable in time saved IMO.
You can also use them to upload free Java games and applications, without paying $$$ to your provider.
When cell phone companies add features to phones:
OMG WHAT A WASTE
When some random thing with a CPU isn't an open spec:
OMG WE COULD H4X0R IT IF THEY OPENED IT!!11
When you look at the state of the world, how can you not become a radical, liberal anarchist?
Consider this:
1) Lenses for SLRs digital and otherwise are not compatible between manufacturers. Lenses that can be used to make professional quality photos (crisper, and sharper than consumer lenses ) can cost a small fortune, and this doesn't always follow from the cost of manufacture. R&D is often used to justify costs but most lense technology in use today has been around for some time.
2) Many cameras use proprietary batteries. If you're faced with a choice between a big bulky poorly performing camera that uses AA batteries and a better one with a proprietary battery which would you pick? Genuine proprietary batteries are always overly expensive.
3) Film use to be standard 35mm. Camera manufacturers have managed to fragment the market so that different cameras use different types of memory card. You don't have to buy film for every shot anymore but you may have to buy different memory cards each time you buy a camera.
Camera manufacturers have always prefered a business model where they force their customers to buy most accessories from them at inflated prices. They sell you the camera at a very reasonable price then gouge you elsewhere. Is it any surprise they want to retain control over in camera hardware and software then charge you a mint to access it? Lots of cameras have remote control software, but at an additional cost. If you released open specs you couldn't do that.
These posts express my own personal views, not those of my employer
I can use IR, Bluetooth or pop the MMC card out and read pictures on my PC using a card reader. I think your phone stinks.
Maybe take pics in a change-room or of security facilities? That way the Feds will retrieve the images for you.
"Everything is adjustable, provided you have the right tools"
I understand your frustration - it mirrors mine for digital multitrack recorders. There is a whole crop of (fairly) cheap, small, 4- and 8-track recorders out there from the likes of Fostex, Tascam, Boss, and Zoom - they all have on-board digital effects processing and all record to CF or MicroDrive or such and all have a usb-port with which one may, among other things, 'upgrade the firmware'. So why not port a copy of mU-linux or Midori or such to it so that we can use c-sound or snd on it, run LADSPA plugins in it, or even after a crafty hack of the CF port, use it as a standalone multitrack recording card? No one wants to open the firmware, or even give out the specs. Hell, some of them (most notoriously Fostex: See http://www.zilber.org/fdms3rip/) record to a proprietary file format, that then needs a proprietary program to decipher it, available only to Win users. Really frustrating. I'd like to think that the manufacturers just don't understand what kind of possibilities exist for profit if they would only let the open-source community play with their machines (ie - the venerable Linksys WRT54G blue-box), and not that they know and 1) don't care or 2) only see short-term loss and not long-term gain.
that I or somebody might add if the cameras were reprogramable:
A preview mode to show sharpness of image across the picture.
After downloading from the camera, I often find a picture is slightly out of focus or focused on the wrong point - but this is very hard to see on the minute screen on the camera.
If I could (on the camera) see the image passed through an edge detector, or colour-coded for highest spatial frequency, I could know my mistake at the time, and take another shot.
Quattuor res in hoc mundo sanctae sunt: libri, liberi, libertas et liberalitas.
- Canon D30/D60/10D/20D: 8086 microcontroller running ROM-DOS
- Canon 1D/1Ds: PowerPC running VxWorks
- Canon 1D/1Ds Mark II: ARM running VxWorks
- Canon Powershot Sxxx/Axxx cameras: MIPS, some may use ARM.
- Nikon D-SLRs (D2X, D2H, D100, D70): Fujitsu FR-V, running FR/OS (some FR-V chips run Linux too!)
- Nikon Coolpix cameras: SPARC, uses Sierra OEM toolkit
- Sigma/Foveon SD10/SD20: ARM, running Foveon toolkit on custom FPGA
How much could you add to your camera? An extra picture format? It just does not seem worth it for hardware worth only a couple of hundred dollars that will be obsolete in 2 weeks and hopelessly outdated in 2 months. Plus, XBox got hacked because a large number of people have an XBox. How many people do you know with the exact same model digital camera as you?
Open Source scratches an itch. I write it to solve a problem. For example, talking about digital cameras, I wrote and open source'd Picture Pager, a Gallery Creator for digital images. Have been involved in and lead several others too. So I know where-of I speak with OpenSource and open-ness in general.
My closed Canon does everything I want it to, out of the box. It has been reliable, the RAW format has given me lots of flexibility, I can manipulate any features I care to either using the camera interface or afterwards with an EXIF or image editor. And if I didn't like it, there are ten other brands that are true competitors, with multiple models per. So I have no itches. The camera being "closed" is not causing any problems, and by providing them some ROI giving the vendors cause to invest, it has solved problems.
Why solve a non-problem?
Disclaimer: IAEE (I'm an embedded engineer)
There really isn't much point in opening up the specs because the software that runs in these devices is usually far more complicated than a PC. For example, on a recent project, the datasheet for the CPU alone was more than 1000 pages.
Typically, an embedded system like a camera will integrate the video processor, USB interface, serial io, and flash controller on the same silicon with the CPU. Even if you had the complete specs for the device, there isn't much you could do - usually, the board has just enough flash to hold the system, and just enough RAM to get the job done. And the peripheral devices - like the navigation buttons - are usually hard-wired to input pins on the CPU. There's no PCI bus to plug extra devices into, and the memory bus is hardwired to address only a narrow range of memory addresses.
Hate to rain on your parade, but there's generally not much extra functionality that you could get out of such a device. I understand the hacker instinct, but the only thing you're likely to do is break something that already works well enough as it is.
And did I mention the perils of trying to re-solder a ball-grid-array processor to the board? Not exactly for the unskilled...
The society for a thought-free internet welcomes you.
I'm not going to trash the Rebel like the previous poster, but IMO plastic cases are something to be avoided in cameras, especially if you're paying $1k+ for them. If you take your camera in the field a lot, it's very possible it might get dropped. I dropped my Olympus E-10 on a rock once when I fell while hiking (it happens when you're not on a trail). It has a few gouges in the aluminum case, but that's it. A plastic-bodied camera would have sustained serious damage.
Do you any of you guys even own one? Haven't you guys wanted to hack it at least a tiny bit?
You don't have to reinvent the whole wheel, dammit! That Russian dude just patched the binary!
My gf got me a Canon EOS 20D for xmas. I love that camera! However, the one feature that forces me to carry two cameras is the lack of video recording that every cheap-ass point-n-shoot camera does these days. Not that I understand enough hardware to know this for sure, but I doubt there's a technical reason for that, it's a marketing reason. Anyone care to comment on that?
I fantasize about disassembling the firmware (I hear (from unreliable sources) that it's DOS-like running on an NEC embedded type x86 CPU) and find the place to turn the jne to a jz to enable me to record video with this thing.
Some of the buttons on my camera don't get much use and so some folks have taken to re-assigning them to things they use all the time. Surely you can see the value in that!
I don't see any use for retro games or a PDA functionality on a high-end camera, but I imagine that at some point we should see convergent device that'll satisfy me. Ha! Betcha that Korea and Japan will have a device next year with 5MP phone, 3x optical zoom 5GB MP3 player and a PDA and us americans will never see it. (I'm bitter cuz I've been spending too much time at gizmodo.com and engadget.com peeping me gadgets and phones that I cannot get here)
Well, your points are certainly valid, but I'll give an other view nevertheless: My Sony P70 (Cybershot-something), a compact camera about two years old, can't do manual focus except in specific distances from a menu. Neither can it do completely manual exposures. Would have been nice being able to fix. Also, it would have been nice adding some feature allowing it to act as an USB webcam, or whatever.
...
I think there are as many reasons for programmability on digital cameras as on PDA:s and ordinary computers. However, maybe the hardware-specific (like CCD control) and standard (like JPEG compression, if you content with the buit-in) software could be left in ROM, and accessed via some more-or-less standard API?
Completly open firmware some day would certainly be nice, but the first step is to be able to run some software of my own choice on it at all. Ideally you could write applications that would run on all ARM cameras (or maybe more, if the cameras had a Java interpreter), using the API for manipulating hardware. The manufacturer could limit syscall parameters to such ones that was within limits of safe operation.
Many people probably don't want to change the motor controls (but it would be nice to be able to iff you want to), but merely fix some annoyace in the UI or play tetris on it
My gf got me a Canon EOS 20D for xmas. I love that camera! However, the one feature that forces me to carry two cameras is the lack of video recording that every cheap-ass point-n-shoot camera does these days. Not that I understand enough hardware to know this for sure, but I doubt there's a technical reason for that, it's a marketing reason. Anyone care to comment on that?
Yes, it's impossible.
Your camera is an SLR: this stands for Single Lens Reflex. The "Reflex" means there is a moving mirror inside the camera that directs light from the Single Lens to the viewfinder most of the time, except when the shutter release button is pressed. Then, the mirror flips up, allowing the light to strike the image sensor instead. You should notice, when you take a photo, that the image in the viewfinder disappears when you press the button.
In addition to this, most dSLRs, if not all, have mechanical shutters in front of the image sensor.
All of this extra mechanics adds up to a far better quality image than you'll ever get with a cheap consumer digicam. The cost, however, is that you can't take movies with them. Regular digicams are basically webcams with better lenses; dSLRs are basically old-style SLR cameras with digital image sensors instead of film. Think of the two this way, and it should all make sense.
I think I understand why the image would disappear from the viewfinder for the time the shutter is open. I don't understand why you can't write out the image that the sensors are sensing 640x480 30times/second, or whatever bandwidth the hardware supports.
I think of it this way: I'd like to set it so that it samples the CCD 30 times per second rather than 5 times per second. I'll hold the shutter open as long as I want, and I'll be responsible for setting the aperture and white balance and ISO speed, but just read the CCD often and send it to the storage device.
BTW, nice ride.
From the web site description...
"The Olympus Developer Program is a collection of tools that allow the software developer to control and access OLYMPUS digital cameras and digital voice recorders. With these tools developers can, for example, remotely capture and download a picture from a compatible Olympus digital camera or convert DSS files from a compatible Olympus digital voice recorder to WAV."
The showcase section shows several companies that have rolled the SDK into full applications. And why arent these Open Source? Because the people at the company want to earn money to pay for their toys.
The Kodak DC range absolutely rock. Not only are they open with the OS, allowing 3rd party extensions, but they use a standard card and standard batteries. This means that they hold their value a lot better than other cameras with expensive batteries, less available cards or no way to update them for newer techniques or standards.
Wait, you can run Java on LG VX-series (Verizon) phones? Do you have a link describing how to do that? I know that with T-Mobile Nokia phones, you can just download J2ME JARs over IR or bluetooth, but I didn't know there was a way to do it for the VX's.
I am not an engineer but would it be possible to create an open source JTAG/Debugger? I know this is not a quick solution to the camera problem but it would open up embedded divices, no? Am I way off base?
I couldn't find a single hint as to what main processor my camera uses
I'm the type of person that'll constantly go through and see what every single process on my box is. I built my own desktop. I disable things like Autorun on Windows. In short, I like knowing exactly what's happening behind the scenes on stuff I own.
But not once have I ever stopped to think about what's inside of my camera. It'd be kind of neat to see. But I have never tried to 'hack' my camera.
It's a fundamental enough piece of equipment. If my camera sucks, I'm going to return it and get one that doesn't. If I want images to look different than how the camera saves them, I'll fix them in Photoshop.
It has never crossed my mind to screw with the software on my camera. And I still wouldn't dream of it. It's a camera, not a desktop PC.
To each his own; if you want to try to get Linux running on your camera, go for it. But to the question posed, "Does Anyone Care?," I can't honestly say I do care what the internal hardware of my camera is. I care that it takes quality pictures, but that's all.
________________________________________________
suwain_2
Can't you use a socket? or a a meatier flash that supports some debugging functions.
I can't believe that the electronics world is stuck in the stone age.
thank God the internet isn't a human right.
I just wish my camera would name my photos with something that means something to a human like me like a date stamp.
t ead of MsomeMeaninglessNumber.tiff
05-01-22.220059.tiff
05-01-22.220102.tiff
ins
If it were "open" I could control how this worked.
that Atheros and Broadcom are keeping the details of their Wi-Fi chipsets a secret. It's a combination of the usual corporate anti-competitive paranoia as well as a desire to milk the market by releasing firmware updates in dribbles and spurts. The last thing they want is some wiseass OSS type making their product do something way cool now that they had scheduled for release three years hence after they had finished sucking the last dollar out of their customer base. Or, for that matter, making their product do something completely unforeseen that they can't control. That attitude may (or may not) make good business sense, but it is certainly how you would expect the average corporate suit to behave. Deliberately giving up control and potentially giving your competition a leg up is something that most manufacturers have a really hard time doing, even when it is clearly to their benefit.
The higher the technology, the sharper that two-edged sword.
Well, most libertarians realize that there are somethings that _must_ be handled by government. One is regulation of interstate commerce (to prevent states from levying taxes on goods from other states). The other are 'community services' which include police, fire departments, garbage collection (no, not that garbage collection) and the military.
====
Crudely Drawn Games
The 20D has an 8MP sensor. The 300D has a 6MP sensor.
The price difference is a lot more than $300-$400. The Rebel is around $700, the 20D is around $1400.
Ben "You have your mind on computers, it seems."
If you open up the tools then creative people will come up with interesting ideas. Most consumer cameras do not have a mechanical shutter at all. The software just reads the CCD for a fraction of a second. With new software it would be easy to create strip photography effects where you exchange height x width for height x time. Basically stuff on the left side of the picture is taken at a different time than stuff on the right side. Objects in motion become distorted shapes but are not blurred. You can create a version of this effect with a scanner or photocopier. Put your hand on the scanning surface and move it around as it scans. Normally you would move the film during the exposure or modify the camera by adding a shutter with a slit cut in it which moves quickly from right to left. With a cheap consumer digital camera and custom software you could just have the camera capture the image from left to right in one pixel wide strips. Or capture a full image every MS and only write one strip of pixels per image, whatever. With software control you could do this in multiple patterns and speeds to create whatever effects you want.
Do the ghetto thing (like I did recently, actually) - set it to continuous shot, and just accept your 3 FPS movie. Speed it up to 6-10 FPS when you stitch the frames together, and it actually works pretty well.
Admittedly, it helps if you use a camera (like my D70) that writes continuously, rather than filling the buffer and then writing it out. I don't know if the 20D does the former or latter; hopefully the latter.
---
Mod me down, you fucking twits. Go ahead. I dare you.
(I read with sigs off.)
The WASIA hack for the 300D was amazing in that it enabled alot of crippled functionality available only on the 10D. However, after a few releases the guy who did the hack disappeared. Almost like the Canon Secret Service caught him and sent him to some prison in Siberia.
Does anyone know his whereabouts? I'm wondering if there is more available on the hacked 300D, I just read that a firmware upgrade on their top line 1DSMKII increased the buffer write speed significantly. Something similar for the Rebels would improve the biggest negative this camera has, buffer write speed.
Don't ever try to open a camera case, either out of curiosity or to fix it. No matter how careful you are, you're likely to get a massive shock from the flash unit that could kill you if it passed through the wrong part of your body. I have been fixing gadgets for years, and have had two massive shocks when I opened cameras to fix them.
I haxored my camera - it's the new version of the disposable digital camera I hacked last year. This version took more work, mainly because it uses an obscure processor & has a complicated banked-memory scheme (128K of code in 16K window). I've been able to modify the firmware so that I can use the standard windows driver for another camera with this one -- so we can get images off of it. I'm working on other mods - hopefully a "picture frame mode" and maybe a kite-camera timer. Other people are developing camera "skins".
my main PV2 camera page
HIV Crosses Species Barrier... into Muppets
Why is this so important to you?
It seems to me your procedure for picking a phone should be obvious - find whichever phone is rated highest in the departments that matter to you:
(guessing here)
a) Call quality
b) Battery life
c) Durability
Then ignore the other features of it, which will be somewhat limited anyway.
The reason the cell makers include these other extraneous things is because they're becoming incredibly inexpensive to include. It's not costing you much, so stop complaining!
+++ATH0
Another consideration is that Kodak was built on making photography simple, with the Brownie box camera. Most photographers don't want to do anything more than point the camera and show the resulting picture to their friends and relatives. The more tightly integrated the product is, the easier it is for the customer (provided he has all the compatible stuff -- dock, Windows computer, etc.).
I don't say this by way of bad-mouthing Kodak. I am sure Fuji has the same considerations. As to why electronics companies make their cameras closed, I don't know.
"Who controls the past controls the future. Who controls the present controls the past." -- George Orwell
Anyway, an open firmware has done wonders for sales of the WRT54G and similar hardware, because people keep dreaming up uses that the manufacturer didn't think of, or couldn't be bothered to implement and support because of the relatively small market. Taken together, all the niche markets who love this gear make for quite a sizeable market.
If I could rewrite the firmware for my Olympus C2100UZ, I'd make it enumerate as a multi-endpoint USB device with the following functions:
Now, some uses. Parent poster pointed out quite a few. Many of which are already done by DigitaOS, a failed attempt at a camera API used in some obsolete models. (Pricey SDK killed it.)
Let me record audio, without taking a picture first, to use the camera for notetaking. Simply holding down a button while powering on the camera should put it in this mode. No need to initialize the CCD or wake up the stabilizer. Just open a file and dump audio into it.
My laptop doesn't have NTSC-out, but my camera does. I'm likely to have the camera with me while traveling, so using it as a generic video output device would be great. The bandwidth of the camera's USB 1.1 interface might allow for decently smooth video, but really all I want is generic presentation stuff. And with the built-in infrared transceiver, I could use any random remote control to flip pages from across the room.
As long as we're making up for laptop inadequacies and reducing the device count while traveling, let's use that IrDA interface to sync the ol' PDA. No need for another silly dongle in the laptop bag. You bet I'd enjoy open firmware. Oh, and the laptop has no built-in microphone. But the camera does! Convenient? No. Lifesaver in a pinch? Absolutely.
Did I mention that the C2100UZ has an RS232 port too? I could write an Axis-like feature set, leave the camera plugged into power and an external modem, and let it call me when it detects motion or hears a sound. Or I could dial in and poll for images. So what if I can't pan and tilt to make good use of the 10x zoom? Go to wide angle, I still have enough pixels to get useful detail out of a corner of the image. Show me the 300x300 pixel square where the motion was centered, for five consecutive frames. Send those first over the modem. Store the full images, and send them later if I'm interested.
Back in the DigitaOS days, someone wrote a program that would sit in the camera and log NMEA0183 GPS data coming in the serial port. I think this was before EXIF was standardized, but it was similar. A few years have passed, and this concept is largely forgotten. The world is ready for geolocated photography. I'd like to stick my Garmin on my Olympus. Open firmware would let me do just that.
The stabilizer has a lot of potential too. It's a small 2-axis accelerometer connected to a servo that moves a prism/lens around in the optical path. How about logging a stream of wiggle data along with a recorded video, so playback could be accompanied with force feedback in the viewers' seats? With the camera bolted to a vehicle chassis, a day at the races would be a much more engaging experience to relive years later. (Or force the relatives to sit through the "boring slideshow" of the vacation in Switzerland.. don't warn them about the skiing video!)
Okay, how about more "camera-like" functions? Parent poster touched on a few good ones. "Select some images to recompress" would be great. I'd also like to be able to keep my old images on the card, after copying them to the laptop, in case I want to show them to someone on the camera. They should be flagged as "disposable", and overwritten when new images come in, but in the meantime, leave them sitting where
(I hit submit before I was done!)
Anyway, one of the reasons I insisted on a digital camera was that I was fed up with buying the 123A batteries that my IS-1 and my wife's camera ate. It seems to me that a pair of those, to the tune of $10, would last for about three 36 exposure rolls. Rechargables were mandatory.
And it seems to me that that dual AA type battery was only good for about twice as many picures as NiMH, whose capacity is ever increasing.
hawk
Because they want full control over the features they make available in a specific model. Many product lines have some features available only in more expensive top-of-the-line models, even though the implementation of the feature is purely software-based. This allows them to sell the more expensive models to more demanding customers and to professionals at a good profit.
One example are little things in SLR camera bodies that only professional photographers need, like MLU, leader out rewind, flash exposure compensation and the like. I remember a story when one local Canon service center started re-programming less expensive camera bodies with modified firmware that made it behave like a more expensive body (like Canon EOS A2, as far as I recall). They had to discontinue that offer at a request from Canon!
Another example are film scanner features, most notably multi-pass averaging. Again, the implementation is just a different firmware, but it allowed Nikon for example to sell LS-2000 scanners that have it enabled at twice as much price, comparing to the cheaper LS-30 model (granted, there was also a hardware difference in the number of digits the ADC had, I think, but that didn't stop a third-party PC software to implement almost as good multi-pass averaging with the LS-30).
17779 eligible voters in a district, 17779 'vote' as one. This is Russia.
Durnit, me without mod points.
Excellent, idea-rich post.
Vista:XPSP2::ME:98SE
I'm sure you've been very well trained to spit this argument out everytime someone mentions it, but it's still clear that you don't know what you are talking about.
What the f*** do you mean that I've "been very well trained"? I obviously know at least as much about photography, both digital and conventional, as you do. Does it make you feel like a real man to anonymously type out words on Slashdot that you'd be too cowardly to utter face-to-face in the real world?
Not everybody needs a digital SLR for the shit that they do. Additionally, some people decide to opt for a regular point and shoot camera when they realize exactly how complicated phototography can get.
If photography seems complicated for you, then you should stick with a point-and-shoot. I don't find it particularly complicated, but perhaps I've been at it longer than you or have applied myself more.
However, Digital Camera Backs have been available for years. Granted, these are in the larger format cameras but nevertheless, they are available.
Then that's not relevent to the consumer market, which is what we are discussing.
Also, high end (even the prosumer models) Canon and Nikon DSLRs derive some of their reputation for their longevity. Some photographers upgrade their gear every year. Others dont.
If you're shooting photos of political events for a newspaper, then there's little need to upgrade your DSLR. If you are shooting photos for "coffee table books," weddings, or portraits, most of today's digital SLRs are lacking. I can put ISO 100 film in my Nikon SLR and blow up the resultant print to sizes that are just not feasible with a prosumer DSLR
Also, there is NOT A SINGLE point and shoot camera on the market today better than my old Nikon D1 DSLR (About 3 Megapixels). Resolution is NOT everything in a camera.
Thanks for that insight, Ansel Adams. Color accuracy is important, too, and here's what Steve's Digiams had to say about the D1 SLR: We all know that the Nikon D1 is a great camera and we also know that it has been plagued since day one by magenta skin tones and other color irregularities. So is noise, and here's what dpreview said about the D1: The unfortunate thing about the D1's "type of noise" (banding vs. random) is that it's more difficult to remove, your eyes see a regular noise pattern more easily than random noise which is more like film grain. Speed is important, too, and your D1 is sadly lacking there, taking 1.3 to 1.4 seconds per picture.
But now I see where you are coming from: You've got big bucks (list price was over $5,000) invested in a four-year-old, outdated, 2.6 megapixel digital SLR and now you see that it's being outdone by new models that cost a fraction of what you spent. So you're trying to convince yourself that you made a wise decision by spending a princely sum to buy a first-generation digital SLR.
Any idiot can tell you that.
As you have just proven.
Another point where you are dead wrong is that "better film" hasn't been available for years. We're still using Fujichrome Velvia and Reala for most things. Been around for years. "Better film" isn't and won't be a reality anytime soon due to the nature of how film works.
Again, you don't know what you are talking about. Fujifilm introduced Velvia 100F (print) and Astia 100F (slide) in March of 2003. Just because you're using whatever film they have at the drug store doesn't mean that all film improvements have stopped.
And then there is the idiot comment about being able to upgrade the CMOS censors. First, not all censors are CMOS, and second, this is by no means a trivial process. AT ALL. Read up and understand how they work before blowing things out of your ass.
Talk about "blowing things out of your ass"! You are in way over your head. Sure, some cameras use CCDs and Foveon sensors, but CMOS is going to be the future of the d
(Too bad I cannot email you this in private...)
How do you stitch these frames together? I'm not a graphic artist type, so I guess I'll end up trolling the GIMP menus and plugins to find something that will allow me to stitch a bunch of pictures together into a movie. I'll try this when my new 2GB high-speed compact flash arrives. Maybe I can get something pretty at 800x600. The 20D is supposed to have good throughput to its storage.
John
Eh, that's okay. I don't want my email to be on Slashdot. You understand, I'm sure.
Part #1a: Use Photoshop actions (or GIMP equivalent) to batch resize the photos to the size you want the movie to be at. Make them GIFs, too.
Part #2a: Animated GIF: freeware called UnFREEz. Select them all, choose the frame delay, let it rip. Output is a large animated GIF file.
Part #1b: Photoshop actions to resize to the appropriate resolution.
Part #2b: Quicktime Pro, Import A Sequence of Images, save as a movie.
Enjoy the 20D.
---
Mod me down, you fucking twits. Go ahead. I dare you.
(I read with sigs off.)