Domain: imagemagick.org
Stories and comments across the archive that link to imagemagick.org.
Comments · 100
-
Re:i've gotta say....
I second this. I've done PERL BASH, a couple crappy C, yadda yadda. and I was able to pick PHP in an afternoon. Especially with it's similar structure to PERL.
I use php for most everything now, especially since php-cli came out. I even write my shell scripts in it now.
A few weeks ago I had to write a site that would allow users to input obituaries (I work in newspapers) and send off an XML feed and any binary images to an FTP server. The cool part is that the SAME script can be run from a command line or a web browser. Need the (l)users to input the obits? give them the website. If they need to send off a feed immediately (say for instance there is a typo on the website) it's a 1 click option for them. The script creates thubnails in png format from jsut about format you can think of. They can upload EPS, PNG, JPG, GIF, TIFF, BMP, or even a PDF, or anything else support by imagemagick
Need to purge the database? run ./index.php --purge (this is also in a cron), need to troubleshoot an XML file? run ./index.php --xml to create a new file. Sending off a new feed from the command line? ./index.php --xml --ftp.
The users love it because they can edit the obits in real time on the website, removing extra line breaks changing the photo or whatever else they need to do with a live preview.
Time to build it? roughly 4 hours and that includes setting up the PostgreSQL database.
-
Other considerations
There have been many scripting suggestions given. Before selecting one, you may wish to identify some other items first.
Does your workflow need to be a GUI application? Can it be a set of console applications? Can it be a web based application? I currently work with a system that scans and scores school assessment test documents. The section I work with, the input side, tracks the document workflow with an Oracle backed web application. How you intend to manage the workflow of the images may have an impact on which, if any, standalone scripting languages you use. How complex of a workflow do you need? Our system has many stages for several types of items with both static and dynamic handlers for different stages along with a split processing path through some parts of the workflow. Before deciding on how to implement the scripts, it may be beneficial to lock down the workflow first. The workflow may be more complex than initially estimated, thus requiring a more complex solution.
If you are doing image manipulations, have you identified the tool you will use for that. It may be something like Netpbm, ImageMagick, or something else. The interfaces for that tool (or other tools you may need to use) may have an impact on which scripting language you select. Many support different interfaces like COM, DLLs, or calling executables and reading STDOUT. Not all scripting languages have the same level of support for these things. So, instead of starting at the outer level and working down, it may also be helpful to start at the inner level and work out. The first cut at this may not meet in the middle.
How does the script (and tools) need to be distributed? Does it need to be a single file or small set of files that can be easily copied between machines or can it require installation of graphics tools, script engine, scripts, etc.? Is the installation only at the company or can it also be on individual photographer machines? If support of photographer machines is required or desired, what platform(s) are they using? Could a web interface help with portability?
Can you implement a cross-platform compatible solution? Being familiar with the Mac, it may be beneficial to you to develop on the Mac, so long as the solution is still deployable on the client's Windows machine. Consider cross-platform compatible scripting languages like Perl, Python, or Tcl/Tk. Use xAMP for a web app may also be portable, allowing development on one platform while targeting another. There are a lot of options available. Narrowing down some of the design decisions may help narrow the possible choices.
-
Re:Python?In batch processing like this Pythons speed is extremely unlikely to be an issue. Use PIL or ImageMagik for the image processing.
And if you provide a GUI, for gods sake don't do it with Tkinter, or anything that builds on top of it. It's like stabbing yourself in the balls. Use wxPython, or PythonCard, or Wax, or (if you can pay the license fees) PyQt. Not Tkinter. Ever.
-
The Best possible answer here is Image Magick
http://www.imagemagick.org/ open source, multi language interface, command line, robust. I know of more than one major operation using this in a production environment. It has more features than you will probably use and can be automated to do any of them.
-
Re:I don't get it
But, they are going to be at a strict disadvantage in data retrieval and pushing operations-- which is, incidentally, exactly what most servers, such as a file, web or database server, need to be best at! What kind of servers *ARE* these??
Servers you can find in the render farms of ILM. One of the demonstrations was a realtime ray tracing of a landscape. The resulting jpegs were streamed to an Apple G5, because the Cell-based blade server had no high end graphic board.
There are thousands of other applications for such a kind of server. The Earth Simulator is also not a file, web or database server.
On the other hand, even a web server can profit from a Cell server. Look at all the computations a PHP server is doing nowadays. A content management system like relies heavily on ImageMagick to generate the images on-the-fly. Look at all the content servers, like video and audio (mp3) download sites. Some of them are rendering thumbnails or converting uploaded content on the webserver itself.
Database servers are not only looking up entries in an index, they are also doing heavy calculations.
SIMD (like SSE) helps a lot in different areas. A file server could do real-time encryption...
-
Re:What graphic editors support SVG?
SodiPodi is a native SVG editor. ImageMagick and the Gimp also have some SVG support.
-
Re:Sounds like good technology for lots of uses
You should be able to do this automatically with ImageMagick and a few lines of shell script.
-
imagemagick
I use http://www.photodump.com/. It utilizes imagemagick functions. http://www.imagemagick.org/ It's actually useful for editing online.
-
Pro photographer? Using Linux?-Imagemagick.
"The workflow that I use, gets me through a rough edit of 100 images in 4-5 minutes(cull, rotate, rename, watermark, IPTC keywords, resizing for web display, and copyrighting). http://actionathletics.com/actionimage/ ActionImage moves through images fast!"
It looks like ImageMagick could do a lot of that. -
Re:Pro photographer? Using Linux?
Please define "passable workflow". How is it missing from Linux?
If you think there's no scripting or batchmode in Linux image manipulation, I suggest you do a little research on the GIMP, ImageMagick, and SANE. -
Re:Pro photographer? Using Linux?
OK, so I'm not a PRO, but I find being able to scan in a directory full of (a few rolls == a hundred or so pictures) all at once, then run a script once to produce multiple sizes & formats of all of them allows me to get back to taking photos a lot sooner than navigating to each photo and doing it manually under windows or on my Mac (which I don't use for photography, but I might if it were faster, had more RAM, and had ImageMagick and perlmagick).
-
Osirix: open/free cocoa DICOM viewer
Many programs will view DICOM files these days, even the most excellent and venerable ImageMagik. Osirix is an excellent tool for visualising and analysing medical images, volumetric data, and will let you manipulate the data, view in 3D and all sorts of funky things.
-
Re:ImageMagick
ImageMagick, by default(?), wants to use "mpeg2encode". If you're using Debian, there isn't a package for this as far as I can tell. You can grab the source for the encoder/decoder here (FTP). Look for mpeg2vidcodec_v12.tar.gz. Compiles easily; doesn't seem to need anything fancy.
-
ImageMagickThe convert utility that's part of ImageMagick will convert a mess of JPEG's into an MPEG.
convert *.jpg movie.mpg
It even runs on Windows. :) -
Interesting
Start calling this "the porn patent"
It actually might work, beacause people might stop to think that this patent really is important to their lives. Good idea.
Buy a bigger disk drive so you can convert your pron collection to PNG.
Everyone who has ImageMagick installed can do it with:
$ find / -iname '*.jpg' -exec convert {} {}.png ';' -exec rm -f {} ';'
Done.
$ _ -
He'll have to what?
Now if a bunch of free-software peeps were to assemble such a graphics lib and release it for all to use...
You rang, sir?
Gaussian blur, anybody?
NEXT! (-:
-
I like leadtools too
...but ImageMagick is free as in GPL....
Its not quite as 'slick', but you can do most the stuff you otherwise could with LT. Did I mention its free?
The only real drawback I can see is you have to access it as a .COM object rather than a .NET object like you can with leadtools. -
ImageMagickThe greatest command line utility I've seen recently (or set of utilities, I should say) is ImageMagick. It's comprised of several programs which, collectively, will perform most of the non-interactive effects you can do in photoshop. The list of effects and command line options is absolutely dizzying., as is the list of supported file formats.
Image Magick is fantastic for anyone who doesn't want to deal with the startup times for windowed graphics programs as well as anyone who wants to set up batch jobs to apply effects to lots of images at once.
-
ImageMagickThe greatest command line utility I've seen recently (or set of utilities, I should say) is ImageMagick. It's comprised of several programs which, collectively, will perform most of the non-interactive effects you can do in photoshop. The list of effects and command line options is absolutely dizzying., as is the list of supported file formats.
Image Magick is fantastic for anyone who doesn't want to deal with the startup times for windowed graphics programs as well as anyone who wants to set up batch jobs to apply effects to lots of images at once.
-
MoreThis is a great idea, but there's not a great deal on there. I've been making up CDs full of free and open source Windows software for a couple of years now, which (along with Knoppix and Toms) prove to be extremely useful. Here's just some of what's on there (note that some of the links don't actually point to the Windows version of that software; you might need to dig around a bit):
- Abiword - Word processor, supports
.doc, .rtf, GPL. - Open Office - Whole Office suite, including a database frontend and BASIC macro language.
- Perl - Scripting language
- Python - Scripting language
- Cygwin - UNIX emulator. Can create Windows programs, reliant on a cygwin1.dll.
- MinGW - Port of some of the UNIX utilities (BASH, gcc, vi...) to Windows.
- djgpp - UNIX emulator for DOS.
- Mozilla, Firefox, Thunderbird - Web browser, e-mail client, IRC client, lots more.
- Filezilla - FTP client.
- xchat - IRC client.
- putty, pscp, psftp and others - Telnet/SSH clients.
- Gaim - Client for IRC/Yahoo/MSN/ICQ/AIM and more.
- gzip - Compression (usually better than
.zip). - tar - Extracts/Makes tar archives.
- bzip2 - Totally ace compression (usually better than gzip).
- Info-ZIP - Support for
.zip. Good free substitute for Winzip. - 7-zip - Support for multiple compression formats.
- frhed - Hex editor
- Ext2fs - Several programs for doing Ext2 under Windows.
- Antiword - Converts documents out of the proprietary
.doc format. - MySQL - RDBMS.
- Apache - Web/Proxy server
- sendmail - Mail server
- squid - Proxy server
- freeamp - Audio player
- winlame - MP3 encoder
- cd-ex - MP3/OGG encoder?
- gimp - Very detailed graphics program.
- imagemagick - Graphic manipulation. Provides the 'convert' utility under UNIX.
- freeciv - Civilisation clone.
- gnuplot - Plotting package.
- TightVNC - A fork of VNC, with enhancements.
- RealVNC - The original VNC.
- rdesktop - Access Windows Terminal Services and Remote Desktops.
- Nmap - Well known port scanner.
- John the Ripper - Password cracker. Does NT and MD5.
- Abiword - Word processor, supports
-
Bug in PerlMagick still not fixed
Ever since 3.4 I have the same problem as this guy with ImageMagick. Strangely with 3.3 I had no problems whatsoever ?_?
-
Re:What?! Old GUI is gone?!
Are you kidding? You know it must already exist.
(I love these tools for batch conversions/resizings/thumbnails!) -
Re:Nifty
I found an easier way to get around most (not all) captcha's. Using your imagination, i'm sure you can figure out what I did
:-)
-dk -
they're called HYPERLINKS
It took me all of 2 minutes with Google trying to find links for all the software you mentioned - and greatly enriches your post.
Other than that, thanks for the pointers.
====
ImageMagick
K3b - DVD/CD burner software
Plone - The most mature open source CMS.
Mamboserver - Not as mature or featurefull as Plone, but very nice as well.
OfflineIMAP - Simple, reliable, powerful
Kstars - and KDE Technology in general
The ones that are almost there but could use a hand to make them more intuitive:
GNUCash - Can't wait for their Gtk2 version.
Mr. Project
KOffice - has a great technological underpinning. -
Ideal solution
The backend admin rips all the CD tracks (lossless - flac, shn, etc; lossy - mp3, ogg, aac) with a unique ID attached to them, as well as alternate rips in low-quality ogg or mp3 for streaming to the NAS tied to the commerce store.
The Method
Customer browses the store --> Previews albums, tracks --> Saves them to the wishlist or adds them to the cart (which calculates the duration of 80 minutes dynamically) --> Places order by a credit card --> The system then fishes out the selected tracks into a temp directory, queues and burns them --> Pick up the finished CD, package and ship.
Few things that could make the experience even better.
1) Customer can select alternate CD cover art as well as jewel case insets, even be able to add own text (which would be possible by ImageMagick.
2) User can choose to make mixed mode CDs (data + audio), which could also include live performance clips.
3) During the checkout, if the audio disc compilation has extra space you could offer promotional (Free) tracks to be burned by having the user to select from the list of songs as a filler (when met a certain minimum number of purchased tracks to avoid abuse)
4) Customer can choose his own compressed format (mp3, aac, or ogg). In MP3's case, they can opt out to select the tracks with or without ID3 info, which should be very easy to achieve by stripping the metadata after automatically copying them into a temp directory. This is important because ID3 tags are sometimes incompatible with some portables.
This would be the perfect solution to a complicated problem. And shouldn't be costly since there won't be any overhead in software costs - OSS got you covered.
-
Re:GNU a monoply?We already have ample example in the patents that encumber GIFs and MP3 and the various video technologies.
Ah yes, the GIF patent. That stopped any free software using GIFs.
The MP3 patent's licensing terms don't even prohibit legal Free Software implementations - you pay a one-off licensing fee, and you're fine. There seem seem to be plenty.
The reality is, those patents haven't killed MP3 or GIFs. If anything, it's Ogg Vorbis and PNGs which are an endangered species - not from litigation, but disuse. (The MP3 patent, by the way, is Fraunhofer's - a German group, not US.) Patents or no patents, MP3 and GIF are still the format for that application, and supported by plenty of free/open source programs.
So the future for free software is (and this would be fine with me, except that it doesn't promote either fair use or interoperability) a ghetto of free formats like Ogg.
Unlikely. As I said, we've had MP3 and GIF patents for years without this result - the former from a German company, not a US one - without the result you predict. Why would Europe adopting the US system have this result, when it hasn't happened in the US?
-
Re:With the obvious question, being why.
I have two machines. One is an AMD K6-2 300, 128MB PC100 ATA133 7200RPM (at home). The other is an Athlon XP 1800+ 256MB PC266 ATA133 7200RPM (at work). Both run a RedHat Distro.
Once they are started up and I've logged in, there's little noticable difference.
However, when I mogrify -rotate 90 -despeckle -enhance -quality 90 -format jpeg * in a directory with ~2000 scanned images, I might as well take the rest of the day off. I can only imagine how long this would take on my home machine.
-
Right!Ekephart noticed that comercial softare is not perfect either. That's right and Marius has missed a few things in this sweeping statement of his:
Too much Free Software? And you thought people were complaining about a lack of applications which makes them stick with Microsoft Windows. Well, they're right. On Linux, there's no decent movie player and no working sound recorder (like the one in Windows 95) shipped as the default by GNOME, but hey, there are more than 385 text editors! Choice is good, but it's frustrating when none of the alternatives works properly.
There are two gross misrepresentations here, one that all text editors are as broken as sound recorders and the other that there's anything that can be done about hardware caused problems.
First, let me say that I'm quite satisfied with the state of free text editors. All the versions of VI, emacs, GNOME, KDE, ash, nano, in fact any text editor I've ever used worked perfectly. I've never had a text editor fail, seize my computer, or in any other way malfunction besides Microsoft Word. Hey, I'm even typing this post in a text editor! How about a call to ispell or aspell, Slashdot? Mozilla? Hmmm, should I stand in line at the big comitte meeting or fix it myself? Ah, ha! Now I see something, do you Marius who favors big "united" efforts and corporate sponsorship? In any case, the text editor like all others work because text is within the control of the programer.
There's nothing the programer can do about the multitude of propriatory sound cards. This is a land mine that Microsoft and hardware vendors laid long ago. Microsoft knew it would be imposible for another software company to "support" all the sound cards in the world but had the power to make them all support Microsoft. Hardware vendors knew that their hardware would only sell if it worked with Windoze and wrote drivers for Microsoft. A percieved side benifit was that they could sell new cards by not writing new drivers. The side benifit has worked to a certian extent in that perfectly useful sound cards get thrown out with "obsolete" PCs. In any case, no reasonable hardware standard exists for sound cards and so no programer at the GNOME level can know what to expect. Oustide of the hardware there's all sorts of fantastic software to analyze and manipulate the sound in ways that comercial software should be very afraid of. The situation will change radically as soon as hardware makers see the futility of supporting Microsoft, and that is already happening.
One thing is for sure, code sharing happens and works. While some readers may not be impressed by the text manipulation, most people are impressed by graphics and there free software shines. Marius noticed the GIMP. How about Eye of GNOME, Electric Eyes, XPaint, Data Explorer, FreeUSP, and the hoards of other graphics and image manipulation programs out there? How about their shared libraries such as Imagemagick?
Bah! Free software rocks because there is no freaking central comitte governing who works on what. People simply solve problems and share the results. It's getting to the point where ordinary users are able to understand and the tipping point is not far away. Hopefully, developers will continue doing as they do and ignore siren songs like Marius has.
-
June 2003
According to ImageMagick's file formats page, the LZW patent expires in June 2003.
-
Three little letters
PNG.
Who gives a toss about GIF anymore?
If you've got a bunch of old GIFs sitting around that are worrying you, imagemagick to the rescue. -
nonsense, and so are the benchmarks used.Let's examine three of the benchmarks used:
* Multi-step resample: The time it took to resample up a D100 photo, in seven 110% increments, for printing on a 13 x 19 inch inkjet printer at 300 ppi, was tested.
* Unsharp Mask: The time it took to apply Unsharp Mask (Amount: 300% Radius: 1.5 Threshold: 1) then Fade the filter (Mode: Luminosity, Opacity: 100%), was tested. The photo's resolution was 20 x 30 inches at 300 ppi.
* Batch process using web site Action: The time it took to batch process 25 D100 JPEGs, saving them out as quality level 70 JPEGs using Save for Web, was tested. The processing steps were derived from an Action used in preparing photos for this web site: assign a profile, rotate, filter noise with Quantum Mechanic Pro, apply Unsharp Mask, Fade Unsharp Mask, resize to 450 pixels wide in three steps, apply Unsharp Mask, Fade Unsharp Mask, convert to sRGB, Export using Save for Web.
I have no idea what "web action" is nor would I be able to figure out what you mean by "set up." I processed over 1 gig of picutres and movies for christmas but I have no way to compare what I did to the benchmarks I read. I used two Athlons, a 1.3GHz machine and a 650MHz machine with SCSI. Both had on the order of 500MB or RAM. There is no set up time because I use Debian and never have to turn the machines off. Most conversions were done through ImageMagick, with a little GIMP work here and there. HTML generation was done with a slightly modified igal and a simple shell script to feed it directory trees. All said, most of the work was automated and did not take much of my time. The most time consuming task was burning 20 CDs one at a time. I'd love to be able to compare some of the conversions head to head - like a simple image resample defined in pixels. Something tells me that my little machine would do very well against something encumbered by M$.
-
Re:pleaseindeed. what's to stop you taking a GPLed piece of software, extracting the bits you want from it, and wrapping a non-linking API around it (eg, TCP/IP, SOAP, HTTP, CORBA, COM, etc...), re-publishing that as a GPLed derivative, and then using that non-linking API to talk to the GPLed from your non-GPLed software?
for example, let's say I want to produce a commercial (non-GPL) Windows application that requires some image processing features. i could, in theory, take the source for the GPLed ImageMagick, remove the command-line code, add some simple COM wrappers, release the source for all that on my web-site and then ship and use those components with my non-GPLed software.
-
Re:So, we're back to the 60's.
Well, I do a lot of graphics editing, including resizing and thumbnailing images from digital cameras.
Welcome to the porn biz...
:)for i in *.jpg; do convert -resize 128x128 $i thumbnail/$i; done;
...where Bash and ImageMagick are your main advantage over the competition.(Using Perl and Image::Magick is the Next Level of being a Porn Wizard.)
-
Re:So, we're back to the 60's.
Well, I do a lot of graphics editing, including resizing and thumbnailing images from digital cameras.
Welcome to the porn biz...
:)for i in *.jpg; do convert -resize 128x128 $i thumbnail/$i; done;
...where Bash and ImageMagick are your main advantage over the competition.(Using Perl and Image::Magick is the Next Level of being a Porn Wizard.)
-
Re:Can anybody actually view MNG images?
Because Microsoft Internet Explorer does not come with a MNG viewer, the vast majority of home users of the World Wide Web cannot see MNG images.
See MNG4IE, an ActiveX control for viewing MNG in Microsoft Internet Explorer by Jason Summers, which installation is a simple matter of clicking the right link. There's also MNG Plug-in by Jason Summers. I don't use Microsoft Internet Explorer (I use Mozilla, which doesn't have such problems), but I know that there are actually many different ways of using MNG in that browser (like using a QuickTime MNG component for example). You can find out more informations on MNG and libmng web sites.
Of course, since the libmng license "specifically permit[s], without fee, and encourage[s] the use of this source code as a component to supporting the MNG and JNG file format in commercial products," there is absolutely no excuse why libmng shouldn't be used natively by Microsoft Internet Explorer. Of course, a detailed specification of the MNG format is freely available, so anyone can support MNG even without using libmng, which makes it absolutely unacceptable to not support MNG in any modern web browser. If you use Microsoft Internet Explorer I would suggest you sending a feature request, or even a bug report, asking them to add native MNG support.
And is there any way to convert XCF (GIMP's format) to MNG?
convert file.xcf file.mng
Use ImageMagick, which is, in my opinion, the best "robust collection of tools and libraries (...) to read, write, and manipulate an image in many image formats (over 87 major formats)." You can also write
convert -delay 100 frame*.png anim.mng
and make a MNG animation anim.mng from individual frames frame01.png, frame02.png, etc. That way you don't have to use multilayer file format as your input. ImageMagick is great for such uses.
-
Digital Camera DSLR
Digital camera image processing has moved to the 16-bit realm. That's what's keeping me on Windows, although not at all exclusively.
There is Linux support for RAW image processing into 16-bit TIFs (Bayer interpolation from CCD data) for both Canon and Nikon DSLRs, however tools for subsequent processing and printing are lacking.I don't discount The Gimp, but its strictly 8-bit in all its glory. FilmGimp is beginning to bridge that gap. In fact, it's a credible tool for manipulating 16-bit TIFs. In addition, the ImageMagick package does provide a number of tools for 16-bit TIF processing as well.
Still, I can't get a cutting edge sharpening or noise reduction algorithm for 16-bit TIFs in Linux.
What's available in Windows? Well, more than Photoshop. All sorts of little specialty apps. As an example, here's a free, but not open source sharpening application that draws its algorithms from bleeding-edge medical diagnostics imaging software, with sophisticated edge sharpening and halo controls.
Not only does it output 16-bit images, but intermediate calculations are done in 32-bit for superlative accuracy!
Is ImageMagick evolving in this direction? I hope so.
And what's the future of printer support for 16-bit images?
-
Re:perhaps sorting the photos ahead of time
This was my thinking. ImageMagick is well suited for the job. There is even a Win32 TWAIN API for Perl. Combined with the Perl API for Imagemagick you could even write that custom application that will automate the whole process.
-
Re:be a hacker
-
Re:Batch photo scanning software?
Well, your scanner is TWAIN-compliant, correct? It's relatively simple. If the photos are always going to be the same size, just write a program (even in Visual Basic
::shudder::) to acquire an image from the scanner (there are some Kodak Imaging ActiveX controls in your System directory that you can use, AFAIK). Then just shell one of the ImageMagick command-line utilities which can split images. You could also use Perl and the Perl ImageMagick modules on CPAN. (But I'm not sure how you could acquire the image in Perl). -
Open-source cross-platform tools for swf
One very useful tool for generating
.swf is the ming library, which can be used in conjunction with AutoTrace and ImageMagick to convert just about anything to .swf. -
Re:My own web design rules
Damn, that was a good post. I'm keeping a copy of it.
Thanks, that's nice to hear.
:) I'm keeping a copy too, and maybe one day I'll make a website from it. It's good to know that people actually find it interesting. These are all important things, but unfortunately most of web designers don't care about them. When my Lynx or Galeon can't render a website which I absolutely have to see (and it's the only place with the information I need), I can always use Netscape and everything is fine (except for microsoft.com which usually crash my Netscape for some reason). But there are people who can't use Netscape or Internet Explorer on their Braille terminal or speech synthesiser and they are effectively unable to use most of the Web. That's very sad. We have 21st century, all the informations they need are there on-line, but they can't reach them because of web designers ignorance. There are no borders for them other than ignorance of web designers.Web Pages That Suck is a great site for learning about good design through bad design.
Very good one, I didn't know it before. It reminded me ESR's HTML Hell Page: How not to design junk Web pages. I see it has changed a lot in the last few years since I last saw it. Now there are many things from my post (or maybe in my post there are many things from HTML Hell), but I'll still tell you about it even if it makes my comment less insightful.
;) So, the HTML Hell Page is surely worth reading, there are also links to other similar websites:Here's a list of gripes similar to this one. And there's a fine rant about web page design by C. J. Silverio. Horrible Examples of bad technique are listed at Web Pages That Suck. Jakob Nielsen's column Top Ten Mistakes in Web Design is very good. The Yale Style Guide is worth reading.
I haven't seen all of the above links yet, but I'm sure they're interesting.
Regarding disabled access, try Bobbie as your automatic checker.
Thanks. I knew about it, but I forgot the name. It's a great tool. But there's one thing I don't like about Bobby, it's the license:
"No Reverse Engineering. Licensee shall not modify, adapt, translate, prepare derivative works from, decompile, reverse engineer, disassemble or otherwise attempt to derive source code from the Licensed Software or documentation therefor, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation. Licensee shall not remove, obscure, or alter any copyright notices, trademark notices, or other proprietary rights notices affixed to or contained within the Licensed Software or documentation."
"License Fee. Licensee shall pay CAST or its designee a license fee for each simultaneous user of the Licensed Software ("Single User License Fee") or each server on which it shall install the Licensed Software ("Server License Fee") as set forth at http://www.cast.org/bobby/DownloadBobby316.cfm."
They say on the main page:
"Bobby was created by CAST to help Web page authors identify and repair significant barriers to access by individuals with disabilities."
"Center for Applied Special Technology, CAST is a not-for-profit organization whose mission is to expand opportunities for people with disabilities through innovative uses of computer technology."
"Above, you can test a Web page using our server version of Bobby Worldwide. This server version gives you a preview of the downloadable version of Bobby Worldwide."
But the downloadable version costs:
Single User copy: $99.00
Site License of server version: $3,000.00 per server
Multiple server site license: $2,000.00 per server for 5 or more serversI think it's exactly the kind of software which should be released as a free software. Yes, I'm a free software freak, so in my opinion every software is exactly the kind of software which should be released as a free software...
But this is software made by "a not-for-profit organization whose mission is to expand opportunities for people with disabilities through innovative uses of computer technology".
I could tell my employer:
-- Hey, maybe we could install Bobby on the servers?
-- What's that?
-- It's a program to expand opportunities for people with disabilities.
-- Does it cost anything?
-- It's free-as-in-beer.
-- Sure, why not.
but when I tell him that it'll cost him $3k per server... You know what the answer would be even if we only need a single user copy for 100 bucks.Bobby would serve its purpose much better if it was released as a free software. I'd be proud to contribute patches to Bobby, as I'm sure would lots of other people, and best of all, much more people would use Bobby. If there is any place for proprietary software, it's not software which "was created [...] to help [...] identify and repair significant barriers to access by individuals with disabilities."
In other words: great idea, fatal license.
Keep graphics content (hence download time) low, and always compress images using Gifbot or something similar.
Good point, it's a very important thing which I didn't say about at all. I noticed that I wait the same time for the average website to load today on 768kb/s DSL, as I waited few years ago on 28.8kb/s modem.
I didn't know Gifbot. It's great, because people who don't understand the image compression techniques (i.e. most of people making personal webpages) can improve ther graphics and save time and bandwidth. It only lacks PNG output which is important to me, not only because of the GIF problems, but because it's a great format, even recommended by The World Wide Web Consortium and it has Adam7 interlacing feature for great progressive loading on slow connections, very good for the WWW (see this image or this one if your connection is to fast to notice the effect), read more about Adam7 interlacing on stl.caltech.edu Introduction to PNG.
What I would add about the graphics is to first of all, always use JPEG for photographs, and always use PNG for computer generated graphics (logos, headers, text, screenshots). Of course there are sitiations when it's better to use PNG for photo or JPEG for something generated (like rendered landscapes), but for most of situations (especially for usual homepages) this rule works great: JPEG for photos, PNG for logos.
People sometimes use JPEG for flat few-color logos, which looks terrible on the hard edges and solid color areas. People also (however not so often) use PNG or GIF to save photos, and they are ten times larger than JPEG of the same quality.
My personal choice for editing web graphics is The Gimp, it's a great tool especially for web designing purposes. It has a great JPEG saving dialog, where you can set different quality values and see the real-time preview, so you can save at the lowest quality (highest compression) when you don't see the difference, You can also set subsampling type or DCT method and restart markers for more advanced users.
I almost forgot! See the Cooltext.com:
"Cooltext.com is an online graphics generator for web pages and anywhere else you might need an impressive logo without a lot of work. We provides real-time generation of graphics customized exactly the way you want them.
Simply choose what kind of image you would like to create. Then, fill out a form and you'll have your own images created on the fly.
Cooltext.com will always be available for use free of charge."
They use Gimp as the backend so it's a great introduction to Gimp power as a web graphics authoring tool. Everyone should check out Cooltext, you can make great logos in few seconds. Great for lazy webmasters who want to have nice websites with no effort. Great preview of Gimp.
Speaking about the software, another great tool I use daily is ImageMagick. The best set of programs I've seen for conversion, optimizing and compression of lots of pictures at the same time. Once I used it to automatically scale, stretch contrast, add logos, compress and save over 10,000 pictures. It took over two days to my PC back then, but it was two days of rest for me. It would've taken me weeks if I'd had to do it manually.
Important links: PNG home, PNG at W3C, JPEG home, JPEG at W3C, The Gimp, Cooltext, ImageMagick.
Great, I wrote another comment for ten screens, while I should work instead... But what can I do, when I have a subject which is one of the main areas of my interest? Actually I didn't realize that I have so much to say about web design, maybe I should write a book, teach or something... It reminds me a funny situation I had few months ago:
A friend of mine phoned me once and asked:
-- Tell me, how do you make websites?
I saw all of my life scrolling before my eyes. I was trying to figure out where to start my answer, and after ten seconds of my silence, he said:
-- But hurry up, I'm using a cell phone.
Here I started to laugh like a mad man, and I couldn't explain him why I laughed when he kept asking me, because I couldn't stop laughing.He really thought that I could explain everything to him in few minutes... Later I told him, that I had been learning how to make websites for many years, and now he's proud that he's the man who asked me to summarize many years of my life in few minutes. I tried to give him few books but he thought it'd be faster and even when I suggested Netscape Composer, it wasn't worth the effort for him...
:) Great story, I always laugh when I remember it.That's about it. I say again, Damn that was a good post. 5++ (Moderators please mod original post up).
Thanks once again. It's good to know that there's someone who likes it more than the moderators.
:)From the last minute: I just found The greatest WWW page ever!
-
Re:My own web design rules
Damn, that was a good post. I'm keeping a copy of it.
Thanks, that's nice to hear.
:) I'm keeping a copy too, and maybe one day I'll make a website from it. It's good to know that people actually find it interesting. These are all important things, but unfortunately most of web designers don't care about them. When my Lynx or Galeon can't render a website which I absolutely have to see (and it's the only place with the information I need), I can always use Netscape and everything is fine (except for microsoft.com which usually crash my Netscape for some reason). But there are people who can't use Netscape or Internet Explorer on their Braille terminal or speech synthesiser and they are effectively unable to use most of the Web. That's very sad. We have 21st century, all the informations they need are there on-line, but they can't reach them because of web designers ignorance. There are no borders for them other than ignorance of web designers.Web Pages That Suck is a great site for learning about good design through bad design.
Very good one, I didn't know it before. It reminded me ESR's HTML Hell Page: How not to design junk Web pages. I see it has changed a lot in the last few years since I last saw it. Now there are many things from my post (or maybe in my post there are many things from HTML Hell), but I'll still tell you about it even if it makes my comment less insightful.
;) So, the HTML Hell Page is surely worth reading, there are also links to other similar websites:Here's a list of gripes similar to this one. And there's a fine rant about web page design by C. J. Silverio. Horrible Examples of bad technique are listed at Web Pages That Suck. Jakob Nielsen's column Top Ten Mistakes in Web Design is very good. The Yale Style Guide is worth reading.
I haven't seen all of the above links yet, but I'm sure they're interesting.
Regarding disabled access, try Bobbie as your automatic checker.
Thanks. I knew about it, but I forgot the name. It's a great tool. But there's one thing I don't like about Bobby, it's the license:
"No Reverse Engineering. Licensee shall not modify, adapt, translate, prepare derivative works from, decompile, reverse engineer, disassemble or otherwise attempt to derive source code from the Licensed Software or documentation therefor, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation. Licensee shall not remove, obscure, or alter any copyright notices, trademark notices, or other proprietary rights notices affixed to or contained within the Licensed Software or documentation."
"License Fee. Licensee shall pay CAST or its designee a license fee for each simultaneous user of the Licensed Software ("Single User License Fee") or each server on which it shall install the Licensed Software ("Server License Fee") as set forth at http://www.cast.org/bobby/DownloadBobby316.cfm."
They say on the main page:
"Bobby was created by CAST to help Web page authors identify and repair significant barriers to access by individuals with disabilities."
"Center for Applied Special Technology, CAST is a not-for-profit organization whose mission is to expand opportunities for people with disabilities through innovative uses of computer technology."
"Above, you can test a Web page using our server version of Bobby Worldwide. This server version gives you a preview of the downloadable version of Bobby Worldwide."
But the downloadable version costs:
Single User copy: $99.00
Site License of server version: $3,000.00 per server
Multiple server site license: $2,000.00 per server for 5 or more serversI think it's exactly the kind of software which should be released as a free software. Yes, I'm a free software freak, so in my opinion every software is exactly the kind of software which should be released as a free software...
But this is software made by "a not-for-profit organization whose mission is to expand opportunities for people with disabilities through innovative uses of computer technology".
I could tell my employer:
-- Hey, maybe we could install Bobby on the servers?
-- What's that?
-- It's a program to expand opportunities for people with disabilities.
-- Does it cost anything?
-- It's free-as-in-beer.
-- Sure, why not.
but when I tell him that it'll cost him $3k per server... You know what the answer would be even if we only need a single user copy for 100 bucks.Bobby would serve its purpose much better if it was released as a free software. I'd be proud to contribute patches to Bobby, as I'm sure would lots of other people, and best of all, much more people would use Bobby. If there is any place for proprietary software, it's not software which "was created [...] to help [...] identify and repair significant barriers to access by individuals with disabilities."
In other words: great idea, fatal license.
Keep graphics content (hence download time) low, and always compress images using Gifbot or something similar.
Good point, it's a very important thing which I didn't say about at all. I noticed that I wait the same time for the average website to load today on 768kb/s DSL, as I waited few years ago on 28.8kb/s modem.
I didn't know Gifbot. It's great, because people who don't understand the image compression techniques (i.e. most of people making personal webpages) can improve ther graphics and save time and bandwidth. It only lacks PNG output which is important to me, not only because of the GIF problems, but because it's a great format, even recommended by The World Wide Web Consortium and it has Adam7 interlacing feature for great progressive loading on slow connections, very good for the WWW (see this image or this one if your connection is to fast to notice the effect), read more about Adam7 interlacing on stl.caltech.edu Introduction to PNG.
What I would add about the graphics is to first of all, always use JPEG for photographs, and always use PNG for computer generated graphics (logos, headers, text, screenshots). Of course there are sitiations when it's better to use PNG for photo or JPEG for something generated (like rendered landscapes), but for most of situations (especially for usual homepages) this rule works great: JPEG for photos, PNG for logos.
People sometimes use JPEG for flat few-color logos, which looks terrible on the hard edges and solid color areas. People also (however not so often) use PNG or GIF to save photos, and they are ten times larger than JPEG of the same quality.
My personal choice for editing web graphics is The Gimp, it's a great tool especially for web designing purposes. It has a great JPEG saving dialog, where you can set different quality values and see the real-time preview, so you can save at the lowest quality (highest compression) when you don't see the difference, You can also set subsampling type or DCT method and restart markers for more advanced users.
I almost forgot! See the Cooltext.com:
"Cooltext.com is an online graphics generator for web pages and anywhere else you might need an impressive logo without a lot of work. We provides real-time generation of graphics customized exactly the way you want them.
Simply choose what kind of image you would like to create. Then, fill out a form and you'll have your own images created on the fly.
Cooltext.com will always be available for use free of charge."
They use Gimp as the backend so it's a great introduction to Gimp power as a web graphics authoring tool. Everyone should check out Cooltext, you can make great logos in few seconds. Great for lazy webmasters who want to have nice websites with no effort. Great preview of Gimp.
Speaking about the software, another great tool I use daily is ImageMagick. The best set of programs I've seen for conversion, optimizing and compression of lots of pictures at the same time. Once I used it to automatically scale, stretch contrast, add logos, compress and save over 10,000 pictures. It took over two days to my PC back then, but it was two days of rest for me. It would've taken me weeks if I'd had to do it manually.
Important links: PNG home, PNG at W3C, JPEG home, JPEG at W3C, The Gimp, Cooltext, ImageMagick.
Great, I wrote another comment for ten screens, while I should work instead... But what can I do, when I have a subject which is one of the main areas of my interest? Actually I didn't realize that I have so much to say about web design, maybe I should write a book, teach or something... It reminds me a funny situation I had few months ago:
A friend of mine phoned me once and asked:
-- Tell me, how do you make websites?
I saw all of my life scrolling before my eyes. I was trying to figure out where to start my answer, and after ten seconds of my silence, he said:
-- But hurry up, I'm using a cell phone.
Here I started to laugh like a mad man, and I couldn't explain him why I laughed when he kept asking me, because I couldn't stop laughing.He really thought that I could explain everything to him in few minutes... Later I told him, that I had been learning how to make websites for many years, and now he's proud that he's the man who asked me to summarize many years of my life in few minutes. I tried to give him few books but he thought it'd be faster and even when I suggested Netscape Composer, it wasn't worth the effort for him...
:) Great story, I always laugh when I remember it.That's about it. I say again, Damn that was a good post. 5++ (Moderators please mod original post up).
Thanks once again. It's good to know that there's someone who likes it more than the moderators.
:)From the last minute: I just found The greatest WWW page ever!
-
LaTeXEarlier this year I was asked to write a technical design paper on a system we planned to use at work. I new it would be a big job, and I didn't want to spend the time needed to "make things look pretty". I just wanted to write the content, and have some kind of software do the job for me.
Well, after some research, I settled on using LaTeX. Actually, I used the MiKTeX distribution on MS Win NT4.0. For the screenshots and Visio diagram manipulation, I wrote some Perl scripts and used ImageMagick and a copy of GhostScript 7.0 for producing PostScript and then PDF files for printing and distribution purposes. The comp.text.tex was a valuable resource as well.
I spent one weekend at home learning the basics of LaTeX, used the "Article" class to help produce a good document layout. Over the next 4 months I learned to write my own macros, create table of contents, indices, glossary, etc, and came up with a 500+ page technical design manual.
Not once did the system crash on me, and I could spend most of my time on the content. Yes, I did spend time on converting Windows
.bmp bitmap files into JPG format for inclusion into the document, but with the help of some home-made Perl scripts, I pretty much automated the process of conversion, cropping and resizing. In the end, I preferred this method to dragging and resizing bitmaps within MSWord.Customized Perl scripts were written to dynamically create LaTeX tables which showed software versions used in our product, references to other documents, etc. The entire document was dynamically "built" into a PDF file.
It took a little time to install, figure out and customize.
The end result was a very clean, compressed PDF document, which we could distribute to all interested parties via email.
I really learned a lot, and it saved me a lot of time formatting the document; I had content, and I had software that did the formatting for me.
Everyone was impressed, but LaTeX was not the "standard" within the company. "We must use MS Word", I was told. This came straight from upper management. Much of the document generation was automated, and there was obvious benefits (free open-source software, no crashing, PDF output without the use of Acrobat, dynamic image manipulation and data inclusion, etc). Even so, MS Word was to be used in subsequent documents.
The point is, even though you might think MS Word is crap and you want to look for alternatives, bear in mind the standards used within the company. Standards become even more important within "global" companies; too many non-standardized products can be costly.
Also, let's say you write a document in LaTeX or DOCBOOK, you quit or get hit by the bus one day (heaven forbid). How are your co-workers going to maintain your document? Can the secretary easily make formatting changes? How about your boss?
Over the past few months I began to use Word for much smaller documentation. It's a pain to use, but I did learn how to use it to make decent looking documents. It just takes more time to produce a document in Word than it does in LaTeX.
Hope this helps in giving you some ideas.
After many months of searching, I have yet to find a way to properly convert a PDF file (generated from LaTeX) to MS Word, retaining all formatting with the hyperlinks and references in MS Word format. Does anyone know?
-
Re:Slashdot moving to PNG from Gif
The LZW algorithm, which is used to encode GIF images, is patented, and the patent owner (Unisys) tries to get people to pay if they sell software with a GIF encoder in it.
Not quite true. See ImageMagick for an implementation of GIF that doesn't rely on LWZ. -
Re:Now THAT's an open standards site!
It's not GIF that's patented but LWZ. ImageMagick is a library that has implemented GIF without LWZ.
-
Re:Yes, but...
1) Gaming compatibility. There simply is no alternative to using a Microsoft OS if you want to be able to play the vast majority of games that have been made for the PC in the last 20 years. Sure, you can run *most* DOS games in DR-DOS--but not all of them, and at any rate you'd still have to boot a Windows variant to play all the Windows games. Some Windows games will work under WINE, but the vast majority will not. Hence, as someone with a very huge collection of games spanning 20 years, many of which I actually like to play rather than just have sit there, I need to use a Microsoft OS. Linux will never cut it in that department unless the Win9x codebase is opened, which is of course very unlikely.
In my home net I have a linux PC and a WinXP machine. I have recently bought several games from Loki, and guess what- now my Linux PC is used mostly for games. Much more than the XP PC which only runs a few older (for us) games that we already completed
Many game vendors are starting to realize the advantages of Linux for gaming and release their games for Linux as well as Windows. By buying games for Linux, you support the Linux world and fight Microsoft. By pirating Microsoft Windows but paying for Windows software you signal to the companies that they should release their software only for Windows, thus supporting Microsoft.
2) Application compatibility and continuity. Because Windows has been the dominant platform for many years, people like me are used to using certain applications for certain jobs--they work well for us and we aren't interested in changing to a new OS and trying to find an equivalent which probably is not there in the same fashion. This is especially true since so many Linux apps are enigmatically named (how are we supposed to find them in the first place?) and not geared for GUI users. Most end users like me have no desire to leave a well-mapped-out GUI app with buttons and menus in intuitive places and universal shortcuts (most Windows apps or Mac apps conform to the same shortcut key layouts--Linux apps often do not) for a Linux app that isn't very intuitively layed out because it either caters mostly to CLI users or was coded by CLI users who didn't really put thought into layout for GUI folk.
Productivity studies have shown that a well-traided CLI user is much more productive than the respective well-trained GUI user. This is simply because it's faster for the brain to type a command than to precisely point and click several menus with the mouse. You aren't typing with your mouse, are you?
With that said, Linux does have intuitive GUIs and even lets you simulate Windows for various tasks. Learning the names of apps is quite trivial and can be done in a few minutes, and it's always good to learn your tools throughly before using them. You have been using an OS for begginers. It is time to evolve to a more advanced OS, to a system that does what you want it do, and not what it wants.
Anyone knows instantly what Media Player does--it plays media, like movies and sounds. Great. But how is an end user supposed to know what xanim does?
Have you tried Mplayer? Better name for you? It's also a much better app for media playing.
My time is too valuable to waste learning.
But your time is so unvaluable to waste on using your tools sub-optimally. Think on how much time you waste by not knowing keyboard shortcuts, or by rebooting your system and restoring data after a crash, or by reading
/. for that matter :)I need ACDSee for viewing pictures, and I won't even touch that crap that comes built-in to WinXP for doing so.
Have you ever tried GQview? It works real well.
I need Photoshop for image editing--The Gimp is okay, and I can do some script-fu with it that I can't under Photoshop, but it isn't as powerful in most respects, is more clunky and difficult to use, and lacks CMYK color separation which is a must for many graphic artists
Hmmm.... Image|Mode|Decompose...|CMYK. Was that so hard?
3) Compatibility with the outside world. This isn't important to everyone. Indeed, even Mac users get used to a certain amount of non-interoperability. But to some of us it's damn important. I'm not talking about just the whole Office
.doc thing, either--an awful lot of media is Windows-only, for example. There are codecs which will never be available on Linux, but I have no problem finding them for Windows. Why should I put up with not being able to use a film clip, when I could have done so with Windows?If you are talking about "Windows Media Player", then just use Mplayer, which supports almost all Media Player codecs. If you are talking about Quicktime, why should you use a non-portable codec? If you are referring to RealPlayer, there is a linux version available.
Again, not everyone cares, but some of us do. There are some pretty strange and obscure file formats that have been developed over the years, but almost alays there is software for Windows which will handle it. The same just can't be said for Linux, or to a large extent for Mac. That's not to say closed and hard-to-deal-with formats are good--I always try to use open and readily-available formats that anyone can use or view. But there are a lot of people out there who don't do the same and there are also a lot of legacy files to be dealt with.
Actually, quite a lot of 'obscure' formats are supported in the standard apps available on Linux, such as ImageMagick. Which obscure formats have you had problems with?
B) Chasing Amy uses (pirated) Windows. Microsoft gets no money from him. Whatever he produces and sends over the net is cross-platform.
But now - Chasing Amy pays for Windows software, which triggers more windows software to be produced, thus making it even harded for people such as Chasing Amy to switch to Linux, and increasing Micro$oft's monopoly. In addition, Chasing Amy finds a job somewhere, and his employer is required to purchase a M$ license for him, thus giving money directly to Microsoft. It's all about market share. By using windows you increase the amount of licenses that will be sold, either by not influencing people not to buy windows, or by using purchased versions of Windows in public places and at work, or even by purchasing Windows software and games instead of Linux software and games, thus dragging Loki to bankrupcy and making game developers think developing for Linux is a bad idea.
In either case, the results are the same. Whether I use Linux or not has no bearing at all on anything external to my box. Internally it makes sure that I can use media and documents I wouldn't be able to use with Linux, and it maintains my use of the apps I am familiar with. Externally the world doesn't know or care what I have on my box, as long as whatever I produce is cross-platform--which it is.
Not quite. Your browser identifies itself as running under Windows (I hope you're not using the junky MSIE), which gets counted by web survey companies, and then leads to decisions to abandon Linux as a target.
The fact that you use non-portable documents instead of banning those who produce them and instructing them to switch to a portable format increaes the Microsoft monopoly, because those who produce those documents now 'know' that it's OK to send you (and therefore anyone) those documents. This will lead to more non-portable documents, and thus more people using Windows, some paying for it.
-
Re:try python
Example: Create JPEG Thumbnails
I think ImageMagick will do this better: mkdir thn; cp *.jpg thn; cd thn; mogrify -format jpeg -geometry 128x128 *.jpg or something like that...
-
perhaps ImageMagick (or not)
ImageMagick can separate channels and handle the CMYK colorspace. Alas, the options for extracting a channel are R, G, and B. Depending on how much of a programmer you are, you may wish to look at the its channel-separating code and see if there is an easy hack that would work for you. Warning: I know nothing about screen printing so what I have said may be nonsene.
-
Re:JNG
It's Phil's site where I for the first time really saw FlashPix used
;-)
For FPX support on Linux, Image Magick seems to have read support and it is supported by JIMI (Java image file I/O library) and JAI (Java Advanced Imaging). I have some FPX codec source code from JAI that I want to look at when I have some time left. -
Re:GoodWhat planet have you been living on ? Try visiting some big-name sites out there with NS 3.X and/or no Flash plug-in installed. An awful lot of sites are now ignoring NS 3.X or older browsers and the number of Flash-only sites I've seen is truly depressing....
GIF is on its way out - 99% of people who graphically browse do so with 4.X or later browsers and they support at least basic PNG displaying.
FYI, I recommend ImageMagick's "convert" command to convert your GIFs to PNGs...