Categories
Writing

Apps behaving badly

I have had a strong writer’s block this last month, which has manifested itself as writing to the weblog. As contrary as this seems, what this means is that instead of focusing on the writing I need to do to make a living, I’ve been puttering around here. Unless ya’ll decide to chip in and pay me a salary, I must be more disciplined with my time.

Luckily, reviewing the O’Reilly books helped me get a better understanding of both my audience and the writing style I want to follow, something I’ve been having some trouble with recently. They’ve also confirmed my impression that there is a good audience for books on technical topics that are not directed at geeks.

Clay Shirky’s new essay has also confirmed my preferred audience. He uses the term situation software to describe the quickly built, purposed, not meant to scale applications that power most small organizations Internet (and not) software needs. One aspect of this, and a growing aspect at that, is that programming is seen more as a secondary skill, rather than the primary skill:

So with programming; though all the attention is going to outsourcing, there’s also a lot of downsourcing going on, the movement of programming from a job description to a more widely practiced skill. If by programmer we mean “people who write code” instead of “people who are paid to write code”, the number of programmers is going to go up, way up, by 2015, even though many of the people using perl and JavaScript and Flash don’t think of themselves as programmers

In my opinion, this started in the days when professionals were scarce and we could command big bucks. Tools allowing smaller organizations to do their own development suddenly started to get more popular, and as they became more accessible, more and more people thought to themselves, “Hey! I can do this!”

Though the programmer-as-secondary-skill market has been around for some time, it has been powered primarily by Visual Basic, ASP, Java Applets, and Access in the past. Now, though, we’re seeing strong movement towards Flash/ActionScript, PHP, and MySQL, especially MySQL. On this database Clay writes:

You can of course build these kind of features in other ways, but MySQL makes the job much easier, so much easier in fact that after MySQL, it becomes a different kind of job. There are complicated technical arguments for and against using MySQL vs. other databases, but none of those arguments matter anymore. For whatever reason, MySQL seems to be a core tool for this particular crop of new applications.

I agree.

As for scripting, the use of JavaScript continues to be popular, but sites aren’t building in the dependency on it they used to. There is much less use of DHTML, but I think that’s due to the influence of Flash. Unfortunately both have been and are still used improperly at times, which I’ll demonstrate later.

Returning to Clay’s situated software, one challenge with these niche or communal applications, especially those created by non-traditional programmers, is that they they don’t always take advantage of existing components to do some functions that overlap between applications. The reason is either because they have someone who wants to ‘try it out’ themselves (and though that’s comendable, I’d rather incorporate code that’s been tested by hundreds of users), or they don’t know about the concepts of reusable components, and that these types of scripts exist.

The main reason I recommend PHP for most web sites is that there are thousands of pre-built and thoroughly tested open source PHP components (or codelets if you prefer) on the Internet just free for the download. Not only that but there are forms generators and various other tools that do three-quarters of whatever you need doing for a site–including interface with MySQL.

There is no need to code a mail handler application, or hand write a form that uploads data to a MySQL database. You don’t have to create your own user management system, or worry about how to upload photos. The only problem you might have is choosing among all the variations of any of these codelets that are online.

(To find, Google on “PHP scripts” and be prepared to be overwhelmed.)

In addition to not making use of existing code, inexperienced web site developers can also get caught up in the ‘cool stuff’, and make some serious mistakes in fundamental site design. A demonstration of how this can happen can be found in the web sites for the two library systems I use to get all my books and movies.

The first site is for the St. Louis Public Library. It’s not particularly polished looking, or pretty; however, it works, and it works rather well. Key elements in the design of this site are: good clean use of web forms for catalog searching; easy to read results pages from the searches; a front page that directs new users directly to the information they’re most likely to want; and good navigation between the site pages. The page that covers all the branches is based on a graphic, but the library also lists all of the branches below using plain hypertext links.

The only point I have to pick on the site is that they don’t have a direct link to a person’s account from the main page. You have to go into Catalog to find the link to “My Account”. What this does is make a person more apt to bookmark the Catalog page than the Main page and doing so they’re not as likely to see new events the library is promoting (which could be more prominantly displayed, themselves). Main pages aren’t just for newbies–they should have something for everyone.

(Under no circumstances should a main page have a Flash demonstration that has a “skip this” button to click. Not unless the site is selling Flash. )

The other library system I use is the St. Louis County Library, which looks more polished than the city library system, but right on the first page, it has a major strike against it: a Java applet based navigational menu.

Never, ever, under any circumstances, whatsoever, do you use anything other than a hypertext link to handle site navigation. You do not use DHTML. You do not use Flash. You do not use JavaScript in anyway. You do not use Java Applets. Slap, slap, slap! Bad!

(I once wrote a tutorial on this, writing that site developers should never make the navigation hard to find or use, forcing the reader to wave their mouse over the page like a magic wand, hoping to uncover an actual working link. To prove the point, I coded the tutorial to use graphical buttons for navigation, but when the person’s mouse was over the button, I would use DHTML to move it before they could click on it. They’d have to chase the navigation buttons around the page and hope they could click it faster than the DHTML could move it. It was fun.)

Chances are with the County library, you probably don’t even see the Applet menu (it doesn’t work with most of my browsers), and the site does provide a text-based menu, but that just forces a person to have to go to another page immediately. This doesn’t even mention the havoc that a bad Applet or DHTML menu can have on the many different browsers that people use. As for accessibility issues–forget it.

If you must have a pretty, pretty for your navigation, incorporate it as a secondary page. Or use CSS and set the hover value to change the hypertext link font.

The site also has some other errors, including the hated “You should be using…” specific browser notices. I used these once a long time ago before slapping myself upside the head, reminding myself that I want people to visit, not go away until they’re properly equipped.

Other than these issues, the County library’s main page does have nice features, including prominant mention of special events, and highlighting services the institution wants people notice. As for the secondary pages, the library does have some very fancy search engines, as well as other interesting tools. The search results are very comprehensive, including providing thumbnails of the book (or other object), and availability at each branch. It also provides one click requesting of the item, which I frequently use. Additionally, you can filter results based on age or year of publication or any of a number of factors–something you don’t think about until you have it and then you go, ‘Wow. This is handy.”

It is a feature like this, handy but not essental that can make niche or community software, or Clay’s situated software, grow and grow unless scope is set and ruthlessly enforced. In fact, the two major factors that lead to escalating costs on any software project, big or small, are analysis paralysis (trying to meet all needs for all people for all time), and scope creep (“Ooo. That’s nice. But can we make it also do this and this and this…”)

Categories
Writing

Unbelievable

Recovered from the Wayback Machine.

Today it got close to 80 degrees (it’s still 70, at 9pm at night), and this is only the beginning of April. So many plants blooming that the air is perpetually perfumed.

I took the grammar test. I hate to break it to the neighborhood but…

You are a GRAMMAR GOD!

If your mission in life is not already to
preserve the English tongue, it should be.
Congratulations and thank you!

How grammatically sound are you?
brought to you by Quizilla

Me smart. Me talk good. Me rite gould, two.

See purty flower. Purty flower is good smelling.

area449.jpg

Categories
Healthcare

Confetti

I had a bad allergic reaction to one of the medicines the doctor gave me. Ringing in my ears until I can’t hear, severe headache, horrid rash under arms and down sides and on to my breasts, and dizzy, and disoriented.

As I wrote someone, perfect weblogging conditions.

So I followed the medicine’s instructions (what to do if…) and called the doctor’s office, but she’s out today. Her assistant wrote down the symptoms and said she’d have the other doctor call me back. Two hours later, the assistant calls and tells me to stop taking the medicine, see if the symptoms go away tomorrow. I tell her the package says not to stop suddenly, or you could have problems. She pauses and says, ‘Well, it’s only for one day.” Oh, and if I feel worse, head into the emergency room.

That’s the new American HMO doctor–metered office appointments (ten minutes per patient), lots of tests (at the same clinic, I’ve noticed), and prescriptions. Pills for this and pills for that; medicines to squirt up your nose and shove up your…never mind. And if you react, she’ll give you another to counter it. When you ask about side effects, you’re told no worries. (Well, it was recalled once. And one of her patient’s did have a seizure.) But then you look up the medicine online and find it has some very serious side effects, including allergic reactions. Bingo!

Today’s HMO: Clowns dressed as doctors, with painted smiles and confetti at hand to throw . If you ask them to stop a moment, they’ll pinch your nose and honk.

Ends today. No more pills. None. Well, except Advil for aches and Tums for my stomach (and calcium). I’m going to try a new regime, it’s called learning to live with getting older, and the sometimes aches and pains that come with it.

Take two walks, and call me in the morning.

I’ll stay healthy, all on my own. That will show the medical community–can’t fuck around with me.

Sorry to all the excellent doctors, nurses, and other healthcare workers out there. This post is me venting.

Categories
Books

Extreme O’Reilly

Last of the O’Reilly book review, and I’m going to cover three different brands: the traditional ‘animal’ books, the Missing Manual series, and the Head First series.

The RELAX NG book from the animal series is what you’d expect for one of these books. It is a comprehensive coverage of the topic, with relevant examples, lots of text, and few graphics. Animal books get to the point and are, for the most part, geared to the geeks – or the geek at heart.

This isn’t to say that the coverage of the topic is cryptic or difficult to follow, or dry. After all, I’ve written a few animal books myself and I hope my books don’t fit that description. But they aren’t fluffy books, and make little use of graphics as an aid to understanding. The aid in these books tends to be the examples.

The Head First series is completely the opposite, and about as far as you can get from the animal books. There is still comprehensive coverage of the material, but how it’s covered is completely different. If the animal books are text, the Head First books rely on graphics. A great deal of graphics.

I’ve looked at both members of the series, Head First Java and Head First EJB, and my initial reaction to the Java book, was lukewarm. Part of that can be that I’m used to more traditional computer books to learn a programming language; part of it could be that, like many people, I prefer learning programming languages by example.

The Head First into EJB book, though was different. EJB – Enterprise Java Beans – is a framework and a set of related behaviors, and the graphic nature of the book captured this very nicely. In fact, it was the first time I’ve ever enjoyed reading a book on EJBs. I didn’t think it was possible to be entertained by a book on EJBs, but this book did.

(I think what won me over was the two page behind the EJB scenes graphics on pages 8 and 9. Any book that make me laugh about EJB is some kind of miracle.)

It could be me, but I see a Head First book being better suited toa framework than a programming language; the former is hard to get your head around sometimes, but the latter is easily broken into sample code and with some text to explain what’s happening, you get what’s going on without having to rely on the pictures.

However, if you’re a heavily visual person, you’re going to like this series.

missing.gifThe last book is the Mac OS X Missing Manual (Panther Edition), and this book fits about right in the middle between the animal books and the Head First series, in the ratio between use of graphics and text.

These purpose of this series is to provide more comprehensive information about a specific product than usually comes with the manuals (if any manuals are even provided). Visually, the Missing Manual makes more use of graphics and graphical breaks in the text than the animal series, but far, far less use of graphics than the Head First series. This makes for a book that’s less intense than the animal books, and more comfortable to read, especially if you don’t see yourself as particularly ‘geek like’. Additionally, it is more business like than the Head First series, though again, that doesn’t mean that the writing is dull or uninteresting – it’s just not quite as otherwordly.

I found the Mac OS X one to be very helpful, and I discovered all sorts of new and intersting things about the Mac OS X environment that I hadn’t taken the time, previously, to learn. And since Mac OS X manuals are not what one would call particularly helpful, I can definitely recommend this book for new or intermediate Mac OS X users.

Now the question: Would I write a book in these series

Well, I have written books in the animal series, and would do so again. However, my emphasis lately has been directed more to the non-geeks than the geeks, and that’s not necessarily a good fit for an animal book.

I would not do a Head First book. I wouldn’t know how to do a Head First book. Having to incorporate all those graphics in and around the text, and having to find the appropriate graphics – it would drive me nuts. It would take a special person to do a Head First book.

I would be comfortable doing a Missing Manual style of book. It fits the direction I’m going, which is more towards the interested or engaged or adventurous person rather than intensely directed towards the geek.

You know: someone who drinks lattes rather than Mountain Dew.

Categories
RDF

A little light if you please

I think, I think, I think too much. I miss my hour, taken in last nights Daylight Savings Time raid. Time for a bit of lightness before I get serious again:

Ben Hammersley has decided to follow that old and obsolute BLX 1.0 standard rather than the shiny new BLX 2.0. As for his claim to have created an RDF version of BLX, that’s just impossible – it doesn’t support namespaces.

But then, what can we expect from a man daft enough to run across the Sahara Desert on foot?

(BTW – good luck Ben. Even we BLX 2.0 adherents are rooting for you.