"Compliant with the W3C standards, multi-platform, open source, free,
support for PNG images, a HTML/XHTML/MATHML editor... *woah*, I NEED this

This is what I thought, in the beginning. My mind was about to change.

To go straight to the point...
Compliance with W3C standards? ok guys, nothing to argue about. But what
about the Microsoft standards? Never heard of the Official Guidelines for
User Interfaces? Some (pertinent - you'll see) hints:

 1. setup programs must be straightforward, a luser must be able to
    accomplish setup without doing anything else than pressing the "Enter"
    key (sounds stupid, I know, but if you already comply with all of the
    other guidelines, it makes perfect sense)
 2. no entries in Start Menu for help files, readme's or uninstal
    programs, list only the main executable
 2bis. so the help files and the readme's must be accessible from within
       the program
 3. never hardcode absolute paths, read them from the registry
 4. put all user data in the user's profile directory
 5. use the default temp directory
 5bis. if you need a cache of some type, put it within the user's
       profile directory, and register the directory with the Disk Clean
       applet, so it's marked as temporary folder
 6. provide meaningful error messages

My votes for Amaya:

 1. AA

 2. A+

 2bis. D - (the readme and help are accessible, but the program DIDN'T
           start at all the first time - see below, point 6)

 3. F - C:\Temp\Amaya IS hardcoded. Not even as a string resource (so at
        least I could edit it), but as an embedded string constant (NOTE:
        for security reasons - it's my boot drive, but NOT my system root
        - my drive C: is read-only to the Administrators user group, and
        even inaccessible to any other user - you can bet that any
        serious administrator takes this precaution)

 4. E - C:\WINNT\Profile\User is NOT the user's profile directory. In
        Windows NT you gotta read it from the %USERPROFILE% environment
        variable, but anyway you shouldn't create a directory directly
        in there: you should add in the appdata directory (read it from
        Explorer\ShellFolders:AppData) a directory with your company's
        name (W3C I presume), and the application's user specific
        directory in that. On my system, it should look like "G:\Documents
        and Settings\<my name>\Dati Applicazioni\W3C\Amaya" (oh yes,
        it's a localized Windows, too)

 5. F - C:\temp is neither the default temp directory nor even an
        acceptable directory (some other guidelines state that you
        shouldn't create directories or files in the disk root, neither
        imply a "C:\" drive ready for anything - I could even have my
        drives start from D: or E:, anyway even if it was writable, my
        drive C: is only 10 megs)

 5bis. F - the cache should be a subdirectory in the LocalSettings user
           folder (guess where you read this from). e.g. : "G:\Documents
           and Settings\<my name>\Impostazioni Locali\Amaya.cache". The
           Disk Clean applet reads the temp directories from
           \Explorer\VolumeCaches, the existing entries should give you
           enough hints to add your own

 6. FF - (paths translated for your convenience)
       - Start Menu> Programs> Amaya> amaya: <nothing>. (Damn)
       - Start Menu> Programs> Amaya> amaya: <nothing>. (Shit)
       - Start Menu> Programs> Tools> administration> File Monitor> Include:
         amaya.exe, Highlight: fail;deny;denied
       - Start Menu> Programs> Amaya> amaya: <red highlight>C:\temp - access
         denied</red highlight> (Bingo!)
       - Start Menu> Programs> development> editors> Res Hacker: open
         amaya.exe: no string tables (<swear><bangs on desk>)
       - G:\Program files\net\web\Amaya\doc\manual.htm> Configuring Amaya>
         "The AmayaTemp Directory"yak yak yak, "C:\temp"yak yak yak,
         "The user may change both the AmayaTemp and cache directories"
         (yeah!!! tell me how the...)"by means of the General Preferences
         and Cache menus"(FSCK!!!)
       - Start menu> Settings> Control panel> Setup wizard> Amaya>
         Change/Remove> "Are you sure?" (YES! DIE AMAYA DIE!)

What else? oh, yes. Please:
 - put the help files in the appropriate Help directory (%WinDir%\Help,
   or better %WinDir%\Help\Amaya) - in Unix I suppose you put them in
 - register amaya.exe in HKLM:\Software\Microsoft\Windows\CurrentVersion\
   AppPaths, so I can start it by typing "amaya" in Start Menu> Run or
   amaya" in a text shell (kinda like symlinking amaya from its directory to
   the /usr/local/bin dir I guess).
 - user interface files (non user-specific, kinda the Unix /usr directory)
   should go in the All Users' AppData folder (read from
   AppData), in a W3C\Amaya subdir.

Microsoft Internet Explorer Team, when they had to port their browser
to Sun Solaris and HP-UIX, not only rewrote their code to make IE work
on top of another API, but they even redesigned their application's user
interface, to meet the requirements and the habits of Unix users (TAB key
for auto-complete, copy text in clipboard as it's selected, etc). They did
a helluva redesign work, you can read this story in MSDN Library, under the
Articles section. The core code of MS apps maybe is not the best in the
world, but at least they put a lot of effort in the user interface and in
the system integration (even when it's not their own system). PLEASE don't
reply to this message if you consider this paragraph some sort of flame bait

I'm not a Microsoft or Windows addict, neither I work for Microsoft or some
of their affiliates. I just *work*. I'm trying to reach the state of art in
system administration, I've got this machine running for a whole week (then
rebooted because of a third-part driver failure - apropos, they ignored my
bug report), the task manager currently reports the CPU idle loop pseudo-
process to be running for 35 hours or so, my goal is to reach or at least
touch perfection with a finger, and having to monitor every setup program,
being afraid of some funky default setting, is a terrible stress, believe
me. I'm no C/C++ programmer either, so I'm afraid I can't help you directly
(for this reason I'm not posting to amaya-dev - forward if you think it
should be more appropriate)

Sorry for bothering you, but I'm fighting my battle against clutter, that
clutter that seems affecting the Windows family of operating systems. If
you are ever releasing another version of Amaya, please oh please follow
these simple directives. I fight for free software and web standards too,
but the crusade against rude and fascist/anarchic apps is way more important
for me (for this reason I killed amaya without even trying it). NOTE: these
are just suggestions, nobody is forcing someone to do something, you can
ignore me since no other user whould be so <put your favourite adjective
here>, but hey, you're not forcing me to use Amaya, nobody is, though I'd
be very sorry to give it up just for some minor misbehavior

Good work guys

PS: sorry for my ugly english

Received on Tuesday, 13 February 2001 22:05:48 UTC